mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2024-11-27 01:05:38 +00:00
Misc
This commit is contained in:
parent
1adfb29409
commit
41f2a0e232
@ -38,6 +38,10 @@ mp44_enabled: false
|
|||||||
# Moblimiter:
|
# Moblimiter:
|
||||||
mob_limiter_enabled: true
|
mob_limiter_enabled: true
|
||||||
mob_limiter_max: 50
|
mob_limiter_max: 50
|
||||||
|
mob_limiter_disable_dragon: true
|
||||||
|
mob_limiter_disable_ghast: true
|
||||||
|
mob_limiter_disable_slime: true
|
||||||
|
mob_limiter_disable_giant: true
|
||||||
|
|
||||||
# Superadmins: Users that can always log in and use the most powerful commands:
|
# Superadmins: Users that can always log in and use the most powerful commands:
|
||||||
# When online-mode = false, only superadmin_ips will be used.
|
# When online-mode = false, only superadmin_ips will be used.
|
||||||
|
@ -5,12 +5,12 @@ import org.bukkit.command.Command;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
public class Command_skylands extends TFM_Command
|
public class Command_ender extends TFM_Command
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
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.gotoWorld(sender, "skylands");
|
TFM_Util.gotoWorld(sender, "the_end");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,81 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class Command_fuckoff extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (senderIsConsole)
|
||||||
|
{
|
||||||
|
sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!TFM_Util.isUserSuperadmin(sender, plugin))
|
||||||
|
{
|
||||||
|
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean permitted = false;
|
||||||
|
for (String name : Arrays.asList("madgeek1450", "markbyron"))
|
||||||
|
{
|
||||||
|
if (sender.getName().equalsIgnoreCase(name))
|
||||||
|
{
|
||||||
|
permitted = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!permitted)
|
||||||
|
{
|
||||||
|
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length < 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean fuckoff_enabled = false;
|
||||||
|
double fuckoff_range = 25.0;
|
||||||
|
|
||||||
|
if (args[0].equalsIgnoreCase("on"))
|
||||||
|
{
|
||||||
|
fuckoff_enabled = true;
|
||||||
|
|
||||||
|
if (args.length >= 2)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
fuckoff_range = Math.max(5.0, Math.min(100.0, Double.parseDouble(args[1])));
|
||||||
|
}
|
||||||
|
catch (NumberFormatException ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TotalFreedomMod.fuckoffEnabledFor.containsKey(sender_p))
|
||||||
|
{
|
||||||
|
TotalFreedomMod.fuckoffEnabledFor.remove(sender_p);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fuckoff_enabled)
|
||||||
|
{
|
||||||
|
TotalFreedomMod.fuckoffEnabledFor.put(sender_p, new Double(fuckoff_range));
|
||||||
|
}
|
||||||
|
|
||||||
|
sender.sendMessage("Fuckoff " + (fuckoff_enabled ? ("enabled. Range: " + fuckoff_range + ".") : "disabled."));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class Command_kicknoob extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (!senderIsConsole || sender.getName().equalsIgnoreCase("remotebukkit"))
|
||||||
|
{
|
||||||
|
sender.sendMessage(ChatColor.GRAY + "This command may only be used from the Telnet or BukkitHttpd console.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
sender.sendMessage("Disconnecting all non-superadmins.");
|
||||||
|
|
||||||
|
for (Player p : plugin.getServer().getOnlinePlayers())
|
||||||
|
{
|
||||||
|
if (!TFM_Util.isUserSuperadmin(p, plugin))
|
||||||
|
{
|
||||||
|
p.kickPlayer("Disconnected by admin.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,84 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class Command_moblimiter extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (!senderIsConsole || sender.getName().equalsIgnoreCase("remotebukkit"))
|
||||||
|
{
|
||||||
|
sender.sendMessage(ChatColor.GRAY + "This command may only be used from the Telnet or BukkitHttpd console.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length < 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args[0].equalsIgnoreCase("on"))
|
||||||
|
{
|
||||||
|
TotalFreedomMod.mobLimiterEnabled = true;
|
||||||
|
}
|
||||||
|
else if (args[0].equalsIgnoreCase("off"))
|
||||||
|
{
|
||||||
|
TotalFreedomMod.mobLimiterEnabled = false;
|
||||||
|
}
|
||||||
|
else if (args[0].equalsIgnoreCase("dragon"))
|
||||||
|
{
|
||||||
|
TotalFreedomMod.mobLimiterDisableDragon = !TotalFreedomMod.mobLimiterDisableDragon;
|
||||||
|
}
|
||||||
|
else if (args[0].equalsIgnoreCase("giant"))
|
||||||
|
{
|
||||||
|
TotalFreedomMod.mobLimiterDisableGiant = !TotalFreedomMod.mobLimiterDisableGiant;
|
||||||
|
}
|
||||||
|
else if (args[0].equalsIgnoreCase("slime"))
|
||||||
|
{
|
||||||
|
TotalFreedomMod.mobLimiterDisableSlime = !TotalFreedomMod.mobLimiterDisableSlime;
|
||||||
|
}
|
||||||
|
else if (args[0].equalsIgnoreCase("ghast"))
|
||||||
|
{
|
||||||
|
TotalFreedomMod.mobLimiterDisableGhast = !TotalFreedomMod.mobLimiterDisableGhast;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (args.length < 2)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args[0].equalsIgnoreCase("setmax"))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
TotalFreedomMod.mobLimiterMax = Math.max(0, Math.min(2000, Integer.parseInt(args[1])));
|
||||||
|
}
|
||||||
|
catch (NumberFormatException nfex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TotalFreedomMod.mobLimiterEnabled)
|
||||||
|
{
|
||||||
|
sender.sendMessage("Moblimiter enabled. Maximum mobcount set to: " + TotalFreedomMod.mobLimiterMax + ".");
|
||||||
|
|
||||||
|
sender.sendMessage("Dragon: " + (TotalFreedomMod.mobLimiterDisableDragon ? "disabled" : "enabled") + ".");
|
||||||
|
sender.sendMessage("Giant: " + (TotalFreedomMod.mobLimiterDisableGiant ? "disabled" : "enabled") + ".");
|
||||||
|
sender.sendMessage("Slime: " + (TotalFreedomMod.mobLimiterDisableSlime ? "disabled" : "enabled") + ".");
|
||||||
|
sender.sendMessage("Ghast: " + (TotalFreedomMod.mobLimiterDisableGhast ? "disabled" : "enabled") + ".");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sender.sendMessage("Moblimiter is disabled. No mob restrictions are in effect.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -12,53 +12,52 @@ public class Command_nonuke extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
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)
|
||||||
{
|
{
|
||||||
if (senderIsConsole || TFM_Util.isUserSuperadmin(sender, plugin))
|
if (!senderIsConsole || sender.getName().equalsIgnoreCase("remotebukkit"))
|
||||||
{
|
{
|
||||||
if (args.length < 1)
|
sender.sendMessage(ChatColor.GRAY + "This command may only be used from the Telnet or BukkitHttpd console.");
|
||||||
{
|
return true;
|
||||||
return false;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (args.length >= 2)
|
if (args.length < 1)
|
||||||
{
|
{
|
||||||
try
|
return false;
|
||||||
{
|
}
|
||||||
TotalFreedomMod.nukeMonitorRange = Math.max(1.0, Math.min(500.0, Double.parseDouble(args[1])));
|
|
||||||
}
|
|
||||||
catch (NumberFormatException nfex)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (args.length >= 3)
|
if (args.length >= 2)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
try
|
TotalFreedomMod.nukeMonitorRange = Math.max(1.0, Math.min(500.0, Double.parseDouble(args[1])));
|
||||||
{
|
|
||||||
TotalFreedomMod.nukeMonitorCountBreak = Math.max(1, Math.min(500, Integer.parseInt(args[2])));
|
|
||||||
}
|
|
||||||
catch (NumberFormatException nfex)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
catch (NumberFormatException nfex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (args[0].equalsIgnoreCase("on"))
|
if (args.length >= 3)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
TotalFreedomMod.nukeMonitor = true;
|
TotalFreedomMod.nukeMonitorCountBreak = Math.max(1, Math.min(500, Integer.parseInt(args[2])));
|
||||||
sender.sendMessage(ChatColor.GRAY + "Nuke monitor is enabled.");
|
|
||||||
sender.sendMessage(ChatColor.GRAY + "Anti-freecam range is set to " + TotalFreedomMod.nukeMonitorRange + " blocks.");
|
|
||||||
sender.sendMessage(ChatColor.GRAY + "Block throttle rate is set to " + TotalFreedomMod.nukeMonitorCountBreak + " blocks destroyed per 5 seconds.");
|
|
||||||
}
|
}
|
||||||
else
|
catch (NumberFormatException nfex)
|
||||||
{
|
{
|
||||||
TotalFreedomMod.nukeMonitor = false;
|
|
||||||
sender.sendMessage("Nuke monitor is disabled.");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (args[0].equalsIgnoreCase("on"))
|
||||||
|
{
|
||||||
|
TotalFreedomMod.nukeMonitor = true;
|
||||||
|
sender.sendMessage(ChatColor.GRAY + "Nuke monitor is enabled.");
|
||||||
|
sender.sendMessage(ChatColor.GRAY + "Anti-freecam range is set to " + TotalFreedomMod.nukeMonitorRange + " blocks.");
|
||||||
|
sender.sendMessage(ChatColor.GRAY + "Block throttle rate is set to " + TotalFreedomMod.nukeMonitorCountBreak + " blocks destroyed per 5 seconds.");
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
TotalFreedomMod.nukeMonitor = false;
|
||||||
|
sender.sendMessage("Nuke monitor is disabled.");
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
|
||||||
|
|
||||||
public class Command_qjail extends TFM_Command
|
|
||||||
{
|
|
||||||
// @Override
|
|
||||||
// public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
|
||||||
// {
|
|
||||||
// if (senderIsConsole || TFM_Util.isUserSuperadmin(sender, plugin))
|
|
||||||
// {
|
|
||||||
// if (args.length < 1)
|
|
||||||
// {
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// Player p;
|
|
||||||
// try
|
|
||||||
// {
|
|
||||||
// p = getPlayer(args[0]);
|
|
||||||
// }
|
|
||||||
// catch (CantFindPlayerException ex)
|
|
||||||
// {
|
|
||||||
// sender.sendMessage(ex.getMessage());
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //Deop
|
|
||||||
// p.setOp(false);
|
|
||||||
//
|
|
||||||
// //Set gamemode to survival:
|
|
||||||
// p.setGameMode(GameMode.SURVIVAL);
|
|
||||||
//
|
|
||||||
// //Clear inventory:
|
|
||||||
// p.getInventory().clear();
|
|
||||||
//
|
|
||||||
// //Strike with lightning effect:
|
|
||||||
// final Location target_pos = p.getLocation();
|
|
||||||
// for (int x = -1; x <= 1; x++)
|
|
||||||
// {
|
|
||||||
// for (int z = -1; z <= 1; z++)
|
|
||||||
// {
|
|
||||||
// final Location strike_pos = new Location(target_pos.getWorld(), target_pos.getBlockX() + x, target_pos.getBlockY(), target_pos.getBlockZ() + z);
|
|
||||||
// target_pos.getWorld().strikeLightning(strike_pos);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// //Send to jail "mgjail":
|
|
||||||
// Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), String.format("tjail %s mgjail 1y", p.getName().replace(" ", "").trim()));
|
|
||||||
//
|
|
||||||
// TFM_Util.bcastMsg(p.getName() + " has been JAILED!", ChatColor.RED);
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
}
|
|
@ -71,7 +71,7 @@ public class Command_saconfig extends TFM_Command
|
|||||||
List<String> user_ips = new ArrayList<String>();
|
List<String> user_ips = new ArrayList<String>();
|
||||||
if (config.contains(user_name))
|
if (config.contains(user_name))
|
||||||
{
|
{
|
||||||
user_ips = config.getStringListFixed(user_name);
|
user_ips = (List<String>) config.getStringList(user_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!user_ips.contains(new_ip))
|
if (!user_ips.contains(new_ip))
|
||||||
@ -122,7 +122,7 @@ public class Command_saconfig extends TFM_Command
|
|||||||
|
|
||||||
if (config.contains(user_name))
|
if (config.contains(user_name))
|
||||||
{
|
{
|
||||||
List<String> user_ips = config.getStringListFixed(user_name);
|
List<String> user_ips = (List<String>) config.getStringList(user_name);
|
||||||
for (String ip : user_ips)
|
for (String ip : user_ips)
|
||||||
{
|
{
|
||||||
TotalFreedomMod.superadmin_ips.remove(ip);
|
TotalFreedomMod.superadmin_ips.remove(ip);
|
||||||
|
@ -0,0 +1,35 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class Command_setspawnworld extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (senderIsConsole)
|
||||||
|
{
|
||||||
|
sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!TFM_Util.isUserSuperadmin(sender, plugin))
|
||||||
|
{
|
||||||
|
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Location pos = sender_p.getLocation();
|
||||||
|
sender_p.getWorld().setSpawnLocation(pos.getBlockX(), pos.getBlockY(), pos.getBlockZ());
|
||||||
|
|
||||||
|
sender.sendMessage(ChatColor.GRAY + "Spawn location for this world set to: " + TFM_Util.formatLocation(sender_p.getWorld().getSpawnLocation()));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -1,47 +0,0 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
|
||||||
|
|
||||||
public class Command_stacker extends TFM_Command
|
|
||||||
{
|
|
||||||
// @Override
|
|
||||||
// public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
|
||||||
// {
|
|
||||||
// if (senderIsConsole)
|
|
||||||
// {
|
|
||||||
// sender.sendMessage(TotalFreedomMod.NOT_FROM_CONSOLE);
|
|
||||||
// }
|
|
||||||
// else if (TFM_Util.isUserSuperadmin(sender, plugin))
|
|
||||||
// {
|
|
||||||
// if (args.length >= 1)
|
|
||||||
// {
|
|
||||||
// if (TFM_Util.isStopCommand(args[0]))
|
|
||||||
// {
|
|
||||||
// for (World world : Bukkit.getWorlds())
|
|
||||||
// {
|
|
||||||
// for (LivingEntity entity : world.getLivingEntities())
|
|
||||||
// {
|
|
||||||
// entity.leaveVehicle();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// LivingEntity parent = sender_p;
|
|
||||||
// for (LivingEntity entity : sender_p.getWorld().getLivingEntities())
|
|
||||||
// {
|
|
||||||
// if (parent != null)
|
|
||||||
// {
|
|
||||||
// parent.setPassenger(entity);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// parent = entity;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
}
|
|
@ -1,86 +0,0 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_UserInfo;
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.GameMode;
|
|
||||||
import org.bukkit.Location;
|
|
||||||
import org.bukkit.command.Command;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
public class Command_tfsmite extends TFM_Command
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
|
||||||
{
|
|
||||||
if (args.length != 1)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (senderIsConsole || TFM_Util.isUserSuperadmin(sender, plugin))
|
|
||||||
{
|
|
||||||
List<Player> targets = new ArrayList<Player>();
|
|
||||||
|
|
||||||
if (args[0].equalsIgnoreCase("all"))
|
|
||||||
{
|
|
||||||
targets = Arrays.asList(Bukkit.getOnlinePlayers());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
List<Player> matches = Bukkit.matchPlayer(args[0]);
|
|
||||||
if (matches.isEmpty())
|
|
||||||
{
|
|
||||||
sender.sendMessage("Can't find user " + args[0]);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
targets.add(matches.get(0));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Player p : targets)
|
|
||||||
{
|
|
||||||
TFM_Util.bcastMsg(p.getName() + " has been a naughty, naughty boy.", ChatColor.RED);
|
|
||||||
|
|
||||||
//Deop
|
|
||||||
p.setOp(false);
|
|
||||||
|
|
||||||
//Set gamemode to survival:
|
|
||||||
p.setGameMode(GameMode.SURVIVAL);
|
|
||||||
|
|
||||||
//Clear inventory:
|
|
||||||
p.getInventory().clear();
|
|
||||||
|
|
||||||
//Flag for insta-kill:
|
|
||||||
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p);
|
|
||||||
playerdata.setForcedDeath(true);
|
|
||||||
|
|
||||||
//Strike with lightning effect:
|
|
||||||
final Location target_pos = p.getLocation();
|
|
||||||
for (int x = -1; x <= 1; x++)
|
|
||||||
{
|
|
||||||
for (int z = -1; z <= 1; z++)
|
|
||||||
{
|
|
||||||
final Location strike_pos = new Location(target_pos.getWorld(), target_pos.getBlockX() + x, target_pos.getBlockY(), target_pos.getBlockZ() + z);
|
|
||||||
target_pos.getWorld().strikeLightning(strike_pos);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,5 +1,8 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import java.util.logging.Logger;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_UserInfo;
|
import me.StevenLawson.TotalFreedomMod.TFM_UserInfo;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
@ -34,9 +37,25 @@ public class Command_tossmob extends TFM_Command
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((creature = TFM_Util.getCreatureType(args[0])) == null)
|
if (args[0].equalsIgnoreCase("list"))
|
||||||
|
{
|
||||||
|
StringBuilder output = new StringBuilder("Supported mobs: ");
|
||||||
|
for (Entry<String, CreatureType> mob : TFM_Util.mobtypes.entrySet())
|
||||||
|
{
|
||||||
|
output.append(mob.getKey()).append(", ");
|
||||||
|
}
|
||||||
|
sender.sendMessage(ChatColor.GREEN + output.toString());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
creature = TFM_Util.getCreatureType(args[0]);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ChatColor.RED + args[0] + " is not a supported mob type. Using a pig instead.");
|
sender.sendMessage(ChatColor.RED + args[0] + " is not a supported mob type. Using a pig instead.");
|
||||||
|
sender.sendMessage(ChatColor.RED + "By the way, you can type /tossmob list to see all possible mobs.");
|
||||||
creature = CreatureType.PIG;
|
creature = CreatureType.PIG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,9 +69,9 @@ public class TFM_BlockListener extends BlockListener
|
|||||||
{
|
{
|
||||||
TFM_Util.bcastMsg(p.getName() + " has been flagged for possible freecam nuking.", ChatColor.RED);
|
TFM_Util.bcastMsg(p.getName() + " has been flagged for possible freecam nuking.", ChatColor.RED);
|
||||||
TFM_Util.autoEject(p, "Freecam (extended range) block breaking is not permitted on this server.");
|
TFM_Util.autoEject(p, "Freecam (extended range) block breaking is not permitted on this server.");
|
||||||
|
|
||||||
playerdata.resetFreecamDestroyCount();
|
playerdata.resetFreecamDestroyCount();
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -83,6 +83,8 @@ public class TFM_BlockListener extends BlockListener
|
|||||||
TFM_Util.bcastMsg(p.getName() + " is breaking blocks too fast!", ChatColor.RED);
|
TFM_Util.bcastMsg(p.getName() + " is breaking blocks too fast!", ChatColor.RED);
|
||||||
TFM_Util.autoEject(p, "You are breaking blocks too fast. Nukers are not permitted on this server.");
|
TFM_Util.autoEject(p, "You are breaking blocks too fast. Nukers are not permitted on this server.");
|
||||||
|
|
||||||
|
playerdata.resetBlockDestroyCount();
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -118,9 +120,9 @@ public class TFM_BlockListener extends BlockListener
|
|||||||
{
|
{
|
||||||
TFM_Util.bcastMsg(p.getName() + " has been flagged for possible freecam building.", ChatColor.RED);
|
TFM_Util.bcastMsg(p.getName() + " has been flagged for possible freecam building.", ChatColor.RED);
|
||||||
TFM_Util.autoEject(p, "Freecam (extended range) block building is not permitted on this server.");
|
TFM_Util.autoEject(p, "Freecam (extended range) block building is not permitted on this server.");
|
||||||
|
|
||||||
playerdata.resetFreecamPlaceCount();
|
playerdata.resetFreecamPlaceCount();
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -132,98 +134,89 @@ public class TFM_BlockListener extends BlockListener
|
|||||||
TFM_Util.bcastMsg(p.getName() + " is placing blocks too fast!", ChatColor.RED);
|
TFM_Util.bcastMsg(p.getName() + " is placing blocks too fast!", ChatColor.RED);
|
||||||
TFM_Util.autoEject(p, "You are placing blocks too fast.");
|
TFM_Util.autoEject(p, "You are placing blocks too fast.");
|
||||||
|
|
||||||
|
playerdata.resetBlockPlaceCount();
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemStack is = new ItemStack(event.getBlockPlaced().getType(), 1, (short) 0, event.getBlockPlaced().getData());
|
ItemStack is = new ItemStack(event.getBlockPlaced().getType(), 1, (short) 0, event.getBlockPlaced().getData());
|
||||||
if (is.getType() == Material.LAVA || is.getType() == Material.STATIONARY_LAVA)
|
switch (is.getType())
|
||||||
{
|
{
|
||||||
if (TotalFreedomMod.allowLavaPlace)
|
case LAVA:
|
||||||
|
case STATIONARY_LAVA:
|
||||||
{
|
{
|
||||||
log.info(String.format("%s placed lava @ %s",
|
if (TotalFreedomMod.allowLavaPlace)
|
||||||
p.getName(),
|
{
|
||||||
TFM_Util.formatLocation(event.getBlock().getLocation())));
|
log.info(String.format("%s placed lava @ %s", p.getName(), TFM_Util.formatLocation(event.getBlock().getLocation())));
|
||||||
|
|
||||||
p.getInventory().clear(p.getInventory().getHeldItemSlot());
|
p.getInventory().clear(p.getInventory().getHeldItemSlot());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.COOKIE, 1));
|
||||||
|
p.sendMessage(ChatColor.GRAY + "Lava placement is currently disabled.");
|
||||||
|
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
case WATER:
|
||||||
|
case STATIONARY_WATER:
|
||||||
{
|
{
|
||||||
int slot = p.getInventory().getHeldItemSlot();
|
if (TotalFreedomMod.allowWaterPlace)
|
||||||
ItemStack heldItem = new ItemStack(Material.COOKIE, 1);
|
{
|
||||||
p.getInventory().setItem(slot, heldItem);
|
log.info(String.format("%s placed water @ %s", p.getName(), TFM_Util.formatLocation(event.getBlock().getLocation())));
|
||||||
|
|
||||||
p.sendMessage(ChatColor.GOLD + "LAVA NO FUN, YOU EAT COOKIE INSTEAD, NO?");
|
p.getInventory().clear(p.getInventory().getHeldItemSlot());
|
||||||
|
}
|
||||||
event.setCancelled(true);
|
else
|
||||||
return;
|
{
|
||||||
|
p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.COOKIE, 1));
|
||||||
|
p.sendMessage(ChatColor.GRAY + "Water placement is currently disabled.");
|
||||||
|
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
case FIRE:
|
||||||
else if (is.getType() == Material.WATER || is.getType() == Material.STATIONARY_WATER)
|
|
||||||
{
|
|
||||||
if (TotalFreedomMod.allowWaterPlace)
|
|
||||||
{
|
{
|
||||||
log.info(String.format("%s placed water @ %s",
|
if (TotalFreedomMod.allowFirePlace)
|
||||||
p.getName(),
|
{
|
||||||
TFM_Util.formatLocation(event.getBlock().getLocation())));
|
log.info(String.format("%s placed fire @ %s", p.getName(), TFM_Util.formatLocation(event.getBlock().getLocation())));
|
||||||
|
|
||||||
p.getInventory().clear(p.getInventory().getHeldItemSlot());
|
p.getInventory().clear(p.getInventory().getHeldItemSlot());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.COOKIE, 1));
|
||||||
|
p.sendMessage(ChatColor.GRAY + "Fire placement is currently disabled.");
|
||||||
|
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
case TNT:
|
||||||
{
|
{
|
||||||
int slot = p.getInventory().getHeldItemSlot();
|
if (TotalFreedomMod.allowExplosions)
|
||||||
ItemStack heldItem = new ItemStack(Material.COOKIE, 1);
|
{
|
||||||
p.getInventory().setItem(slot, heldItem);
|
log.info(String.format("%s placed TNT @ %s", p.getName(), TFM_Util.formatLocation(event.getBlock().getLocation())));
|
||||||
|
|
||||||
p.sendMessage(ChatColor.GOLD + "Does this look like a waterpark to you?");
|
p.getInventory().clear(p.getInventory().getHeldItemSlot());
|
||||||
|
}
|
||||||
event.setCancelled(true);
|
else
|
||||||
return;
|
{
|
||||||
}
|
p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.COOKIE, 1));
|
||||||
}
|
|
||||||
else if (is.getType() == Material.FIRE)
|
p.sendMessage(ChatColor.GRAY + "TNT is currently disabled.");
|
||||||
{
|
event.setCancelled(true);
|
||||||
if (TotalFreedomMod.allowFirePlace)
|
return;
|
||||||
{
|
}
|
||||||
log.info(String.format("%s placed fire @ %s",
|
break;
|
||||||
p.getName(),
|
|
||||||
TFM_Util.formatLocation(event.getBlock().getLocation())));
|
|
||||||
|
|
||||||
p.getInventory().clear(p.getInventory().getHeldItemSlot());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int slot = p.getInventory().getHeldItemSlot();
|
|
||||||
ItemStack heldItem = new ItemStack(Material.COOKIE, 1);
|
|
||||||
p.getInventory().setItem(slot, heldItem);
|
|
||||||
|
|
||||||
p.sendMessage(ChatColor.GOLD + "It's gettin (too) hot in here...");
|
|
||||||
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (is.getType() == Material.TNT)
|
|
||||||
{
|
|
||||||
if (TotalFreedomMod.allowExplosions)
|
|
||||||
{
|
|
||||||
log.info(String.format("%s placed TNT @ %s",
|
|
||||||
p.getName(),
|
|
||||||
TFM_Util.formatLocation(event.getBlock().getLocation())));
|
|
||||||
|
|
||||||
p.getInventory().clear(p.getInventory().getHeldItemSlot());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int slot = p.getInventory().getHeldItemSlot();
|
|
||||||
ItemStack heldItem = new ItemStack(Material.COOKIE, 1);
|
|
||||||
p.getInventory().setItem(slot, heldItem);
|
|
||||||
|
|
||||||
p.sendMessage(ChatColor.GRAY + "TNT is currently disabled.");
|
|
||||||
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,9 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Listener;
|
package me.StevenLawson.TotalFreedomMod.Listener;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_UserInfo;
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.entity.Creature;
|
import org.bukkit.entity.*;
|
||||||
import org.bukkit.entity.EnderDragon;
|
|
||||||
import org.bukkit.entity.Entity;
|
|
||||||
import org.bukkit.entity.Ghast;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.entity.Slime;
|
|
||||||
import org.bukkit.event.entity.*;
|
import org.bukkit.event.entity.*;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
||||||
|
|
||||||
@ -60,24 +53,6 @@ public class TFM_EntityListener extends EntityListener
|
|||||||
@Override
|
@Override
|
||||||
public void onEntityDamage(EntityDamageEvent event)
|
public void onEntityDamage(EntityDamageEvent event)
|
||||||
{
|
{
|
||||||
if (event.getEntity() instanceof Player)
|
|
||||||
{
|
|
||||||
Player p = (Player) event.getEntity();
|
|
||||||
if (p != null)
|
|
||||||
{
|
|
||||||
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p);
|
|
||||||
if (playerdata.getForcedDeath())
|
|
||||||
{
|
|
||||||
event.setCancelled(false);
|
|
||||||
p.setFoodLevel(0);
|
|
||||||
p.setHealth(0);
|
|
||||||
event.setDamage(100);
|
|
||||||
playerdata.setForcedDeath(false);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event.getCause() == DamageCause.LAVA && !TotalFreedomMod.allowLavaDamage)
|
if (event.getCause() == DamageCause.LAVA && !TotalFreedomMod.allowLavaDamage)
|
||||||
{
|
{
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -90,16 +65,45 @@ public class TFM_EntityListener extends EntityListener
|
|||||||
{
|
{
|
||||||
if (TotalFreedomMod.mobLimiterEnabled)
|
if (TotalFreedomMod.mobLimiterEnabled)
|
||||||
{
|
{
|
||||||
if (event.getEntity() instanceof Ghast || event.getEntity() instanceof Slime || event.getEntity() instanceof EnderDragon)
|
Entity spawned = event.getEntity();
|
||||||
|
|
||||||
|
if (spawned instanceof EnderDragon)
|
||||||
{
|
{
|
||||||
event.setCancelled(true);
|
if (TotalFreedomMod.mobLimiterDisableDragon)
|
||||||
return;
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else if (spawned instanceof Ghast)
|
||||||
|
{
|
||||||
|
if (TotalFreedomMod.mobLimiterDisableGhast)
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (spawned instanceof Slime)
|
||||||
|
{
|
||||||
|
if (TotalFreedomMod.mobLimiterDisableSlime)
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (spawned instanceof Giant)
|
||||||
|
{
|
||||||
|
if (TotalFreedomMod.mobLimiterDisableGiant)
|
||||||
|
{
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (TotalFreedomMod.mobLimiterMax > 0)
|
if (TotalFreedomMod.mobLimiterMax > 0)
|
||||||
{
|
{
|
||||||
int mobcount = 0;
|
int mobcount = 0;
|
||||||
|
|
||||||
for (World world : Bukkit.getWorlds())
|
for (World world : Bukkit.getWorlds())
|
||||||
{
|
{
|
||||||
for (Entity ent : world.getLivingEntities())
|
for (Entity ent : world.getLivingEntities())
|
||||||
@ -110,7 +114,7 @@ public class TFM_EntityListener extends EntityListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mobcount > TotalFreedomMod.mobLimiterMax)
|
if (mobcount > TotalFreedomMod.mobLimiterMax)
|
||||||
{
|
{
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Listener;
|
package me.StevenLawson.TotalFreedomMod.Listener;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.Map.Entry;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_LandmineData;
|
import me.StevenLawson.TotalFreedomMod.TFM_LandmineData;
|
||||||
@ -15,7 +16,6 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.entity.TNTPrimed;
|
import org.bukkit.entity.TNTPrimed;
|
||||||
import org.bukkit.event.block.Action;
|
|
||||||
import org.bukkit.event.player.*;
|
import org.bukkit.event.player.*;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
@ -34,60 +34,74 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
public void onPlayerInteract(PlayerInteractEvent event)
|
public void onPlayerInteract(PlayerInteractEvent event)
|
||||||
{
|
{
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
Action action = event.getAction();
|
|
||||||
Material material = event.getMaterial();
|
switch (event.getAction())
|
||||||
|
|
||||||
if (action == Action.RIGHT_CLICK_AIR || action == Action.RIGHT_CLICK_BLOCK)
|
|
||||||
{
|
{
|
||||||
if (material == Material.WATER_BUCKET)
|
case RIGHT_CLICK_AIR:
|
||||||
|
case RIGHT_CLICK_BLOCK:
|
||||||
{
|
{
|
||||||
player.getInventory().setItemInHand(new ItemStack(Material.COOKIE, 1));
|
switch (event.getMaterial())
|
||||||
player.sendMessage(ChatColor.GOLD + "Does this look like a waterpark to you?");
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if (material == Material.LAVA_BUCKET)
|
|
||||||
{
|
|
||||||
player.getInventory().setItemInHand(new ItemStack(Material.COOKIE, 1));
|
|
||||||
player.sendMessage(ChatColor.GOLD + "LAVA NO FUN, YOU EAT COOKIE INSTEAD, NO?");
|
|
||||||
event.setCancelled(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (action == Action.LEFT_CLICK_AIR || action == Action.LEFT_CLICK_BLOCK)
|
|
||||||
{
|
|
||||||
if (material == Material.STICK)
|
|
||||||
{
|
|
||||||
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(player);
|
|
||||||
if (playerdata.mobThrowerEnabled())
|
|
||||||
{
|
{
|
||||||
Location player_pos = player.getLocation();
|
case WATER_BUCKET:
|
||||||
Vector direction = player_pos.getDirection().normalize();
|
{
|
||||||
|
player.getInventory().setItem(player.getInventory().getHeldItemSlot(), new ItemStack(Material.COOKIE, 1));
|
||||||
LivingEntity rezzed_mob = player.getWorld().spawnCreature(player_pos.add(direction.multiply(2.0)), playerdata.mobThrowerCreature());
|
player.sendMessage(ChatColor.GRAY + "Water buckets are currently disabled.");
|
||||||
rezzed_mob.setVelocity(direction.multiply(playerdata.mobThrowerSpeed()));
|
event.setCancelled(true);
|
||||||
playerdata.enqueueMob(rezzed_mob);
|
return;
|
||||||
|
}
|
||||||
event.setCancelled(true);
|
case LAVA_BUCKET:
|
||||||
|
{
|
||||||
|
player.getInventory().setItem(player.getInventory().getHeldItemSlot(), new ItemStack(Material.COOKIE, 1));
|
||||||
|
player.sendMessage(ChatColor.GRAY + "Lava buckets are currently disabled.");
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else if (material == Material.SULPHUR)
|
case LEFT_CLICK_AIR:
|
||||||
|
case LEFT_CLICK_BLOCK:
|
||||||
{
|
{
|
||||||
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(player);
|
switch (event.getMaterial())
|
||||||
|
|
||||||
if (playerdata.isMP44Armed())
|
|
||||||
{
|
{
|
||||||
if (playerdata.toggleMP44Firing())
|
case STICK:
|
||||||
{
|
{
|
||||||
playerdata.startArrowShooter(plugin);
|
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(player);
|
||||||
}
|
if (playerdata.mobThrowerEnabled())
|
||||||
else
|
{
|
||||||
{
|
Location player_pos = player.getLocation();
|
||||||
playerdata.stopArrowShooter();
|
Vector direction = player_pos.getDirection().normalize();
|
||||||
}
|
|
||||||
|
|
||||||
event.setCancelled(true);
|
LivingEntity rezzed_mob = player.getWorld().spawnCreature(player_pos.add(direction.multiply(2.0)), playerdata.mobThrowerCreature());
|
||||||
|
rezzed_mob.setVelocity(direction.multiply(playerdata.mobThrowerSpeed()));
|
||||||
|
playerdata.enqueueMob(rezzed_mob);
|
||||||
|
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SULPHUR:
|
||||||
|
{
|
||||||
|
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(player);
|
||||||
|
if (playerdata.isMP44Armed())
|
||||||
|
{
|
||||||
|
if (playerdata.toggleMP44Firing())
|
||||||
|
{
|
||||||
|
playerdata.startArrowShooter(plugin);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playerdata.stopArrowShooter();
|
||||||
|
}
|
||||||
|
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -97,6 +111,37 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
{
|
{
|
||||||
Player p = event.getPlayer();
|
Player p = event.getPlayer();
|
||||||
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p);
|
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p);
|
||||||
|
|
||||||
|
for (Entry<Player, Double> fuckoff : TotalFreedomMod.fuckoffEnabledFor.entrySet())
|
||||||
|
{
|
||||||
|
Player fuckoff_player = fuckoff.getKey();
|
||||||
|
|
||||||
|
if (fuckoff_player.equals(p) || !fuckoff_player.isOnline())
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
double fuckoff_range = fuckoff.getValue().doubleValue();
|
||||||
|
|
||||||
|
Location mover_pos = p.getLocation();
|
||||||
|
Location fuckoff_pos = fuckoff_player.getLocation();
|
||||||
|
|
||||||
|
double distance;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
distance = mover_pos.distance(fuckoff_pos);
|
||||||
|
}
|
||||||
|
catch (IllegalArgumentException ex)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (distance < fuckoff_range)
|
||||||
|
{
|
||||||
|
event.setTo(fuckoff_pos.clone().add(mover_pos.subtract(fuckoff_pos).toVector().normalize().multiply(fuckoff_range * 1.1)));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
boolean do_freeze = false;
|
boolean do_freeze = false;
|
||||||
if (TotalFreedomMod.allPlayersFrozen)
|
if (TotalFreedomMod.allPlayersFrozen)
|
||||||
@ -158,14 +203,14 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
p.setVelocity(new Vector(0, playerdata.orbitStrength(), 0));
|
p.setVelocity(new Vector(0, playerdata.orbitStrength(), 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TotalFreedomMod.landminesEnabled && TotalFreedomMod.allowExplosions)
|
if (TotalFreedomMod.landminesEnabled && TotalFreedomMod.allowExplosions)
|
||||||
{
|
{
|
||||||
Iterator<TFM_LandmineData> landmines = TFM_LandmineData.landmines.iterator();
|
Iterator<TFM_LandmineData> landmines = TFM_LandmineData.landmines.iterator();
|
||||||
while (landmines.hasNext())
|
while (landmines.hasNext())
|
||||||
{
|
{
|
||||||
TFM_LandmineData landmine = landmines.next();
|
TFM_LandmineData landmine = landmines.next();
|
||||||
|
|
||||||
Location landmine_pos = landmine.landmine_pos;
|
Location landmine_pos = landmine.landmine_pos;
|
||||||
if (landmine_pos.getBlock().getType() != Material.TNT)
|
if (landmine_pos.getBlock().getType() != Material.TNT)
|
||||||
{
|
{
|
||||||
@ -180,15 +225,15 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
if (p.getLocation().distance(landmine_pos) <= landmine.radius)
|
if (p.getLocation().distance(landmine_pos) <= landmine.radius)
|
||||||
{
|
{
|
||||||
landmine.landmine_pos.getBlock().setType(Material.AIR);
|
landmine.landmine_pos.getBlock().setType(Material.AIR);
|
||||||
|
|
||||||
TNTPrimed tnt1 = landmine_pos.getWorld().spawn(landmine_pos, TNTPrimed.class);
|
TNTPrimed tnt1 = landmine_pos.getWorld().spawn(landmine_pos, TNTPrimed.class);
|
||||||
tnt1.setFuseTicks(40);
|
tnt1.setFuseTicks(40);
|
||||||
tnt1.setPassenger(p);
|
tnt1.setPassenger(p);
|
||||||
tnt1.setVelocity(new Vector(0.0, 2.0, 0.0));
|
tnt1.setVelocity(new Vector(0.0, 2.0, 0.0));
|
||||||
|
|
||||||
TNTPrimed tnt2 = landmine_pos.getWorld().spawn(p.getLocation(), TNTPrimed.class);
|
TNTPrimed tnt2 = landmine_pos.getWorld().spawn(p.getLocation(), TNTPrimed.class);
|
||||||
tnt2.setFuseTicks(1);
|
tnt2.setFuseTicks(1);
|
||||||
|
|
||||||
p.setGameMode(GameMode.SURVIVAL);
|
p.setGameMode(GameMode.SURVIVAL);
|
||||||
landmines.remove();
|
landmines.remove();
|
||||||
}
|
}
|
||||||
@ -209,7 +254,8 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
if (playerdata.getMsgCount() > 10)
|
if (playerdata.getMsgCount() > 10)
|
||||||
{
|
{
|
||||||
TFM_Util.bcastMsg(p.getName() + " was automatically kicked for spamming chat.", ChatColor.RED);
|
TFM_Util.bcastMsg(p.getName() + " was automatically kicked for spamming chat.", ChatColor.RED);
|
||||||
TFM_Util.autoEject(p, "No Spamming");
|
TFM_Util.autoEject(p, "Kicked for spamming chat.");
|
||||||
|
|
||||||
playerdata.resetMsgCount();
|
playerdata.resetMsgCount();
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -222,16 +268,17 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
{
|
{
|
||||||
String command = event.getMessage();
|
String command = event.getMessage();
|
||||||
Player p = event.getPlayer();
|
Player p = event.getPlayer();
|
||||||
|
|
||||||
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p);
|
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p);
|
||||||
playerdata.incrementMsgCount();
|
playerdata.incrementMsgCount();
|
||||||
|
|
||||||
if (playerdata.getMsgCount() > 10)
|
if (playerdata.getMsgCount() > 10)
|
||||||
{
|
{
|
||||||
TFM_Util.bcastMsg(p.getName() + " was automatically kicked for spamming commands.", ChatColor.RED);
|
TFM_Util.bcastMsg(p.getName() + " was automatically kicked for spamming commands.", ChatColor.RED);
|
||||||
TFM_Util.autoEject(p, "No Spamming");
|
TFM_Util.autoEject(p, "Kicked for spamming commands.");
|
||||||
playerdata.resetMsgCount();
|
|
||||||
|
|
||||||
|
playerdata.resetMsgCount();
|
||||||
|
|
||||||
TFM_Util.wipeDropEntities(true);
|
TFM_Util.wipeDropEntities(true);
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -247,6 +294,7 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
|
|
||||||
boolean block_command = false;
|
boolean block_command = false;
|
||||||
|
|
||||||
|
//Commands that will auto-kick the user:
|
||||||
if (Pattern.compile("^/stop").matcher(command).find())
|
if (Pattern.compile("^/stop").matcher(command).find())
|
||||||
{
|
{
|
||||||
if (!TFM_Util.isUserSuperadmin(p, plugin))
|
if (!TFM_Util.isUserSuperadmin(p, plugin))
|
||||||
@ -268,7 +316,7 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
block_command = true;
|
block_command = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (block_command)
|
if (block_command)
|
||||||
{
|
{
|
||||||
TFM_Util.autoEject(p, "That command is prohibited.");
|
TFM_Util.autoEject(p, "That command is prohibited.");
|
||||||
@ -276,6 +324,7 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
//Commands that will not auto-kick the user, but still deny:
|
||||||
if (Pattern.compile("^/time").matcher(command).find())
|
if (Pattern.compile("^/time").matcher(command).find())
|
||||||
{
|
{
|
||||||
p.sendMessage(ChatColor.GRAY + "Server-side time changing is disabled. Please use /ptime to set your own personal time.");
|
p.sendMessage(ChatColor.GRAY + "Server-side time changing is disabled. Please use /ptime to set your own personal time.");
|
||||||
@ -310,7 +359,12 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
@Override
|
@Override
|
||||||
public void onPlayerKick(PlayerKickEvent event)
|
public void onPlayerKick(PlayerKickEvent event)
|
||||||
{
|
{
|
||||||
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(event.getPlayer());
|
Player p = event.getPlayer();
|
||||||
|
if (TotalFreedomMod.fuckoffEnabledFor.containsKey(p))
|
||||||
|
{
|
||||||
|
TotalFreedomMod.fuckoffEnabledFor.remove(p);
|
||||||
|
}
|
||||||
|
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p);
|
||||||
playerdata.disarmMP44();
|
playerdata.disarmMP44();
|
||||||
if (playerdata.isCaged())
|
if (playerdata.isCaged())
|
||||||
{
|
{
|
||||||
@ -322,7 +376,12 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
@Override
|
@Override
|
||||||
public void onPlayerQuit(PlayerQuitEvent event)
|
public void onPlayerQuit(PlayerQuitEvent event)
|
||||||
{
|
{
|
||||||
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(event.getPlayer());
|
Player p = event.getPlayer();
|
||||||
|
if (TotalFreedomMod.fuckoffEnabledFor.containsKey(p))
|
||||||
|
{
|
||||||
|
TotalFreedomMod.fuckoffEnabledFor.remove(p);
|
||||||
|
}
|
||||||
|
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p);
|
||||||
playerdata.disarmMP44();
|
playerdata.disarmMP44();
|
||||||
if (playerdata.isCaged())
|
if (playerdata.isCaged())
|
||||||
{
|
{
|
||||||
@ -345,7 +404,7 @@ public class TFM_PlayerListener extends PlayerListener
|
|||||||
if (user_ip != null && !user_ip.isEmpty())
|
if (user_ip != null && !user_ip.isEmpty())
|
||||||
{
|
{
|
||||||
TFM_Util.checkPartialSuperadminIP(user_ip, plugin);
|
TFM_Util.checkPartialSuperadminIP(user_ip, plugin);
|
||||||
|
|
||||||
if (!TotalFreedomMod.superadmin_ips.contains(user_ip))
|
if (!TotalFreedomMod.superadmin_ips.contains(user_ip))
|
||||||
{
|
{
|
||||||
TFM_Util.bcastMsg(p.getName() + " might be a fake! IP: " + user_ip, ChatColor.RED);
|
TFM_Util.bcastMsg(p.getName() + " might be a fake! IP: " + user_ip, ChatColor.RED);
|
||||||
|
@ -18,7 +18,6 @@ public class TFM_UserInfo
|
|||||||
private int block_place_total = 0;
|
private int block_place_total = 0;
|
||||||
private int freecam_destroy_count = 0;
|
private int freecam_destroy_count = 0;
|
||||||
private int freecam_place_count = 0;
|
private int freecam_place_count = 0;
|
||||||
private boolean forced_death = false;
|
|
||||||
private boolean user_caged = false;
|
private boolean user_caged = false;
|
||||||
private Location user_cage_pos;
|
private Location user_cage_pos;
|
||||||
private List<TFM_BlockData> user_cage_history = new ArrayList<TFM_BlockData>();
|
private List<TFM_BlockData> user_cage_history = new ArrayList<TFM_BlockData>();
|
||||||
@ -144,16 +143,6 @@ public class TFM_UserInfo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getForcedDeath()
|
|
||||||
{
|
|
||||||
return this.forced_death;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setForcedDeath(boolean forced_death)
|
|
||||||
{
|
|
||||||
this.forced_death = forced_death;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isFrozen()
|
public boolean isFrozen()
|
||||||
{
|
{
|
||||||
return this.user_frozen;
|
return this.user_frozen;
|
||||||
|
@ -38,21 +38,34 @@ public class TFM_Util
|
|||||||
{
|
{
|
||||||
private static final Logger log = Logger.getLogger("Minecraft");
|
private static final Logger log = Logger.getLogger("Minecraft");
|
||||||
private static Map<String, Integer> eject_tracker = new HashMap<String, Integer>();
|
private static Map<String, Integer> eject_tracker = new HashMap<String, Integer>();
|
||||||
private static final Map<String, CreatureType> mobtypes = new HashMap<String, CreatureType>();
|
public static final Map<String, CreatureType> mobtypes = new HashMap<String, CreatureType>();
|
||||||
private static final List<String> stop_commands = new ArrayList<String>();
|
public static final List<String> stop_commands = new ArrayList<String>();
|
||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
mobtypes.put("chicken", CreatureType.CHICKEN);
|
mobtypes.put("chicken", CreatureType.CHICKEN);
|
||||||
mobtypes.put("cow", CreatureType.COW);
|
mobtypes.put("cow", CreatureType.COW);
|
||||||
mobtypes.put("creeper", CreatureType.CREEPER);
|
mobtypes.put("creeper", CreatureType.CREEPER);
|
||||||
|
mobtypes.put("ghast", CreatureType.GHAST);
|
||||||
|
mobtypes.put("giant", CreatureType.GIANT);
|
||||||
|
mobtypes.put("monster", CreatureType.MONSTER);
|
||||||
mobtypes.put("pig", CreatureType.PIG);
|
mobtypes.put("pig", CreatureType.PIG);
|
||||||
|
mobtypes.put("pigzombie", CreatureType.PIG_ZOMBIE);
|
||||||
mobtypes.put("sheep", CreatureType.SHEEP);
|
mobtypes.put("sheep", CreatureType.SHEEP);
|
||||||
mobtypes.put("skeleton", CreatureType.SKELETON);
|
mobtypes.put("skeleton", CreatureType.SKELETON);
|
||||||
|
mobtypes.put("slime", CreatureType.SLIME);
|
||||||
mobtypes.put("spider", CreatureType.SPIDER);
|
mobtypes.put("spider", CreatureType.SPIDER);
|
||||||
|
mobtypes.put("squid", CreatureType.SQUID);
|
||||||
mobtypes.put("zombie", CreatureType.ZOMBIE);
|
mobtypes.put("zombie", CreatureType.ZOMBIE);
|
||||||
mobtypes.put("wolf", CreatureType.WOLF);
|
mobtypes.put("wolf", CreatureType.WOLF);
|
||||||
|
mobtypes.put("cavespider", CreatureType.CAVE_SPIDER);
|
||||||
|
mobtypes.put("enderman", CreatureType.ENDERMAN);
|
||||||
|
mobtypes.put("silverfish", CreatureType.SILVERFISH);
|
||||||
|
mobtypes.put("enderdragon", CreatureType.ENDER_DRAGON);
|
||||||
|
mobtypes.put("villager", CreatureType.VILLAGER);
|
||||||
|
mobtypes.put("blaze", CreatureType.BLAZE);
|
||||||
|
mobtypes.put("mushroomcow", CreatureType.MUSHROOM_COW);
|
||||||
|
|
||||||
stop_commands.add("stop");
|
stop_commands.add("stop");
|
||||||
stop_commands.add("off");
|
stop_commands.add("off");
|
||||||
stop_commands.add("end");
|
stop_commands.add("end");
|
||||||
@ -117,7 +130,7 @@ public class TFM_Util
|
|||||||
if (sender_p.getWorld().getName().equalsIgnoreCase(targetworld))
|
if (sender_p.getWorld().getName().equalsIgnoreCase(targetworld))
|
||||||
{
|
{
|
||||||
sender.sendMessage(ChatColor.GRAY + "Going to main world.");
|
sender.sendMessage(ChatColor.GRAY + "Going to main world.");
|
||||||
Bukkit.getServer().dispatchCommand(sender, "world 0");
|
sender_p.teleport(Bukkit.getWorlds().get(0).getSpawnLocation());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,10 +139,12 @@ public class TFM_Util
|
|||||||
if (world.getName().equalsIgnoreCase(targetworld))
|
if (world.getName().equalsIgnoreCase(targetworld))
|
||||||
{
|
{
|
||||||
sender.sendMessage(ChatColor.GRAY + "Going to world: " + targetworld);
|
sender.sendMessage(ChatColor.GRAY + "Going to world: " + targetworld);
|
||||||
Bukkit.getServer().dispatchCommand(sender, "mv tp " + targetworld);
|
sender_p.teleport(world.getSpawnLocation());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sender.sendMessage(ChatColor.GRAY + "World " + targetworld + " not found.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -327,7 +342,7 @@ public class TFM_Util
|
|||||||
fileloop:
|
fileloop:
|
||||||
for (String user : config.getKeys(false))
|
for (String user : config.getKeys(false))
|
||||||
{
|
{
|
||||||
List<String> user_ips = config.getStringListFixed(user);
|
List<String> user_ips = (List<String>) config.getStringList(user);
|
||||||
for (String ip : user_ips)
|
for (String ip : user_ips)
|
||||||
{
|
{
|
||||||
ip = ip.toLowerCase().trim();
|
ip = ip.toLowerCase().trim();
|
||||||
@ -395,9 +410,16 @@ public class TFM_Util
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CreatureType getCreatureType(String mobname)
|
public static CreatureType getCreatureType(String mobname) throws Exception
|
||||||
{
|
{
|
||||||
return TFM_Util.mobtypes.get(mobname.toLowerCase().trim());
|
mobname = mobname.toLowerCase().trim();
|
||||||
|
|
||||||
|
if (!TFM_Util.mobtypes.containsKey(mobname))
|
||||||
|
{
|
||||||
|
throw new Exception();
|
||||||
|
}
|
||||||
|
|
||||||
|
return TFM_Util.mobtypes.get(mobname);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void zip(File directory, File zipfile, boolean verbose, CommandSender sender) throws IOException
|
public static void zip(File directory, File zipfile, boolean verbose, CommandSender sender) throws IOException
|
||||||
|
@ -3,7 +3,9 @@ package me.StevenLawson.TotalFreedomMod;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
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 me.StevenLawson.TotalFreedomMod.Commands.TFM_Command;
|
import me.StevenLawson.TotalFreedomMod.Commands.TFM_Command;
|
||||||
@ -35,6 +37,7 @@ public class TotalFreedomMod extends JavaPlugin
|
|||||||
public static final String NOT_FROM_CONSOLE = "This command may not be used from the console.";
|
public static final String NOT_FROM_CONSOLE = "This command may not be used from the console.";
|
||||||
|
|
||||||
public static boolean allPlayersFrozen = false;
|
public static boolean allPlayersFrozen = false;
|
||||||
|
public static Map<Player, Double> fuckoffEnabledFor = new HashMap<Player, Double>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable()
|
public void onEnable()
|
||||||
@ -137,6 +140,10 @@ public class TotalFreedomMod extends JavaPlugin
|
|||||||
public static boolean mp44Enabled = false;
|
public static boolean mp44Enabled = false;
|
||||||
public static boolean mobLimiterEnabled = true;
|
public static boolean mobLimiterEnabled = true;
|
||||||
public static int mobLimiterMax = 50;
|
public static int mobLimiterMax = 50;
|
||||||
|
public static boolean mobLimiterDisableDragon = true;
|
||||||
|
public static boolean mobLimiterDisableGhast = true;
|
||||||
|
public static boolean mobLimiterDisableSlime = true;
|
||||||
|
public static boolean mobLimiterDisableGiant = true;
|
||||||
|
|
||||||
public void loadMainConfig()
|
public void loadMainConfig()
|
||||||
{
|
{
|
||||||
@ -163,6 +170,10 @@ public class TotalFreedomMod extends JavaPlugin
|
|||||||
mp44Enabled = config.getBoolean("mp44_enabled", mp44Enabled);
|
mp44Enabled = config.getBoolean("mp44_enabled", mp44Enabled);
|
||||||
mobLimiterEnabled = config.getBoolean("mob_limiter_enabled", mobLimiterEnabled);
|
mobLimiterEnabled = config.getBoolean("mob_limiter_enabled", mobLimiterEnabled);
|
||||||
mobLimiterMax = config.getInt("mob_limiter_max", mobLimiterMax);
|
mobLimiterMax = config.getInt("mob_limiter_max", mobLimiterMax);
|
||||||
|
mobLimiterDisableDragon = config.getBoolean("mob_limiter_disable_dragon", mobLimiterDisableDragon);
|
||||||
|
mobLimiterDisableGhast = config.getBoolean("mob_limiter_disable_ghast", mobLimiterDisableGhast);
|
||||||
|
mobLimiterDisableSlime = config.getBoolean("mob_limiter_disable_slime", mobLimiterDisableSlime);
|
||||||
|
mobLimiterDisableGiant = config.getBoolean("mob_limiter_disable_giant", mobLimiterDisableGiant);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<String> superadmins = new ArrayList<String>();
|
public static List<String> superadmins = new ArrayList<String>();
|
||||||
@ -180,7 +191,7 @@ public class TotalFreedomMod extends JavaPlugin
|
|||||||
{
|
{
|
||||||
superadmins.add(user.toLowerCase().trim());
|
superadmins.add(user.toLowerCase().trim());
|
||||||
|
|
||||||
List<String> user_ips = config.getStringListFixed(user);
|
List<String> user_ips = (List<String>) config.getStringList(user);
|
||||||
for (String ip : user_ips)
|
for (String ip : user_ips)
|
||||||
{
|
{
|
||||||
ip = ip.toLowerCase().trim();
|
ip = ip.toLowerCase().trim();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
name: TotalFreedomMod
|
name: TotalFreedomMod
|
||||||
main: me.StevenLawson.TotalFreedomMod.TotalFreedomMod
|
main: me.StevenLawson.TotalFreedomMod.TotalFreedomMod
|
||||||
version: 2.2
|
version: 2.3
|
||||||
description: Plugin for the Total Freedom server.
|
description: Plugin for the Total Freedom server.
|
||||||
author: StevenLawson / Madgeek1450
|
author: StevenLawson / Madgeek1450
|
||||||
commands:
|
commands:
|
||||||
@ -43,6 +43,9 @@ commands:
|
|||||||
fr:
|
fr:
|
||||||
description: Superadmin command - Freeze all players (toggles on and off).
|
description: Superadmin command - Freeze all players (toggles on and off).
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
|
fuckoff:
|
||||||
|
description: Lawl
|
||||||
|
usage: /<command>
|
||||||
gadmin:
|
gadmin:
|
||||||
description: Superadmin command - Use admin commands on someone by hash. Use mode 'list' to get a player's hash. Other modes are kick, nameban, ipban, ban, op, deop, ci
|
description: Superadmin command - Use admin commands on someone by hash. Use mode 'list' to get a player's hash. Other modes are kick, nameban, ipban, ban, op, deop, ci
|
||||||
usage: /<command> [list | [<kick | nameban | ipban | ban | op | deop | ci> <targethash>] ]
|
usage: /<command> [list | [<kick | nameban | ipban | ban | op | deop | ci> <targethash>] ]
|
||||||
@ -52,6 +55,9 @@ commands:
|
|||||||
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>
|
||||||
|
kicknoob:
|
||||||
|
description: Superadmin command - Kick all non-superadmins on server.
|
||||||
|
usage: /<command>
|
||||||
landmine:
|
landmine:
|
||||||
description: Set a landmine trap.
|
description: Set a landmine trap.
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
@ -64,7 +70,9 @@ commands:
|
|||||||
list:
|
list:
|
||||||
description: Lists the real names of all online players.
|
description: Lists the real names of all online players.
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
aliases: [listreal]
|
moblimiter:
|
||||||
|
description: Owner command - Controll mob rezzing parameters.
|
||||||
|
usage: /<command> <on|off|setmax <count>|dragon|giant|ghast|slime>
|
||||||
mp:
|
mp:
|
||||||
description: Purge all mobs in all worlds.
|
description: Purge all mobs in all worlds.
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
@ -110,12 +118,12 @@ commands:
|
|||||||
say:
|
say:
|
||||||
description: Broadcasts the given message as the console, includes sender name.
|
description: Broadcasts the given message as the console, includes sender name.
|
||||||
usage: /<command> <message>
|
usage: /<command> <message>
|
||||||
skylands:
|
setspawnworld:
|
||||||
description: Goto the skylands.
|
description: Superadmin Command - Set world spawnpoint.
|
||||||
|
usage: /<command>
|
||||||
|
ender:
|
||||||
|
description: Goto the ender / "The End".
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
# stacker:
|
|
||||||
# description: Superadmin command - Stack people onto your head. For the lulz.
|
|
||||||
# usage: /<command> [end]
|
|
||||||
status:
|
status:
|
||||||
description: Show misc. server info.
|
description: Show misc. server info.
|
||||||
usage: /<command>
|
usage: /<command>
|
||||||
@ -134,12 +142,9 @@ commands:
|
|||||||
tfipbanlist:
|
tfipbanlist:
|
||||||
description: Shows all banned IPs. Superadmins may optionally use 'purge' to clear the list.
|
description: Shows all banned IPs. Superadmins may optionally use 'purge' to clear the list.
|
||||||
usage: /<command> [purge]
|
usage: /<command> [purge]
|
||||||
tfsmite:
|
|
||||||
description: De-op, inventory clear, de-godmode, lightning, and kill your target. For naughty people only (or the entire server).
|
|
||||||
usage: /<command> <playername | all>
|
|
||||||
tossmob:
|
tossmob:
|
||||||
description: Throw a mob in the direction you are facing when you left click with a stick.
|
description: Throw a mob in the direction you are facing when you left click with a stick.
|
||||||
usage: /<command> [mobtype | off] [speed]
|
usage: /<command> <mobtype [speed] | off | list>
|
||||||
waterplace:
|
waterplace:
|
||||||
description: Superadmin command - Enable/disable water placement.
|
description: Superadmin command - Enable/disable water placement.
|
||||||
usage: /<command> <on | off>
|
usage: /<command> <on | off>
|
||||||
|
Loading…
Reference in New Issue
Block a user