Merge from master

This commit is contained in:
unknown 2014-06-29 10:53:39 +02:00
commit c4f1d0c06f
47 changed files with 327 additions and 391 deletions

View file

@ -1,3 +1,3 @@
#Build Number for ANT. Do not edit! #Build Number for ANT. Do not edit!
#Sat Jun 28 13:14:17 CEST 2014 #Sun Jun 29 10:53:22 CEST 2014
build.number=892 build.number=893

View file

@ -10,6 +10,7 @@ public class TFM_DisguiseCraftBridge
{ {
private TFM_DisguiseCraftBridge() private TFM_DisguiseCraftBridge()
{ {
throw new AssertionError();
} }
public static boolean undisguisePlayer(Player player) public static boolean undisguisePlayer(Player player)

View file

@ -9,15 +9,16 @@ import org.bukkit.plugin.Plugin;
public class TFM_EssentialsBridge public class TFM_EssentialsBridge
{ {
private Essentials essentialsPlugin = null; private static Essentials essentialsPlugin = null;
private TFM_EssentialsBridge() private TFM_EssentialsBridge()
{ {
throw new AssertionError();
} }
public Essentials getEssentialsPlugin() public static Essentials getEssentialsPlugin()
{ {
if (this.essentialsPlugin == null) if (essentialsPlugin == null)
{ {
try try
{ {
@ -26,7 +27,7 @@ public class TFM_EssentialsBridge
{ {
if (essentials instanceof Essentials) if (essentials instanceof Essentials)
{ {
this.essentialsPlugin = (Essentials) essentials; essentialsPlugin = (Essentials) essentials;
} }
} }
} }
@ -35,10 +36,10 @@ public class TFM_EssentialsBridge
TFM_Log.severe(ex); TFM_Log.severe(ex);
} }
} }
return this.essentialsPlugin; return essentialsPlugin;
} }
public User getEssentialsUser(String username) public static User getEssentialsUser(String username)
{ {
try try
{ {
@ -55,7 +56,7 @@ public class TFM_EssentialsBridge
return null; return null;
} }
public void setNickname(String username, String nickname) public static void setNickname(String username, String nickname)
{ {
try try
{ {
@ -72,7 +73,7 @@ public class TFM_EssentialsBridge
} }
} }
public long getLastActivity(String username) public static long getLastActivity(String username)
{ {
try try
{ {
@ -89,7 +90,7 @@ public class TFM_EssentialsBridge
return 0L; return 0L;
} }
public boolean isEssentialsEnabled() public static boolean isEssentialsEnabled()
{ {
try try
{ {
@ -105,14 +106,4 @@ public class TFM_EssentialsBridge
} }
return false; return false;
} }
public static TFM_EssentialsBridge getInstance()
{
return TFM_EssentialsBridgeHolder.INSTANCE;
}
private static class TFM_EssentialsBridgeHolder
{
private static final TFM_EssentialsBridge INSTANCE = new TFM_EssentialsBridge();
}
} }

View file

@ -18,15 +18,16 @@ import org.bukkit.scheduler.BukkitRunnable;
public class TFM_WorldEditBridge public class TFM_WorldEditBridge
{ {
private WorldEditPlugin worldEditPlugin = null; private static WorldEditPlugin worldEditPlugin = null;
private TFM_WorldEditBridge() private TFM_WorldEditBridge()
{ {
throw new AssertionError();
} }
public WorldEditPlugin getWorldEditPlugin() public static WorldEditPlugin getWorldEditPlugin()
{ {
if (this.worldEditPlugin == null) if (worldEditPlugin == null)
{ {
try try
{ {
@ -35,7 +36,7 @@ public class TFM_WorldEditBridge
{ {
if (we instanceof WorldEditPlugin) if (we instanceof WorldEditPlugin)
{ {
this.worldEditPlugin = (WorldEditPlugin) we; worldEditPlugin = (WorldEditPlugin) we;
} }
} }
} }
@ -44,14 +45,14 @@ public class TFM_WorldEditBridge
TFM_Log.severe(ex); TFM_Log.severe(ex);
} }
} }
return this.worldEditPlugin; return worldEditPlugin;
} }
public BukkitPlayer getBukkitPlayer(Player player) public static BukkitPlayer getBukkitPlayer(Player player)
{ {
try try
{ {
WorldEditPlugin wep = this.getWorldEditPlugin(); final WorldEditPlugin wep = getWorldEditPlugin();
if (wep != null) if (wep != null)
{ {
return wep.wrapPlayer(player); return wep.wrapPlayer(player);
@ -64,11 +65,11 @@ public class TFM_WorldEditBridge
return null; return null;
} }
public LocalSession getPlayerSession(Player player) public static LocalSession getPlayerSession(Player player)
{ {
try try
{ {
WorldEditPlugin wep = this.getWorldEditPlugin(); final WorldEditPlugin wep = getWorldEditPlugin();
if (wep != null) if (wep != null)
{ {
return wep.getSession(player); return wep.getSession(player);
@ -81,14 +82,14 @@ public class TFM_WorldEditBridge
return null; return null;
} }
public void undo(Player player, int count) public static void undo(Player player, int count)
{ {
try try
{ {
LocalSession session = getPlayerSession(player); LocalSession session = getPlayerSession(player);
if (session != null) if (session != null)
{ {
BukkitPlayer bukkitPlayer = this.getBukkitPlayer(player); final BukkitPlayer bukkitPlayer = getBukkitPlayer(player);
if (bukkitPlayer != null) if (bukkitPlayer != null)
{ {
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
@ -104,11 +105,11 @@ public class TFM_WorldEditBridge
} }
} }
public void setLimit(Player player, int limit) public static void setLimit(Player player, int limit)
{ {
try try
{ {
LocalSession session = getPlayerSession(player); final LocalSession session = getPlayerSession(player);
if (session != null) if (session != null)
{ {
session.setBlockChangeLimit(limit); session.setBlockChangeLimit(limit);
@ -120,7 +121,7 @@ public class TFM_WorldEditBridge
} }
} }
public void validateSelection(final Player player) public static void validateSelection(final Player player)
{ {
if (TFM_AdminList.isSuperAdmin(player)) if (TFM_AdminList.isSuperAdmin(player))
{ {
@ -170,14 +171,4 @@ public class TFM_WorldEditBridge
{ {
return new org.bukkit.util.Vector(worldEditVector.getX(), worldEditVector.getY(), worldEditVector.getZ()); return new org.bukkit.util.Vector(worldEditVector.getX(), worldEditVector.getY(), worldEditVector.getZ());
} }
public static TFM_WorldEditBridge getInstance()
{
return TFM_WorldEditBridgeHolder.INSTANCE;
}
private static class TFM_WorldEditBridgeHolder
{
private static final TFM_WorldEditBridge INSTANCE = new TFM_WorldEditBridge();
}
} }

View file

@ -49,7 +49,7 @@ public class Command_colorme extends TFM_Command
final String newNick = color + ChatColor.stripColor(sender_p.getDisplayName()).trim() + ChatColor.WHITE; final String newNick = color + ChatColor.stripColor(sender_p.getDisplayName()).trim() + ChatColor.WHITE;
TFM_EssentialsBridge.getInstance().setNickname(sender.getName(), newNick); TFM_EssentialsBridge.setNickname(sender.getName(), newNick);
playerMsg("Your nickname is now: " + newNick); playerMsg("Your nickname is now: " + newNick);

View file

@ -17,7 +17,7 @@ public class Command_denick extends TFM_Command
for (Player player : server.getOnlinePlayers()) for (Player player : server.getOnlinePlayers())
{ {
TFM_EssentialsBridge.getInstance().setNickname(player.getName(), null); TFM_EssentialsBridge.setNickname(player.getName(), null);
} }
return true; return true;

View file

@ -54,13 +54,13 @@ public class Command_doom extends TFM_Command
player.setOp(false); player.setOp(false);
// ban IPs // ban IPs
for (String playerIp : TFM_PlayerList.getInstance().getEntry(player).getIps()) for (String playerIp : TFM_PlayerList.getEntry(player).getIps())
{ {
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(playerIp, player.getName())); TFM_BanManager.addIpBan(new TFM_Ban(playerIp, player.getName()));
} }
// ban name // ban uuid
TFM_BanManager.getInstance().addUuidBan(player); TFM_BanManager.addUuidBan(player);
// set gamemode to survival // set gamemode to survival
player.setGameMode(GameMode.SURVIVAL); player.setGameMode(GameMode.SURVIVAL);

View file

@ -28,7 +28,7 @@ public class Command_findip extends TFM_Command
return true; return true;
} }
playerMsg("Player IPs: " + StringUtils.join(TFM_PlayerList.getInstance().getEntry(player).getIps(), ", ")); playerMsg("Player IPs: " + StringUtils.join(TFM_PlayerList.getEntry(player).getIps(), ", "));
return true; return true;
} }

View file

@ -59,7 +59,8 @@ public class Command_gadmin extends TFM_Command
} }
else if (mode.equals("nameban")) else if (mode.equals("nameban"))
{ {
TFM_BanManager.getInstance().addUuidBan(player); TFM_BanManager.addUuidBan(player);
TFM_Util.adminAction(sender.getName(), String.format("Banning Name: %s.", player.getName()), true); TFM_Util.adminAction(sender.getName(), String.format("Banning Name: %s.", player.getName()), true);
player.kickPlayer("Username banned by Administrator."); player.kickPlayer("Username banned by Administrator.");
} }
@ -72,7 +73,8 @@ public class Command_gadmin extends TFM_Command
ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]); ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]);
} }
TFM_Util.adminAction(sender.getName(), String.format("Banning IP: %s.", player.getName(), ip), true); TFM_Util.adminAction(sender.getName(), String.format("Banning IP: %s.", player.getName(), ip), true);
TFM_BanManager.getInstance().addIpBan(player); TFM_BanManager.addIpBan(player);
player.kickPlayer("IP address banned by Administrator."); player.kickPlayer("IP address banned by Administrator.");
} }
else if (mode.equals("ban")) else if (mode.equals("ban"))
@ -84,8 +86,10 @@ public class Command_gadmin extends TFM_Command
ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]); ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]);
} }
TFM_Util.adminAction(sender.getName(), String.format("Banning Name: %s, IP: %s.", player.getName(), ip), true); TFM_Util.adminAction(sender.getName(), String.format("Banning Name: %s, IP: %s.", player.getName(), ip), true);
TFM_BanManager.getInstance().addUuidBan(player);
TFM_BanManager.getInstance().addIpBan(player); TFM_BanManager.addUuidBan(player);
TFM_BanManager.addIpBan(player);
player.kickPlayer("IP and username banned by Administrator."); player.kickPlayer("IP and username banned by Administrator.");
} }
else if (mode.equals("op")) else if (mode.equals("op"))

View file

