Fix #25 and #23 with other misc. fixes.

Signed-off-by: Lemon <minecraftoxlemonxo@gmail.com>
This commit is contained in:
Lemon
2018-02-09 13:21:44 +05:00
parent b801979f72
commit 8b425967a4
9 changed files with 148 additions and 114 deletions

View File

@ -1,14 +1,14 @@
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.player.FPlayer;
import org.bukkit.ChatColor;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.ArrayUtils;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.command.Command;
import org.bukkit.entity.Player;
import org.bukkit.command.CommandSender;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.BOTH)
@CommandParameters(description = "Toggle PVP mode for players.", usage = "/<command> [[-s] <player> [reason] | list | purge | all]", aliases = "pvpblock,pvpmode")
@ -68,7 +68,7 @@ public class Command_blockpvp extends FreedomCommand
int counter = 0;
for (Player player : server.getOnlinePlayers())
{
if (!plugin.al.isAdmin((CommandSender) player))
if (!plugin.al.isAdmin(player))
{
final FPlayer playerdata = plugin.pl.getPlayer(player);
playerdata.setPvpBlocked(true);
@ -83,7 +83,7 @@ public class Command_blockpvp extends FreedomCommand
final boolean smite = args[0].equals("-s");
if (smite)
{
args = (String[]) ArrayUtils.subarray(args, 1, args.length);
args = ArrayUtils.subarray(args, 1, args.length);
if (args.length < 1)
{
return false;
@ -109,11 +109,11 @@ public class Command_blockpvp extends FreedomCommand
FUtil.adminAction(sender.getName(), "Enabling PVP for " + p.getName(), true);
pd.setPvpBlocked(false);
msg("Enabling PVP for " + p.getName());
msg((CommandSender) p, "Your PVP have been enabled.", ChatColor.GREEN);
msg(p, "Your PVP have been enabled.", ChatColor.GREEN);
}
else
{
if (plugin.al.isAdmin((CommandSender) p))
if (plugin.al.isAdmin(p))
{
msg(p.getName() + " is an admin, and cannot have their PVP disabled.");
return true;

View File

@ -1,19 +1,20 @@
package me.totalfreedom.totalfreedommod.command;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.rank.Displayable;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.config.ConfigEntry;
import me.totalfreedom.totalfreedommod.util.FUtil;
import java.util.List;
import org.bukkit.ChatColor;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.entity.Player;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.List;
@CommandPermissions(level = Rank.IMPOSTOR, source = SourceType.BOTH)
@CommandParameters(description = "Lists the real names of all online players.", usage = "/<command> [-a | -i | -f]", aliases = "who")
@CommandParameters(description = "Lists the real names of all online players.", usage = "/<command> [-a | -i | -f | -v]", aliases = "who")
public class Command_list extends FreedomCommand
{
public boolean run(final CommandSender sender, final Player playerSender, final Command cmd, final String commandLabel, final String[] args, final boolean senderIsConsole) {
@ -23,15 +24,15 @@ public class Command_list extends FreedomCommand
}
if (FUtil.isFromHostConsole(sender.getName()))
{
List<String> names = new ArrayList<String>();
List<String> names = new ArrayList<>();
for (Player player : server.getOnlinePlayers())
{
names.add(player.getName());
}
msg("There are " + names.size() + "/" + server.getMaxPlayers() + " players online:\n" + StringUtils.join((Iterable)names, ", "), ChatColor.WHITE);
msg("There are " + names.size() + "/" + server.getMaxPlayers() + " players online:\n" + StringUtils.join(names, ", "), ChatColor.WHITE);
return true;
}
ListFilter listFilter = null;
ListFilter listFilter;
if (args.length == 1)
{
String s = args[0];
@ -44,6 +45,7 @@ public class Command_list extends FreedomCommand
}
case "-v":
{
checkRank(Rank.SUPER_ADMIN);
listFilter = ListFilter.VANISHED_ADMINS;
break;
}
@ -76,7 +78,7 @@ public class Command_list extends FreedomCommand
.append(server.getMaxPlayers())
.append(ChatColor.BLUE)
.append(" players online.");
List<String> n = new ArrayList<String>();
List<String> n = new ArrayList<>();
for (Player p : server.getOnlinePlayers())
{
if (listFilter == ListFilter.ADMINS && !plugin.al.isAdmin(p))
@ -91,7 +93,7 @@ public class Command_list extends FreedomCommand
{
continue;
}
if (listFilter == ListFilter.IMPOSTORS && plugin.al.isAdminImpostor(p))
if (listFilter == ListFilter.IMPOSTORS && !plugin.al.isAdminImpostor(p))
{
continue;
}
@ -106,10 +108,11 @@ public class Command_list extends FreedomCommand
final Displayable display = plugin.rm.getDisplay(p);
n.add(display.getColoredTag() + p.getName());
}
String playerType = (listFilter == null) ? "players" : listFilter.toString().toLowerCase().replace('_', ' ');
String playerType = listFilter.toString().toLowerCase().replace('_', ' ');
onlineUsers.append("Connected ")
.append(playerType + ": ")
.append(StringUtils.join((Iterable)n, ChatColor.WHITE + ", "));
.append(playerType)
.append(": ")
.append(StringUtils.join(n, ChatColor.WHITE + ", "));
if (senderIsConsole)
{
sender.sendMessage(ChatColor.stripColor(onlineStats.toString()));
@ -130,6 +133,6 @@ public class Command_list extends FreedomCommand
ADMINS,
VANISHED_ADMINS,
FAMOUS_PLAYERS,
IMPOSTORS;
IMPOSTORS
}
}

View File

@ -1,47 +1,26 @@
package me.totalfreedom.totalfreedommod.command;
import com.sk89q.worldguard.bukkit.RegionContainer;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
import java.util.Map;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
@CommandPermissions(level = Rank.TELNET_ADMIN, source = SourceType.BOTH)
@CommandParameters(description = "Wipe all WorldGuard regions for a specified world.", usage = "/<command> <world>", aliases = "wiperegions")
public class Command_wiperegions extends FreedomCommand
{
public WorldGuardPlugin getWorldGuard()
{
Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("WorldGuard");
if (plugin == null || !(plugin instanceof WorldGuardPlugin))
{
return null;
}
return (WorldGuardPlugin) plugin;
}
public class Command_wiperegions extends FreedomCommand {
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
if (getWorldGuard() == null)
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
if (!plugin.wgb.isPluginEnabled())
{
msg("WorldGuard is not installed.", ChatColor.GRAY);
msg("WorldGuard is not enabled.", ChatColor.GRAY);
return true;
}
if (args.length != 1)
{
if (args.length != 1) {
return false;
}
World world = server.getWorld(args[0]);
@ -50,20 +29,12 @@ public class Command_wiperegions extends FreedomCommand
msg("World : \"" + args[0] + "\" not found.", ChatColor.GRAY);
return true;
}
if (world.equals(plugin.wm.adminworld.getWorld()) && !plugin.rm.getRank(sender).isAtLeast(Rank.SENIOR_ADMIN))
if (world.equals(plugin.wm.adminworld.getWorld()))
{
msg("You do not have permission to wipe adminworld.", ChatColor.RED);
return true;
checkRank(Rank.SENIOR_ADMIN);
}
RegionContainer container = getWorldGuard().getRegionContainer();
RegionManager rm = container.get(world);
if (rm != null)
if (plugin.wgb.wipeRegions(world))
{
Map<String, ProtectedRegion> regions = rm.getRegions();
for (ProtectedRegion region : regions.values())
{
rm.removeRegion(region.getId());
}
FUtil.adminAction(sender.getName(), "Wiping regions for world: " + world.getName(), true);
return true;
}
@ -73,5 +44,4 @@ public class Command_wiperegions extends FreedomCommand
return true;
}
}
}

View File

@ -1,16 +1,15 @@
package me.totalfreedom.totalfreedommod.command;
import java.io.File;
import java.util.List;
import me.totalfreedom.totalfreedommod.rank.Rank;
import me.totalfreedom.totalfreedommod.util.FUtil;
import org.bukkit.Bukkit;
import static org.bukkit.Bukkit.getServer;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.io.File;
@CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.ONLY_CONSOLE, blockHostConsole = true)
@CommandParameters(description = "Removes essentials playerdata", usage = "/<command>")
public class Command_wipeuserdata extends FreedomCommand
@ -25,13 +24,13 @@ public class Command_wipeuserdata extends FreedomCommand
return true;
}
FUtil.adminAction(sender.getName(), "Wiping Essentials and Worlds playerdata", true);
FUtil.adminAction(sender.getName(), "Wiping Essentials and worlds playerdata", true);
for (World w : Bukkit.getWorlds())
{
if (w.getName().equals(plugin.wm.adminworld.getWorld()))
if (w.getName().equals(plugin.wm.adminworld.getWorld().getName()))
{
return true;
continue;
}
FUtil.deleteFolder(new File(server.getPluginManager().getPlugin("Essentials").getDataFolder(), "userdata"));