This commit is contained in:
Steven Lawson 2011-09-23 15:44:42 -04:00
parent 5c5a0acd18
commit a5d3ccd3bd
4 changed files with 94 additions and 12 deletions

View File

@ -28,7 +28,7 @@ public class TotalFreedomMod extends JavaPlugin
private List<String> superadmins = new ArrayList<String>(); private List<String> superadmins = new ArrayList<String>();
public Boolean allowExplosions = false; public Boolean allowExplosions = false;
public Boolean allowLavaDamage = false; public Boolean allowLavaDamage = false;
public Boolean allowFireDamage = false; public Boolean allowFire = false;
public void onEnable() public void onEnable()
{ {
@ -47,7 +47,7 @@ public class TotalFreedomMod extends JavaPlugin
superadmins = CONFIG.getStringList("superadmins", null); superadmins = CONFIG.getStringList("superadmins", null);
allowExplosions = CONFIG.getBoolean("allow_explosions", false); allowExplosions = CONFIG.getBoolean("allow_explosions", false);
allowLavaDamage = CONFIG.getBoolean("allow_lava_damage", false); allowLavaDamage = CONFIG.getBoolean("allow_lava_damage", false);
allowFireDamage = CONFIG.getBoolean("allow_fire", false); allowFire = CONFIG.getBoolean("allow_fire", false);
PluginManager pm = this.getServer().getPluginManager(); PluginManager pm = this.getServer().getPluginManager();
pm.registerEvent(Event.Type.ENTITY_EXPLODE, entityListener, Event.Priority.High, this); pm.registerEvent(Event.Type.ENTITY_EXPLODE, entityListener, Event.Priority.High, this);
@ -114,7 +114,16 @@ public class TotalFreedomMod extends JavaPlugin
{ {
if (first) first = false; if (first) first = false;
else onlineUsers.append(", "); else onlineUsers.append(", ");
onlineUsers.append(p.getName());
if (sender.getName().equalsIgnoreCase("remotebukkit"))
{
onlineUsers.append(p.getName());
}
else
{
if (p.isOp()) onlineUsers.append("[OP]").append(p.getName());
else onlineUsers.append(p.getName());
}
} }
} }
else else
@ -154,7 +163,7 @@ public class TotalFreedomMod extends JavaPlugin
} }
} }
Bukkit.broadcastMessage(ChatColor.YELLOW + sender.getName() + " de-op'd everyone on the server."); tfBroadcastMessage(ChatColor.YELLOW + sender.getName() + " de-op'd everyone on the server.");
} }
else else
{ {
@ -189,7 +198,7 @@ public class TotalFreedomMod extends JavaPlugin
if (doSetGamemode) p.setGameMode(targetGamemode); if (doSetGamemode) p.setGameMode(targetGamemode);
} }
Bukkit.broadcastMessage(ChatColor.YELLOW + sender.getName() + " op'd everyone on the server."); tfBroadcastMessage(ChatColor.YELLOW + sender.getName() + " op'd everyone on the server.");
} }
else else
{ {
@ -214,7 +223,7 @@ public class TotalFreedomMod extends JavaPlugin
p.setOp(true); p.setOp(true);
Command.broadcastCommandMessage(sender, "Oping " + p.getName()); tfBroadcastMessage("Oping " + p.getName());
p.sendMessage(ChatColor.YELLOW + "You are now op!"); p.sendMessage(ChatColor.YELLOW + "You are now op!");
} }
if (!matched_player) if (!matched_player)
@ -245,7 +254,7 @@ public class TotalFreedomMod extends JavaPlugin
p.setOp(false); p.setOp(false);
Command.broadcastCommandMessage(sender, "De-opping " + p.getName()); tfBroadcastMessage("De-opping " + p.getName());
p.sendMessage(ChatColor.YELLOW + "You have been de-op'd."); p.sendMessage(ChatColor.YELLOW + "You have been de-op'd.");
} }
if (!matched_player) if (!matched_player)
@ -376,10 +385,15 @@ public class TotalFreedomMod extends JavaPlugin
} }
else if(cmd.getName().equalsIgnoreCase("say")) else if(cmd.getName().equalsIgnoreCase("say"))
{ {
if (args.length == 0)
{
return false;
}
if (player == null || sender.isOp()) if (player == null || sender.isOp())
{ {
String message = implodeStringList(" ", Arrays.asList(args)); String message = implodeStringList(" ", Arrays.asList(args));
Bukkit.broadcastMessage(ChatColor.LIGHT_PURPLE + "[Server:" + sender.getName() + "] " + message); tfBroadcastMessage(ChatColor.LIGHT_PURPLE + "[Server:" + sender.getName() + "] " + message);
} }
else else
{ {
@ -415,7 +429,7 @@ public class TotalFreedomMod extends JavaPlugin
String user_ip = p.getAddress().getAddress().toString().replaceAll("/", "").trim(); String user_ip = p.getAddress().getAddress().toString().replaceAll("/", "").trim();
Bukkit.broadcastMessage(ChatColor.RED + "Banning " + p.getName()); tfBroadcastMessage(String.format("%sBanning: %s, IP: %s.", ChatColor.RED, p.getName(), user_ip));
Bukkit.banIP(user_ip); Bukkit.banIP(user_ip);
Bukkit.getOfflinePlayer(p.getName()).setBanned(true); Bukkit.getOfflinePlayer(p.getName()).setBanned(true);
@ -473,10 +487,72 @@ public class TotalFreedomMod extends JavaPlugin
return true; return true;
} }
else if(cmd.getName().equalsIgnoreCase("fire"))
{
if (player == null || isUserSuperadmin(sender.getName()))
{
if (args.length != 1)
{
return false;
}
if (args[0].equalsIgnoreCase("on"))
{
this.allowFire = true;
sender.sendMessage("Fire is now enabled.");
}
else
{
this.allowFire = false;
sender.sendMessage("Fire is now disabled.");
}
}
else
{
sender.sendMessage(ChatColor.YELLOW + "You do not have permission to use this command.");
}
return true;
}
else if(cmd.getName().equalsIgnoreCase("lavadmg"))
{
if (player == null || isUserSuperadmin(sender.getName()))
{
if (args.length != 1)
{
return false;
}
if (args[0].equalsIgnoreCase("on"))
{
this.allowLavaDamage = true;
sender.sendMessage("Lava damage is now enabled.");
}
else
{
this.allowLavaDamage = false;
sender.sendMessage("Lava damage is now disabled.");
}
}
else
{
sender.sendMessage(ChatColor.YELLOW + "You do not have permission to use this command.");
}
return true;
}
return false; return false;
} }
public static void tfBroadcastMessage(String message)
{
for (Player p : Bukkit.getOnlinePlayers())
{
p.sendMessage(message);
}
}
private static String implodeStringList(String glue, List<String> pieces) private static String implodeStringList(String glue, List<String> pieces)
{ {
StringBuilder output = new StringBuilder(); StringBuilder output = new StringBuilder();

View File

@ -16,7 +16,7 @@ public class TotalFreedomModBlockListener extends BlockListener
@Override @Override
public void onBlockBurn(BlockBurnEvent event) public void onBlockBurn(BlockBurnEvent event)
{ {
if (!plugin.allowFireDamage) if (!plugin.allowFire)
{ {
event.setCancelled(true); event.setCancelled(true);
return; return;
@ -26,7 +26,7 @@ public class TotalFreedomModBlockListener extends BlockListener
@Override @Override
public void onBlockIgnite(BlockIgniteEvent event) public void onBlockIgnite(BlockIgniteEvent event)
{ {
if (!plugin.allowFireDamage) if (!plugin.allowFire)
{ {
event.setCancelled(true); event.setCancelled(true);
return; return;

View File

@ -28,7 +28,7 @@ public class TotalFreedomModEntityListener extends EntityListener
@Override @Override
public void onEntityCombust(EntityCombustEvent event) public void onEntityCombust(EntityCombustEvent event)
{ {
if (!plugin.allowFireDamage) if (!plugin.allowFire)
{ {
event.setCancelled(true); event.setCancelled(true);
return; return;

View File

@ -13,9 +13,15 @@ commands:
explosives: explosives:
description: Superadmin command - Enable/disable explosives. description: Superadmin command - Enable/disable explosives.
usage: /<command> [on|off] usage: /<command> [on|off]
fire:
description: Superadmin command - Enable/disable fire.
usage: /<command> [on|off]
gtfo: gtfo:
description: Superadmin command - Makes someone GTFO (deop and ip ban by username). description: Superadmin command - Makes someone GTFO (deop and ip ban by username).
usage: /<command> [partialname] usage: /<command> [partialname]
lavadmg:
description: Superadmin command - Enable/disable lava damage.
usage: /<command> [on|off]
list: list:
description: Lists the real names of all online players. description: Lists the real names of all online players.
usage: /<command> usage: /<command>