mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2024-11-17 21:06:11 +00:00
New cage,
This commit is contained in:
parent
90bb21b79e
commit
41043845c7
@ -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
|
||||||
|
@ -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();
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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,14 +241,60 @@ 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;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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;
|
||||||
@ -8,10 +13,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()
|
||||||
{
|
{
|
||||||
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -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]
|
||||||
|
Loading…
Reference in New Issue
Block a user