Search in sources :

Example 6 with Plugin

use of net.md_5.bungee.api.plugin.Plugin in project FireAPI by FireBlade-Serv.

the class FireWhiteListCommand method execute.

@Override
public void execute(CommandSender sender, String[] args) {
    if (!this.api.getRankSystem().hasRankAndSupOrConsole(sender, Rank.MANAGER_IG)) {
        sender.sendMessage(new TextComponent(this.pre + "§cVous n'avez pas la permission d'utiliser cette commande !"));
        return;
    }
    if (args.length == 0) {
        sender.sendMessage(new TextComponent(this.pre + "§cUsage : /firewl <add/remove/on/off> (<pseudo>)"));
        return;
    } else if (args.length == 1) {
        if (args[0].equalsIgnoreCase("on")) {
            File file = new File(this.api.getBungeePlugin().getDataFolder(), "whitelist.yml");
            try {
                Configuration config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(file);
                config.set("enable", true);
                ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, file);
                sender.sendMessage(new TextComponent(this.pre + "§aLe plugin est activé !"));
                this.api.getWhitelistSystem().setEnable(true);
            } catch (IOException e) {
                sender.sendMessage(new TextComponent(this.pre + "§cUne erreur interne au plugin est survenue !"));
            }
        } else if (args[0].equalsIgnoreCase("off")) {
            File file = new File(this.api.getBungeePlugin().getDataFolder(), "whitelist.yml");
            try {
                Configuration config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(file);
                config.set("enable", false);
                ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, file);
                sender.sendMessage(new TextComponent(this.pre + "§aLe plugin est désactivé !"));
                this.api.getWhitelistSystem().setEnable(false);
            } catch (IOException e) {
                sender.sendMessage(new TextComponent(this.pre + "§cUne erreur interne au plugin est survenue !"));
            }
        } else {
            sender.sendMessage(new TextComponent(this.pre + "§cUsage : /firewl <add/remove/on/off> (<pseudo>)"));
            return;
        }
    } else if (args.length == 2) {
        if (this.api.getWhitelistSystem().isEnable() == false) {
            sender.sendMessage(new TextComponent(this.pre + "§cLe plugin est désactivé !"));
            return;
        }
        if (args[0].equalsIgnoreCase("add")) {
            try {
                File file = new File(this.api.getBungeePlugin().getDataFolder(), "whitelist.yml");
                Configuration config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(file);
                if (config.getBoolean("players." + args[1] + ".accepted") == true) {
                    sender.sendMessage(new TextComponent(this.pre + "§cLe joueur " + args[1] + " est déjà dans la whitelist !"));
                    return;
                }
                config.set("players." + args[1] + ".accepted", true);
                ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, file);
                sender.sendMessage(new TextComponent(this.pre + "§aVous avez ajouté le joueur " + args[1] + " à la whitelist !"));
                return;
            } catch (IOException e) {
                sender.sendMessage(new TextComponent(this.pre + "§cUne erreur interne au plugin est survenue !"));
            }
        } else if (args[0].equalsIgnoreCase("remove")) {
            try {
                File file = new File(this.api.getBungeePlugin().getDataFolder(), "whitelist.yml");
                Configuration config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(file);
                if (config.getBoolean("players." + args[1] + ".accepted") == false) {
                    sender.sendMessage(new TextComponent(this.pre + "§cLe joueur " + args[1] + " n'existe pas !"));
                    return;
                }
                config.set("players." + args[1] + ".accepted", false);
                ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, file);
                sender.sendMessage(new TextComponent(this.pre + "§aVous avez retiré le joueur " + args[1] + " de la WhiteList !"));
            } catch (IOException e) {
                sender.sendMessage(new TextComponent(this.pre + "§cUne erreur interne au plugin est survenue !"));
            }
        } else {
            sender.sendMessage(new TextComponent(this.pre + "§cUsage : /firewl <add/remove/on/off> (<pseudo>)"));
            return;
        }
    } else {
        sender.sendMessage(new TextComponent(this.pre + "§cUsage : /firewl <add/remove/on/off> (<pseudo>)"));
        return;
    }
}
Also used : TextComponent(net.md_5.bungee.api.chat.TextComponent) YamlConfiguration(net.md_5.bungee.config.YamlConfiguration) Configuration(net.md_5.bungee.config.Configuration) IOException(java.io.IOException) YamlConfiguration(net.md_5.bungee.config.YamlConfiguration) File(java.io.File)