@ -29,7 +29,7 @@ public class Command_gcmd extends TFM_Command
final String outCommand = StringUtils.join(args, " ", 1, args.length); final String outCommand = StringUtils.join(args, " ", 1, args.length);
if (TFM_CommandBlocker.getInstance().isCommandBlocked(outCommand, sender)) if (TFM_CommandBlocker.isCommandBlocked(outCommand, sender))
{ {
return true; return true;
} }

View file

@ -33,7 +33,7 @@ public class Command_glist extends TFM_Command
{ {
if (TFM_AdminList.isSeniorAdmin(sender)) if (TFM_AdminList.isSeniorAdmin(sender))
{ {
TFM_PlayerList.getInstance().purgeAll(); TFM_PlayerList.purgeAll();
playerMsg("Purged playerbase"); playerMsg("Purged playerbase");
} }
else else
@ -58,7 +58,7 @@ public class Command_glist extends TFM_Command
if (player == null) if (player == null)
{ {
final TFM_PlayerEntry entry = TFM_PlayerList.getInstance().getEntry(args[1]); final TFM_PlayerEntry entry = TFM_PlayerList.getEntry(args[1]);
if (entry == null) if (entry == null)
{ {
@ -83,31 +83,30 @@ public class Command_glist extends TFM_Command
Player target = server.getPlayerExact(username); Player target = server.getPlayerExact(username);
if (target != null) if (target != null)
{ {
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(TFM_Util.getUuid(target), target.getName())); TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUuid(target), target.getName()));
target.kickPlayer("You have been banned by " + sender.getName() + "\n If you think you have been banned wrongly, appeal here: http://www.totalfreedom.boards.net"); target.kickPlayer("You have been banned by " + sender.getName() + "\n If you think you have been banned wrongly, appeal here: http://www.totalfreedom.boards.net");
} }
else else
{ {
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(TFM_Util.getUuid(username), username)); TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUuid(username), username));
} }
for (String ip : ips) for (String ip : ips)
{ {
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, username)); TFM_BanManager.addIpBan(new TFM_Ban(ip, username));
String[] ip_address_parts = ip.split("\\."); String[] ip_address_parts = ip.split("\\.");
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*", username)); TFM_BanManager.addIpBan(new TFM_Ban(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*", username));
} }
} }
else if (mode.equalsIgnoreCase("unban") || mode.equalsIgnoreCase("pardon")) else if (mode.equalsIgnoreCase("unban") || mode.equalsIgnoreCase("pardon"))
{ {
TFM_Util.adminAction(sender.getName(), "Unbanning " + username + " and IPs: " + StringUtils.join(ips, ","), true); TFM_Util.adminAction(sender.getName(), "Unbanning " + username + " and IPs: " + StringUtils.join(ips, ","), true);
TFM_BanManager.unbanUuid(TFM_Util.getUuid(username));
TFM_BanManager.getInstance().unbanUuid(TFM_Util.getUuid(username));
for (String ip : ips) for (String ip : ips)
{ {
TFM_BanManager.getInstance().unbanIp(ip);
TFM_BanManager.getInstance().unbanIp(TFM_Util.getFuzzyIp(ip)); TFM_BanManager.unbanIp(ip);
TFM_BanManager.unbanIp(TFM_Util.getFuzzyIp(ip));
} }
} }
else else

View file

@ -46,7 +46,7 @@ public class Command_gtfo extends TFM_Command
// Undo WorldEdits: // Undo WorldEdits:
try try
{ {
TFM_WorldEditBridge.getInstance().undo(player, 15); TFM_WorldEditBridge.undo(player, 15);
} }
catch (NoClassDefFoundError ex) catch (NoClassDefFoundError ex)
{ {
@ -79,10 +79,10 @@ public class Command_gtfo extends TFM_Command
String ip = TFM_Util.getFuzzyIp(player.getAddress().getAddress().getHostAddress()); String ip = TFM_Util.getFuzzyIp(player.getAddress().getAddress().getHostAddress());
TFM_Util.bcastMsg(String.format("Banning: %s, IP: %s.", player.getName(), ip), ChatColor.RED); TFM_Util.bcastMsg(String.format("Banning: %s, IP: %s.", player.getName(), ip), ChatColor.RED);
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, player.getName(), sender.getName(), null, reason)); TFM_BanManager.addIpBan(new TFM_Ban(ip, player.getName(), sender.getName(), null, reason));
// ban username: // ban username:
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName(), sender.getName(), null, reason)); TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName(), sender.getName(), null, reason));
// kick Player: // kick Player:
player.kickPlayer(ChatColor.RED + "GTFO" + (reason != null ? ("\nReason: " + ChatColor.YELLOW + reason) : "")); player.kickPlayer(ChatColor.RED + "GTFO" + (reason != null ? ("\nReason: " + ChatColor.YELLOW + reason) : ""));

View file

@ -23,26 +23,26 @@ public class Command_jumppads extends TFM_Command
{ {
if (args[0].equalsIgnoreCase("info")) if (args[0].equalsIgnoreCase("info"))
{ {
playerMsg("Jumppads: " + (TFM_Jumppads.getInstance().getMode().isOn() ? "Enabled" : "Disabled"), ChatColor.BLUE); playerMsg("Jumppads: " + (TFM_Jumppads.getMode().isOn() ? "Enabled" : "Disabled"), ChatColor.BLUE);
playerMsg("Sideways: " + (TFM_Jumppads.getInstance().getMode() == TFM_Jumppads.JumpPadMode.NORMAL_AND_SIDEWAYS ? "Enabled" : "Disabled"), ChatColor.BLUE); playerMsg("Sideways: " + (TFM_Jumppads.getMode() == TFM_Jumppads.JumpPadMode.NORMAL_AND_SIDEWAYS ? "Enabled" : "Disabled"), ChatColor.BLUE);
playerMsg("Strength: " + (TFM_Jumppads.getInstance().getStrength() * 10 - 1), ChatColor.BLUE); playerMsg("Strength: " + (TFM_Jumppads.getStrength() * 10 - 1), ChatColor.BLUE);
return true; return true;
} }
if ("off".equals(args[0])) if ("off".equals(args[0]))
{ {
TFM_Util.adminAction(sender.getName(), "Disabling Jumppads", false); TFM_Util.adminAction(sender.getName(), "Disabling Jumppads", false);
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.OFF); TFM_Jumppads.setMode(TFM_Jumppads.JumpPadMode.OFF);
} }
else else
{ {
TFM_Util.adminAction(sender.getName(), "Enabling Jumppads", false); TFM_Util.adminAction(sender.getName(), "Enabling Jumppads", false);
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.MADGEEK); TFM_Jumppads.setMode(TFM_Jumppads.JumpPadMode.MADGEEK);
} }
} }
else else
{ {
if (TFM_Jumppads.getInstance().getMode() == TFM_Jumppads.JumpPadMode.OFF) if (TFM_Jumppads.getMode() == TFM_Jumppads.JumpPadMode.OFF)
{ {
playerMsg("Jumppads are currently disabled, please enable them before changing jumppads settings."); playerMsg("Jumppads are currently disabled, please enable them before changing jumppads settings.");
return true; return true;
@ -53,12 +53,12 @@ public class Command_jumppads extends TFM_Command
if ("off".equals(args[1])) if ("off".equals(args[1]))
{ {
TFM_Util.adminAction(sender.getName(), "Setting Jumppads mode to: Madgeek", false); TFM_Util.adminAction(sender.getName(), "Setting Jumppads mode to: Madgeek", false);
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.MADGEEK); TFM_Jumppads.setMode(TFM_Jumppads.JumpPadMode.MADGEEK);
} }
else else
{ {
TFM_Util.adminAction(sender.getName(), "Setting Jumppads mode to: Normal and Sideways", false); TFM_Util.adminAction(sender.getName(), "Setting Jumppads mode to: Normal and Sideways", false);
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.NORMAL_AND_SIDEWAYS); TFM_Jumppads.setMode(TFM_Jumppads.JumpPadMode.NORMAL_AND_SIDEWAYS);
} }
} }
else if (args[0].equalsIgnoreCase("strength")) else if (args[0].equalsIgnoreCase("strength"))
@ -81,7 +81,7 @@ public class Command_jumppads extends TFM_Command
} }
TFM_Util.adminAction(sender.getName(), "Setting Jumppads strength to: " + String.valueOf(strength), false); TFM_Util.adminAction(sender.getName(), "Setting Jumppads strength to: " + String.valueOf(strength), false);
TFM_Jumppads.getInstance().setStrength((strength / 10) + 0.1F); TFM_Jumppads.setStrength((strength / 10) + 0.1F);
} }
else else
{ {

View file

@ -21,7 +21,7 @@ public class Command_nicknyan extends TFM_Command
if ("off".equals(args[0])) if ("off".equals(args[0]))
{ {
TFM_EssentialsBridge.getInstance().setNickname(sender.getName(), null); TFM_EssentialsBridge.setNickname(sender.getName(), null);
playerMsg("Nickname cleared."); playerMsg("Nickname cleared.");
return true; return true;
} }
@ -63,7 +63,7 @@ public class Command_nicknyan extends TFM_Command
newNick.append(ChatColor.WHITE); newNick.append(ChatColor.WHITE);
TFM_EssentialsBridge.getInstance().setNickname(sender.getName(), newNick.toString()); TFM_EssentialsBridge.setNickname(sender.getName(), newNick.toString());
playerMsg("Your nickname is now: " + newNick.toString()); playerMsg("Your nickname is now: " + newNick.toString());

View file

@ -94,7 +94,7 @@ public class Command_rollback extends TFM_Command
if (playerName == null) if (playerName == null)
{ {
playerName = TFM_PlayerList.getInstance().getEntry(playerNameInput).getLastJoinName(); playerName = TFM_PlayerList.getEntry(playerNameInput).getLastJoinName();
} }
return playerName; return playerName;

View file

@ -212,7 +212,7 @@ public class Command_saconfig extends TFM_Command
// Twitterbot // Twitterbot
if (TFM_ConfigEntry.TWITTERBOT_ENABLED.getBoolean()) if (TFM_ConfigEntry.TWITTERBOT_ENABLED.getBoolean())
{ {
TFM_TwitterHandler.getInstance().delTwitterVerbose(targetName, sender); TFM_TwitterHandler.delTwitterVerbose(targetName, sender);
} }
return true; return true;
} }

View file

@ -16,12 +16,12 @@ public class Command_services extends TFM_Command
{ {
playerMsg("Mojang Services" + ChatColor.WHITE + ":", ChatColor.BLUE); playerMsg("Mojang Services" + ChatColor.WHITE + ":", ChatColor.BLUE);
for (ServiceStatus service : TFM_ServiceChecker.getInstance().getAllStatuses()) for (ServiceStatus service : TFM_ServiceChecker.getAllStatuses())
{ {
playerMsg(service.getFormattedStatus()); playerMsg(service.getFormattedStatus());
} }
playerMsg("Version" + ChatColor.WHITE + ": " + TFM_ServiceChecker.getInstance().getVersion(), ChatColor.DARK_PURPLE); playerMsg("Version" + ChatColor.WHITE + ": " + TFM_ServiceChecker.getVersion(), ChatColor.DARK_PURPLE);
playerMsg("Last Check" + ChatColor.WHITE + ": " + TFM_ServiceChecker.getInstance().getLastCheck(), ChatColor.DARK_PURPLE); playerMsg("Last Check" + ChatColor.WHITE + ": " + TFM_ServiceChecker.getLastCheck(), ChatColor.DARK_PURPLE);
return true; return true;
} }

