New cage,

This commit is contained in:
Steven Lawson 2011-10-10 08:09:19 -04:00
parent 90bb21b79e
commit 41043845c7
10 changed files with 389 additions and 89 deletions

View File

@ -31,8 +31,8 @@ file.reference.MobDisguise.jar=C:\\github\\MobDisguise\\dist\\MobDisguise.jar
includes=** includes=**
jar.compress=false jar.compress=false
javac.classpath=\ javac.classpath=\
${file.reference.bukkit-0.0.1-SNAPSHOT.jar}:\ ${file.reference.MobDisguise.jar}:\
${file.reference.MobDisguise.jar} ${file.reference.bukkit-0.0.1-SNAPSHOT.jar}
# Space-separated list of extra javac options # Space-separated list of extra javac options
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false

View File

@ -15,12 +15,12 @@ import org.bukkit.inventory.ItemStack;
public class TFM_BlockListener extends BlockListener public class TFM_BlockListener extends BlockListener
{ {
public static TotalFreedomMod plugin; private TotalFreedomMod plugin;
private static final Logger log = Logger.getLogger("Minecraft"); private static final Logger log = Logger.getLogger("Minecraft");
TFM_BlockListener(TotalFreedomMod instance) TFM_BlockListener(TotalFreedomMod instance)
{ {
plugin = instance; this.plugin = instance;
} }
@Override @Override
@ -50,11 +50,11 @@ public class TFM_BlockListener extends BlockListener
{ {
Player p = event.getPlayer(); Player p = event.getPlayer();
TFM_UserInfo playerdata = (TFM_UserInfo) plugin.userinfo.get(p); TFM_UserInfo playerdata = TotalFreedomMod.userinfo.get(p);
if (playerdata == null) if (playerdata == null)
{ {
playerdata = new TFM_UserInfo(); playerdata = new TFM_UserInfo();
plugin.userinfo.put(p, playerdata); TotalFreedomMod.userinfo.put(p, playerdata);
} }
Location player_pos = p.getLocation(); Location player_pos = p.getLocation();
@ -105,11 +105,11 @@ public class TFM_BlockListener extends BlockListener
if (player_pos.distance(block_pos) > plugin.nukeMonitorRange) if (player_pos.distance(block_pos) > plugin.nukeMonitorRange)
{ {
TFM_UserInfo playerdata = (TFM_UserInfo) plugin.userinfo.get(p); TFM_UserInfo playerdata = TotalFreedomMod.userinfo.get(p);
if (playerdata == null) if (playerdata == null)
{ {
playerdata = new TFM_UserInfo(); playerdata = new TFM_UserInfo();
plugin.userinfo.put(p, playerdata); TotalFreedomMod.userinfo.put(p, playerdata);
} }
playerdata.incrementFreecamPlaceCount(); playerdata.incrementFreecamPlaceCount();

View File

@ -89,7 +89,7 @@ public class TFM_Cmds_Admin implements CommandExecutor
p = matches.get(0); p = matches.get(0);
} }
TFM_UserInfo playerdata = (TFM_UserInfo) plugin.userinfo.get(p); TFM_UserInfo playerdata = TotalFreedomMod.userinfo.get(p);
if (playerdata != null) if (playerdata != null)
{ {
playerdata.setFrozen(!playerdata.isFrozen()); playerdata.setFrozen(!playerdata.isFrozen());
@ -98,7 +98,7 @@ public class TFM_Cmds_Admin implements CommandExecutor
{ {
playerdata = new TFM_UserInfo(); playerdata = new TFM_UserInfo();
playerdata.setFrozen(true); playerdata.setFrozen(true);
plugin.userinfo.put(p, playerdata); TotalFreedomMod.userinfo.put(p, playerdata);
} }
sender.sendMessage(ChatColor.AQUA + p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); sender.sendMessage(ChatColor.AQUA + p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".");
@ -247,7 +247,7 @@ public class TFM_Cmds_Admin implements CommandExecutor
} }
else if (mode.equals("fr")) else if (mode.equals("fr"))
{ {
TFM_UserInfo playerdata = (TFM_UserInfo) plugin.userinfo.get(p); TFM_UserInfo playerdata = TotalFreedomMod.userinfo.get(p);
if (playerdata != null) if (playerdata != null)
{ {
playerdata.setFrozen(!playerdata.isFrozen()); playerdata.setFrozen(!playerdata.isFrozen());
@ -256,7 +256,7 @@ public class TFM_Cmds_Admin implements CommandExecutor
{ {
playerdata = new TFM_UserInfo(); playerdata = new TFM_UserInfo();
playerdata.setFrozen(true); playerdata.setFrozen(true);
plugin.userinfo.put(p, playerdata); TotalFreedomMod.userinfo.put(p, playerdata);
} }
sender.sendMessage(ChatColor.AQUA + p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); sender.sendMessage(ChatColor.AQUA + p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".");
p.sendMessage(ChatColor.AQUA + "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + "."); p.sendMessage(ChatColor.AQUA + "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".");
@ -571,6 +571,86 @@ public class TFM_Cmds_Admin implements CommandExecutor
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
} }
return true;
}
else if (cmd.getName().equalsIgnoreCase("cage"))
{
if (senderIsConsole || plugin.isUserSuperadmin(sender))
{
if (args.length == 0)
{
return false;
}
Player p;
List<Player> matches = Bukkit.matchPlayer(args[0]);
if (matches.isEmpty())
{
sender.sendMessage(ChatColor.GRAY + "Can't find user " + args[0]);
return true;
}
else
{
p = matches.get(0);
}
TFM_UserInfo playerdata = TotalFreedomMod.userinfo.get(p);
if (playerdata == null)
{
playerdata = new TFM_UserInfo();
TotalFreedomMod.userinfo.put(p, playerdata);
}
Material cage_material_outer = Material.GLASS;
Material cage_material_inner = Material.AIR;
if (args.length >= 2)
{
if (args[1].equalsIgnoreCase("end") || args[1].equalsIgnoreCase("off") || args[1].equalsIgnoreCase("stop"))
{
playerdata.setCaged(false);
playerdata.regenerateHistory();
playerdata.clearHistory();
return true;
}
else
{
cage_material_outer = Material.matchMaterial(args[1]);
if (cage_material_outer == null)
{
cage_material_outer = Material.GLASS;
}
}
}
if (args.length >= 3)
{
if (args[2].equalsIgnoreCase("water"))
{
cage_material_inner = Material.STATIONARY_WATER;
}
else if (args[2].equalsIgnoreCase("lava"))
{
cage_material_inner = Material.STATIONARY_LAVA;
}
}
Location target_pos = p.getLocation().add(0, 1, 0);
playerdata.setCaged(true, target_pos, cage_material_outer, cage_material_inner);
playerdata.regenerateHistory();
playerdata.clearHistory();
plugin.buildHistory(target_pos, 2, playerdata);
plugin.generateCube(target_pos, 2, playerdata.getCageMaterial(0));
plugin.generateCube(target_pos, 1, playerdata.getCageMaterial(1));
p.setGameMode(GameMode.SURVIVAL);
plugin.tfm_broadcastMessage(sender.getName() + " caged " + p.getName() + "!", ChatColor.YELLOW);
}
else
{
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
}
return true; return true;
} }
} }

View File

@ -10,6 +10,7 @@ import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.GameMode; import org.bukkit.GameMode;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.OfflinePlayer;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
@ -240,12 +241,58 @@ public class TFM_Cmds_General implements CommandExecutor
} }
else if (cmd.getName().equalsIgnoreCase("flatlands")) else if (cmd.getName().equalsIgnoreCase("flatlands"))
{ {
Bukkit.getServer().dispatchCommand(sender, "mv tp flatlands"); plugin.gotoWorld(sender, "flatlands");
return true; return true;
} }
else if (cmd.getName().equalsIgnoreCase("skylands")) else if (cmd.getName().equalsIgnoreCase("skylands"))
{ {
Bukkit.getServer().dispatchCommand(sender, "mv tp skylands"); plugin.gotoWorld(sender, "skylands");
return true;
}
else if (cmd.getName().equalsIgnoreCase("nether"))
{
plugin.gotoWorld(sender, "nether");
return true;
}
else if (cmd.getName().equalsIgnoreCase("banlist"))
{
if (args.length > 0)
{
if (args[0].equalsIgnoreCase("purge"))
{
if (senderIsConsole || plugin.isUserSuperadmin(sender))
{
for (OfflinePlayer p : Bukkit.getBannedPlayers())
{
p.setBanned(false);
}
sender.sendMessage(ChatColor.GRAY + "Ban list has been purged.");
return true;
}
else
{
sender.sendMessage(ChatColor.YELLOW + "You do not have permission to purge the ban list, you may only view it.");
}
}
}
StringBuilder banned_players = new StringBuilder();
banned_players.append("Banned Players: ");
boolean first = true;
for (OfflinePlayer p : Bukkit.getBannedPlayers())
{
if (!first)
{
banned_players.append(", ");
}
first = false;
banned_players.append(p.getName().trim());
}
sender.sendMessage(ChatColor.GRAY + banned_players.toString());
return true; return true;
} }
} }

