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;
}
}
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!
}
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()));
}
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));
}
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));
}
}
Aggregations