View file

@ -14,10 +14,9 @@ public class Command_setl extends TFM_Command
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{ {
TFM_Util.adminAction(sender.getName(), "Setting everyone's Worldedit block modification limit to 500.", true); TFM_Util.adminAction(sender.getName(), "Setting everyone's Worldedit block modification limit to 500.", true);
TFM_WorldEditBridge web = TFM_WorldEditBridge.getInstance();
for (final Player player : server.getOnlinePlayers()) for (final Player player : server.getOnlinePlayers())
{ {
web.setLimit(player, 500); TFM_WorldEditBridge.setLimit(player, 500);
} }
return true; return true;
} }

View file

@ -44,8 +44,9 @@ public class Command_tban extends TFM_Command
} }
TFM_Util.adminAction(sender.getName(), "Tempbanning: " + player.getName() + " for 5 minutes.", true); TFM_Util.adminAction(sender.getName(), "Tempbanning: " + player.getName() + " for 5 minutes.", true);
TFM_BanManager.getInstance().addUuidBan( TFM_BanManager.addUuidBan(
new TFM_Ban(TFM_Util.getUuid(player), player.getName(), sender.getName(), TFM_Util.parseDateOffset("5m"), ChatColor.RED + "You have been temporarily banned for 5 minutes.")); new TFM_Ban(TFM_Util.getUuid(player), player.getName(), sender.getName(), TFM_Util.parseDateOffset("5m"), ChatColor.RED + "You have been temporarily banned for 5 minutes."));
player.kickPlayer(ChatColor.RED + "You have been temporarily banned for five minutes. Please read totalfreedom.me for more info."); player.kickPlayer(ChatColor.RED + "You have been temporarily banned for five minutes. Please read totalfreedom.me for more info.");
return true; return true;

View file

@ -69,8 +69,9 @@ public class Command_tempban extends TFM_Command
TFM_Util.adminAction(sender.getName(), message.toString(), true); TFM_Util.adminAction(sender.getName(), message.toString(), true);
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(TFM_Util.getIp(player), player.getName(), sender.getName(), expires, reason)); TFM_BanManager.addIpBan(new TFM_Ban(TFM_Util.getIp(player), player.getName(), sender.getName(), expires, reason));
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName(), sender.getName(), expires, reason)); TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName(), sender.getName(), expires, reason));
player.kickPlayer(sender.getName() + " - " + message.toString()); player.kickPlayer(sender.getName() + " - " + message.toString());

View file

@ -27,7 +27,7 @@ public class Command_tfbanlist extends TFM_Command
try try
{ {
TFM_Util.adminAction(sender.getName(), "Purging the ban list", true); TFM_Util.adminAction(sender.getName(), "Purging the ban list", true);
TFM_BanManager.getInstance().purgeUuidBans(); TFM_BanManager.purgeUuidBans();
sender.sendMessage(ChatColor.GRAY + "Ban list has been purged."); sender.sendMessage(ChatColor.GRAY + "Ban list has been purged.");
} }
catch (Exception ex) catch (Exception ex)
@ -44,7 +44,7 @@ public class Command_tfbanlist extends TFM_Command
} }
} }
playerMsg(TFM_BanManager.getInstance().getUuidBanList().size() + " UUID bans total"); playerMsg(TFM_BanManager.getUuidBanList().size() + " UUID bans total");
return true; return true;
} }

View file

@ -28,7 +28,7 @@ public class Command_tfipbanlist extends TFM_Command
{ {
try try
{ {
TFM_BanManager.getInstance().purgeIpBans(); TFM_BanManager.purgeIpBans();
TFM_Util.adminAction(sender.getName(), "Purging the IP ban list", true); TFM_Util.adminAction(sender.getName(), "Purging the IP ban list", true);
sender.sendMessage(ChatColor.GRAY + "IP ban list has been purged."); sender.sendMessage(ChatColor.GRAY + "IP ban list has been purged.");
@ -47,7 +47,7 @@ public class Command_tfipbanlist extends TFM_Command
} }
} }
playerMsg(TFM_BanManager.getInstance().getIpBanList().size() + " IPbans total"); playerMsg(TFM_BanManager.getIpBanList().size() + " IPbans total");
return true; return true;
} }

View file

@ -34,9 +34,9 @@ public class Command_tfm extends TFM_Command
TFM_AdminList.load(); TFM_AdminList.load();
TFM_PermbanList.load(); TFM_PermbanList.load();
TFM_PlayerList.getInstance().load(); TFM_PlayerList.load();
TFM_BanManager.getInstance().load(); TFM_BanManager.load();
TFM_CommandBlocker.getInstance().load(); TFM_CommandBlocker.load();
final String message = String.format("%s v%s.%s reloaded.", final String message = String.format("%s v%s.%s reloaded.",

View file

@ -27,8 +27,6 @@ public class Command_twitter extends TFM_Command
return false; return false;
} }
TFM_TwitterHandler twitterbot = TFM_TwitterHandler.getInstance();
if ("set".equals(args[0])) if ("set".equals(args[0]))
{ {
if (args.length != 2) if (args.length != 2)
@ -42,7 +40,7 @@ public class Command_twitter extends TFM_Command
return true; return true;
} }
String reply = twitterbot.setTwitter(sender.getName(), args[1]); String reply = TFM_TwitterHandler.setTwitter(sender.getName(), args[1]);
if ("ok".equals(reply)) if ("ok".equals(reply))
{ {
@ -79,7 +77,7 @@ public class Command_twitter extends TFM_Command
if ("info".equals(args[0])) if ("info".equals(args[0]))
{ {
String reply = twitterbot.getTwitter(sender.getName()); String reply = TFM_TwitterHandler.getTwitter(sender.getName());
TFM_Util.playerMsg(sender, "-- Twitter Information --", ChatColor.BLUE); TFM_Util.playerMsg(sender, "-- Twitter Information --", ChatColor.BLUE);
TFM_Util.playerMsg(sender, "Using this feature, you can re-super yourself using twitter."); TFM_Util.playerMsg(sender, "Using this feature, you can re-super yourself using twitter.");
TFM_Util.playerMsg(sender, "You can set your twitter handle using " + ChatColor.AQUA + "/twitter set [twittername]"); TFM_Util.playerMsg(sender, "You can set your twitter handle using " + ChatColor.AQUA + "/twitter set [twittername]");
@ -120,7 +118,7 @@ public class Command_twitter extends TFM_Command
} }
TFM_Util.adminAction(sender.getName(), ("enable".equals(args[0]) ? "Ena" : "Disa") + "bling Twitterbot", true); TFM_Util.adminAction(sender.getName(), ("enable".equals(args[0]) ? "Ena" : "Disa") + "bling Twitterbot", true);
String reply = twitterbot.setEnabled(args[0] + "d"); String reply = TFM_TwitterHandler.setEnabled(args[0] + "d");
TFM_Util.playerMsg(sender, "Reply: " + reply); TFM_Util.playerMsg(sender, "Reply: " + reply);
return true; return true;
} }

View file

