PokeRemovalCommand.java
unknown
java
3 years ago
6.4 kB
18
Indexable
public class PokeRemovalCommand {
@CommandProcessor
public void onCommand(@Sender ICommandSender sender, String[] args) {
if(args.length == 1) {
String input = args[0];
if(input.equalsIgnoreCase("reload")) {
PokeRemovalForge.getInstance().reloadConfig();
sender.sendMessage(new TextComponentString("Reloaded config!"));
}
if(input.equalsIgnoreCase("clear")) {
PokeRemovalConfig.RemovalSetting removalSetting = PokeRemovalForge.getInstance()
.getConfig().getRemovalSettings().get("clear_command");
if(removalSetting.isLocked()) {
sender.sendMessage(new TextComponentString("§cThe removal is executing, please wait till it done!"));
return;
}
removalSetting.setLocked(true);
int pokemonRemoved = 0;
int itemRemoved = 0;
for (WorldServer world : FMLCommonHandler.instance().getMinecraftServerInstance().worlds) {
if (removalSetting.getBlacklistedWorlds().contains(world.getWorldInfo().getWorldName()))
continue;
for (Entity entity : world.loadedEntityList) {
if (removalSetting.ignoreEntitiesYoungerThan > 0 && entity.ticksExisted <= removalSetting.ignoreEntitiesYoungerThan)
continue;
if (!removalSetting.getMode().shouldRemoveEntity(removalSetting.getRemovedEntities(), entity))
continue;
if (entity instanceof EntityPixelmon) {
EntityPixelmon pixelmon = (EntityPixelmon) entity;
if (pixelmon.battleController != null)
continue;
if (pixelmon.hasOwner())
continue;
if (!removalSetting.getMode().shouldRemovePokemon(removalSetting.getMatchingRequirements(), pixelmon.getPokemonData()))
continue;
++pokemonRemoved;
continue;
}
entity.setDead();
++itemRemoved;
}
}
if (!removalSetting.isBroadcastRemoval())
return;
for (String s : removalSetting.getRemovalBroadcast()) {
FMLCommonHandler.instance().getMinecraftServerInstance().getPlayerList().sendMessage(
new TextComponentString(
s.replace("&", "§")
.replace("%pokemon_amount%", pokemonRemoved + "")
.replace("%item_amount%", itemRemoved + "")
));
}
removalSetting.setLocked(false);
}
}
if(args.length == 2) {
String input = args[0];
if(input.equalsIgnoreCase("clear")) {
WorldServer world = getWorld(args[1]);
if(world == null) {
sender.sendMessage(new TextComponentString("§cCould not find world with name §6" + args[1]));
return;
}
PokeRemovalConfig.RemovalSetting removalSetting = PokeRemovalForge.getInstance()
.getConfig().getRemovalSettings().get("clear_command");
if(removalSetting.isLocked()) {
sender.sendMessage(new TextComponentString("§cThe removal is executing, please wait till it done!"));
return;
}
removalSetting.setLocked(true);
int pokemonRemoved = 0;
int itemRemoved = 0;
if (removalSetting.getBlacklistedWorlds().contains(world.getWorldInfo().getWorldName())) {
sender.sendMessage(new TextComponentString("§cThis world is blacklisted and can't be cleared!"));
return;
}
for (Entity entity : world.loadedEntityList) {
if (removalSetting.ignoreEntitiesYoungerThan > 0 && entity.ticksExisted <= removalSetting.ignoreEntitiesYoungerThan)
continue;
if (!removalSetting.getMode().shouldRemoveEntity(removalSetting.getRemovedEntities(), entity))
continue;
if (entity instanceof EntityPixelmon) {
EntityPixelmon pixelmon = (EntityPixelmon) entity;
if (pixelmon.battleController != null)
continue;
if (pixelmon.hasOwner())
continue;
if (!removalSetting.getMode().shouldRemovePokemon(removalSetting.getMatchingRequirements(), pixelmon.getPokemonData()))
continue;
++pokemonRemoved;
continue;
}
entity.setDead();
++itemRemoved;
}
if (!removalSetting.isBroadcastRemoval())
return;
for (String s : removalSetting.getRemovalBroadcast()) {
FMLCommonHandler.instance().getMinecraftServerInstance().getPlayerList().sendMessage(
new TextComponentString(
s.replace("&", "§")
.replace("%pokemon_amount%", pokemonRemoved + "")
.replace("%item_amount%", itemRemoved + "")
));
}
removalSetting.setLocked(false);
}
}
}
public WorldServer getWorld(String name) {
return Arrays.stream(FMLCommonHandler.instance().getMinecraftServerInstance().worlds)
.filter(w -> w.getWorldInfo().getWorldName().equals(name))
.findAny().orElse(null);
}
}Editor is loading...