Example 7 with Plugin

use of net.md_5.bungee.api.plugin.Plugin in project Parties by AlessioDP.

the class BungeeMetrics method startSubmitting.

private void startSubmitting() {
    // We use a timer cause want to be independent from the server tps
    final Timer timer = new Timer(true);
    timer.scheduleAtFixedRate(new TimerTask() {

        @Override
        public void run() {
            // The data collection (e.g. for custom graphs) is done sync
            // Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;)
            TaskScheduler scheduler = plugin.getProxy().getScheduler();
            scheduler.schedule(plugin, new Runnable() {

                @Override
                public void run() {
                    submitData();
                }
            }, 0L, TimeUnit.SECONDS);
        }
    }, 1000 * 60 * 2, 1000 * 60 * 30);
// Submit the data every 30 minutes, first time after 2 minutes to give other plugins enough time to start
// WARNING: Changing the frequency has no effect but your plugin WILL be blocked/deleted!
// WARNING: Just don't do it!
}
Also used : Timer(java.util.Timer) TimerTask(java.util.TimerTask) TaskScheduler(net.md_5.bungee.api.scheduler.TaskScheduler)

Example 8 with Plugin

use of net.md_5.bungee.api.plugin.Plugin in project ChangeSkin by games647.

the class BungeeSkinAPI method applySkin.

@Override
public void applySkin(ProxiedPlayer player, SkinModel targetSkin) {
    plugin.getLog().debug("Applying skin for {}", player.getName());
    InitialHandler initialHandler = (InitialHandler) player.getPendingConnection();
    LoginResult loginProfile = initialHandler.getLoginProfile();
    // this is null in offline mode
    if (loginProfile == null) {
        String mojangUUID = UUIDTypeAdapter.toMojangId(player.getUniqueId());
        if (profileSetter != null) {
            try {
                LoginResult loginResult = new LoginResult(mojangUUID, player.getName(), toProperties(targetSkin));
                profileSetter.invokeExact(initialHandler, loginResult);
            } catch (Error error) {
                // rethrow errors we shouldn't silence them like OutOfMemoryError
                throw error;
            } catch (Throwable throwable) {
                plugin.getLog().error("Error applying skin: {} for {}", targetSkin, player, throwable);
            }
        }
    } else {
        applyProperties(loginProfile, targetSkin);
    }
    // send plugin channel update request
    plugin.sendPluginMessage(player.getServer(), new SkinUpdateMessage(player.getName()));
}
Also used : SkinUpdateMessage(com.github.games647.changeskin.core.message.SkinUpdateMessage) LoginResult(net.md_5.bungee.connection.LoginResult) InitialHandler(net.md_5.bungee.connection.InitialHandler)

Example 9 with Plugin

use of net.md_5.bungee.api.plugin.Plugin in project ChangeSkin by games647.

the class ChangeSkinBungee method onEnable.

@Override
public void onEnable() {
    logger = CommonUtil.createLoggerFromJDK(getLogger());
    core = new ChangeSkinCore(this);
    try {
        core.load(true);
    } catch (Exception ioExc) {
        logger.error("Error initializing plugin. Disabling...", ioExc);
        return;
    }
    PluginManager pluginManager = getProxy().getPluginManager();
    pluginManager.registerListener(this, new ConnectListener(this));
    pluginManager.registerListener(this, new ServerSwitchListener(this));
    // this is required to listen to messages from the server
    getProxy().registerChannel(getName());
    pluginManager.registerListener(this, new MessageListener(this));
    // register commands
    pluginManager.registerCommand(this, new SetCommand(this));
    pluginManager.registerCommand(this, new InvalidateCommand(this));
    pluginManager.registerCommand(this, new UploadCommand(this));
    pluginManager.registerCommand(this, new SelectCommand(this));
    pluginManager.registerCommand(this, new InfoCommand(this));
}
Also used : PluginManager(net.md_5.bungee.api.plugin.PluginManager) ChangeSkinCore(com.github.games647.changeskin.core.ChangeSkinCore) ServerSwitchListener(com.github.games647.changeskin.bungee.listener.ServerSwitchListener) UploadCommand(com.github.games647.changeskin.bungee.command.UploadCommand) InfoCommand(com.github.games647.changeskin.bungee.command.InfoCommand) MessageListener(com.github.games647.changeskin.bungee.listener.MessageListener) SelectCommand(com.github.games647.changeskin.bungee.command.SelectCommand) ConnectListener(com.github.games647.changeskin.bungee.listener.ConnectListener) InvalidateCommand(com.github.games647.changeskin.bungee.command.InvalidateCommand) SetCommand(com.github.games647.changeskin.bungee.command.SetCommand)