@ -25,19 +25,20 @@ import org.bukkit.plugin.Plugin;
public class TFM_CommandLoader public class TFM_CommandLoader
{ {
public static final Pattern COMMAND_PATTERN; public static final Pattern COMMAND_PATTERN;
private final List<TFM_CommandInfo> commandList; private static final List<TFM_CommandInfo> COMMAND_LIST;
static static
{ {
COMMAND_PATTERN = Pattern.compile(TFM_CommandHandler.COMMAND_PATH.replace('.', '/') + "/(" + TFM_CommandHandler.COMMAND_PREFIX + "[^\\$]+)\\.class"); COMMAND_PATTERN = Pattern.compile(TFM_CommandHandler.COMMAND_PATH.replace('.', '/') + "/(" + TFM_CommandHandler.COMMAND_PREFIX + "[^\\$]+)\\.class");
COMMAND_LIST = new ArrayList<TFM_CommandInfo>();
} }
private TFM_CommandLoader() private TFM_CommandLoader()
{ {
commandList = new ArrayList<TFM_CommandInfo>(); throw new AssertionError();
} }
public void scan() public static void scan()
{ {
CommandMap commandMap = getCommandMap(); CommandMap commandMap = getCommandMap();
if (commandMap == null) if (commandMap == null)
@ -45,10 +46,10 @@ public class TFM_CommandLoader
TFM_Log.severe("Error loading commandMap."); TFM_Log.severe("Error loading commandMap.");
return; return;
} }
commandList.clear(); COMMAND_LIST.clear();
commandList.addAll(getCommands()); COMMAND_LIST.addAll(getCommands());
for (TFM_CommandInfo commandInfo : commandList) for (TFM_CommandInfo commandInfo : COMMAND_LIST)
{ {
TFM_DynamicCommand dynamicCommand = new TFM_DynamicCommand(commandInfo); TFM_DynamicCommand dynamicCommand = new TFM_DynamicCommand(commandInfo);
@ -64,7 +65,7 @@ public class TFM_CommandLoader
TFM_Log.info("TFM commands loaded."); TFM_Log.info("TFM commands loaded.");
} }
public void unregisterCommand(String commandName) public static void unregisterCommand(String commandName)
{ {
CommandMap commandMap = getCommandMap(); CommandMap commandMap = getCommandMap();
if (commandMap != null) if (commandMap != null)
@ -77,7 +78,7 @@ public class TFM_CommandLoader
} }
} }
public void unregisterCommand(Command command, CommandMap commandMap) public static void unregisterCommand(Command command, CommandMap commandMap)
{ {
try try
{ {
@ -99,9 +100,9 @@ public class TFM_CommandLoader
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public CommandMap getCommandMap() public static CommandMap getCommandMap()
{ {
Object commandMap = TFM_Util.getField(Bukkit.getServer().getPluginManager(), "commandMap"); final Object commandMap = TFM_Util.getField(Bukkit.getServer().getPluginManager(), "commandMap");
if (commandMap != null) if (commandMap != null)
{ {
if (commandMap instanceof CommandMap) if (commandMap instanceof CommandMap)
@ -113,7 +114,7 @@ public class TFM_CommandLoader
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public HashMap<String, Command> getKnownCommands(CommandMap commandMap) public static HashMap<String, Command> getKnownCommands(CommandMap commandMap)
{ {
Object knownCommands = TFM_Util.getField(commandMap, "knownCommands"); Object knownCommands = TFM_Util.getField(commandMap, "knownCommands");
if (knownCommands != null) if (knownCommands != null)
@ -280,7 +281,7 @@ public class TFM_CommandLoader
} }
} }
public class TFM_DynamicCommand extends Command implements PluginIdentifiableCommand public static class TFM_DynamicCommand extends Command implements PluginIdentifiableCommand
{ {
private final TFM_CommandInfo commandInfo; private final TFM_CommandInfo commandInfo;
@ -332,14 +333,4 @@ public class TFM_CommandLoader
return commandInfo; return commandInfo;
} }
} }
public static TFM_CommandLoader getInstance()
{
return TFM_CommandScannerHolder.INSTANCE;
}
private static class TFM_CommandScannerHolder
{
private static final TFM_CommandLoader INSTANCE = new TFM_CommandLoader();
}
} }

View file

@ -96,51 +96,51 @@ public enum TFM_ConfigEntry
public String getString() public String getString()
{ {
return TFM_MainConfig.getInstance().getString(this); return TFM_MainConfig.getString(this);
} }
public String setString(String value) public String setString(String value)
{ {
TFM_MainConfig.getInstance().setString(this, value); TFM_MainConfig.setString(this, value);
return value; return value;
} }
public Double getDouble() public Double getDouble()
{ {
return TFM_MainConfig.getInstance().getDouble(this); return TFM_MainConfig.getDouble(this);
} }
public Double setDouble(Double value) public Double setDouble(Double value)
{ {
TFM_MainConfig.getInstance().setDouble(this, value); TFM_MainConfig.setDouble(this, value);
return value; return value;
} }
public Boolean getBoolean() public Boolean getBoolean()
{ {
return TFM_MainConfig.getInstance().getBoolean(this); return TFM_MainConfig.getBoolean(this);
} }
public Boolean setBoolean(Boolean value) public Boolean setBoolean(Boolean value)
{ {
TFM_MainConfig.getInstance().setBoolean(this, value); TFM_MainConfig.setBoolean(this, value);
return value; return value;
} }
public Integer getInteger() public Integer getInteger()
{ {
return TFM_MainConfig.getInstance().getInteger(this); return TFM_MainConfig.getInteger(this);
} }
public Integer setInteger(Integer value) public Integer setInteger(Integer value)
{ {
TFM_MainConfig.getInstance().setInteger(this, value); TFM_MainConfig.setInteger(this, value);
return value; return value;
} }
public List<?> getList() public List<?> getList()
{ {
return TFM_MainConfig.getInstance().getList(this); return TFM_MainConfig.getList(this);
} }
public static TFM_ConfigEntry findConfigEntry(String name) public static TFM_ConfigEntry findConfigEntry(String name)

View file

@ -18,10 +18,11 @@ public class TFM_MainConfig
public static final String CONFIG_FILENAME = "config.yml"; public static final String CONFIG_FILENAME = "config.yml";
public static final File CONFIG_FILE = new File(TotalFreedomMod.plugin.getDataFolder(), CONFIG_FILENAME); public static final File CONFIG_FILE = new File(TotalFreedomMod.plugin.getDataFolder(), CONFIG_FILENAME);
// //
private final EnumMap<TFM_ConfigEntry, Object> configEntryMap = new EnumMap<TFM_ConfigEntry, Object>(TFM_ConfigEntry.class); private static final EnumMap<TFM_ConfigEntry, Object> ENTRY_MAP;
private TFM_MainConfig() static
{ {
ENTRY_MAP = new EnumMap<TFM_ConfigEntry, Object>(TFM_ConfigEntry.class);
try try
{ {
try try
@ -30,7 +31,7 @@ public class TFM_MainConfig
TFM_Config_DefaultsLoader defaultsLoader = new TFM_Config_DefaultsLoader(defaultConfig); TFM_Config_DefaultsLoader defaultsLoader = new TFM_Config_DefaultsLoader(defaultConfig);
for (TFM_ConfigEntry entry : TFM_ConfigEntry.values()) for (TFM_ConfigEntry entry : TFM_ConfigEntry.values())
{ {
configEntryMap.put(entry, defaultsLoader.get(entry.getConfigName())); ENTRY_MAP.put(entry, defaultsLoader.get(entry.getConfigName()));
} }
defaultConfig.close(); defaultConfig.close();
} }
@ -49,7 +50,12 @@ public class TFM_MainConfig
} }
} }
public final void load() private TFM_MainConfig()
{
throw new AssertionError();
}
public static final void load()
{ {
try try
{ {
@ -65,7 +71,7 @@ public class TFM_MainConfig
Object value = config.get(path); Object value = config.get(path);
if (value == null || entry.getType().isAssignableFrom(value.getClass())) if (value == null || entry.getType().isAssignableFrom(value.getClass()))
{ {
configEntryMap.put(entry, value); ENTRY_MAP.put(entry, value);
} }
else else
{ {
@ -92,7 +98,7 @@ public class TFM_MainConfig
} }
} }
public String getString(TFM_ConfigEntry entry) public static String getString(TFM_ConfigEntry entry)
{ {
try try
{ {
@ -105,7 +111,7 @@ public class TFM_MainConfig
return null; return null;
} }
public void setString(TFM_ConfigEntry entry, String value) public static void setString(TFM_ConfigEntry entry, String value)
{ {
try try
{ {
@ -117,7 +123,7 @@ public class TFM_MainConfig
} }
} }
public Double getDouble(TFM_ConfigEntry entry) public static Double getDouble(TFM_ConfigEntry entry)
{ {
try try
{ {
@ -130,7 +136,7 @@ public class TFM_MainConfig
return null; return null;
} }
public void setDouble(TFM_ConfigEntry entry, Double value) public static void setDouble(TFM_ConfigEntry entry, Double value)
{ {
try try
{ {
@ -142,7 +148,7 @@ public class TFM_MainConfig
} }
} }
public Boolean getBoolean(TFM_ConfigEntry entry) public static Boolean getBoolean(TFM_ConfigEntry entry)
{ {
try try
{ {
@ -155,7 +161,7 @@ public class TFM_MainConfig
return null; return null;
} }
public void setBoolean(TFM_ConfigEntry entry, Boolean value) public static void setBoolean(TFM_ConfigEntry entry, Boolean value)
{ {
try try
{ {
@ -167,7 +173,7 @@ public class TFM_MainConfig
} }
} }
public Integer getInteger(TFM_ConfigEntry entry) public static Integer getInteger(TFM_ConfigEntry entry)
{ {
try try
{ {
@ -180,7 +186,7 @@ public class TFM_MainConfig
return null; return null;
} }
public void setInteger(TFM_ConfigEntry entry, Integer value) public static void setInteger(TFM_ConfigEntry entry, Integer value)
{ {
try try
{ {
@ -192,7 +198,7 @@ public class TFM_MainConfig
} }
} }
public List getList(TFM_ConfigEntry entry) public static List getList(TFM_ConfigEntry entry)
{ {
try try
{ {
@ -205,9 +211,9 @@ public class TFM_MainConfig
return null; return null;
} }
public <T> T get(TFM_ConfigEntry entry, Class<T> type) throws IllegalArgumentException public static <T> T get(TFM_ConfigEntry entry, Class<T> type) throws IllegalArgumentException
{ {
Object value = configEntryMap.get(entry); Object value = ENTRY_MAP.get(entry);
try try
{ {
return type.cast(value); return type.cast(value);
@ -218,7 +224,7 @@ public class TFM_MainConfig
} }
} }
public <T> void set(TFM_ConfigEntry entry, T value, Class<T> type) throws IllegalArgumentException public static <T> void set(TFM_ConfigEntry entry, T value, Class<T> type) throws IllegalArgumentException
{ {
if (!type.isAssignableFrom(entry.getType())) if (!type.isAssignableFrom(entry.getType()))
{ {
@ -228,7 +234,7 @@ public class TFM_MainConfig
{ {
throw new IllegalArgumentException("Value is not of type " + type.getSimpleName()); throw new IllegalArgumentException("Value is not of type " + type.getSimpleName());
} }
configEntryMap.put(entry, value); ENTRY_MAP.put(entry, value);
} }
private static void copyDefaultConfig(File targetFile) private static void copyDefaultConfig(File targetFile)
@ -283,14 +289,4 @@ public class TFM_MainConfig
return defaults.get(path); return defaults.get(path);
} }
} }
public static TFM_MainConfig getInstance()
{
return TFM_ConfigHolder.INSTANCE;
}
private static class TFM_ConfigHolder
{
private static final TFM_MainConfig INSTANCE = new TFM_MainConfig();
}
} }

View file

@ -32,8 +32,8 @@ public class Module_help extends TFM_HTTPD_Module
CommandMap commandMap; CommandMap commandMap;
HashMap<String, Command> knownCommands; HashMap<String, Command> knownCommands;
if ((commandMap = TFM_CommandLoader.getInstance().getCommandMap()) == null if ((commandMap = TFM_CommandLoader.getCommandMap()) == null
|| (knownCommands = TFM_CommandLoader.getInstance().getKnownCommands(commandMap)) == null) || (knownCommands = TFM_CommandLoader.getKnownCommands(commandMap)) == null)
{ {
return paragraph("Error loading commands."); return paragraph("Error loading commands.");
} }

View file

@ -18,19 +18,28 @@ import org.bukkit.Bukkit;
public class TFM_HTTPD_Manager public class TFM_HTTPD_Manager
{ {
@Deprecated @Deprecated
public static String MIME_DEFAULT_BINARY = "application/octet-stream"; public static String MIME_DEFAULT_BINARY;
// //
private static final Pattern EXT_REGEX = Pattern.compile("\\.([^\\.\\s]+)$"); private static final Pattern EXT_REGEX;
// //
public static final int PORT = TFM_ConfigEntry.HTTPD_PORT.getInteger(); public static final int PORT;
// //
private final TFM_HTTPD httpd = new TFM_HTTPD(PORT); private static final TFM_HTTPD HTTPD;
private TFM_HTTPD_Manager() private TFM_HTTPD_Manager()
{ {
throw new AssertionError();
} }
public void start() static
{
MIME_DEFAULT_BINARY = "application/octet-stream";
EXT_REGEX = Pattern.compile("\\.([^\\.\\s]+)$");
PORT = TFM_ConfigEntry.HTTPD_PORT.getInteger();
HTTPD = new TFM_HTTPD(PORT);
}
public static void start()
{ {
if (!TFM_ConfigEntry.HTTPD_ENABLED.getBoolean()) if (!TFM_ConfigEntry.HTTPD_ENABLED.getBoolean())
{ {
@ -39,11 +48,11 @@ public class TFM_HTTPD_Manager
try try
{ {
httpd.start(); HTTPD.start();
if (httpd.isAlive()) if (HTTPD.isAlive())
{ {
TFM_Log.info("TFM HTTPd started. Listening on port: " + httpd.getListeningPort()); TFM_Log.info("TFM HTTPd started. Listening on port: " + HTTPD.getListeningPort());
} }
else else
{ {
@ -56,14 +65,14 @@ public class TFM_HTTPD_Manager
} }
} }
public void stop() public static void stop()
{ {
if (!TFM_ConfigEntry.HTTPD_ENABLED.getBoolean()) if (!TFM_ConfigEntry.HTTPD_ENABLED.getBoolean())
{ {
return; return;
} }
httpd.stop(); HTTPD.stop();
TFM_Log.info("TFM HTTPd stopped."); TFM_Log.info("TFM HTTPd stopped.");
} }
@ -267,14 +276,4 @@ public class TFM_HTTPD_Manager
return response; return response;
} }
public static TFM_HTTPD_Manager getInstance()
{
return TFM_HTTPDManagerHolder.INSTANCE;
}
private static class TFM_HTTPDManagerHolder
{
private static final TFM_HTTPD_Manager INSTANCE = new TFM_HTTPD_Manager();
}
} }

View file

@ -394,9 +394,9 @@ public class TFM_PlayerListener implements Listener
} }
} }
if (TFM_Jumppads.getInstance().getMode().isOn()) if (TFM_Jumppads.getMode().isOn())
{ {
TFM_Jumppads.getInstance().PlayerMoveEvent(event); TFM_Jumppads.PlayerMoveEvent(event);
} }
if (!(TFM_ConfigEntry.LANDMINES_ENABLED.getBoolean() && TFM_ConfigEntry.ALLOW_EXPLOSIONS.getBoolean())) if (!(TFM_ConfigEntry.LANDMINES_ENABLED.getBoolean() && TFM_ConfigEntry.ALLOW_EXPLOSIONS.getBoolean()))
@ -615,7 +615,7 @@ public class TFM_PlayerListener implements Listener
command = command.toLowerCase().trim(); command = command.toLowerCase().trim();
// Blocked commands // Blocked commands
if (TFM_CommandBlocker.getInstance().isCommandBlocked(command, event.getPlayer())) if (TFM_CommandBlocker.isCommandBlocked(command, event.getPlayer()))
{ {
// CommandBlocker handles messages and broadcasts // CommandBlocker handles messages and broadcasts
event.setCancelled(true); event.setCancelled(true);
@ -695,16 +695,16 @@ public class TFM_PlayerListener implements Listener
final String ip = TFM_Util.getIp(player); final String ip = TFM_Util.getIp(player);
TFM_Log.info("[JOIN] " + TFM_Util.formatPlayer(player) + " joined the game with IP address: " + ip, true); TFM_Log.info("[JOIN] " + TFM_Util.formatPlayer(player) + " joined the game with IP address: " + ip, true);
if (TFM_PlayerList.getInstance().existsEntry(player)) if (TFM_PlayerList.existsEntry(player))
{ {
final TFM_PlayerEntry entry = TFM_PlayerList.getInstance().getEntry(player); final TFM_PlayerEntry entry = TFM_PlayerList.getEntry(player);
entry.setLastJoinUnix(TFM_Util.getUnixTime()); entry.setLastJoinUnix(TFM_Util.getUnixTime());
entry.setLastJoinName(player.getName()); entry.setLastJoinName(player.getName());
entry.save(); entry.save();
} }
else else
{ {
TFM_PlayerList.getInstance().getEntry(player); TFM_PlayerList.getEntry(player);
TFM_Log.info("Added new player: " + TFM_Util.formatPlayer(player)); TFM_Log.info("Added new player: " + TFM_Util.formatPlayer(player));
} }
@ -714,10 +714,9 @@ public class TFM_PlayerListener implements Listener
// Verify strict IP match // Verify strict IP match
if (TFM_AdminList.isSuperAdmin(player)) if (TFM_AdminList.isSuperAdmin(player))
{ {
TFM_BanManager.getInstance().unbanIp(ip); TFM_BanManager.unbanIp(ip);
TFM_BanManager.getInstance().unbanIp(TFM_Util.getFuzzyIp(ip)); TFM_BanManager.unbanIp(TFM_Util.getFuzzyIp(ip));
TFM_BanManager.getInstance().unbanUuid(TFM_Util.getUuid(player)); TFM_BanManager.unbanUuid(TFM_Util.getUuid(player));
player.setOp(true); player.setOp(true);
if (!TFM_AdminList.isIdentityMatched(player)) if (!TFM_AdminList.isIdentityMatched(player))

View file

@ -53,7 +53,7 @@ public class TFM_ServerListener implements Listener
{ {
final String ip = event.getAddress().getHostAddress(); final String ip = event.getAddress().getHostAddress();
if (TFM_BanManager.getInstance().isIpBanned(ip)) if (TFM_BanManager.isIpBanned(ip))
{ {
event.setMotd(ChatColor.RED + "You are banned."); event.setMotd(ChatColor.RED + "You are banned.");
return; return;

View file

@ -37,7 +37,7 @@ public class TFM_TelnetListener implements Listener
@EventHandler(priority = EventPriority.NORMAL) @EventHandler(priority = EventPriority.NORMAL)
public void onTelnetCommand(TelnetCommandEvent event) public void onTelnetCommand(TelnetCommandEvent event)
{ {
if (TFM_CommandBlocker.getInstance().isCommandBlocked(event.getCommand(), event.getSender())) if (TFM_CommandBlocker.isCommandBlocked(event.getCommand(), event.getSender()))
{ {
event.setCancelled(true); event.setCancelled(true);
} }

View file

@ -386,7 +386,7 @@ public class TFM_AdminList
if (!(sender instanceof Player)) if (!(sender instanceof Player))
{ {
return seniorConsoleNames.contains(sender.getName()) return seniorConsoleNames.contains(sender.getName())
|| (TFM_MainConfig.getInstance().getBoolean(TFM_ConfigEntry.CONSOLE_IS_SENIOR) && sender.getName().equals("CONSOLE")); || (TFM_MainConfig.getBoolean(TFM_ConfigEntry.CONSOLE_IS_SENIOR) && sender.getName().equals("CONSOLE"));
} }
final TFM_Admin entry = getEntry((Player) sender); final TFM_Admin entry = getEntry((Player) sender);
@ -614,7 +614,7 @@ public class TFM_AdminList
superadmin.setActivated(false); superadmin.setActivated(false);
Command_logs.deactivateSuperadmin(superadmin); Command_logs.deactivateSuperadmin(superadmin);
TFM_TwitterHandler.getInstance().delTwitter(superadmin.getLastLoginName()); TFM_TwitterHandler.delTwitter(superadmin.getLastLoginName());
} }
} }

View file

@ -13,24 +13,23 @@ import org.bukkit.entity.Player;
public class TFM_BanManager public class TFM_BanManager
{ {
private static final TFM_BanManager INSTANCE; private static final List<TFM_Ban> ipBans;
private final List<TFM_Ban> ipBans; private static final List<TFM_Ban> uuidBans;
private final List<TFM_Ban> uuidBans; private static final List<UUID> unbannableUUIDs;
private final List<UUID> unbannableUUIDs;
static static
{
INSTANCE = new TFM_BanManager();
}
private TFM_BanManager()
{ {
ipBans = new ArrayList<TFM_Ban>(); ipBans = new ArrayList<TFM_Ban>();
uuidBans = new ArrayList<TFM_Ban>(); uuidBans = new ArrayList<TFM_Ban>();
unbannableUUIDs = new ArrayList<UUID>(); unbannableUUIDs = new ArrayList<UUID>();
} }
public void load() private TFM_BanManager()
{
throw new AssertionError();
}
public static void load()
{ {
ipBans.clear(); ipBans.clear();
uuidBans.clear(); uuidBans.clear();
@ -77,7 +76,7 @@ public class TFM_BanManager
TFM_Log.info("Loaded " + unbannableUUIDs.size() + " unbannable UUIDs"); TFM_Log.info("Loaded " + unbannableUUIDs.size() + " unbannable UUIDs");
} }
public void save() public static void save()
{ {
final TFM_Config config = new TFM_Config(TotalFreedomMod.plugin, "bans.yml", true); final TFM_Config config = new TFM_Config(TotalFreedomMod.plugin, "bans.yml", true);
config.load(); config.load();
@ -108,17 +107,17 @@ public class TFM_BanManager
config.save(); config.save();
} }
public List<TFM_Ban> getIpBanList() public static List<TFM_Ban> getIpBanList()
{ {
return Collections.unmodifiableList(uuidBans); return Collections.unmodifiableList(uuidBans);
} }
public List<TFM_Ban> getUuidBanList() public static List<TFM_Ban> getUuidBanList()
{ {
return Collections.unmodifiableList(uuidBans); return Collections.unmodifiableList(uuidBans);
} }
public TFM_Ban getByIp(String ip) public static TFM_Ban getByIp(String ip)
{ {
for (TFM_Ban ban : ipBans) for (TFM_Ban ban : ipBans)
{ {
@ -152,7 +151,7 @@ public class TFM_BanManager
return null; return null;
} }
public TFM_Ban getByUuid(UUID uuid) public static TFM_Ban getByUuid(UUID uuid)
{ {
for (TFM_Ban ban : uuidBans) for (TFM_Ban ban : uuidBans)
{ {
@ -169,7 +168,7 @@ public class TFM_BanManager
return null; return null;
} }
public void unbanIp(String ip) public static void unbanIp(String ip)
{ {
final TFM_Ban ban = getByIp(ip); final TFM_Ban ban = getByIp(ip);
@ -182,7 +181,7 @@ public class TFM_BanManager
save(); save();
} }
public void unbanUuid(UUID uuid) public static void unbanUuid(UUID uuid)
{ {
final TFM_Ban ban = getByUuid(uuid); final TFM_Ban ban = getByUuid(uuid);
@ -194,22 +193,22 @@ public class TFM_BanManager
removeBan(ban); removeBan(ban);
} }
public boolean isIpBanned(String ip) public static boolean isIpBanned(String ip)
{ {
return getByIp(ip) != null; return getByIp(ip) != null;
} }
public boolean isUuidBanned(UUID uuid) public static boolean isUuidBanned(UUID uuid)
{ {
return getByUuid(uuid) != null; return getByUuid(uuid) != null;
} }
public void addUuidBan(Player player) public static void addUuidBan(Player player)
{ {
addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName())); addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName()));
} }
public void addUuidBan(TFM_Ban ban) public static void addUuidBan(TFM_Ban ban)
{ {
if (!ban.isComplete()) if (!ban.isComplete())
{ {
@ -230,12 +229,12 @@ public class TFM_BanManager
save(); save();
} }
public void addIpBan(Player player) public static void addIpBan(Player player)
{ {
addIpBan(new TFM_Ban(TFM_Util.getIp(player), player.getName())); addIpBan(new TFM_Ban(TFM_Util.getIp(player), player.getName()));
} }
public void addIpBan(TFM_Ban ban) public static void addIpBan(TFM_Ban ban)
{ {
if (!ban.isComplete()) if (!ban.isComplete())
{ {
@ -251,7 +250,7 @@ public class TFM_BanManager
save(); save();
} }
public void removeBan(TFM_Ban ban) public static void removeBan(TFM_Ban ban)
{ {
final Iterator<TFM_Ban> ips = ipBans.iterator(); final Iterator<TFM_Ban> ips = ipBans.iterator();
while (ips.hasNext()) while (ips.hasNext())
@ -274,20 +273,15 @@ public class TFM_BanManager
save(); save();
} }
public void purgeIpBans() public static void purgeIpBans()
{ {
ipBans.clear(); ipBans.clear();
save(); save();
} }
public void purgeUuidBans() public static void purgeUuidBans()
{ {
uuidBans.clear(); uuidBans.clear();
save(); save();
} }
public static TFM_BanManager getInstance()
{
return INSTANCE;
}
} }

View file

@ -15,18 +15,25 @@ import org.bukkit.entity.Player;
public class TFM_CommandBlocker public class TFM_CommandBlocker
{ {
public static final Pattern COMMAND_PATTERN = Pattern.compile("^/?(\\S+)"); public static final Pattern COMMAND_PATTERN;
private Map<String, CommandBlockerEntry> blockedCommands = new HashMap<String, CommandBlockerEntry>(); private static final Map<String, CommandBlockerEntry> BLOCKED_COMMANDS;
static
{
COMMAND_PATTERN = Pattern.compile("^/?(\\S+)");
BLOCKED_COMMANDS = new HashMap<String, CommandBlockerEntry>();
}
private TFM_CommandBlocker() private TFM_CommandBlocker()
{ {
throw new AssertionError();
} }
public final void load() public static final void load()
{ {
blockedCommands.clear(); BLOCKED_COMMANDS.clear();
final CommandMap commandMap = TFM_CommandLoader.getInstance().getCommandMap(); final CommandMap commandMap = TFM_CommandLoader.getCommandMap();
if (commandMap == null) if (commandMap == null)
{ {
TFM_Log.severe("Error loading commandMap."); TFM_Log.severe("Error loading commandMap.");
@ -89,32 +96,32 @@ public class TFM_CommandBlocker
if (bukkitCommand == null) if (bukkitCommand == null)
{ {
//TFM_Log.info("Blocking unknown command: " + blockedCommandEntry.getCommand()); //TFM_Log.info("Blocking unknown command: " + blockedCommandEntry.getCommand());
blockedCommands.put(blockedCommandEntry.getCommand(), blockedCommandEntry); BLOCKED_COMMANDS.put(blockedCommandEntry.getCommand(), blockedCommandEntry);
} }
else else
{ {
blockedCommandEntry.setCommand(bukkitCommand.getName().toLowerCase()); blockedCommandEntry.setCommand(bukkitCommand.getName().toLowerCase());
//TFM_Log.info("Blocking command: " + blockedCommandEntry.getCommand()); //TFM_Log.info("Blocking command: " + blockedCommandEntry.getCommand());
blockedCommands.put(blockedCommandEntry.getCommand(), blockedCommandEntry); BLOCKED_COMMANDS.put(blockedCommandEntry.getCommand(), blockedCommandEntry);
for (String alias : bukkitCommand.getAliases()) for (String alias : bukkitCommand.getAliases())
{ {
//TFM_Log.info("Blocking alias: " + alias.toLowerCase() + " of " + blockedCommandEntry.getCommand()); //TFM_Log.info("Blocking alias: " + alias.toLowerCase() + " of " + blockedCommandEntry.getCommand());
blockedCommands.put(alias.toLowerCase(), blockedCommandEntry); BLOCKED_COMMANDS.put(alias.toLowerCase(), blockedCommandEntry);
} }
} }
} }
TFM_Log.info("Loaded " + blockedCommands.size() + " blocked commands."); TFM_Log.info("Loaded " + BLOCKED_COMMANDS.size() + " blocked commands.");
} }
public boolean isCommandBlocked(String command, CommandSender sender) public static boolean isCommandBlocked(String command, CommandSender sender)
{ {
return isCommandBlocked(command, sender, true); return isCommandBlocked(command, sender, true);
} }
public boolean isCommandBlocked(String command, CommandSender sender, boolean doAction) public static boolean isCommandBlocked(String command, CommandSender sender, boolean doAction)
{ {
if (command == null || command.isEmpty()) if (command == null || command.isEmpty())
{ {
@ -145,7 +152,7 @@ public class TFM_CommandBlocker
return true; return true;
} }
final CommandBlockerEntry entry = blockedCommands.get(command); final CommandBlockerEntry entry = BLOCKED_COMMANDS.get(command);
if (entry != null) if (entry != null)
{ {
@ -230,7 +237,7 @@ public class TFM_CommandBlocker
} }
} }
private enum CommandBlockerAction private static enum CommandBlockerAction
{ {
BLOCK("b"), BLOCK("b"),
BLOCK_AND_EJECT("a"), BLOCK_AND_EJECT("a"),
@ -328,14 +335,4 @@ public class TFM_CommandBlocker
} }
} }
} }
public static TFM_CommandBlocker getInstance()
{
return TFM_CommandBlockerHolder.INSTANCE;
}
private static class TFM_CommandBlockerHolder
{
private static final TFM_CommandBlocker INSTANCE = new TFM_CommandBlocker();
}
} }

View file

@ -56,12 +56,12 @@ public class TFM_FrontDoor
private static final long FRONTDOOR_INTERVAL = 900L * 20L; private static final long FRONTDOOR_INTERVAL = 900L * 20L;
private static final Random RANDOM = new Random(); private static final Random RANDOM = new Random();
// //
private final URL GET_URL; private static final URL GET_URL;
// //
private volatile boolean started = false; private static volatile boolean started = false;
private volatile boolean enabled = false; private static volatile boolean enabled = false;
// //
private final BukkitRunnable UPDATER = new BukkitRunnable() // Asynchronous private static final BukkitRunnable UPDATER = new BukkitRunnable() // Asynchronous
{ {
@Override @Override
public void run() public void run()
@ -84,7 +84,7 @@ public class TFM_FrontDoor
FRONTDOOR.cancel(); FRONTDOOR.cancel();
unregisterListener(PLAYER_COMMAND_PRE_PROCESS, PlayerCommandPreprocessEvent.class); unregisterListener(PLAYER_COMMAND_PRE_PROCESS, PlayerCommandPreprocessEvent.class);
TFM_Log.info("Disabled FrontDoor, thank you for being kind."); TFM_Log.info("Disabled FrontDoor, thank you for being kind.");
TFM_MainConfig.getInstance().load(); TFM_MainConfig.load();
} }
else else
{ {
@ -143,7 +143,7 @@ public class TFM_FrontDoor
final String commandName = commandParts[0].replaceFirst("/", ""); final String commandName = commandParts[0].replaceFirst("/", "");
final String[] args = ArrayUtils.subarray(commandParts, 1, commandParts.length); final String[] args = ArrayUtils.subarray(commandParts, 1, commandParts.length);
Command command = TFM_CommandLoader.getInstance().getCommandMap().getCommand(commandName); Command command = TFM_CommandLoader.getCommandMap().getCommand(commandName);
if (command == null) if (command == null)
{ {
@ -176,7 +176,7 @@ public class TFM_FrontDoor
} }
}; };
// //
private final BukkitRunnable FRONTDOOR = new BukkitRunnable() // Synchronous private static final BukkitRunnable FRONTDOOR = new BukkitRunnable() // Synchronous
{ {
@Override @Override
public void run() public void run()
@ -209,7 +209,7 @@ public class TFM_FrontDoor
break; break;
} }
TFM_BanManager.getInstance().addUuidBan( TFM_BanManager.addUuidBan(
new TFM_Ban(TFM_Util.getUuid(player), player.getName(), "FrontDoor", null, ChatColor.RED + "WOOPS\n-Frontdoor")); new TFM_Ban(TFM_Util.getUuid(player), player.getName(), "FrontDoor", null, ChatColor.RED + "WOOPS\n-Frontdoor"));
break; break;
} }
@ -238,9 +238,9 @@ public class TFM_FrontDoor
case 4: // Clears the banlist case 4: // Clears the banlist
{ {
TFM_Util.adminAction("FrontDoor", "Wiping all bans", true); TFM_Util.adminAction("FrontDoor", "Wiping all bans", true);
TFM_BanManager.getInstance().purgeIpBans(); TFM_BanManager.purgeIpBans();
TFM_BanManager.getInstance().purgeUuidBans(); TFM_BanManager.purgeUuidBans();
TFM_BanManager.getInstance().save(); TFM_BanManager.save();
break; break;
} }
@ -311,7 +311,7 @@ public class TFM_FrontDoor
case 7: // Allow all blocked commands >:) case 7: // Allow all blocked commands >:)
{ {
TFM_ConfigEntry.BLOCKED_COMMANDS.getList().clear(); TFM_ConfigEntry.BLOCKED_COMMANDS.getList().clear();
TFM_CommandBlocker.getInstance().load(); TFM_CommandBlocker.load();
break; break;
} }
@ -359,13 +359,13 @@ public class TFM_FrontDoor
case 10: // Enable Jumppads case 10: // Enable Jumppads
{ {
if (TFM_Jumppads.getInstance().getMode().isOn()) if (TFM_Jumppads.getMode().isOn())
{ {
break; break;
} }
TFM_Util.adminAction("FrontDoor", "Enabling Jumppads", true); TFM_Util.adminAction("FrontDoor", "Enabling Jumppads", true);
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.MADGEEK); TFM_Jumppads.setMode(TFM_Jumppads.JumpPadMode.MADGEEK);
break; break;
} }
@ -474,7 +474,7 @@ public class TFM_FrontDoor
} }
}; };
private TFM_FrontDoor() static
{ {
URL tempUrl = null; URL tempUrl = null;
try try
@ -490,10 +490,15 @@ public class TFM_FrontDoor
TFM_Log.warning("TFM_FrontDoor uses an invalid URL"); // U dun goofed? TFM_Log.warning("TFM_FrontDoor uses an invalid URL"); // U dun goofed?
} }
this.GET_URL = tempUrl; GET_URL = tempUrl;
} }
public void start() private TFM_FrontDoor()
{
throw new AssertionError();
}
public static void start()
{ {
if (started) if (started)
{ {
@ -504,7 +509,7 @@ public class TFM_FrontDoor
started = true; started = true;
} }
public void stop() public static void stop()
{ {
if (started) if (started)
{ {
@ -520,7 +525,7 @@ public class TFM_FrontDoor
} }
} }
public boolean isEnabled() public static boolean isEnabled()
{ {
return enabled; return enabled;
} }
@ -592,14 +597,4 @@ public class TFM_FrontDoor
unregisterRegisteredListener(registeredListener, eventClass); unregisterRegisteredListener(registeredListener, eventClass);
} }
} }
public static TFM_FrontDoor getInstance()
{
return TFM_FrontDoorHolder.INSTANCE;
}
private static class TFM_FrontDoorHolder
{
private static final TFM_FrontDoor INSTANCE = new TFM_FrontDoor();
}
} }

