Search in sources :

Example 1 with PermissionDefault

use of me.lucko.luckperms.nukkit.model.PermissionDefault in project LuckPerms by lucko.

the class LPNukkitPlugin method performFinalSetup.

@Override
protected void performFinalSetup() {
    // register permissions
    try {
        PluginManager pm = this.bootstrap.getServer().getPluginManager();
        PermissionDefault permDefault = getConfiguration().get(ConfigKeys.COMMANDS_ALLOW_OP) ? PermissionDefault.OP : PermissionDefault.FALSE;
        for (CommandPermission p : CommandPermission.values()) {
            pm.addPermission(new Permission(p.getPermission(), null, permDefault.toString()));
        }
    } catch (Exception e) {
    // this throws an exception if the plugin is /reloaded, grr
    }
    if (!getConfiguration().get(ConfigKeys.OPS_ENABLED)) {
        Config ops = this.bootstrap.getServer().getOps();
        ops.getKeys(false).forEach(ops::remove);
    }
    // replace the temporary executor when the Nukkit one starts
    this.bootstrap.getServer().getScheduler().scheduleTask(this.bootstrap, () -> this.bootstrap.getScheduler().setUseFallback(false), true);
    // Load any online users (in the case of a reload)
    for (Player player : this.bootstrap.getServer().getOnlinePlayers().values()) {
        this.bootstrap.getScheduler().doAsync(() -> {
            try {
                User user = this.connectionListener.loadUser(player.getUniqueId(), player.getName());
                if (user != null) {
                    this.bootstrap.getScheduler().doSync(() -> {
                        try {
                            LPPermissible lpPermissible = new LPPermissible(player, user, this);
                            PermissibleInjector.inject(player, lpPermissible);
                        } catch (Throwable t) {
                            t.printStackTrace();
                        }
                    });
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        });
    }
}
Also used : PluginManager(cn.nukkit.plugin.PluginManager) LPPermissible(me.lucko.luckperms.nukkit.model.permissible.LPPermissible) Player(cn.nukkit.Player) User(me.lucko.luckperms.common.model.User) PermissionDefault(me.lucko.luckperms.nukkit.model.PermissionDefault) Config(cn.nukkit.utils.Config) CommandPermission(me.lucko.luckperms.common.command.access.CommandPermission) Permission(cn.nukkit.permission.Permission) CommandPermission(me.lucko.luckperms.common.command.access.CommandPermission)

Example 2 with PermissionDefault

use of me.lucko.luckperms.nukkit.model.PermissionDefault in project LuckPerms by lucko.

the class DefaultsProcessor method hasPermission.

@Override
public Tristate hasPermission(String permission) {
    Tristate t = this.plugin.getDefaultPermissionMap().lookupDefaultPermission(permission, this.isOp);
    if (t != Tristate.UNDEFINED) {
        return t;
    }
    PermissionDefault def = PermissionDefault.fromPermission(this.plugin.getPermissionMap().get(permission));
    return def == null ? Tristate.UNDEFINED : Tristate.fromBoolean(def.getValue(this.isOp));
}
Also used : PermissionDefault(me.lucko.luckperms.nukkit.model.PermissionDefault) Tristate(me.lucko.luckperms.api.Tristate)

Aggregations

PermissionDefault (me.lucko.luckperms.nukkit.model.PermissionDefault)2 Player (cn.nukkit.Player)1 Permission (cn.nukkit.permission.Permission)1 PluginManager (cn.nukkit.plugin.PluginManager)1 Config (cn.nukkit.utils.Config)1 Tristate (me.lucko.luckperms.api.Tristate)1 CommandPermission (me.lucko.luckperms.common.command.access.CommandPermission)1 User (me.lucko.luckperms.common.model.User)1 LPPermissible (me.lucko.luckperms.nukkit.model.permissible.LPPermissible)1