Example 10 with Plugin

use of net.md_5.bungee.api.plugin.Plugin in project ChangeSkin by games647.

the class ServerSwitchListener method onServerConnect.

@EventHandler(priority = EventPriority.HIGHEST)
public void onServerConnect(ServerConnectEvent connectEvent) {
    ServerInfo targetServer = connectEvent.getTarget();
    Server fromServer = connectEvent.getPlayer().getServer();
    if (fromServer != null && Objects.equals(targetServer, fromServer.getInfo())) {
        // check if we are switching to the same server
        return;
    }
    if (!isBlacklistEnabled()) {
        return;
    }
    ProxiedPlayer player = connectEvent.getPlayer();
    UserPreference session = plugin.getLoginSession(player.getPendingConnection());
    List<String> blacklist = core.getConfig().getStringList("server-blacklist");
    if (blacklist.contains(targetServer.getName())) {
        // clear the skin
        plugin.getApi().applySkin(player, null);
    } else if (session == null) {
        // lazy load
        ProxyServer.getInstance().getScheduler().runAsync(plugin, () -> onLazyLoad(player));
    } else {
        // player switched to an enabled server
        Optional<SkinModel> optSkin = session.getTargetSkin();
        optSkin.ifPresent(skin -> plugin.getApi().applySkin(player, skin));
    }
}
Also used : UserPreference(com.github.games647.changeskin.core.model.UserPreference) ServerInfo(net.md_5.bungee.api.config.ServerInfo) ProxyServer(net.md_5.bungee.api.ProxyServer) Objects(java.util.Objects) ProxiedPlayer(net.md_5.bungee.api.connection.ProxiedPlayer) List(java.util.List) EventPriority(net.md_5.bungee.event.EventPriority) ChangeSkinBungee(com.github.games647.changeskin.bungee.ChangeSkinBungee) SkinModel(com.github.games647.changeskin.core.model.skin.SkinModel) Server(net.md_5.bungee.api.connection.Server) Optional(java.util.Optional) EventHandler(net.md_5.bungee.event.EventHandler) ServerConnectEvent(net.md_5.bungee.api.event.ServerConnectEvent) ProxiedPlayer(net.md_5.bungee.api.connection.ProxiedPlayer) ProxyServer(net.md_5.bungee.api.ProxyServer) Server(net.md_5.bungee.api.connection.Server) Optional(java.util.Optional) ServerInfo(net.md_5.bungee.api.config.ServerInfo) UserPreference(com.github.games647.changeskin.core.model.UserPreference) EventHandler(net.md_5.bungee.event.EventHandler)

Aggregations

TextComponent (net.md_5.bungee.api.chat.TextComponent)6 YamlConfiguration (net.md_5.bungee.config.YamlConfiguration)6 Player (org.bukkit.entity.Player)6 CoreStateInitException (com.solinia.solinia.Exceptions.CoreStateInitException)5 ISoliniaPlayer (com.solinia.solinia.Interfaces.ISoliniaPlayer)5 Configuration (net.md_5.bungee.config.Configuration)5 File (java.io.File)4 ArrayList (java.util.ArrayList)4 Path (java.nio.file.Path)3 ClickEvent (net.md_5.bungee.api.chat.ClickEvent)3 ComponentBuilder (net.md_5.bungee.api.chat.ComponentBuilder)3 ProxiedPlayer (net.md_5.bungee.api.connection.ProxiedPlayer)3 UserPreference (com.github.games647.changeskin.core.model.UserPreference)2 SkinModel (com.github.games647.changeskin.core.model.skin.SkinModel)2 SoliniaItemException (com.solinia.solinia.Exceptions.SoliniaItemException)2 ISoliniaItem (com.solinia.solinia.Interfaces.ISoliniaItem)2 ISoliniaSpell (com.solinia.solinia.Interfaces.ISoliniaSpell)2 SoliniaActiveSpell (com.solinia.solinia.Models.SoliniaActiveSpell)2 ConnectableAddress (de.dytanic.cloudnet.lib.ConnectableAddress)2 ServerInfo (de.dytanic.cloudnet.lib.server.info.ServerInfo)2