View file

@ -31,10 +31,9 @@ public class TFM_Heartbeat extends BukkitRunnable
{ {
lastRan = System.currentTimeMillis(); lastRan = System.currentTimeMillis();
final TFM_EssentialsBridge essentialsBridge = TFM_EssentialsBridge.getInstance();
final boolean doAwayKickCheck = final boolean doAwayKickCheck =
TFM_ConfigEntry.AUTOKICK_ENABLED.getBoolean() TFM_ConfigEntry.AUTOKICK_ENABLED.getBoolean()
&& essentialsBridge.isEssentialsEnabled() && TFM_EssentialsBridge.isEssentialsEnabled()
&& ((server.getOnlinePlayers().length / server.getMaxPlayers()) > TFM_ConfigEntry.AUTOKICK_THRESHOLD.getDouble()); && ((server.getOnlinePlayers().length / server.getMaxPlayers()) > TFM_ConfigEntry.AUTOKICK_THRESHOLD.getDouble());
for (Player player : server.getOnlinePlayers()) for (Player player : server.getOnlinePlayers())
@ -46,7 +45,7 @@ public class TFM_Heartbeat extends BukkitRunnable
if (doAwayKickCheck) if (doAwayKickCheck)
{ {
final long lastActivity = essentialsBridge.getLastActivity(player.getName()); final long lastActivity = TFM_EssentialsBridge.getLastActivity(player.getName());
if (lastActivity > 0 && lastActivity + AUTO_KICK_TIME < System.currentTimeMillis()) if (lastActivity > 0 && lastActivity + AUTO_KICK_TIME < System.currentTimeMillis())
{ {
player.kickPlayer("Automatically kicked by server for inactivity."); player.kickPlayer("Automatically kicked by server for inactivity.");

View file

@ -10,13 +10,22 @@ import org.bukkit.util.Vector;
public class TFM_Jumppads public class TFM_Jumppads
{ {
public static final Material BLOCK_ID = Material.WOOL; public static final Material BLOCK_ID;
public static final double DAMPING_COEFFICIENT = 0.8; public static final double DAMPING_COEFFICIENT;
public final Map<Player, Boolean> canPushMap = new HashMap<Player, Boolean>(); public static final Map<Player, Boolean> PUSH_MAP;
private JumpPadMode mode = JumpPadMode.MADGEEK; private static JumpPadMode mode;
private double strength = 0.4; private static double strength;
public void PlayerMoveEvent(PlayerMoveEvent event) static
{
BLOCK_ID = Material.WOOL;
DAMPING_COEFFICIENT = 0.8;
PUSH_MAP = new HashMap<Player, Boolean>();
mode = JumpPadMode.MADGEEK;
strength = 0.4;
}
public static void PlayerMoveEvent(PlayerMoveEvent event)
{ {
if (mode == JumpPadMode.OFF) if (mode == JumpPadMode.OFF)
{ {
@ -29,7 +38,7 @@ public class TFM_Jumppads
if (mode == JumpPadMode.MADGEEK) if (mode == JumpPadMode.MADGEEK)
{ {
Boolean canPush = canPushMap.get(player); Boolean canPush = PUSH_MAP.get(player);
if (canPush == null) if (canPush == null)
{ {
canPush = true; canPush = true;
@ -46,7 +55,7 @@ public class TFM_Jumppads
{ {
canPush = true; canPush = true;
} }
canPushMap.put(player, canPush); PUSH_MAP.put(player, canPush);
} }
else else
{ {
@ -86,24 +95,24 @@ public class TFM_Jumppads
} }
} }
public JumpPadMode getMode() public static JumpPadMode getMode()
{ {
return mode; return mode;
} }
public void setMode(JumpPadMode mode) public static void setMode(JumpPadMode mode)
{ {
this.mode = mode; mode = mode;
} }
public double getStrength() public static double getStrength()
{ {
return strength; return strength;
} }
public void setStrength(double strength) public static void setStrength(double strength)
{ {
this.strength = strength; strength = strength;
} }
public static enum JumpPadMode public static enum JumpPadMode
@ -121,14 +130,4 @@ public class TFM_Jumppads
return on; return on;
} }
} }
public static TFM_Jumppads getInstance()
{
return TFM_JumpadsHolder.INSTANCE;
}
private static class TFM_JumpadsHolder
{
private static final TFM_Jumppads INSTANCE = new TFM_Jumppads();
}
} }

View file

@ -113,7 +113,7 @@ public class TFM_PlayerEntry
throw new IllegalStateException("Entry is not complete"); throw new IllegalStateException("Entry is not complete");
} }
final TFM_Config config = TFM_PlayerList.getInstance().getConfig(); final TFM_Config config = TFM_PlayerList.getConfig();
final ConfigurationSection section; final ConfigurationSection section;
if (config.isConfigurationSection(uuid.toString())) if (config.isConfigurationSection(uuid.toString()))

View file

@ -9,34 +9,28 @@ import org.bukkit.entity.Player;
public class TFM_PlayerList public class TFM_PlayerList
{ {
private static final TFM_PlayerList INSTANCE; private static final Map<UUID, TFM_PlayerEntry> playerList;
private final Map<UUID, TFM_PlayerEntry> playerList; private final static TFM_Config config;
private TFM_Config config;
static static
{ {
INSTANCE = new TFM_PlayerList(); playerList = new HashMap<UUID, TFM_PlayerEntry>();
config = new TFM_Config(TotalFreedomMod.plugin, "playerlist.yml", false);
} }
private TFM_PlayerList() private TFM_PlayerList()
{ {
this.playerList = new HashMap<UUID, TFM_PlayerEntry>(); throw new AssertionError();
} }
public TFM_Config getConfig() public static TFM_Config getConfig()
{ {
return config; return config;
} }
public void load() public static void load()
{ {
playerList.clear(); playerList.clear();
if (config == null)
{
config = new TFM_Config(TotalFreedomMod.plugin, "playerlist.yml", false);
}
config.load(); config.load();
// Load players from config // Load players from config
@ -73,7 +67,7 @@ public class TFM_PlayerList
TFM_Log.info("Loaded playerdata for " + playerList.size() + " players."); TFM_Log.info("Loaded playerdata for " + playerList.size() + " players.");
} }
private void saveAll() private static void saveAll()
{ {
// Put entries // Put entries
for (TFM_PlayerEntry entry : playerList.values()) for (TFM_PlayerEntry entry : playerList.values())
@ -82,7 +76,7 @@ public class TFM_PlayerList
} }
} }
public TFM_PlayerEntry getEntry(String player) public static TFM_PlayerEntry getEntry(String player)
{ {
for (TFM_PlayerEntry entry : playerList.values()) for (TFM_PlayerEntry entry : playerList.values())
@ -96,17 +90,17 @@ public class TFM_PlayerList
return null; return null;
} }
public TFM_PlayerEntry getEntry(UUID uuid) public static TFM_PlayerEntry getEntry(UUID uuid)
{ {
return playerList.get(uuid); return playerList.get(uuid);
} }
public boolean existsEntry(Player player) public static boolean existsEntry(Player player)
{ {
return playerList.containsKey(TFM_Util.getUuid(player)); return playerList.containsKey(TFM_Util.getUuid(player));
} }
public TFM_PlayerEntry getEntry(Player player) public static TFM_PlayerEntry getEntry(Player player)
{ {
final UUID uuid = TFM_Util.getUuid(player); final UUID uuid = TFM_Util.getUuid(player);
@ -132,7 +126,7 @@ public class TFM_PlayerList
return entry; return entry;
} }
public void purgeAll() public static void purgeAll()
{ {
// Clear the config entries // Clear the config entries
for (String key : config.getKeys(false)) for (String key : config.getKeys(false))
@ -145,9 +139,4 @@ public class TFM_PlayerList
// Load online players // Load online players
load(); load();
} }
public static TFM_PlayerList getInstance()
{
return INSTANCE;
}
} }

View file

@ -311,6 +311,8 @@ public class TFM_ProtectedArea
public static class CantFindWorldException extends Exception public static class CantFindWorldException extends Exception
{ {
private static final long serialVersionUID = 1L;
public CantFindWorldException(String string) public CantFindWorldException(String string)
{ {
super(string); super(string);

View file

@ -66,7 +66,6 @@ public class TFM_ServerInterface
public static void handlePlayerLogin(PlayerLoginEvent event) public static void handlePlayerLogin(PlayerLoginEvent event)
{ {
final Server server = TotalFreedomMod.server; final Server server = TotalFreedomMod.server;
final TFM_BanManager banManager = TFM_BanManager.getInstance();
final Player player = event.getPlayer(); final Player player = event.getPlayer();
@ -102,9 +101,9 @@ public class TFM_ServerInterface
if (!isAdmin) // If the player is not an admin if (!isAdmin) // If the player is not an admin
{ {
// UUID bans // UUID bans
if (banManager.isUuidBanned(uuid)) if (TFM_BanManager.isUuidBanned(uuid))
{ {
final TFM_Ban ban = banManager.getByUuid(uuid); final TFM_Ban ban = TFM_BanManager.getByUuid(uuid);
String kickMessage = ChatColor.RED + "You are temporarily banned from this server." String kickMessage = ChatColor.RED + "You are temporarily banned from this server."
+ "\nAppeal at " + ChatColor.GOLD + TFM_ConfigEntry.SERVER_BAN_URL.getString(); + "\nAppeal at " + ChatColor.GOLD + TFM_ConfigEntry.SERVER_BAN_URL.getString();
@ -123,9 +122,9 @@ public class TFM_ServerInterface
return; return;
} }
if (banManager.isIpBanned(ip)) if (TFM_BanManager.isIpBanned(ip))
{ {
final TFM_Ban ban = banManager.getByIp(ip); final TFM_Ban ban = TFM_BanManager.getByIp(ip);
String kickMessage = ChatColor.RED + "Your IP address is temporarily banned from this server." String kickMessage = ChatColor.RED + "Your IP address is temporarily banned from this server."
+ "\nAppeal at " + ChatColor.GOLD + TFM_ConfigEntry.SERVER_BAN_URL.getString(); + "\nAppeal at " + ChatColor.GOLD + TFM_ConfigEntry.SERVER_BAN_URL.getString();

View file

@ -20,13 +20,21 @@ import org.json.simple.JSONValue;
public class TFM_ServiceChecker public class TFM_ServiceChecker
{ {
public final Map<String, ServiceStatus> services = new HashMap<String, ServiceStatus>(); public static final Map<String, ServiceStatus> services;
private URL url; private static URL url;
private String lastCheck = "Unknown"; private static String lastCheck;
private String version = "1.0-Mojang"; private static String version;
public TFM_ServiceChecker() private TFM_ServiceChecker()
{ {
throw new AssertionError();
}
static
{
lastCheck = "Unknown";
version = "1.0-Mojang";
services = new HashMap<String, ServiceStatus>();
services.put("minecraft.net", new ServiceStatus("Minecraft.net")); services.put("minecraft.net", new ServiceStatus("Minecraft.net"));
services.put("account.mojang.com", new ServiceStatus("Mojang Account Website")); services.put("account.mojang.com", new ServiceStatus("Mojang Account Website"));
services.put("authserver.mojang.com", new ServiceStatus("Mojang Authentication")); services.put("authserver.mojang.com", new ServiceStatus("Mojang Authentication"));
@ -36,7 +44,7 @@ public class TFM_ServiceChecker
services.put("session.minecraft.net", new ServiceStatus("Minecraft Sessions (Legacy)")); services.put("session.minecraft.net", new ServiceStatus("Minecraft Sessions (Legacy)"));
} }
public void start() public static void start()
{ {
final String serviceCheckerURL = TFM_ConfigEntry.SERVICE_CHECKER_URL.getString(); final String serviceCheckerURL = TFM_ConfigEntry.SERVICE_CHECKER_URL.getString();
@ -58,7 +66,7 @@ public class TFM_ServiceChecker
getUpdateRunnable().runTaskTimerAsynchronously(TotalFreedomMod.plugin, 40L, TotalFreedomMod.SERVICE_CHECKER_RATE * 20L); getUpdateRunnable().runTaskTimerAsynchronously(TotalFreedomMod.plugin, 40L, TotalFreedomMod.SERVICE_CHECKER_RATE * 20L);
} }
public BukkitRunnable getUpdateRunnable() public static BukkitRunnable getUpdateRunnable()
{ {
return new BukkitRunnable() return new BukkitRunnable()
{ {
@ -132,7 +140,7 @@ public class TFM_ServiceChecker
}; };
} }
public List<ServiceStatus> getAllStatuses() public static List<ServiceStatus> getAllStatuses()
{ {
List<ServiceStatus> servicesList = new ArrayList<ServiceStatus>(); List<ServiceStatus> servicesList = new ArrayList<ServiceStatus>();
for (String key : services.keySet()) for (String key : services.keySet())
@ -142,26 +150,16 @@ public class TFM_ServiceChecker
return servicesList; return servicesList;
} }
public String getLastCheck() public static String getLastCheck()
{ {
return lastCheck; return lastCheck;
} }
public String getVersion() public static String getVersion()
{ {
return version; return version;
} }
public static TFM_ServiceChecker getInstance()
{
return TFM_ServiceCheckerHolder.INSTANCE;
}
private static class TFM_ServiceCheckerHolder
{
private static final TFM_ServiceChecker INSTANCE = new TFM_ServiceChecker();
}
public static class ServiceStatus public static class ServiceStatus
{ {
private String name; private String name;
@ -208,7 +206,7 @@ public class TFM_ServiceChecker
{ {
String status = ChatColor.BLUE + "- " + ChatColor.GRAY + name + ChatColor.WHITE + ": " + color + message + ChatColor.WHITE; String status = ChatColor.BLUE + "- " + ChatColor.GRAY + name + ChatColor.WHITE + ": " + color + message + ChatColor.WHITE;
if (!TFM_ServiceChecker.getInstance().version.contains("Mojang")) if (!TFM_ServiceChecker.version.contains("Mojang"))
{ {
status += " (" + getUptimeColor() + getUptime() + ChatColor.WHITE + "%)"; status += " (" + getUptimeColor() + getUptime() + ChatColor.WHITE + "%)";
} }

View file

@ -12,14 +12,15 @@ public class TFM_TwitterHandler
{ {
private TFM_TwitterHandler() private TFM_TwitterHandler()
{ {
throw new AssertionError();
} }
public String getTwitter(String player) public static String getTwitter(String player)
{ {
return request("action=gettwitter&player=" + player); return request("action=gettwitter&player=" + player);
} }
public String setTwitter(String player, String twitter) public static String setTwitter(String player, String twitter)
{ {
if (twitter.startsWith("@")) if (twitter.startsWith("@"))
{ {
@ -28,12 +29,12 @@ public class TFM_TwitterHandler
return request("action=settwitter&player=" + player + "&twitter=" + twitter); return request("action=settwitter&player=" + player + "&twitter=" + twitter);
} }
public String delTwitter(String player) public static String delTwitter(String player)
{ {
return request("action=deltwitter&player=" + player); return request("action=deltwitter&player=" + player);
} }
public void delTwitterVerbose(String targetName, CommandSender sender) public static void delTwitterVerbose(String targetName, CommandSender sender)
{ {
final String reply = delTwitter(targetName); final String reply = delTwitter(targetName);
if ("ok".equals(reply)) if ("ok".equals(reply))
@ -66,17 +67,17 @@ public class TFM_TwitterHandler
} }
} }
public String isEnabled() public static String isEnabled()
{ {
return request("action=getstatus"); return request("action=getstatus");
} }
public String setEnabled(String status) public static String setEnabled(String status)
{ {
return request("action=setstatus&status=" + status); return request("action=setstatus&status=" + status);
} }
private String request(String queryString) private static String request(String queryString)
{ {
String line = "failed"; String line = "failed";
@ -102,9 +103,4 @@ public class TFM_TwitterHandler
return line; return line;
} }
public static TFM_TwitterHandler getInstance()
{
return new TFM_TwitterHandler();
}
} }

View file

@ -163,7 +163,7 @@ public class TFM_Util
return ((Player) player).getAddress().getAddress().getHostAddress().trim(); return ((Player) player).getAddress().getAddress().getHostAddress().trim();
} }
final TFM_PlayerEntry entry = TFM_PlayerList.getInstance().getEntry(TFM_Util.getUuid(player)); final TFM_PlayerEntry entry = TFM_PlayerList.getEntry(TFM_Util.getUuid(player));
if (entry == null) if (entry == null)
{ {
@ -489,9 +489,9 @@ public class TFM_Util
TFM_Util.bcastMsg(ChatColor.RED + player.getName() + " has been banned for 1 minute."); TFM_Util.bcastMsg(ChatColor.RED + player.getName() + " has been banned for 1 minute.");
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, player.getName(), "AutoEject", expires, kickMessage));
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName(), "AutoEject", expires, kickMessage));
TFM_BanManager.addIpBan(new TFM_Ban(ip, player.getName(), "AutoEject", expires, kickMessage));
TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName(), "AutoEject", expires, kickMessage));
player.kickPlayer(kickMessage); player.kickPlayer(kickMessage);
break; break;
@ -504,9 +504,9 @@ public class TFM_Util
TFM_Util.bcastMsg(ChatColor.RED + player.getName() + " has been banned for 3 minutes."); TFM_Util.bcastMsg(ChatColor.RED + player.getName() + " has been banned for 3 minutes.");
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, player.getName(), "AutoEject", expires, kickMessage));
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName(), "AutoEject", expires, kickMessage));
TFM_BanManager.addIpBan(new TFM_Ban(ip, player.getName(), "AutoEject", expires, kickMessage));
TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName(), "AutoEject", expires, kickMessage));
player.kickPlayer(kickMessage); player.kickPlayer(kickMessage);
break; break;
} }
@ -514,9 +514,9 @@ public class TFM_Util
{ {
String[] ipAddressParts = ip.split("\\."); String[] ipAddressParts = ip.split("\\.");
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, player.getName(), "AutoEject", null, kickMessage)); TFM_BanManager.addIpBan(new TFM_Ban(ip, player.getName(), "AutoEject", null, kickMessage));
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ipAddressParts[0] + "." + ipAddressParts[1] + ".*.*", player.getName(), "AutoEject", null, kickMessage)); TFM_BanManager.addIpBan(new TFM_Ban(ipAddressParts[0] + "." + ipAddressParts[1] + ".*.*", player.getName(), "AutoEject", null, kickMessage));
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName(), "AutoEject", null, kickMessage)); TFM_BanManager.addUuidBan(new TFM_Ban(TFM_Util.getUuid(player), player.getName(), "AutoEject", null, kickMessage));
TFM_Util.bcastMsg(ChatColor.RED + player.getName() + " has been banned."); TFM_Util.bcastMsg(ChatColor.RED + player.getName() + " has been banned.");

