mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-06-11 13:33:54 +00:00
Merge branch 'master' of https://github.com/StevenLawson/TotalFreedomMod
This commit is contained in:
@ -40,6 +40,7 @@ public class Command_cage extends TFM_Command
|
||||
{
|
||||
if (TFM_Util.isStopCommand(args[1]))
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Uncaging " + p.getName(), true);
|
||||
playerdata.setCaged(false);
|
||||
playerdata.regenerateHistory();
|
||||
playerdata.clearHistory();
|
||||
@ -50,6 +51,15 @@ public class Command_cage extends TFM_Command
|
||||
{
|
||||
cage_material_outer = Material.matchMaterial(args[1]);
|
||||
if (cage_material_outer == null)
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Uncaging " + p.getName(), true);
|
||||
playerdata.setCaged(false);
|
||||
playerdata.regenerateHistory();
|
||||
playerdata.clearHistory();
|
||||
sender.sendMessage(ChatColor.GREEN + p.getName() + " uncaged.");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
cage_material_outer = Material.GLASS;
|
||||
}
|
||||
@ -75,11 +85,8 @@ public class Command_cage extends TFM_Command
|
||||
TFM_Util.buildHistory(target_pos, 2, playerdata);
|
||||
TFM_Util.generateCube(target_pos, 2, playerdata.getCageMaterial(TFM_UserInfo.CageLayer.OUTER));
|
||||
TFM_Util.generateCube(target_pos, 1, playerdata.getCageMaterial(TFM_UserInfo.CageLayer.INNER));
|
||||
|
||||
p.setGameMode(GameMode.SURVIVAL);
|
||||
|
||||
TFM_Util.bcastMsg(sender.getName() + " caged " + p.getName() + "!", ChatColor.YELLOW);
|
||||
|
||||
TFM_Util.adminAction(sender.getName(), "Caging " + p.getName(), true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@ -24,6 +25,8 @@ public class Command_explosives extends TFM_Command
|
||||
}
|
||||
catch (NumberFormatException nfex)
|
||||
{
|
||||
TFM_Util.playerMsg(sender, nfex.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,9 @@ public class Command_gadmin extends TFM_Command
|
||||
{
|
||||
if (mode.equals("kick"))
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Kicking " + p.getName(), true);
|
||||
p.kickPlayer("Kicked by Administrator");
|
||||
|
||||
}
|
||||
else if (mode.equals("nameban"))
|
||||
{
|
||||
|
@ -34,9 +34,9 @@ public class Command_list extends TFM_Command
|
||||
{
|
||||
if (TFM_SuperadminList.isUserSuperadmin(p))
|
||||
{
|
||||
if (p.isOp())
|
||||
if(TFM_SuperadminList.isSeniorAdmin(p))
|
||||
{
|
||||
prefix = (ChatColor.GOLD + "[SA+OP]");
|
||||
prefix = (ChatColor.LIGHT_PURPLE + "[SrA]");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2,6 +2,7 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_UserInfo;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.command.Command;
|
||||
@ -48,8 +49,10 @@ public class Command_orbit extends TFM_Command
|
||||
{
|
||||
strength = Math.max(1.0, Math.min(150.0, Double.parseDouble(args[1])));
|
||||
}
|
||||
catch (NumberFormatException nfex)
|
||||
catch (NumberFormatException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -57,8 +60,7 @@ public class Command_orbit extends TFM_Command
|
||||
playerdata.startOrbiting(strength);
|
||||
|
||||
p.setVelocity(new Vector(0, strength, 0));
|
||||
|
||||
sender.sendMessage(ChatColor.GRAY + "Orbiting " + p.getName());
|
||||
TFM_Util.adminAction(sender.getName(), "Orbiting " + p.getName(), true);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -45,10 +45,7 @@ public class Command_permban extends TFM_Command
|
||||
else
|
||||
{
|
||||
TFM_Util.playerMsg(sender, TotalFreedomMod.permbanned_players.size() + " permanently banned players:");
|
||||
for (String player_name : TotalFreedomMod.permbanned_players)
|
||||
{
|
||||
TFM_Util.playerMsg(sender, "- " + player_name);
|
||||
}
|
||||
TFM_Util.playerMsg(sender, ChatColor.GRAY + TFM_Util.implodeStringList(", ", TotalFreedomMod.permbanned_players));
|
||||
}
|
||||
|
||||
if (TotalFreedomMod.permbanned_ips.isEmpty())
|
||||
@ -58,10 +55,7 @@ public class Command_permban extends TFM_Command
|
||||
else
|
||||
{
|
||||
TFM_Util.playerMsg(sender, TotalFreedomMod.permbanned_ips.size() + " permanently banned IPs:");
|
||||
for (String ip_address : TotalFreedomMod.permbanned_ips)
|
||||
{
|
||||
TFM_Util.playerMsg(sender, "- " + ip_address);
|
||||
}
|
||||
TFM_Util.playerMsg(sender, ChatColor.GRAY + TFM_Util.implodeStringList(", ", TotalFreedomMod.permbanned_ips));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.command.Command;
|
||||
@ -16,7 +17,6 @@ public class Command_qdeop extends TFM_Command
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean silent = false;
|
||||
if (args.length == 2)
|
||||
{
|
||||
|
@ -28,7 +28,7 @@ public class Command_rank extends TFM_Command
|
||||
|
||||
if (args.length == 0)
|
||||
{
|
||||
TFM_Util.playerMsg(sender, sender.getName() + " is " + TFM_Util.getRank(sender), ChatColor.AQUA);
|
||||
TFM_Util.bcastMsg(sender.getName() + " is " + TFM_Util.getRank(sender), ChatColor.AQUA);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,8 @@ public class Command_rd extends TFM_Command
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
//This terminology is wrong, this doesn't remove *all* entities, by far. - Madgeek
|
||||
// This terminology is wrong, this doesn't remove *all* entities, by far. - Madgeek
|
||||
// Back when I was just a player, I didn't even know what "entity" meant... :P - Darth
|
||||
TFM_Util.adminAction(sender.getName(), "Removing all server entities.", false);
|
||||
sender.sendMessage(ChatColor.GRAY + String.valueOf(TFM_Util.wipeEntities(true, true)) + " enties removed.");
|
||||
|
||||
|
81
src/me/StevenLawson/TotalFreedomMod/Commands/Command_ro.java
Normal file
81
src/me/StevenLawson/TotalFreedomMod/Commands/Command_ro.java
Normal file
@ -0,0 +1,81 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = ADMIN_LEVEL.SUPER, source = SOURCE_TYPE_ALLOWED.BOTH, block_web_console = false, ignore_permissions = false)
|
||||
public class Command_ro extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
if(args.length < 1 || args.length > 3) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int radius = 50;
|
||||
Player target_player = null;
|
||||
Material target_block = Material.matchMaterial(args[0]);
|
||||
|
||||
if (target_block == null)
|
||||
{
|
||||
TFM_Util.playerMsg(sender, "Invalid block!");
|
||||
return true;
|
||||
}
|
||||
|
||||
if(args.length >= 2)
|
||||
{
|
||||
try
|
||||
{
|
||||
radius = Integer.parseInt(args[1]);
|
||||
}
|
||||
catch(NumberFormatException nfex)
|
||||
{
|
||||
TFM_Util.playerMsg(sender, nfex.getMessage());
|
||||
return true;
|
||||
}
|
||||
if(radius > 3000)
|
||||
{
|
||||
TFM_Util.playerMsg(sender, "What the hell are you trying to do, you stupid idiot!", ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if(args.length == 3)
|
||||
{
|
||||
try
|
||||
{
|
||||
target_player = getPlayer(args[2]);
|
||||
}
|
||||
catch (CantFindPlayerException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(target_player == null)
|
||||
{
|
||||
for(Player p : server.getOnlinePlayers())
|
||||
{
|
||||
boolean is_Op = p.isOp();
|
||||
p.setOp(true);
|
||||
server.dispatchCommand(p, "/removenear " + target_block.getId() + " " + radius);
|
||||
p.setOp(is_Op);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
boolean is_Op = target_player.isOp();
|
||||
target_player.setOp(true);
|
||||
server.dispatchCommand(target_player, "/removenear " + target_block.getId() + " " + radius);
|
||||
target_player.setOp(is_Op);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
@ -12,7 +12,8 @@ public class Command_stop extends TFM_Command
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
TFM_Util.bcastMsg("Server is going offline.", ChatColor.GRAY);
|
||||
|
||||
TFM_Util.bcastMsg("Server is going offline!", ChatColor.LIGHT_PURPLE);
|
||||
|
||||
for (Player p : server.getOnlinePlayers())
|
||||
{
|
||||
|
@ -108,6 +108,13 @@ public class TFM_Command
|
||||
List<Player> matches = server.matchPlayer(partialname);
|
||||
if (matches.isEmpty())
|
||||
{
|
||||
for(Player p : server.getOnlinePlayers())
|
||||
{
|
||||
if(p.getDisplayName().toLowerCase().indexOf(partialname) != -1)
|
||||
{
|
||||
return p;
|
||||
}
|
||||
}
|
||||
throw new CantFindPlayerException(partialname);
|
||||
}
|
||||
else
|
||||
|
@ -101,7 +101,6 @@ public class TFM_PlayerListener implements Listener
|
||||
}
|
||||
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -109,7 +108,7 @@ public class TFM_PlayerListener implements Listener
|
||||
{
|
||||
if (TotalFreedomMod.allowExplosions && TFM_SuperadminList.isSeniorAdmin(player))
|
||||
{
|
||||
Block target_block = null;
|
||||
Block target_block;
|
||||
|
||||
if (event.getAction().equals(Action.LEFT_CLICK_AIR))
|
||||
{
|
||||
@ -131,7 +130,6 @@ public class TFM_PlayerListener implements Listener
|
||||
}
|
||||
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
@ -211,7 +209,7 @@ public class TFM_PlayerListener implements Listener
|
||||
{
|
||||
Location target_pos = p.getLocation().add(0, 1, 0);
|
||||
|
||||
boolean out_of_cage = false;
|
||||
boolean out_of_cage;
|
||||
if (!target_pos.getWorld().equals(playerdata.getCagePos().getWorld()))
|
||||
{
|
||||
out_of_cage = true;
|
||||
@ -290,10 +288,22 @@ public class TFM_PlayerListener implements Listener
|
||||
try
|
||||
{
|
||||
final Player p = event.getPlayer();
|
||||
String message = event.getMessage().trim();
|
||||
|
||||
TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p);
|
||||
playerdata.incrementMsgCount();
|
||||
|
||||
// check for message repeat
|
||||
if(playerdata.getLastMessage().equalsIgnoreCase(message))
|
||||
{
|
||||
TFM_Util.playerMsg(p, "Please do not repeat messages.");
|
||||
event.setCancelled(true);
|
||||
playerdata.setLastMessage(message);
|
||||
return;
|
||||
}
|
||||
|
||||
playerdata.setLastMessage(message);
|
||||
|
||||
// check for spam
|
||||
if (playerdata.getMsgCount() > 10)
|
||||
{
|
||||
@ -321,8 +331,6 @@ public class TFM_PlayerListener implements Listener
|
||||
}
|
||||
}
|
||||
|
||||
String message = event.getMessage().trim();
|
||||
|
||||
// strip color from messages
|
||||
message = ChatColor.stripColor(message);
|
||||
|
||||
@ -333,21 +341,33 @@ public class TFM_PlayerListener implements Listener
|
||||
TFM_Util.playerMsg(p, "Message was shortened because it was too long to send.");
|
||||
}
|
||||
|
||||
// check for caps
|
||||
|
||||
// check for caps and exclamation marks
|
||||
if (message.length() >= 6)
|
||||
{
|
||||
int caps = 0;
|
||||
int excl = 0;
|
||||
for (char c : message.toCharArray())
|
||||
{
|
||||
if (Character.isUpperCase(c))
|
||||
{
|
||||
caps++;
|
||||
}
|
||||
|
||||
if(c == '!')
|
||||
{
|
||||
excl++;
|
||||
}
|
||||
}
|
||||
if (((float) caps / (float) message.length()) > 0.75) //Compute a ratio so that longer sentences can have more caps.
|
||||
if (caps > 6 || caps > 3 && ((float) caps / (float) message.length()) > 0.55)
|
||||
{
|
||||
message = message.toLowerCase();
|
||||
}
|
||||
|
||||
if(excl++ > 3)
|
||||
{
|
||||
message = message.replaceAll("!", "") + '!';
|
||||
}
|
||||
}
|
||||
|
||||
// finally, set message
|
||||
@ -472,6 +492,18 @@ public class TFM_PlayerListener implements Listener
|
||||
{
|
||||
block_command = true;
|
||||
}
|
||||
else if (Pattern.compile("^/clear").matcher(command).find())
|
||||
{
|
||||
block_command = true;
|
||||
}
|
||||
else if (!TFM_SuperadminList.isUserSuperadmin(p) && Pattern.compile("^/socialspy").matcher(command).find())
|
||||
{
|
||||
block_command = true;
|
||||
}
|
||||
else if (!TFM_SuperadminList.isUserSuperadmin(p) && Pattern.compile("^/packet").matcher(command).find())
|
||||
{
|
||||
block_command = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (block_command)
|
||||
@ -481,7 +513,7 @@ public class TFM_PlayerListener implements Listener
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerdata.isMuted())
|
||||
// block muted commands
|
||||
{
|
||||
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
||||
{
|
||||
|
@ -15,6 +15,8 @@ import org.bukkit.World;
|
||||
|
||||
public class TFM_ProtectedArea implements Serializable
|
||||
{
|
||||
private static final long serialVersionUID = -3270338811000937254L;
|
||||
|
||||
public static final double MAX_RADIUS = 50.0D;
|
||||
private static Map<String, TFM_ProtectedArea> protectedAreas = new HashMap<String, TFM_ProtectedArea>();
|
||||
private final SerializableLocation center_location;
|
||||
|
@ -45,6 +45,7 @@ public class TFM_UserInfo
|
||||
private boolean mp44_armed = false;
|
||||
private boolean mp44_firing = false;
|
||||
private int lockup_schedule_id = -1;
|
||||
private String last_message = "";
|
||||
|
||||
public TFM_UserInfo(Player player)
|
||||
{
|
||||
@ -406,4 +407,14 @@ public class TFM_UserInfo
|
||||
{
|
||||
this.lockup_schedule_id = lockup_schedule_id;
|
||||
}
|
||||
|
||||
public void setLastMessage(String last_message)
|
||||
{
|
||||
this.last_message = last_message;
|
||||
}
|
||||
|
||||
public String getLastMessage()
|
||||
{
|
||||
return this.last_message;
|
||||
}
|
||||
}
|
||||
|
@ -68,19 +68,16 @@ public class TFM_Util
|
||||
TFM_Util.bcastMsg(message, null);
|
||||
}
|
||||
|
||||
//JeromSar
|
||||
public static void playerMsg(CommandSender sender, String message, ChatColor color)
|
||||
{
|
||||
sender.sendMessage(color + message);
|
||||
}
|
||||
|
||||
//JeromSar
|
||||
public static void playerMsg(CommandSender sender, String message)
|
||||
{
|
||||
TFM_Util.playerMsg(sender, message, ChatColor.GRAY);
|
||||
}
|
||||
|
||||
//JeromSar
|
||||
public static void adminAction(String adminName, String action, boolean isRed)
|
||||
{
|
||||
TFM_Util.bcastMsg(adminName + " - " + action, (isRed ? ChatColor.RED : ChatColor.AQUA));
|
||||
@ -545,7 +542,6 @@ public class TFM_Util
|
||||
return TFM_SuperadminList.isSuperadminImpostor(user);
|
||||
}
|
||||
|
||||
//JeromSar
|
||||
public static String getRank(CommandSender sender)
|
||||
{
|
||||
if (TFM_SuperadminList.isSuperadminImpostor(sender))
|
||||
@ -571,11 +567,11 @@ public class TFM_Util
|
||||
|
||||
if (admin_entry.isSeniorAdmin())
|
||||
{
|
||||
return "a " + ChatColor.GOLD + "senior admin" + ChatColor.AQUA + ".";
|
||||
return "a " + ChatColor.LIGHT_PURPLE + "Senior Admin" + ChatColor.AQUA + ".";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "an " + ChatColor.RED + "admin" + ChatColor.AQUA + ".";
|
||||
return "a " + ChatColor.GOLD + "Super Admin" + ChatColor.AQUA + ".";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -162,8 +162,11 @@ commands:
|
||||
description: Owner Command - Broadcasts the given message with no extra formatting.
|
||||
usage: /<command> <message>
|
||||
rd:
|
||||
description: Remove all projectiles, dropped items, experience orbs, primed explosives, and minecarts. Minecarts are optional, based on if "carts" is included after the command.
|
||||
description: Superadmin command - Remove all projectiles, dropped items, experience orbs, primed explosives, and minecarts. Minecarts are optional, based on if "carts" is included after the command.
|
||||
usage: /<command> <carts>
|
||||
ro:
|
||||
description: Superadmin Command - Remove all blocks of a certain type in the radius of certain players.
|
||||
usage: /<command> <block> [radius (default=50)] [player]
|
||||
saconfig:
|
||||
description: Owner command - Manage superadmins.
|
||||
usage: /<command> <list | clean | <add|delete> <username>>
|
||||
|
Reference in New Issue
Block a user