View File

@ -9,11 +9,11 @@ import org.bukkit.event.entity.ExplosionPrimeEvent;
public class TFM_EntityListener extends EntityListener public class TFM_EntityListener extends EntityListener
{ {
public static TotalFreedomMod plugin; private TotalFreedomMod plugin;
TFM_EntityListener(TotalFreedomMod instance) TFM_EntityListener(TotalFreedomMod instance)
{ {
plugin = instance; this.plugin = instance;
} }
@Override @Override

View File

@ -15,12 +15,12 @@ import org.bukkit.inventory.ItemStack;
class TFM_PlayerListener extends PlayerListener class TFM_PlayerListener extends PlayerListener
{ {
public static TotalFreedomMod plugin; private TotalFreedomMod plugin;
private static final Logger log = Logger.getLogger("Minecraft"); private static final Logger log = Logger.getLogger("Minecraft");
TFM_PlayerListener(TotalFreedomMod instance) TFM_PlayerListener(TotalFreedomMod instance)
{ {
plugin = instance; this.plugin = instance;
} }
@Override @Override
@ -61,6 +61,7 @@ class TFM_PlayerListener extends PlayerListener
public void onPlayerMove(PlayerMoveEvent event) public void onPlayerMove(PlayerMoveEvent event)
{ {
Player p = event.getPlayer(); Player p = event.getPlayer();
TFM_UserInfo playerdata = TotalFreedomMod.userinfo.get(p);
boolean do_freeze = false; boolean do_freeze = false;
if (plugin.allPlayersFrozen) if (plugin.allPlayersFrozen)
@ -72,7 +73,6 @@ class TFM_PlayerListener extends PlayerListener
} }
else else
{ {
TFM_UserInfo playerdata = (TFM_UserInfo) plugin.userinfo.get(p);
if (playerdata != null) if (playerdata != null)
{ {
if (playerdata.isFrozen()) if (playerdata.isFrozen())
@ -93,6 +93,24 @@ class TFM_PlayerListener extends PlayerListener
event.setTo(to); event.setTo(to);
} }
if (playerdata != null)
{
if (playerdata.isCaged())
{
Location target_pos = p.getLocation().add(0, 1, 0);
if (target_pos.distance(playerdata.getCagePos()) > 2.5)
{
playerdata.setCaged(true, target_pos, playerdata.getCageMaterial(0), playerdata.getCageMaterial(1));
playerdata.regenerateHistory();
playerdata.clearHistory();
plugin.buildHistory(target_pos, 2, playerdata);
plugin.generateCube(target_pos, 2, playerdata.getCageMaterial(0));
plugin.generateCube(target_pos, 1, playerdata.getCageMaterial(1));
}
}
}
} }
@Override @Override
@ -100,7 +118,7 @@ class TFM_PlayerListener extends PlayerListener
{ {
Player p = event.getPlayer(); Player p = event.getPlayer();
TFM_UserInfo playerdata = (TFM_UserInfo) plugin.userinfo.get(p); TFM_UserInfo playerdata = TotalFreedomMod.userinfo.get(p);
if (playerdata != null) if (playerdata != null)
{ {
playerdata.incrementMsgCount(); playerdata.incrementMsgCount();
@ -119,7 +137,7 @@ class TFM_PlayerListener extends PlayerListener
{ {
playerdata = new TFM_UserInfo(); playerdata = new TFM_UserInfo();
playerdata.incrementMsgCount(); playerdata.incrementMsgCount();
plugin.userinfo.put(p, playerdata); TotalFreedomMod.userinfo.put(p, playerdata);
} }
} }
@ -152,67 +170,67 @@ class TFM_PlayerListener extends PlayerListener
block_command = true; block_command = true;
} }
} }
else if (command.matches("^/zeus")) // else if (command.matches("^/zeus"))
{ // {
block_command = true; // block_command = true;
} // }
else if (command.matches("^/vulcan")) // else if (command.matches("^/vulcan"))
{ // {
block_command = true; // block_command = true;
} // }
else if (command.matches("^/myballsareonfire")) // else if (command.matches("^/myballsareonfire"))
{ // {
block_command = true; // block_command = true;
} // }
else if (command.matches("^/mv\\s*c")) // else if (command.matches("^/mv\\s*c"))
{ // {
if (!plugin.isUserSuperadmin(player)) // if (!plugin.isUserSuperadmin(player))
{ // {
block_command = true; // block_command = true;
} // }
} // }
else if (command.matches("^/mv\\s*delete")) // else if (command.matches("^/mv\\s*delete"))
{ // {
if (!plugin.isUserSuperadmin(player)) // if (!plugin.isUserSuperadmin(player))
{ // {
block_command = true; // block_command = true;
} // }
} // }
else if (command.matches("^/mv\\s*im")) // else if (command.matches("^/mv\\s*im"))
{ // {
if (!plugin.isUserSuperadmin(player)) // if (!plugin.isUserSuperadmin(player))
{ // {
block_command = true; // block_command = true;
} // }
} // }
else if (command.matches("^/mv\\s*m")) // else if (command.matches("^/mv\\s*m"))
{ // {
if (!plugin.isUserSuperadmin(player)) // if (!plugin.isUserSuperadmin(player))
{ // {
block_command = true; // block_command = true;
} // }
} // }
else if (command.matches("^/mv\\s*reload")) // else if (command.matches("^/mv\\s*reload"))
{ // {
if (!plugin.isUserSuperadmin(player)) // if (!plugin.isUserSuperadmin(player))
{ // {
block_command = true; // block_command = true;
} // }
} // }
else if (command.matches("^/mv\\s*remove")) // else if (command.matches("^/mv\\s*remove"))
{ // {
if (!plugin.isUserSuperadmin(player)) // if (!plugin.isUserSuperadmin(player))
{ // {
block_command = true; // block_command = true;
} // }
} // }
else if (command.matches("^/mv\\s*unload")) // else if (command.matches("^/mv\\s*unload"))
{ // {
if (!plugin.isUserSuperadmin(player)) // if (!plugin.isUserSuperadmin(player))
{ // {
block_command = true; // block_command = true;
} // }
} // }
if (block_command) if (block_command)
{ {

View File

@ -6,9 +6,9 @@ import org.bukkit.entity.Player;
public class TFM_RadarData implements Comparator<TFM_RadarData> public class TFM_RadarData implements Comparator<TFM_RadarData>
{ {
Player player; public Player player;
double distance; public double distance;
Location location; public Location location;
public TFM_RadarData(Player inplayer, double indistance, Location inlocation) public TFM_RadarData(Player inplayer, double indistance, Location inlocation)
{ {

View File

@ -1,5 +1,10 @@
package me.StevenLawson.TotalFreedomMod; package me.StevenLawson.TotalFreedomMod;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Location;
import org.bukkit.Material;
public class TFM_UserInfo public class TFM_UserInfo
{ {
private boolean user_frozen = false; private boolean user_frozen = false;
@ -9,10 +14,85 @@ public class TFM_UserInfo
private int freecam_destroy_count = 0; private int freecam_destroy_count = 0;
private int freecam_place_count = 0; private int freecam_place_count = 0;
// -- Start Cage
private boolean user_caged = false;
private Location user_cage_pos;
private List<TFM_BlockData> user_cage_history = new ArrayList<TFM_BlockData>();
private Material cage_material_outer;
private Material cage_material_inner;
public TFM_UserInfo() public TFM_UserInfo()
{ {
} }
public void setCaged(boolean state)
{
this.user_caged = state;
}
public void setCaged(boolean state, Location location, Material material_outer, Material material_inner)
{
this.user_caged = state;
this.user_cage_pos = location;
this.cage_material_outer = material_outer;
this.cage_material_inner = material_inner;
}
public boolean isCaged()
{
return this.user_caged;
}
public Material getCageMaterial(int layer)
{
if (layer == 1)
{
return this.cage_material_inner;
}
else
{
return this.cage_material_outer;
}
}
public Location getCagePos()
{
return this.user_cage_pos;
}
public void clearHistory()
{
this.user_cage_history.clear();
}
public void insertHistoryBlock(Location location, Material material)
{
this.user_cage_history.add(new TFM_BlockData(location, material));
}
public void regenerateHistory()
{
for (TFM_BlockData blockdata : this.user_cage_history)
{
blockdata.location.getBlock().setType(blockdata.material);
}
}
class TFM_BlockData
{
public Material material;
public Location location;
public TFM_BlockData(Location location, Material material)
{
this.location = location;
this.material = material;
}
}
// -- End Cage
public boolean isFrozen() public boolean isFrozen()
{ {
return this.user_frozen; return this.user_frozen;

View File

@ -5,12 +5,15 @@ import java.net.InetSocketAddress;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.*; import org.bukkit.entity.*;
import org.bukkit.event.Event; import org.bukkit.event.Event;
@ -46,9 +49,9 @@ public class TotalFreedomMod extends JavaPlugin
public int freecamTriggerCount = 10; public int freecamTriggerCount = 10;
public boolean allPlayersFrozen = false; public boolean allPlayersFrozen = false;
public HashMap userinfo = new HashMap(); public static Map<Player, TFM_UserInfo> userinfo = new HashMap<Player, TFM_UserInfo>();
private static final long HEARTBEAT_RATE = 5L; //Seconds public static final long HEARTBEAT_RATE = 5L; //Seconds
public static final String MSG_NO_PERMS = ChatColor.YELLOW + "You do not have permission to use this command."; public static final String MSG_NO_PERMS = ChatColor.YELLOW + "You do not have permission to use this command.";
public static final String YOU_ARE_OP = ChatColor.YELLOW + "You are now op!"; public static final String YOU_ARE_OP = ChatColor.YELLOW + "You are now op!";
@ -181,7 +184,7 @@ public class TotalFreedomMod extends JavaPlugin
{ {
for (Player p : Bukkit.getOnlinePlayers()) for (Player p : Bukkit.getOnlinePlayers())
{ {
TFM_UserInfo playerdata = (TFM_UserInfo) this.userinfo.get(p); TFM_UserInfo playerdata = TotalFreedomMod.userinfo.get(p);
if (playerdata != null) if (playerdata != null)
{ {
playerdata.resetMsgCount(); playerdata.resetMsgCount();
@ -295,6 +298,8 @@ public class TotalFreedomMod extends JavaPlugin
this.getCommand("rd").setExecutor(GeneralCommands); this.getCommand("rd").setExecutor(GeneralCommands);
this.getCommand("flatlands").setExecutor(GeneralCommands); this.getCommand("flatlands").setExecutor(GeneralCommands);
this.getCommand("skylands").setExecutor(GeneralCommands); this.getCommand("skylands").setExecutor(GeneralCommands);
this.getCommand("nether").setExecutor(GeneralCommands);
this.getCommand("banlist").setExecutor(GeneralCommands);
this.getCommand("fr").setExecutor(AdminCommands); this.getCommand("fr").setExecutor(AdminCommands);
this.getCommand("gtfo").setExecutor(AdminCommands); this.getCommand("gtfo").setExecutor(AdminCommands);
@ -307,6 +312,7 @@ public class TotalFreedomMod extends JavaPlugin
this.getCommand("qjail").setExecutor(AdminCommands); this.getCommand("qjail").setExecutor(AdminCommands);
this.getCommand("umd").setExecutor(AdminCommands); this.getCommand("umd").setExecutor(AdminCommands);
this.getCommand("csay").setExecutor(AdminCommands); this.getCommand("csay").setExecutor(AdminCommands);
this.getCommand("cage").setExecutor(AdminCommands);
this.getCommand("explosives").setExecutor(AntiblockCommands); this.getCommand("explosives").setExecutor(AntiblockCommands);
this.getCommand("lavadmg").setExecutor(AntiblockCommands); this.getCommand("lavadmg").setExecutor(AntiblockCommands);
@ -320,4 +326,64 @@ public class TotalFreedomMod extends JavaPlugin
this.getCommand("list").setExecutor(OverrideCommands); this.getCommand("list").setExecutor(OverrideCommands);
this.getCommand("listreal").setExecutor(OverrideCommands); this.getCommand("listreal").setExecutor(OverrideCommands);
} }
public void gotoWorld(CommandSender sender, String targetworld)
{
if (sender instanceof Player)
{
Player sender_p = (Player) sender;
if (sender_p.getWorld().getName().equalsIgnoreCase(targetworld))
{
sender.sendMessage(ChatColor.GRAY + "Going to main world.");
Bukkit.getServer().dispatchCommand(sender, "world 0");
return;
}
for (World world : Bukkit.getWorlds())
{
if (world.getName().equalsIgnoreCase(targetworld))
{
sender.sendMessage(ChatColor.GRAY + "Going to world: " + targetworld);
Bukkit.getServer().dispatchCommand(sender, "mv tp " + targetworld);
return;
}
}
}
else
{
sender.sendMessage("This command may not be used from the console.");
}
}
public void buildHistory(Location location, int length, TFM_UserInfo playerdata)
{
Block center_block = location.getBlock();
for (int x_offset = -length; x_offset <= length; x_offset++)
{
for (int y_offset = -length; y_offset <= length; y_offset++)
{
for (int z_offset = -length; z_offset <= length; z_offset++)
{
Block block = center_block.getRelative(x_offset, y_offset, z_offset);
playerdata.insertHistoryBlock(block.getLocation(), block.getType());
}
}
}
}
public void generateCube(Location location, int length, Material material)
{
Block center_block = location.getBlock();
for (int x_offset = -length; x_offset <= length; x_offset++)
{
for (int y_offset = -length; y_offset <= length; y_offset++)
{
for (int z_offset = -length; z_offset <= length; z_offset++)
{
center_block.getRelative(x_offset, y_offset, z_offset).setType(material);
}
}
}
}
} }

View File

@ -1,9 +1,15 @@
name: TotalFreedomMod name: TotalFreedomMod
main: me.StevenLawson.TotalFreedomMod.TotalFreedomMod main: me.StevenLawson.TotalFreedomMod.TotalFreedomMod
version: 1.5 version: 1.6
description: Plugin for the Total Freedom server description: Plugin for the Total Freedom server
author: StevenLawson / Madgeek1450 author: StevenLawson / Madgeek1450
commands: commands:
banlist:
description: Shows all banned player names. Superadmins may optionally use 'purge' to clear the list.
usage: /<command> [purge]
cage:
description: Superadmin command - Place a cage around someone.
usage: /<command> [partialname]
cake: cake:
description: Superadmin command - For the people that are still alive. description: Superadmin command - For the people that are still alive.
usage: /<command> usage: /<command>
@ -55,6 +61,9 @@ commands:
mp: mp:
description: Use moblimiter to purge all mobs. description: Use moblimiter to purge all mobs.
usage: /<command> usage: /<command>
nether:
description: Goto the nether.
usage: /<command>
nonuke: nonuke:
description: Attempt to detect "invisible griefers" and "nukers". description: Attempt to detect "invisible griefers" and "nukers".
usage: /<command> <on|off> [range] [blockrate] usage: /<command> <on|off> [range] [blockrate]