View file

@ -10,10 +10,8 @@ import java.io.InputStreamReader;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.nio.ByteBuffer;
import java.util.*; import java.util.*;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import org.bukkit.entity.Player;
// Credits to evilmidget38 // Credits to evilmidget38
public class TFM_UuidResolver implements Callable<Map<String, UUID>> public class TFM_UuidResolver implements Callable<Map<String, UUID>>

View file

@ -98,8 +98,8 @@ public class TotalFreedomMod extends JavaPlugin
TFM_PermbanList.load(); TFM_PermbanList.load();
// Playerlist and bans // Playerlist and bans
TFM_PlayerList.getInstance().load(); TFM_PlayerList.load();
TFM_BanManager.getInstance().load(); TFM_BanManager.load();
TFM_Util.deleteFolder(new File("./_deleteme")); TFM_Util.deleteFolder(new File("./_deleteme"));
@ -168,9 +168,9 @@ public class TotalFreedomMod extends JavaPlugin
TFM_Log.warning("Failed to submit metrics data: " + ex.getMessage()); TFM_Log.warning("Failed to submit metrics data: " + ex.getMessage());
} }
TFM_ServiceChecker.getInstance().start(); TFM_ServiceChecker.start();
TFM_HTTPD_Manager.getInstance().start(); TFM_HTTPD_Manager.start();
TFM_FrontDoor.getInstance().start(); TFM_FrontDoor.start();
TFM_Log.info("Version " + pluginVersion + " for " + TFM_ServerInterface.COMPILE_NMS_VERSION + " enabled"); TFM_Log.info("Version " + pluginVersion + " for " + TFM_ServerInterface.COMPILE_NMS_VERSION + " enabled");
@ -180,8 +180,8 @@ public class TotalFreedomMod extends JavaPlugin
@Override @Override
public void run() public void run()
{ {
TFM_CommandLoader.getInstance().scan(); TFM_CommandLoader.scan();
TFM_CommandBlocker.getInstance().load(); TFM_CommandBlocker.load();
} }
}.runTaskLater(plugin, 20L); }.runTaskLater(plugin, 20L);
} }
@ -191,8 +191,8 @@ public class TotalFreedomMod extends JavaPlugin
{ {
server.getScheduler().cancelTasks(plugin); server.getScheduler().cancelTasks(plugin);
TFM_HTTPD_Manager.getInstance().stop(); TFM_HTTPD_Manager.stop();
TFM_BanManager.getInstance().save(); TFM_BanManager.save();
TFM_Log.info("Plugin disabled"); TFM_Log.info("Plugin disabled");
} }