Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Decompiled by DJ v3.12.12.98 Copyright 2014 Atanas Neshkov Date: 6/10/2014 5:12:51 AM
- // Home Page: [url]http://www.neshkov.com/dj.html[/url] - Check often for new version!
- // Decompiler options: packimports(3)
- // Source File Name: DevCommand.java
- package us.talabrek.ultimateskyblock;
- import java.io.File;
- import java.io.PrintStream;
- import java.util.HashMap;
- import java.util.List;
- import org.bukkit.*;
- import org.bukkit.command.*;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitScheduler;
- // Referenced classes of package us.talabrek.ultimateskyblock:
- // VaultHandler, uSkyBlock, Settings, PlayerInfo
- public class DevCommand
- implements CommandExecutor
- {
- public DevCommand()
- {
- }
- public boolean onCommand(CommandSender sender, Command command, String label, String split[])
- {
- // if(!(sender instanceof Player))
- // return false;
- // Player player = (Player)sender;
- if(split.length == 0)
- {
- if(sender.hasPermission("usb.mod.protect") || sender.hasPermission("usb.mod.protectall") || sender.hasPermission("usb.mod.topten") || sender.hasPermission("usb.mod.orphan") || sender.hasPermission("usb.admin.delete") || sender.hasPermission("usb.admin.remove") || sender.hasPermission("usb.admin.register") || sender.isOp())
- {
- sender.sendMessage("[dev usage]");
- if(sender.hasPermission("usb.mod.protect") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev protect <player>:").append(ChatColor.WHITE).append(" add protection to an island.").toString());
- if(sender.hasPermission("usb.admin.reload") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev reload:").append(ChatColor.WHITE).append(" reload configuration from file.").toString());
- if(sender.hasPermission("usb.mod.protectall") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev protectall:").append(ChatColor.WHITE).append(" add island protection to unprotected islands.").toString());
- if(sender.hasPermission("usb.mod.topten") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev topten:").append(ChatColor.WHITE).append(" manually update the top 10 list").toString());
- if(sender.hasPermission("usb.mod.orphan") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev orphancount:").append(ChatColor.WHITE).append(" unused island locations count").toString());
- if(sender.hasPermission("usb.mod.orphan") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev clearorphan:").append(ChatColor.WHITE).append(" remove any unused island locations.").toString());
- if(sender.hasPermission("usb.mod.orphan") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev saveorphan:").append(ChatColor.WHITE).append(" save the list of old (empty) island locations.").toString());
- if(sender.hasPermission("usb.admin.delete") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev delete <player>:").append(ChatColor.WHITE).append(" delete an island (removes blocks).").toString());
- if(sender.hasPermission("usb.admin.remove") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev remove <player>:").append(ChatColor.WHITE).append(" remove a player from an island.").toString());
- if(sender.hasPermission("usb.admin.register") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev register <player>:").append(ChatColor.WHITE).append(" set a player's island to your location").toString());
- if(sender.hasPermission("usb.mod.challenges") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev completechallenge <challengename> <player>:").append(ChatColor.WHITE).append(" marks a challenge as complete").toString());
- if(sender.hasPermission("usb.mod.challenges") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev resetchallenge <challengename> <player>:").append(ChatColor.WHITE).append(" marks a challenge as incomplete").toString());
- if(sender.hasPermission("usb.mod.challenges") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev resetallchallenges <challengename>:").append(ChatColor.WHITE).append(" resets all of the player's challenges").toString());
- if(sender.hasPermission("usb.admin.purge") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev purge [TimeInDays]:").append(ChatColor.WHITE).append(" delete inactive islands older than [TimeInDays].").toString());
- if(sender.hasPermission("usb.mod.party") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev buildpartylist:").append(ChatColor.WHITE).append(" build a new party list (use this if parties are broken).").toString());
- if(sender.hasPermission("usb.mod.party") || sender.isOp())
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("/dev info <player>:").append(ChatColor.WHITE).append(" check the party information for the given player.").toString());
- } else
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("You don't have permission to use this command.").toString());
- }
- } else
- if(split.length == 1)
- {
- if(split[0].equals("clearorphan") && (sender.hasPermission("usb.mod.orphan") || sender.isOp()))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Clearing all old (empty) island locations.").toString());
- uSkyBlock.getInstance().clearOrphanedIsland();
- } else
- if(split[0].equals("protectall") && (sender.hasPermission("usb.mod.protectall") || sender.isOp()))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("This command is only available using WorldGuard.").toString());
- if(Settings.island_protectWithWorldGuard)
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("This command has been disabled.").toString());
- else
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("You must enable WorldGuard protection in the config.yml to use this!").toString());
- } else
- if(split[0].equals("buildislandlist") && (sender.hasPermission("usb.mod.protectall") || sender.isOp()))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Building island list..").toString());
- uSkyBlock.getInstance().buildIslandList();
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Finished building island list..").toString());
- } else
- if(split[0].equals("orphancount") && (sender.hasPermission("usb.mod.orphan") || sender.isOp()))
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append(uSkyBlock.getInstance().orphanCount()).append(" old island locations will be used before new ones.").toString());
- else
- if(split[0].equals("reload") && (sender.hasPermission("usb.admin.reload") || sender.isOp()))
- {
- uSkyBlock.getInstance().reloadConfig();
- uSkyBlock.getInstance().loadPluginConfig();
- uSkyBlock.getInstance().reloadLevelConfig();
- uSkyBlock.getInstance().loadLevelConfig();
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Configuration reloaded from file.").toString());
- } else
- if(split[0].equals("saveorphan") && (sender.hasPermission("usb.mod.orphan") || sender.isOp()))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Saving the orphan list.").toString());
- uSkyBlock.getInstance().saveOrphans();
- } else
- if(split[0].equals("topten") && (sender.hasPermission("usb.mod.topten") || sender.isOp()))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Generating the Top Ten list").toString());
- uSkyBlock.getInstance().updateTopTen(uSkyBlock.getInstance().generateTopTen());
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Finished generation of the Top Ten list").toString());
- } else
- if(split[0].equals("purge") && (sender.hasPermission("usb.admin.purge") || sender.isOp()))
- if(uSkyBlock.getInstance().isPurgeActive())
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("A purge is already running, please wait for it to finish!").toString());
- return true;
- } else
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Usage: /dev purge [TimeInDays]").toString());
- return true;
- }
- } else
- if(split.length == 2)
- {
- if(split[0].equals("purge") && (sender.hasPermission("usb.admin.purge") || sender.isOp()))
- {
- if(uSkyBlock.getInstance().isPurgeActive())
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("A purge is already running, please wait for it to finish!").toString());
- return true;
- }
- uSkyBlock.getInstance().activatePurge();
- final int time = Integer.parseInt(split[1]) * 24;
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Marking all islands inactive for more than ").append(split[1]).append(" days.").toString());
- uSkyBlock.getInstance().getServer().getScheduler().runTaskAsynchronously(uSkyBlock.getInstance(), new Runnable() {
- public void run()
- {
- File directoryPlayers = new File((new StringBuilder()).append(uSkyBlock.getInstance().getDataFolder()).append(File.separator).append("players").toString());
- long offlineTime = 0L;
- File afile[];
- int j = (afile = directoryPlayers.listFiles()).length;
- for(int i = 0; i < j; i++)
- {
- File child = afile[i];
- if(Bukkit.getOfflinePlayer(child.getName()) != null && Bukkit.getPlayer(child.getName()) == null)
- {
- OfflinePlayer oplayer = Bukkit.getOfflinePlayer(child.getName());
- offlineTime = oplayer.getLastPlayed();
- offlineTime = (System.currentTimeMillis() - offlineTime) / 0x36ee80L;
- if(offlineTime > (long)time && uSkyBlock.getInstance().hasIsland(oplayer.getName()))
- {
- PlayerInfo pi = new PlayerInfo(oplayer.getName());
- if(pi.getHasIsland() && !pi.getHasParty() && uSkyBlock.getInstance().getTempIslandConfig(pi.locationForParty()) != null && uSkyBlock.getInstance().getTempIslandConfig(pi.locationForParty()).getInt("general.level") < 10 && child.getName() != null)
- uSkyBlock.getInstance().addToRemoveList(child.getName());
- }
- }
- }
- System.out.print((new StringBuilder("Removing ")).append(uSkyBlock.getInstance().getRemoveList().size()).append(" inactive islands.").toString());
- uSkyBlock.getInstance().getServer().getScheduler().scheduleSyncRepeatingTask(uSkyBlock.getInstance(), new Runnable() {
- public void run()
- {
- if(uSkyBlock.getInstance().getRemoveList().size() > 0 && uSkyBlock.getInstance().isPurgeActive())
- {
- uSkyBlock.getInstance().deletePlayerIsland((String)uSkyBlock.getInstance().getRemoveList().get(0));
- System.out.print((new StringBuilder("[uSkyBlock] Purge: Removing ")).append((String)uSkyBlock.getInstance().getRemoveList().get(0)).append("'s island").toString());
- uSkyBlock.getInstance().deleteFromRemoveList();
- }
- if(uSkyBlock.getInstance().getRemoveList().size() == 0 && uSkyBlock.getInstance().isPurgeActive())
- {
- uSkyBlock.getInstance().deactivatePurge();
- System.out.print("[uSkyBlock] Finished purging marked inactive islands.");
- }
- }
- final _cls1 this$1;
- {
- this$1 = _cls1.this;
- super();
- }
- }
- , 0L, 20L);
- }
- final DevCommand this$0;
- private final int val$time;
- {
- this$0 = DevCommand.this;
- time = i;
- super();
- }
- }
- );
- } else
- if(split[0].equals("goto") && (sender.hasPermission("usb.mod.goto") || sender.isOp()))
- {
- if(!(sender instanceof Player))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("You can't run this command from the console!").toString());
- return false;
- }
- PlayerInfo pi = new PlayerInfo(split[1]);
- if(!pi.getHasIsland())
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Error: Invalid Player (check spelling)").toString());
- } else
- {
- if(pi.getHomeLocation() != null)
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.GREEN).append("Teleporting to ").append(split[1]).append("'s island.").toString());
- player.teleport(pi.getHomeLocation());
- return true;
- }
- if(pi.getIslandLocation() != null)
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.GREEN).append("Teleporting to ").append(split[1]).append("'s island.").toString());
- player.teleport(pi.getIslandLocation());
- return true;
- }
- sender.sendMessage("Error: That player does not have an island!");
- }
- } else
- if(split[0].equals("remove") && (sender.hasPermission("usb.admin.remove") || sender.isOp()))
- {
- PlayerInfo pi = new PlayerInfo(split[1]);
- if(!pi.getHasIsland())
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Error: Invalid Player (check spelling)").toString());
- } else
- {
- if(pi.getIslandLocation() != null)
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Removing ").append(split[1]).append("'s island.").toString());
- uSkyBlock.getInstance().devDeletePlayerIsland(split[1]);
- return true;
- }
- sender.sendMessage("Error: That player does not have an island!");
- }
- } else
- if(split[0].equals("delete") && (sender.hasPermission("usb.admin.delete") || sender.isOp()))
- {
- PlayerInfo pi = new PlayerInfo(split[1]);
- if(!pi.getHasIsland())
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Error: Invalid Player (check spelling)").toString());
- } else
- {
- if(pi.getIslandLocation() != null)
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("Removing ").append(split[1]).append("'s island.").toString());
- uSkyBlock.getInstance().deletePlayerIsland(split[1]);
- return true;
- }
- sender.sendMessage("Error: That player does not have an island!");
- }
- } else
- if(split[0].equals("register") && (sender.hasPermission("usb.admin.register") || sender.isOp()))
- {
- if(!(sender instanceof Player))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("You can't run this command from the console!").toString());
- return false;
- }
- PlayerInfo pi = new PlayerInfo(split[1]);
- if(pi.getHasIsland())
- uSkyBlock.getInstance().devDeletePlayerIsland(split[1]);
- if(uSkyBlock.getInstance().devSetPlayerIsland(player, player.getLocation(), split[1]))
- sender.sendMessage((new StringBuilder()).append(ChatColor.GREEN).append("Set ").append(split[1]).append("'s island to the bedrock nearest you.").toString());
- else
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Bedrock not found: unable to set the island!").toString());
- } else
- if(!split[0].equals("info") || !sender.hasPermission("usb.mod.party") && !sender.isOp())
- if(split[0].equals("resetallchallenges") && (sender.hasPermission("usb.mod.challenges") || sender.isOp()))
- {
- if(!uSkyBlock.getInstance().getActivePlayers().containsKey(split[1]))
- {
- PlayerInfo pi = new PlayerInfo(split[1]);
- if(!pi.getHasIsland())
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Error: Invalid Player (check spelling)").toString());
- return true;
- }
- pi.resetAllChallenges();
- pi.savePlayerConfig(split[1]);
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append(split[1]).append(" has had all challenges reset.").toString());
- } else
- {
- ((PlayerInfo)uSkyBlock.getInstance().getActivePlayers().get(split[1])).resetAllChallenges();
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append(split[1]).append(" has had all challenges reset.").toString());
- }
- } else
- if(split[0].equals("setbiome") && (sender.hasPermission("usb.mod.setbiome") || sender.isOp()))
- if(!uSkyBlock.getInstance().getActivePlayers().containsKey(split[1]))
- {
- PlayerInfo pi = new PlayerInfo(split[1]);
- if(!pi.getHasIsland())
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Error: Invalid Player (check spelling)").toString());
- return true;
- }
- uSkyBlock.getInstance().setBiome(pi.getIslandLocation(), "OCEAN");
- pi.savePlayerConfig(split[1]);
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append(split[1]).append(" has had their biome changed to OCEAN.").toString());
- } else
- {
- uSkyBlock.getInstance().setBiome(((PlayerInfo)uSkyBlock.getInstance().getActivePlayers().get(split[1])).getIslandLocation(), "OCEAN");
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append(split[1]).append(" has had their biome changed to OCEAN.").toString());
- }
- } else
- if(split.length == 3)
- if(split[0].equals("completechallenge") && (sender.hasPermission("usb.mod.challenges") || sender.isOp()))
- {
- if(!uSkyBlock.getInstance().getActivePlayers().containsKey(split[2]))
- {
- PlayerInfo pi = new PlayerInfo(split[2]);
- if(!pi.getHasIsland())
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Error: Invalid Player (check spelling)").toString());
- return true;
- }
- if(pi.checkChallenge(split[1].toLowerCase()) > 0 || !pi.challengeExists(split[1].toLowerCase()))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Challenge doesn't exist or is already completed").toString());
- return true;
- }
- pi.completeChallenge(split[1].toLowerCase());
- pi.savePlayerConfig(split[2]);
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("challange: ").append(split[1].toLowerCase()).append(" has been completed for ").append(split[2]).toString());
- } else
- {
- if(((PlayerInfo)uSkyBlock.getInstance().getActivePlayers().get(split[2])).checkChallenge(split[1].toLowerCase()) > 0 || !((PlayerInfo)uSkyBlock.getInstance().getActivePlayers().get(split[2])).challengeExists(split[1].toLowerCase()))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Challenge doesn't exist or is already completed").toString());
- return true;
- }
- ((PlayerInfo)uSkyBlock.getInstance().getActivePlayers().get(split[2])).completeChallenge(split[1].toLowerCase());
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("challange: ").append(split[1].toLowerCase()).append(" has been completed for ").append(split[2]).toString());
- }
- } else
- if(split[0].equals("resetchallenge") && (sender.hasPermission("usb.mod.challenges") || sender.isOp()))
- {
- if(!uSkyBlock.getInstance().getActivePlayers().containsKey(split[2]))
- {
- PlayerInfo pi = new PlayerInfo(split[2]);
- if(!pi.getHasIsland())
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Error: Invalid Player (check spelling)").toString());
- return true;
- }
- if(pi.checkChallenge(split[1].toLowerCase()) == 0 || !pi.challengeExists(split[1].toLowerCase()))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Challenge doesn't exist or isn't yet completed").toString());
- return true;
- }
- pi.resetChallenge(split[1].toLowerCase());
- pi.savePlayerConfig(split[2]);
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("challange: ").append(split[1].toLowerCase()).append(" has been reset for ").append(split[2]).toString());
- } else
- {
- if(((PlayerInfo)uSkyBlock.getInstance().getActivePlayers().get(split[2])).checkChallenge(split[1].toLowerCase()) == 0 || !((PlayerInfo)uSkyBlock.getInstance().getActivePlayers().get(split[2])).challengeExists(split[1].toLowerCase()))
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Challenge doesn't exist or isn't yet completed").toString());
- return true;
- }
- ((PlayerInfo)uSkyBlock.getInstance().getActivePlayers().get(split[2])).resetChallenge(split[1].toLowerCase());
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append("challange: ").append(split[1].toLowerCase()).append(" has been completed for ").append(split[2]).toString());
- }
- } else
- if(split[0].equals("setbiome") && (sender.hasPermission("usb.mod.setbiome") || sender.isOp()))
- if(!uSkyBlock.getInstance().getActivePlayers().containsKey(split[1]))
- {
- PlayerInfo pi = new PlayerInfo(split[1]);
- if(!pi.getHasIsland())
- {
- sender.sendMessage((new StringBuilder()).append(ChatColor.RED).append("Error: Invalid Player (check spelling)").toString());
- return true;
- }
- if(uSkyBlock.getInstance().setBiome(pi.getIslandLocation(), split[2]))
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append(split[1]).append(" has had their biome changed to ").append(split[2].toUpperCase()).append(".").toString());
- else
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append(split[1]).append(" has had their biome changed to OCEAN.").toString());
- pi.savePlayerConfig(split[1]);
- } else
- if(uSkyBlock.getInstance().setBiome(((PlayerInfo)uSkyBlock.getInstance().getActivePlayers().get(split[1])).getIslandLocation(), split[2]))
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append(split[1]).append(" has had their biome changed to ").append(split[2].toUpperCase()).append(".").toString());
- else
- sender.sendMessage((new StringBuilder()).append(ChatColor.YELLOW).append(split[1]).append(" has had their biome changed to OCEAN.").toString());
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment