mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-07-01 12:36:41 +00:00
Compare commits
40 Commits
Author | SHA1 | Date | |
---|---|---|---|
f8231aeb3f | |||
eddbcf515c | |||
00ac914066 | |||
179fe9d665 | |||
67c86aea24 | |||
16b02e3dec | |||
70e248202b | |||
51ef752259 | |||
b3e40462e2 | |||
73a91c02c6 | |||
7b8ba0bdf5 | |||
bd9d6114ba | |||
0435174342 | |||
796ef3d359 | |||
a3f3903760 | |||
5c99aa9a44 | |||
8292eb20ae | |||
d9e0791a3b | |||
dbfec1e86d | |||
31e03d6348 | |||
46494a2c87 | |||
b11eb0f762 | |||
730b0e2c83 | |||
60a9de7e7c | |||
8a4fa946fd | |||
9bc0859fdf | |||
742450d016 | |||
ad06bea3ae | |||
68d83fa397 | |||
fe84c3a2a0 | |||
6e5e70ac90 | |||
489549a0ea | |||
56b55eb3e2 | |||
4ef5f59fb9 | |||
d31ad2e9fc | |||
8a9dfca6d3 | |||
55ddf5a30a | |||
59e890c654 | |||
b0e62add9f | |||
7cdf1abcf2 |
@ -1,3 +1,3 @@
|
||||
#Build Number for ANT. Do not edit!
|
||||
#Wed Apr 23 17:02:21 CEST 2014
|
||||
build.number=796
|
||||
#Mon May 19 14:24:40 CEST 2014
|
||||
build.number=860
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# TotalFreedomMod banning config
|
||||
# Warning: modification of this file is not reccomended
|
||||
# Warning: modification of this file is not recomended
|
||||
#
|
||||
# Format:
|
||||
# Ip: [IP-address / UUID]:[Last login name]:[Expiry unix timestamp (0 = never)][Banned by]:[Reason]
|
||||
|
135
src/config.yml
135
src/config.yml
@ -1,33 +1,56 @@
|
||||
# TotalFreedomMod v4.1 Configuration
|
||||
# TotalFreedomMod v4.2 Configuration
|
||||
# by Madgeek1450 and DarthSalamon
|
||||
|
||||
# Block placement prevention:
|
||||
allow_fire_place: false
|
||||
allow_fire_spread: false
|
||||
allow_lava_damage: false
|
||||
allow_lava_place: false
|
||||
allow_water_place: false
|
||||
allow_fluid_spread: false
|
||||
allow_tnt_minecarts: false
|
||||
# Generic server information
|
||||
server:
|
||||
# You should change this to your server's name
|
||||
name: TotalFreedom
|
||||
|
||||
# The address your server is located at
|
||||
address: 64.34.165.5:28965
|
||||
|
||||
# Shown at the server list
|
||||
motd: TotalFreedom &8- Minecraft %mcversion%
|
||||
|
||||
# Every word in the MOTD will be a different color unless prefixed by a color code
|
||||
colorful_motd: true
|
||||
|
||||
# All players who show up as owner
|
||||
owners:
|
||||
- markbyron
|
||||
|
||||
# URL players should appeal for bans at
|
||||
ban_url: http://totalfreedom.boards.net/
|
||||
|
||||
# URL players should appeal for permanent bans at
|
||||
permban_url: http://bit.ly/TF_PermBan
|
||||
|
||||
# Blocking certain events
|
||||
allow:
|
||||
fire_place: false
|
||||
fire_spread: false
|
||||
fluid_spread: false
|
||||
lava_place: false
|
||||
lava_damage: false
|
||||
water_place: false
|
||||
tnt_minecarts: false
|
||||
explosions: false
|
||||
|
||||
# Explosion management:
|
||||
allow_explosions: false
|
||||
explosive_radius: 4.0
|
||||
|
||||
# Blocked commands:
|
||||
#
|
||||
# How blocked commands work:
|
||||
# All sections described below are delimited by colon-characters.
|
||||
# Make sure that you block a command by it's main command name, not an alias
|
||||
# -as all aliases are blocked by default. Commands are case-insensitive ofcourse.
|
||||
# You can block specific subcommands aswell. eg: /mail sendall
|
||||
# All sections described below are delimited by colon characters.
|
||||
# Make sure that you block a command by its main command name, not an alias
|
||||
# -as all aliases are blocked by default. Commands are case-insensitive.
|
||||
#
|
||||
# * The first section is a letter which indicates which rank may use this command
|
||||
# Valid ranks:
|
||||
# n - Nobody (Completely disabled)
|
||||
# c - Senior Admins (Console)
|
||||
# t - Telnet Admins (Console)
|
||||
# s - SuperAdmins
|
||||
# s - Super Admins (Any in-game admin)
|
||||
# o - Ops (Non-Ops won't be able to use it)
|
||||
#
|
||||
# * The second section is a letter which indicates what to do when a player executes that command.
|
||||
@ -74,6 +97,7 @@ blocked_commands:
|
||||
- 's:b:/tool:_'
|
||||
- 's:b://butcher:_'
|
||||
- 's:b:/scoreboard:_'
|
||||
- 's:b:/setspawn:_'
|
||||
|
||||
# Superadmin commands - Auto-eject
|
||||
- 's:a:/stop'
|
||||
@ -82,25 +106,32 @@ blocked_commands:
|
||||
- 's:a:/save-on'
|
||||
- 's:a:/save-off'
|
||||
- 's:a:/clearhistory'
|
||||
- 's:a:/mat'
|
||||
|
||||
# Spigot commands
|
||||
- 's:a:/restart'
|
||||
- 's:b:/setblock'
|
||||
|
||||
# Automatically wipe dropped objects:
|
||||
auto_wipe: true
|
||||
|
||||
# Nuking prevention:
|
||||
nuke_monitor: true
|
||||
nuke_monitor_count_break: 100
|
||||
nuke_monitor_count_place: 25
|
||||
nuke_monitor_range: 10.0
|
||||
# Nuking prevention
|
||||
nukemonitor:
|
||||
enabled: true
|
||||
count_break: 100
|
||||
count_place: 40
|
||||
range: 10.0
|
||||
|
||||
freecam_trigger_count: 10
|
||||
|
||||
# Show all attempted commands in the log, will result in duplicate log messages:
|
||||
preprocess_log: true
|
||||
|
||||
# Disable nighttime:
|
||||
disable_night: true
|
||||
# Disable certain events
|
||||
disable:
|
||||
night: true
|
||||
weather: true
|
||||
|
||||
# Disable weather:
|
||||
disable_weather: true
|
||||
|
||||
# Enable misc. features:
|
||||
landmines_enabled: false
|
||||
@ -108,24 +139,28 @@ mp44_enabled: false
|
||||
tossmob_enabled: false
|
||||
|
||||
# Moblimiter:
|
||||
mob_limiter_enabled: true
|
||||
# Max per world:
|
||||
mob_limiter_max: 50
|
||||
mob_limiter_disable_dragon: true
|
||||
mob_limiter_disable_ghast: true
|
||||
mob_limiter_disable_slime: true
|
||||
mob_limiter_disable_giant: true
|
||||
|
||||
moblimiter:
|
||||
enabled: true
|
||||
max: 50
|
||||
disable:
|
||||
dragon: true
|
||||
ghast: true
|
||||
slime: true
|
||||
giant: true
|
||||
|
||||
# Flatlands
|
||||
generate_flatlands: true
|
||||
flatlands:
|
||||
generate: true
|
||||
# Flatlands generation parameters, uses CleanroomGenerator syntax - http://dev.bukkit.org/server-mods/cleanroomgenerator/
|
||||
flatlands_generation_params: 16,stone,32,dirt,1,grass
|
||||
generate_params: 16,stone,32,dirt,1,grass
|
||||
|
||||
# Admin-Only Mode
|
||||
admin_only_mode: false
|
||||
|
||||
# Protected Areas - Protect areas so that only superadmins can directly modify blocks in those areas. WorldEdit and other such plugins might bypass this.
|
||||
protected_areas_enabled: true
|
||||
protectarea:
|
||||
enabled: true
|
||||
auto_protect_spawnpoints: true
|
||||
auto_protect_radius: 25.0
|
||||
|
||||
@ -177,30 +212,36 @@ unbannable_usernames:
|
||||
- stampylonghead
|
||||
- stampylongnose
|
||||
- dantdm
|
||||
- gizzy14gazza
|
||||
|
||||
# TwitterBot - Used to allow superadmins to verify themselves using twitter
|
||||
twitterbot_enabled: false
|
||||
twitterbot_url: ''
|
||||
twitterbot_secret: ''
|
||||
twitterbot:
|
||||
enabled: false
|
||||
url: ''
|
||||
secret: ''
|
||||
|
||||
# Pet Protect - Prevent tamed pets from being killed.
|
||||
pet_protect_enabled: true
|
||||
petprotect:
|
||||
enabled: true
|
||||
|
||||
# Logs Registration
|
||||
logs_register_password: ''
|
||||
logs_register_url: ''
|
||||
logs:
|
||||
url: ''
|
||||
secret: ''
|
||||
|
||||
# Mojang service checker
|
||||
service_checker_url: http://status.mojang.com/check
|
||||
|
||||
# HTTPD
|
||||
httpd_enabled: true
|
||||
httpd_public_folder: ./public_html
|
||||
httpd_port: 28966
|
||||
httpd:
|
||||
enabled: true
|
||||
port: 28966
|
||||
public_folder: ./public_html
|
||||
|
||||
# Inactivity Auto-Kick (Requires Essentials)
|
||||
autokick_enabled: true
|
||||
autokick:
|
||||
enabled: true
|
||||
# autokick_threshold - Percentage of server player capacity used at which players will be automatically kicked for being inactive. Range: 0.0 - 1.0
|
||||
autokick_threshold: 0.9
|
||||
threshold: 0.9
|
||||
# autokick_time - Time, in seconds, after which a player should be kicked when inactive
|
||||
autokick_time: 120
|
||||
time: 120
|
||||
|
@ -113,18 +113,15 @@ public class Command_adminworld extends TFM_Command
|
||||
|
||||
if ("add".equalsIgnoreCase(args[1]))
|
||||
{
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[2]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[2]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (player != null && TFM_AdminWorld.getInstance().addGuest(player, sender_p))
|
||||
if (TFM_AdminWorld.getInstance().addGuest(player, sender_p))
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "AdminWorld guest added: " + player.getName(), false);
|
||||
}
|
||||
@ -133,9 +130,9 @@ public class Command_adminworld extends TFM_Command
|
||||
playerMsg("Could not add player to guest list.");
|
||||
}
|
||||
}
|
||||
else if (TFM_Util.isRemoveCommand(args[1]))
|
||||
else if ("remove".equals(args[1]))
|
||||
{
|
||||
Player player = TFM_AdminWorld.getInstance().removeGuest(args[2]);
|
||||
final Player player = TFM_AdminWorld.getInstance().removeGuest(args[2]);
|
||||
if (player != null)
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "AdminWorld guest removed: " + player.getName(), false);
|
||||
|
@ -3,6 +3,7 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||
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;
|
||||
@ -36,14 +37,11 @@ public class Command_blockcmd extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
playerMsg(ex.getMessage());
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,7 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
@ -21,7 +22,7 @@ public class Command_cage extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
if (TFM_Util.isStopCommand(args[0]) && sender instanceof Player)
|
||||
if ("off".equals(args[0]) && sender instanceof Player)
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Uncaging " + sender.getName(), true);
|
||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(sender_p);
|
||||
@ -32,9 +33,9 @@ public class Command_cage extends TFM_Command
|
||||
|
||||
return true;
|
||||
}
|
||||
else if ("purge".equalsIgnoreCase(args[0]))
|
||||
else if ("purge".equals(args[0]))
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Uncaging all players.", true);
|
||||
TFM_Util.adminAction(sender.getName(), "Uncaging all players", true);
|
||||
|
||||
for (Player player : server.getOnlinePlayers())
|
||||
{
|
||||
@ -47,14 +48,11 @@ public class Command_cage extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -65,7 +63,7 @@ public class Command_cage extends TFM_Command
|
||||
|
||||
if (args.length >= 2)
|
||||
{
|
||||
if (TFM_Util.isStopCommand(args[1]))
|
||||
if ("off".equals(args[1]))
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Uncaging " + player.getName(), true);
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Minecart;
|
||||
@ -17,13 +18,12 @@ public class Command_cartsit extends TFM_Command
|
||||
|
||||
if (args.length == 1)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
targetPlayer = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
|
||||
if (targetPlayer == null)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -54,13 +54,12 @@ public class Command_creative extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -13,10 +13,9 @@ public class Command_denick extends TFM_Command
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Removing all nicknames.", false);
|
||||
TFM_Util.adminAction(sender.getName(), "Removing all nicknames", false);
|
||||
|
||||
Player[] onlinePlayers = server.getOnlinePlayers();
|
||||
for (Player player : onlinePlayers)
|
||||
for (Player player : server.getOnlinePlayers())
|
||||
{
|
||||
TFM_EssentialsBridge.getInstance().setNickname(player.getName(), null);
|
||||
}
|
||||
|
@ -1,10 +1,11 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Ban;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerList;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.command.Command;
|
||||
@ -25,14 +26,11 @@ public class Command_doom extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
final Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -54,8 +52,11 @@ public class Command_doom extends TFM_Command
|
||||
// deop
|
||||
player.setOp(false);
|
||||
|
||||
// ban IP
|
||||
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, player.getName()));
|
||||
// ban IPs
|
||||
for (String playerIp : TFM_PlayerList.getInstance().getEntry(player).getIps())
|
||||
{
|
||||
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(playerIp, player.getName()));
|
||||
}
|
||||
|
||||
// ban name
|
||||
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(player.getUniqueId(), player.getName()));
|
||||
|
@ -55,13 +55,6 @@ public class Command_enchant extends TFM_Command
|
||||
{
|
||||
for (Enchantment ench : Enchantment.values())
|
||||
{
|
||||
/*
|
||||
2013-07-20 23:17:13 [INFO] [TotalFreedomMod]: Command Error: enchant
|
||||
java.lang.NullPointerException
|
||||
at net.minecraft.server.v1_6_R2.EnchantmentDurability.canEnchant(SourceFile:33)
|
||||
at org.bukkit.craftbukkit.v1_6_R2.enchantments.CraftEnchantment.canEnchantItem(CraftEnchantment.java:55)
|
||||
at me.StevenLawson.TotalFreedomMod.Commands.Command_enchant.run(Command_enchant.java:56)
|
||||
*/
|
||||
try
|
||||
{
|
||||
if (ench.canEnchantItem(itemInHand))
|
||||
@ -122,7 +115,7 @@ public class Command_enchant extends TFM_Command
|
||||
playerMsg("Can't use this enchantment on held item.");
|
||||
}
|
||||
}
|
||||
else if (TFM_Util.isRemoveCommand(args[0]))
|
||||
else if (args[0].equals("remove"))
|
||||
{
|
||||
itemInHand.removeEnchantment(ench);
|
||||
|
||||
|
@ -19,14 +19,12 @@ public class Command_findip extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
final Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
playerMsg(ex.getMessage());
|
||||
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -13,7 +13,7 @@ public class Command_flatlands extends TFM_Command
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
if (TFM_ConfigEntry.GENERATE_FLATLANDS.getBoolean())
|
||||
if (TFM_ConfigEntry.FLATLANDS_GENERATE.getBoolean())
|
||||
{
|
||||
TFM_Flatlands.getInstance().sendToWorld(sender_p);
|
||||
}
|
||||
|
@ -81,14 +81,11 @@ public class Command_fr extends TFM_Command
|
||||
}
|
||||
else
|
||||
{
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_CommandBlocker;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -19,14 +19,11 @@ public class Command_gcmd extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,7 @@ public class Command_glist extends TFM_Command
|
||||
if (TFM_AdminList.isSeniorAdmin(sender))
|
||||
{
|
||||
TFM_PlayerList.getInstance().purgeAll();
|
||||
playerMsg("Purged playerbase");
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -52,13 +53,11 @@ public class Command_glist extends TFM_Command
|
||||
String username;
|
||||
final List<String> ips = new ArrayList<String>();
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
|
||||
final Player player = getPlayer(args[1]);
|
||||
username = player.getName();
|
||||
ips.add(player.getAddress().getAddress().getHostAddress());
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
final TFM_PlayerEntry entry = TFM_PlayerList.getInstance().getEntry(args[1]);
|
||||
|
||||
@ -71,17 +70,22 @@ public class Command_glist extends TFM_Command
|
||||
username = entry.getLastJoinName();
|
||||
ips.addAll(entry.getIps());
|
||||
}
|
||||
else
|
||||
{
|
||||
username = player.getName();
|
||||
ips.add(player.getAddress().getAddress().getHostAddress());
|
||||
}
|
||||
|
||||
String mode = args[0].toLowerCase();
|
||||
if (mode.equalsIgnoreCase("ban"))
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Banning " + username + " and IPs: " + StringUtils.join(ips, ","), true);
|
||||
|
||||
Player player = server.getPlayerExact(username);
|
||||
if (player != null)
|
||||
Player target = server.getPlayerExact(username);
|
||||
if (target != null)
|
||||
{
|
||||
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(player.getUniqueId(), player.getName()));
|
||||
player.kickPlayer("You have been banned by " + sender.getName() + "\n If you think you have been banned wrongly, appeal here: http://www.totalfreedom.boards.net");
|
||||
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(target.getUniqueId(), target.getName()));
|
||||
target.kickPlayer("You have been banned by " + sender.getName() + "\n If you think you have been banned wrongly, appeal here: http://www.totalfreedom.boards.net");
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -104,8 +108,7 @@ public class Command_glist extends TFM_Command
|
||||
for (String ip : ips)
|
||||
{
|
||||
TFM_BanManager.getInstance().unbanIp(ip);
|
||||
String[] ipParts = ip.split("\\.");
|
||||
TFM_BanManager.getInstance().unbanIp(ipParts[0] + "." + ipParts[1] + ".*.*");
|
||||
TFM_BanManager.getInstance().unbanIp(TFM_Util.getFuzzyIp(ip));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -4,8 +4,8 @@ import me.StevenLawson.TotalFreedomMod.Bridge.TFM_WorldEditBridge;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Ban;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_RollbackManager;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import net.minecraft.util.org.apache.commons.lang3.ArrayUtils;
|
||||
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
@ -27,14 +27,11 @@ public class Command_gtfo extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -79,12 +76,7 @@ public class Command_gtfo extends TFM_Command
|
||||
}
|
||||
|
||||
// ban IP address:
|
||||
String ip = player.getAddress().getAddress().getHostAddress();
|
||||
String[] ipParts = ip.split("\\.");
|
||||
if (ipParts.length == 4)
|
||||
{
|
||||
ip = String.format("%s.%s.*.*", ipParts[0], ipParts[1]);
|
||||
}
|
||||
String ip = TFM_Util.getFuzzyIp(player.getAddress().getAddress().getHostAddress());
|
||||
TFM_Util.bcastMsg(String.format("Banning: %s, IP: %s.", player.getName(), ip), ChatColor.RED);
|
||||
|
||||
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, player.getName(), sender.getName(), null, reason));
|
||||
|
@ -3,6 +3,7 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||
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;
|
||||
@ -76,18 +77,14 @@ public class Command_halt extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||
if (!playerdata.isHalted())
|
||||
{
|
||||
|
@ -29,7 +29,7 @@ public class Command_jumppads extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
if (TFM_Util.isStopCommand(args[0]))
|
||||
if ("off".equals(args[0]))
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Disabling Jumppads", false);
|
||||
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.OFF);
|
||||
@ -50,7 +50,7 @@ public class Command_jumppads extends TFM_Command
|
||||
|
||||
if (args[0].equalsIgnoreCase("sideways"))
|
||||
{
|
||||
if (TFM_Util.isStopCommand(args[1]))
|
||||
if ("off".equals(args[1]))
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Setting Jumppads mode to: Madgeek", false);
|
||||
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.MADGEEK);
|
||||
|
@ -1,6 +1,7 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@ -18,27 +19,24 @@ public class Command_lastcmd extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||
final TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||
|
||||
if (playerdata != null)
|
||||
{
|
||||
String last_command = playerdata.getLastCommand();
|
||||
if (last_command.isEmpty())
|
||||
String lastCommand = playerdata.getLastCommand();
|
||||
if (lastCommand.isEmpty())
|
||||
{
|
||||
last_command = "(none)";
|
||||
lastCommand = "(none)";
|
||||
}
|
||||
playerMsg(player.getName() + " - Last Command: " + last_command, ChatColor.GRAY);
|
||||
playerMsg(player.getName() + " - Last Command: " + lastCommand, ChatColor.GRAY);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -1,50 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import java.io.File;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PermbanList;
|
||||
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;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SENIOR, source = SourceType.ONLY_CONSOLE, blockHostConsole = true)
|
||||
@CommandParameters(description = "Download the superadmin and permban lists from the main TotalFreedom server.", usage = "/<command>")
|
||||
public class Command_listsync extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Downloading superadmin and permban lists from primary TotalFreedom server.", false);
|
||||
|
||||
try
|
||||
{
|
||||
TFM_AdminList.createBackup();
|
||||
TFM_Util.downloadFile("http://madgeekonline.com/apps/get_superadmins_raw.php", new File(TotalFreedomMod.plugin.getDataFolder(),
|
||||
TotalFreedomMod.SUPERADMIN_FILE));
|
||||
TFM_AdminList.load();
|
||||
TFM_Util.adminAction(sender.getName(), TotalFreedomMod.SUPERADMIN_FILE + " downloaded.", false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
TFM_Log.severe(ex);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
TFM_PermbanList.createBackup();
|
||||
TFM_Util.downloadFile("http://madgeekonline.com/apps/get_permbans_raw.php", new File(TotalFreedomMod.plugin.getDataFolder(),
|
||||
TotalFreedomMod.PERMBAN_FILE));
|
||||
TFM_PermbanList.load();
|
||||
TFM_Util.adminAction(sender.getName(), TotalFreedomMod.PERMBAN_FILE + " downloaded.", false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
TFM_Log.severe(ex);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
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;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Prevents new players from joining the server", usage = "/<command> <on | off>")
|
||||
public class Command_lockdown 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 (TFM_Util.isStopCommand(args[0]))
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "De-activating server lockdown", true);
|
||||
TotalFreedomMod.lockdownEnabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Activating server lockdown", true);
|
||||
TotalFreedomMod.lockdownEnabled = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||
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;
|
||||
@ -46,14 +47,11 @@ public class Command_lockup extends TFM_Command
|
||||
{
|
||||
if (args[1].equalsIgnoreCase("on"))
|
||||
{
|
||||
final Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -61,16 +59,13 @@ public class Command_lockup extends TFM_Command
|
||||
startLockup(player);
|
||||
playerMsg("Locked up " + player.getName() + ".");
|
||||
}
|
||||
else if (TFM_Util.isStopCommand(args[1]))
|
||||
else if ("off".equals(args[1]))
|
||||
{
|
||||
final Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,6 @@ import java.util.Map.Entry;
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Admin;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
@ -32,7 +31,7 @@ public class Command_logs extends TFM_Command
|
||||
|
||||
if (args.length == 1)
|
||||
{
|
||||
mode = (TFM_Util.isStopCommand(args[0]) ? LogsRegistrationMode.DELETE : LogsRegistrationMode.UPDATE);
|
||||
mode = ("off".equals(args[0]) ? LogsRegistrationMode.DELETE : LogsRegistrationMode.UPDATE);
|
||||
}
|
||||
|
||||
updateLogsRegistration(sender, sender_p, mode);
|
||||
@ -47,8 +46,8 @@ public class Command_logs extends TFM_Command
|
||||
|
||||
public static void updateLogsRegistration(final CommandSender sender, final String targetName, final String targetIP, final LogsRegistrationMode mode)
|
||||
{
|
||||
final String logsRegisterURL = TFM_ConfigEntry.LOGS_REGISTER_URL.getString();
|
||||
final String logsRegisterPassword = TFM_ConfigEntry.LOGS_REGISTER_PASSWORD.getString();
|
||||
final String logsRegisterURL = TFM_ConfigEntry.LOGS_URL.getString();
|
||||
final String logsRegisterPassword = TFM_ConfigEntry.LOGS_SECRET.getString();
|
||||
|
||||
if (logsRegisterURL == null || logsRegisterPassword == null || logsRegisterURL.isEmpty() || logsRegisterPassword.isEmpty())
|
||||
{
|
||||
|
@ -34,20 +34,14 @@ public class Command_nf extends TFM_Command
|
||||
if (matcher.find())
|
||||
{
|
||||
String displayName = matcher.group(1);
|
||||
try
|
||||
{
|
||||
|
||||
player = getPlayerByDisplayName(displayName);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
}
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
player = getPlayerByDisplayNameAlt(displayName);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
sender.sendMessage(ChatColor.GRAY + "Can't find player by nickname: " + displayName);
|
||||
return true;
|
||||
@ -80,7 +74,7 @@ public class Command_nf extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
private static Player getPlayerByDisplayName(String needle) throws PlayerNotFoundException
|
||||
private static Player getPlayerByDisplayName(String needle)
|
||||
{
|
||||
needle = needle.toLowerCase().trim();
|
||||
|
||||
@ -93,10 +87,10 @@ public class Command_nf extends TFM_Command
|
||||
}
|
||||
}
|
||||
|
||||
throw new PlayerNotFoundException();
|
||||
return null;
|
||||
}
|
||||
|
||||
private static Player getPlayerByDisplayNameAlt(String needle) throws PlayerNotFoundException
|
||||
private static Player getPlayerByDisplayNameAlt(String needle)
|
||||
{
|
||||
needle = needle.toLowerCase().trim();
|
||||
|
||||
@ -115,11 +109,6 @@ public class Command_nf extends TFM_Command
|
||||
}
|
||||
}
|
||||
|
||||
if (minEditMatch == null)
|
||||
{
|
||||
throw new PlayerNotFoundException();
|
||||
}
|
||||
|
||||
return minEditMatch;
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ public class Command_nicknyan extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
if (TFM_Util.isStopCommand(args[0]))
|
||||
if ("off".equals(args[0]))
|
||||
{
|
||||
TFM_EssentialsBridge.getInstance().setNickname(sender.getName(), null);
|
||||
playerMsg("Nickname cleared.");
|
||||
|
@ -2,6 +2,7 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.command.Command;
|
||||
@ -10,7 +11,8 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "POW!!! Right in the kisser! One of these days Alice, straight to the Moon!", usage = "/<command> <target> [power]")
|
||||
@CommandParameters(description = "POW!!! Right in the kisser! One of these days Alice, straight to the Moon!",
|
||||
usage = "/<command> <target> [<<power> | stop>]")
|
||||
public class Command_orbit extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
@ -21,14 +23,11 @@ public class Command_orbit extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -38,7 +37,7 @@ public class Command_orbit extends TFM_Command
|
||||
|
||||
if (args.length >= 2)
|
||||
{
|
||||
if (TFM_Util.isStopCommand(args[1]))
|
||||
if (args[1].equals("stop"))
|
||||
{
|
||||
playerMsg("Stopped orbiting " + player.getName());
|
||||
playerdata.stopOrbiting();
|
||||
@ -60,7 +59,7 @@ public class Command_orbit extends TFM_Command
|
||||
playerdata.startOrbiting(strength);
|
||||
|
||||
player.setVelocity(new Vector(0, strength, 0));
|
||||
TFM_Util.adminAction(sender.getName(), "Orbiting " + player.getName() + ".", false);
|
||||
TFM_Util.adminAction(sender.getName(), "Orbiting " + player.getName(), false);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -32,7 +32,6 @@ public class Command_permban extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
playerMsg("Reloading permban list...", ChatColor.RED);
|
||||
TFM_PermbanList.createBackup();
|
||||
TFM_PermbanList.load();
|
||||
dumplist(sender);
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -8,122 +9,142 @@ import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SENIOR, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Enable / disable plugins.", usage = "/<command> < <enable | disable> <pluginname> | list >", aliases = "plc")
|
||||
@CommandParameters(description = "Manage plugins", usage = "/<command> <<enable | disable | reload> <pluginname>> | list>", aliases = "plc")
|
||||
public class Command_plugincontrol extends TFM_Command
|
||||
{
|
||||
private enum CommandMode
|
||||
{
|
||||
ENABLE, DISABLE, LIST, RELOAD
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
CommandMode commandMode = null;
|
||||
if (args.length == 0 || args.length > 2)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
final PluginManager pm = server.getPluginManager();
|
||||
|
||||
if (args.length == 1)
|
||||
{
|
||||
if (args[0].equalsIgnoreCase("list"))
|
||||
{
|
||||
commandMode = CommandMode.LIST;
|
||||
}
|
||||
else if (args[0].equalsIgnoreCase("reload"))
|
||||
for (Plugin serverPlugin : pm.getPlugins())
|
||||
{
|
||||
commandMode = CommandMode.RELOAD;
|
||||
}
|
||||
}
|
||||
else if (args.length >= 2)
|
||||
{
|
||||
if (args[0].equalsIgnoreCase("enable"))
|
||||
{
|
||||
commandMode = CommandMode.ENABLE;
|
||||
}
|
||||
else if (args[0].equalsIgnoreCase("disable"))
|
||||
{
|
||||
commandMode = CommandMode.DISABLE;
|
||||
}
|
||||
final String version = serverPlugin.getDescription().getVersion();
|
||||
playerMsg(ChatColor.GRAY + "- " + (serverPlugin.isEnabled() ? ChatColor.GREEN : ChatColor.RED) + serverPlugin.getName()
|
||||
+ ChatColor.GOLD + (version != null && !version.isEmpty() ? " v" + version : "") + " by "
|
||||
+ StringUtils.join(serverPlugin.getDescription().getAuthors(), ", "));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (commandMode == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
PluginManager pluginManager = plugin.getServer().getPluginManager();
|
||||
|
||||
if (commandMode == CommandMode.LIST)
|
||||
if ("enable".equals(args[0]))
|
||||
{
|
||||
playerMsg("Plugins: " + StringUtils.join(pluginManager.getPlugins(), ", "));
|
||||
}
|
||||
else if (commandMode == CommandMode.RELOAD)
|
||||
final Plugin target = getPlugin(args[1]);
|
||||
if (target == null)
|
||||
{
|
||||
playerMsg("Disabling all plugins.");
|
||||
for (Plugin targetPlugin : pluginManager.getPlugins())
|
||||
{
|
||||
if (!targetPlugin.getName().toLowerCase().startsWith("totalfreedommod"))
|
||||
{
|
||||
pluginManager.disablePlugin(targetPlugin);
|
||||
}
|
||||
}
|
||||
|
||||
playerMsg("Enabling all plugins.");
|
||||
for (Plugin targetPlugin : pluginManager.getPlugins())
|
||||
{
|
||||
if (!targetPlugin.getName().toLowerCase().startsWith("totalfreedommod"))
|
||||
{
|
||||
pluginManager.enablePlugin(targetPlugin);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final String searchPluginName = args[1].toLowerCase().trim();
|
||||
|
||||
Plugin targetPlugin = null;
|
||||
|
||||
for (Plugin serverPlugin : pluginManager.getPlugins())
|
||||
{
|
||||
if (searchPluginName.equalsIgnoreCase(serverPlugin.getName().toLowerCase().trim()))
|
||||
{
|
||||
targetPlugin = serverPlugin;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (targetPlugin == null)
|
||||
{
|
||||
playerMsg("Plugin \"" + searchPluginName + "\" is not installed.");
|
||||
playerMsg("Plugin not found!");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
if (target.isEnabled())
|
||||
{
|
||||
if (commandMode == CommandMode.ENABLE)
|
||||
{
|
||||
pluginManager.enablePlugin(targetPlugin);
|
||||
if (targetPlugin.isEnabled())
|
||||
{
|
||||
playerMsg("Plugin \"" + targetPlugin.getName() + "\" enabled.");
|
||||
playerMsg("Plugin is already enabled.");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
pm.enablePlugin(target);
|
||||
|
||||
if (!pm.isPluginEnabled(target))
|
||||
{
|
||||
playerMsg("Error enabling plugin \"" + targetPlugin.getName() + "\".");
|
||||
playerMsg("Error enabling plugin " + target.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
playerMsg(target.getName() + " is now enabled.");
|
||||
return true;
|
||||
}
|
||||
|
||||
if ("disable".equals(args[0]))
|
||||
{
|
||||
final Plugin target = getPlugin(args[1]);
|
||||
if (target == null)
|
||||
{
|
||||
playerMsg("Plugin not found!");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!target.isEnabled())
|
||||
{
|
||||
playerMsg("Plugin is already disabled.");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (target.getName().equals(plugin.getName()))
|
||||
{
|
||||
playerMsg("You cannot disable " + plugin.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
pm.disablePlugin(target);
|
||||
|
||||
if (pm.isPluginEnabled(target))
|
||||
{
|
||||
playerMsg("Error disabling plugin " + target.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
playerMsg(target.getName() + " is now disabled.");
|
||||
return true;
|
||||
}
|
||||
|
||||
if ("reload".equals(args[0]))
|
||||
{
|
||||
final Plugin target = getPlugin(args[1]);
|
||||
if (target == null)
|
||||
{
|
||||
playerMsg("Plugin not found!");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (target.getName().equals(plugin.getName()))
|
||||
{
|
||||
playerMsg("Use /tfm reload to reload instead.");
|
||||
return true;
|
||||
}
|
||||
|
||||
pm.disablePlugin(target);
|
||||
pm.enablePlugin(target);
|
||||
playerMsg(target.getName() + " reloaded.");
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public Plugin getPlugin(String name)
|
||||
{
|
||||
for (Plugin serverPlugin : server.getPluginManager().getPlugins())
|
||||
{
|
||||
if (serverPlugin.getName().equalsIgnoreCase(name))
|
||||
{
|
||||
return serverPlugin;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
if (name.length() >= 3)
|
||||
{
|
||||
pluginManager.disablePlugin(targetPlugin);
|
||||
if (!targetPlugin.isEnabled())
|
||||
for (Plugin serverPlugin : server.getPluginManager().getPlugins())
|
||||
{
|
||||
playerMsg("Plugin \"" + targetPlugin.getName() + "\" disabled.");
|
||||
}
|
||||
else
|
||||
if (serverPlugin.getName().toLowerCase().contains(name.toLowerCase()))
|
||||
{
|
||||
playerMsg("Error disabling plugin \"" + targetPlugin.getName() + "\".");
|
||||
}
|
||||
return serverPlugin;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -57,14 +57,12 @@ public class Command_potion extends TFM_Command
|
||||
Player target = sender_p;
|
||||
|
||||
if (args.length == 2)
|
||||
{
|
||||
try
|
||||
{
|
||||
target = getPlayer(args[1]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
|
||||
if (target == null)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -103,13 +101,12 @@ public class Command_potion extends TFM_Command
|
||||
|
||||
if (args.length == 5)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
target = getPlayer(args[4]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
|
||||
if (target == null)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -23,17 +23,18 @@ public class Command_premium extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
String name;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
final String name;
|
||||
|
||||
if (player != null)
|
||||
{
|
||||
name = getPlayer(args[0]).getName();
|
||||
name = player.getName();
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
else
|
||||
{
|
||||
name = args[0];
|
||||
}
|
||||
|
||||
final String playername = name;
|
||||
new BukkitRunnable()
|
||||
{
|
||||
@Override
|
||||
@ -41,7 +42,7 @@ public class Command_premium extends TFM_Command
|
||||
{
|
||||
try
|
||||
{
|
||||
final URL getUrl = new URL("https://minecraft.net/haspaid.jsp?user=" + playername);
|
||||
final URL getUrl = new URL("https://minecraft.net/haspaid.jsp?user=" + name);
|
||||
final URLConnection urlConnection = getUrl.openConnection();
|
||||
// Read the response
|
||||
final BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
|
||||
@ -53,7 +54,7 @@ public class Command_premium extends TFM_Command
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
playerMsg("Player " + playername + " is premium: " + message);
|
||||
playerMsg("Player " + name + " is premium: " + message);
|
||||
}
|
||||
}.runTask(plugin);
|
||||
|
||||
|
@ -17,7 +17,7 @@ public class Command_protectarea extends TFM_Command
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
if (!TFM_ConfigEntry.PROTECTED_AREAS_ENABLED.getBoolean())
|
||||
if (!TFM_ConfigEntry.PROTECTAREA_ENABLED.getBoolean())
|
||||
{
|
||||
playerMsg("Protected areas are currently disabled in the TotalFreedomMod configuration.");
|
||||
return true;
|
||||
@ -44,7 +44,7 @@ public class Command_protectarea extends TFM_Command
|
||||
}
|
||||
else if (args.length == 2)
|
||||
{
|
||||
if (TFM_Util.isRemoveCommand(args[0]))
|
||||
if ("remove".equals(args[0]))
|
||||
{
|
||||
TFM_ProtectedArea.removeProtectedArea(args[1]);
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerRank;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@ -33,17 +34,15 @@ public class Command_rank extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
playerMsg(player.getName() + " is " + TFM_PlayerRank.fromSender(player).getLoginMessage(), ChatColor.AQUA);
|
||||
|
||||
return true;
|
||||
|
@ -3,6 +3,7 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
@ -66,14 +67,11 @@ public class Command_ro extends TFM_Command
|
||||
|
||||
final Player targetPlayer;
|
||||
if (args.length == 3)
|
||||
{
|
||||
try
|
||||
{
|
||||
targetPlayer = getPlayer(args[2]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
if (targetPlayer == null)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -85,17 +85,12 @@ public class Command_rollback extends TFM_Command
|
||||
{
|
||||
String playerName = null;
|
||||
|
||||
try
|
||||
{
|
||||
Player player = getPlayer(playerNameInput);
|
||||
|
||||
final Player player = getPlayer(playerNameInput);
|
||||
if (player != null)
|
||||
{
|
||||
playerName = player.getName();
|
||||
}
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
}
|
||||
|
||||
if (playerName == null)
|
||||
{
|
||||
|
@ -15,7 +15,8 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Manage superadmins.", usage = "/<command> <list | clean | <add|delete|info> <username>>")
|
||||
@CommandParameters(description = "Manage superadmins.",
|
||||
usage = "/<command> <list | clean | clear [ip] | <add | delete | info> <username>>")
|
||||
public class Command_saconfig extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
@ -36,7 +37,6 @@ public class Command_saconfig extends TFM_Command
|
||||
|
||||
if (args[0].equals("clean"))
|
||||
{
|
||||
|
||||
if (!TFM_AdminList.isSeniorAdmin(sender, true))
|
||||
{
|
||||
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||
@ -48,40 +48,96 @@ public class Command_saconfig extends TFM_Command
|
||||
playerMsg("Superadmins: " + StringUtils.join(TFM_AdminList.getSuperNames(), ", "), ChatColor.YELLOW);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("info"))
|
||||
{
|
||||
// All commands below are superadmin+ commands.
|
||||
if (!TFM_AdminList.isSuperAdmin(sender))
|
||||
{
|
||||
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("clear"))
|
||||
{
|
||||
if (senderIsConsole)
|
||||
{
|
||||
playerMsg(TotalFreedomMod.NOT_FROM_CONSOLE);
|
||||
return true;
|
||||
}
|
||||
|
||||
final TFM_Admin admin = TFM_AdminList.getEntry(sender_p);
|
||||
|
||||
final String ip = TFM_Util.getIp(sender_p);
|
||||
|
||||
if (args.length == 1)
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Cleaning my supered IPs", true);
|
||||
|
||||
int counter = 0;
|
||||
for (int i = 0; i < admin.getIps().size(); i++)
|
||||
{
|
||||
if (admin.getIps().get(i).equals(ip))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
admin.removeIp(admin.getIps().get(i));
|
||||
counter++;
|
||||
}
|
||||
|
||||
TFM_AdminList.save();
|
||||
|
||||
playerMsg(counter + " IPs removed.");
|
||||
playerMsg(admin.getIps().get(0) + " is now your only IP address");
|
||||
return true;
|
||||
}
|
||||
|
||||
// args.length == 2
|
||||
if (!admin.getIps().contains(args[1]))
|
||||
{
|
||||
playerMsg("That IP is not registered to you.");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (ip.equals(args[1]))
|
||||
{
|
||||
playerMsg("You cannot remove your current IP.");
|
||||
return true;
|
||||
}
|
||||
|
||||
TFM_Util.adminAction(sender.getName(), "Removing a supered IP", true);
|
||||
|
||||
admin.removeIp(args[1]);
|
||||
TFM_AdminList.save();
|
||||
|
||||
playerMsg("Removed IP " + args[1]);
|
||||
playerMsg("Current IPs: " + StringUtils.join(admin.getIps(), ", "));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("info"))
|
||||
{
|
||||
|
||||
TFM_Admin superadmin = TFM_AdminList.getEntry(args[1].toLowerCase());
|
||||
|
||||
if (superadmin == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
superadmin = TFM_AdminList.getEntry(getPlayer(args[1]).getName().toLowerCase());
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
|
||||
final Player player = getPlayer(args[1]);
|
||||
|
||||
if (player != null)
|
||||
{
|
||||
superadmin = TFM_AdminList.getEntry(player.getName().toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
if (superadmin == null)
|
||||
{
|
||||
playerMsg("Superadmin not found: " + args[1]);
|
||||
}
|
||||
else
|
||||
{
|
||||
playerMsg(superadmin.toString());
|
||||
return true;
|
||||
}
|
||||
|
||||
playerMsg(superadmin.toString());
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -91,21 +147,17 @@ public class Command_saconfig extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("add"))
|
||||
if (args[0].equals("add"))
|
||||
{
|
||||
OfflinePlayer player;
|
||||
OfflinePlayer player = getPlayer(args[1]);
|
||||
|
||||
try
|
||||
{
|
||||
player = getPlayer(args[1]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
if (player == null)
|
||||
{
|
||||
final TFM_Admin superadmin = TFM_AdminList.getEntry(args[1]);
|
||||
|
||||
if (superadmin == null)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -118,7 +170,7 @@ public class Command_saconfig extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
if (TFM_Util.isRemoveCommand(args[0]))
|
||||
if ("delete".equals(args[0]))
|
||||
{
|
||||
if (!TFM_AdminList.isSeniorAdmin(sender))
|
||||
{
|
||||
@ -128,12 +180,12 @@ public class Command_saconfig extends TFM_Command
|
||||
|
||||
String targetName = args[1];
|
||||
|
||||
try
|
||||
{
|
||||
targetName = getPlayer(targetName).getName();
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
|
||||
final Player player = getPlayer(targetName);
|
||||
|
||||
if (player != null)
|
||||
{
|
||||
targetName = player.getName();
|
||||
}
|
||||
|
||||
if (!TFM_AdminList.getLowerSuperNames().contains(targetName.toLowerCase()))
|
||||
|
@ -20,9 +20,9 @@ public class Command_setspawnworld extends TFM_Command
|
||||
|
||||
playerMsg("Spawn location for this world set to: " + TFM_Util.formatLocation(sender_p.getWorld().getSpawnLocation()));
|
||||
|
||||
if (TFM_ConfigEntry.PROTECTED_AREAS_ENABLED.getBoolean() && TFM_ConfigEntry.AUTO_PROTECT_SPAWNPOINTS.getBoolean())
|
||||
if (TFM_ConfigEntry.PROTECTAREA_ENABLED.getBoolean() && TFM_ConfigEntry.PROTECTAREA_SPAWNPOINTS.getBoolean())
|
||||
{
|
||||
TFM_ProtectedArea.addProtectedArea("spawn_" + sender_p.getWorld().getName(), pos, TFM_ConfigEntry.AUTO_PROTECT_RADIUS.getDouble());
|
||||
TFM_ProtectedArea.addProtectedArea("spawn_" + sender_p.getWorld().getName(), pos, TFM_ConfigEntry.PROTECTAREA_RADIUS.getDouble());
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -1,6 +1,7 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
@ -21,14 +22,11 @@ public class Command_smite extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -98,14 +98,11 @@ public class Command_stfu extends TFM_Command
|
||||
}
|
||||
else
|
||||
{
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
sender.sendMessage(ex.getMessage());
|
||||
sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@ -51,14 +50,12 @@ public class Command_survival extends TFM_Command
|
||||
}
|
||||
|
||||
if (senderIsConsole || TFM_AdminList.isSuperAdmin(sender))
|
||||
{
|
||||
try
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -6,13 +6,14 @@ import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Sets yourself a prefix", usage = "/<command> <<prefix> | off | clear <player> | clearall>")
|
||||
@CommandParameters(description = "Sets yourself a prefix", usage = "/<command> <set <tag..> | off | clear <player> | clearall>")
|
||||
public class Command_tag extends TFM_Command
|
||||
{
|
||||
public static final List<String> FORBIDDEN_WORDS = Arrays.asList(new String[]
|
||||
@ -23,6 +24,11 @@ public class Command_tag 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 (args.length == 1)
|
||||
{
|
||||
if ("clearall".equals(args[0]))
|
||||
@ -56,7 +62,7 @@ public class Command_tag extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
if (TFM_Util.isStopCommand(args[0]))
|
||||
if ("remove".equals(args[0]))
|
||||
{
|
||||
TFM_PlayerData.getPlayerData(sender_p).setTag(null);
|
||||
playerMsg("Your tag has been removed.");
|
||||
@ -69,12 +75,46 @@ public class Command_tag extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args.length == 2)
|
||||
{
|
||||
if ("clear".equals(args[0]))
|
||||
{
|
||||
if (!TFM_AdminList.isSuperAdmin(sender))
|
||||
{
|
||||
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||
return true;
|
||||
}
|
||||
|
||||
final Player player = getPlayer(args[1]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
TFM_PlayerData.getPlayerData(player).setTag(null);
|
||||
playerMsg("Removed " + player.getName() + "'s tag.");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if ("set".equals(args[0]))
|
||||
{
|
||||
final String tag = StringUtils.join(args, " ", 1, args.length);
|
||||
|
||||
if (!TFM_AdminList.isSuperAdmin(sender))
|
||||
{
|
||||
for (String word : FORBIDDEN_WORDS)
|
||||
{
|
||||
if (args[0].toLowerCase().contains(word.toLowerCase()))
|
||||
if (!tag.toLowerCase().contains(word))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (word.contains(String.valueOf(ChatColor.COLOR_CHAR)))
|
||||
{
|
||||
playerMsg("That tag contains a forbidden color-code.");
|
||||
@ -85,43 +125,14 @@ public class Command_tag extends TFM_Command
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
TFM_PlayerData.getPlayerData(sender_p).setTag(args[0]);
|
||||
playerMsg("Tag set.");
|
||||
TFM_PlayerData.getPlayerData(sender_p).setTag(TFM_Util.colorize(tag));
|
||||
playerMsg("Tag set to " + TFM_Util.colorize(tag));
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (args.length == 2)
|
||||
{
|
||||
if ("clear".equals(args[0]))
|
||||
{
|
||||
if (!TFM_AdminList.isSuperAdmin(sender))
|
||||
{
|
||||
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||
return true;
|
||||
}
|
||||
|
||||
final Player player;
|
||||
try
|
||||
{
|
||||
player = getPlayer(args[1]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
playerMsg(ex.getMessage());
|
||||
return true;
|
||||
}
|
||||
|
||||
TFM_PlayerData.getPlayerData(player).setTag(null);
|
||||
playerMsg("Removed " + player.getName() + "'s tag.");
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -0,0 +1,37 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.OP, source = SourceType.ONLY_IN_GAME)
|
||||
@CommandParameters(description = "Gives you a tag with random colors", usage = "/<command> <tag>", aliases = "tn")
|
||||
public class Command_tagnyan 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;
|
||||
}
|
||||
|
||||
final StringBuilder tag = new StringBuilder();
|
||||
|
||||
for (char c : ChatColor.stripColor(TFM_Util.colorize(StringUtils.join(args, " "))).toCharArray())
|
||||
{
|
||||
tag.append(TFM_Util.randomChatColor()).append(c);
|
||||
}
|
||||
|
||||
final TFM_PlayerData data = TFM_PlayerData.getPlayerData(sender_p);
|
||||
data.setTag(tag.toString());
|
||||
|
||||
playerMsg("Set tag to " + tag);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -4,6 +4,7 @@ import me.StevenLawson.TotalFreedomMod.TFM_Ban;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.Command;
|
||||
@ -22,14 +23,11 @@ public class Command_tban extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND, ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -4,11 +4,10 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Ban;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import net.minecraft.util.org.apache.commons.lang3.ArrayUtils;
|
||||
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -28,14 +27,11 @@ public class Command_tempban extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player;
|
||||
try
|
||||
final Player player = getPlayer(args[0]);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = getPlayer(args[0]);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
{
|
||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||
playerMsg(TotalFreedomMod.PLAYER_NOT_FOUND);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_CommandBlocker;
|
||||
@ -35,8 +36,7 @@ public class Command_tfm extends TFM_Command
|
||||
TFM_PermbanList.load();
|
||||
TFM_PlayerList.getInstance().load();
|
||||
TFM_BanManager.getInstance().load();
|
||||
|
||||
TFM_CommandBlocker.getInstance().parseBlockingRules();
|
||||
TFM_CommandBlocker.getInstance().load();
|
||||
|
||||
|
||||
final String message = String.format("%s v%s.%s reloaded.",
|
||||
@ -58,6 +58,7 @@ public class Command_tfm extends TFM_Command
|
||||
TotalFreedomMod.buildNumber,
|
||||
TotalFreedomMod.buildDate,
|
||||
TotalFreedomMod.buildCreator), ChatColor.GOLD);
|
||||
playerMsg("Running on " + TFM_ConfigEntry.SERVER_NAME.getString() + ".", ChatColor.GOLD);
|
||||
playerMsg("Created by Madgeek1450 and DarthSalamon.", ChatColor.GOLD);
|
||||
playerMsg("Visit " + ChatColor.AQUA + "http://totalfreedom.me/" + ChatColor.GREEN + " for more information.", ChatColor.GREEN);
|
||||
|
||||
|
@ -4,6 +4,7 @@ import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_GameRuleHandler;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_GameRuleHandler.TFM_GameRule;
|
||||
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;
|
||||
@ -27,6 +28,7 @@ public class Command_toggle extends TFM_Command
|
||||
playerMsg("- lavadmg");
|
||||
playerMsg("- firespread");
|
||||
playerMsg("- prelog");
|
||||
playerMsg("- lockdown");
|
||||
playerMsg("- petprotect");
|
||||
playerMsg("- droptoggle");
|
||||
playerMsg("- nonuke");
|
||||
@ -74,13 +76,20 @@ public class Command_toggle extends TFM_Command
|
||||
|
||||
if (args[0].equals("prelog"))
|
||||
{
|
||||
toggle("Command prelogging is", TFM_ConfigEntry.PREPROCESS_LOG_ENABLED);
|
||||
toggle("Command prelogging is", TFM_ConfigEntry.ENABLE_PREPROCESS_LOG);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("lockdown"))
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), (TotalFreedomMod.lockdownEnabled ? "De-a" : "A") + "ctivating server lockdown", true);
|
||||
TotalFreedomMod.lockdownEnabled = !TotalFreedomMod.lockdownEnabled;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("petprotect"))
|
||||
{
|
||||
toggle("Tamed pet protection is", TFM_ConfigEntry.PET_PROTECT_ENABLED);
|
||||
toggle("Tamed pet protection is", TFM_ConfigEntry.ENABLE_PET_PROTECT);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -114,9 +123,9 @@ public class Command_toggle extends TFM_Command
|
||||
}
|
||||
}
|
||||
|
||||
toggle("Nuke monitor is", TFM_ConfigEntry.NUKE_MONITOR);
|
||||
toggle("Nuke monitor is", TFM_ConfigEntry.NUKE_MONITOR_ENABLED);
|
||||
|
||||
if (TFM_ConfigEntry.NUKE_MONITOR.getBoolean())
|
||||
if (TFM_ConfigEntry.NUKE_MONITOR_ENABLED.getBoolean())
|
||||
{
|
||||
playerMsg("Anti-freecam range is set to " + TFM_ConfigEntry.NUKE_MONITOR_RANGE.getDouble() + " blocks.");
|
||||
playerMsg("Block throttle rate is set to " + TFM_ConfigEntry.NUKE_MONITOR_COUNT_BREAK.getInteger() + " blocks destroyed per 5 seconds.");
|
||||
|
@ -13,7 +13,8 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.OP, source = SourceType.ONLY_IN_GAME)
|
||||
@CommandParameters(description = "Throw a mob in the direction you are facing when you left click with a stick.", usage = "/<command> <mobtype [speed] | off | list>")
|
||||
@CommandParameters(description = "Throw a mob in the direction you are facing when you left click with a stick.",
|
||||
usage = "/<command> <mobtype [speed] | off | list>")
|
||||
public class Command_tossmob extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
@ -30,7 +31,7 @@ public class Command_tossmob extends TFM_Command
|
||||
EntityType creature = EntityType.PIG;
|
||||
if (args.length >= 1)
|
||||
{
|
||||
if (TFM_Util.isStopCommand(args[0]))
|
||||
if ("off".equals(args[0]))
|
||||
{
|
||||
playerData.disableMobThrower();
|
||||
playerMsg("MobThrower is disabled.", ChatColor.GREEN);
|
||||
|
@ -28,7 +28,7 @@ public class Command_trail extends TFM_Command
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
if (args.length > 0 && TFM_Util.isStopCommand(args[0]))
|
||||
if (args.length > 0 && "off".equals(args[0]))
|
||||
{
|
||||
trailPlayers.remove(sender_p);
|
||||
|
||||
|
@ -88,12 +88,9 @@ public class Command_whitelist extends TFM_Command
|
||||
|
||||
String search_name = args[1].trim().toLowerCase();
|
||||
|
||||
OfflinePlayer player;
|
||||
try
|
||||
{
|
||||
player = getPlayer(search_name);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
OfflinePlayer player = getPlayer(search_name);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = server.getOfflinePlayer(search_name);
|
||||
}
|
||||
@ -104,7 +101,7 @@ public class Command_whitelist extends TFM_Command
|
||||
}
|
||||
|
||||
// remove
|
||||
if (TFM_Util.isRemoveCommand(args[0]))
|
||||
if ("remove".equals(args[0]))
|
||||
{
|
||||
if (args.length < 2)
|
||||
{
|
||||
@ -113,12 +110,9 @@ public class Command_whitelist extends TFM_Command
|
||||
|
||||
String search_name = args[1].trim().toLowerCase();
|
||||
|
||||
OfflinePlayer player;
|
||||
try
|
||||
{
|
||||
player = getPlayer(search_name);
|
||||
}
|
||||
catch (PlayerNotFoundException ex)
|
||||
OfflinePlayer player = getPlayer(search_name);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
player = server.getOfflinePlayer(search_name);
|
||||
}
|
||||
|
@ -0,0 +1,29 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import java.io.File;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SENIOR, source = SourceType.ONLY_CONSOLE)
|
||||
@CommandParameters(description = "Removes essentials playerdata", usage = "/<command>")
|
||||
public class Command_wipeuserdata extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
if (!server.getPluginManager().isPluginEnabled("Essentials"))
|
||||
{
|
||||
playerMsg("Essentials is not enabled on this server");
|
||||
return true;
|
||||
}
|
||||
|
||||
TFM_Util.adminAction(sender.getName(), "Wiping Essentials playerdata", true);
|
||||
|
||||
TFM_Util.deleteFolder(new File(server.getPluginManager().getPlugin("Essentials").getDataFolder(), "userdata"));
|
||||
|
||||
playerMsg("All playerdata deleted.");
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
|
||||
public class PlayerNotFoundException extends Exception
|
||||
{
|
||||
// apparently, java needs this
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public PlayerNotFoundException()
|
||||
{
|
||||
super(ChatColor.GRAY + "Can't find player.");
|
||||
}
|
||||
|
||||
public PlayerNotFoundException(String msg)
|
||||
{
|
||||
super(ChatColor.GRAY + "Can't find player: " + msg);
|
||||
}
|
||||
}
|
@ -28,7 +28,7 @@ public abstract class TFM_Command
|
||||
public void setup(final TotalFreedomMod plugin, final CommandSender commandSender, final Class<?> commandClass)
|
||||
{
|
||||
this.plugin = plugin;
|
||||
this.server = this.plugin.getServer();
|
||||
this.server = plugin.getServer();
|
||||
this.commandSender = commandSender;
|
||||
this.commandClass = commandClass;
|
||||
}
|
||||
@ -134,7 +134,7 @@ public abstract class TFM_Command
|
||||
return true;
|
||||
}
|
||||
|
||||
public Player getPlayer(final String partialname) throws PlayerNotFoundException
|
||||
public Player getPlayer(final String partialname)
|
||||
{
|
||||
List<Player> matches = server.matchPlayer(partialname);
|
||||
if (matches.isEmpty())
|
||||
@ -146,7 +146,7 @@ public abstract class TFM_Command
|
||||
return player;
|
||||
}
|
||||
}
|
||||
throw new PlayerNotFoundException(partialname);
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -4,60 +4,76 @@ import java.util.List;
|
||||
|
||||
public enum TFM_ConfigEntry
|
||||
{
|
||||
ADMIN_ONLY_MODE(Boolean.class, "admin_only_mode"),
|
||||
ALLOW_EXPLOSIONS(Boolean.class, "allow_explosions"),
|
||||
ALLOW_FIRE_PLACE(Boolean.class, "allow_fire_place"),
|
||||
ALLOW_FIRE_SPREAD(Boolean.class, "allow_fire_spread"),
|
||||
ALLOW_FLUID_SPREAD(Boolean.class, "allow_fluid_spread"),
|
||||
ALLOW_LAVA_DAMAGE(Boolean.class, "allow_lava_damage"),
|
||||
ALLOW_LAVA_PLACE(Boolean.class, "allow_lava_place"),
|
||||
ALLOW_TNT_MINECARTS(Boolean.class, "allow_tnt_minecarts"),
|
||||
ALLOW_WATER_PLACE(Boolean.class, "allow_water_place"),
|
||||
AUTO_ENTITY_WIPE(Boolean.class, "auto_wipe"),
|
||||
AUTO_PROTECT_SPAWNPOINTS(Boolean.class, "auto_protect_spawnpoints"),
|
||||
DISABLE_NIGHT(Boolean.class, "disable_night"),
|
||||
DISABLE_WEATHER(Boolean.class, "disable_weather"),
|
||||
GENERATE_FLATLANDS(Boolean.class, "generate_flatlands"),
|
||||
ALLOW_EXPLOSIONS(Boolean.class, "allow.explosions"),
|
||||
ALLOW_FIRE_PLACE(Boolean.class, "allow.fire_place"),
|
||||
ALLOW_FIRE_SPREAD(Boolean.class, "allow.fire_spread"),
|
||||
ALLOW_FLUID_SPREAD(Boolean.class, "allow.fluid_spread"),
|
||||
ALLOW_LAVA_DAMAGE(Boolean.class, "allow.lava_damage"),
|
||||
ALLOW_LAVA_PLACE(Boolean.class, "allow.lava_place"),
|
||||
ALLOW_TNT_MINECARTS(Boolean.class, "allow.tnt_minecarts"),
|
||||
ALLOW_WATER_PLACE(Boolean.class, "allow.water_place"),
|
||||
//
|
||||
MOB_LIMITER_ENABLED(Boolean.class, "moblimiter.enabled"),
|
||||
MOB_LIMITER_MAX(Integer.class, "moblimiter.max"),
|
||||
MOB_LIMITER_DISABLE_DRAGON(Boolean.class, "moblimiter.disable.dragon"),
|
||||
MOB_LIMITER_DISABLE_GHAST(Boolean.class, "moblimiter.disable.ghast"),
|
||||
MOB_LIMITER_DISABLE_GIANT(Boolean.class, "moblimiter.disable.giant"),
|
||||
MOB_LIMITER_DISABLE_SLIME(Boolean.class, "moblimiter.disable.slime"),
|
||||
//
|
||||
HTTPD_ENABLED(Boolean.class, "httpd.enabled"),
|
||||
HTTPD_PORT(Integer.class, "httpd.port"),
|
||||
HTTPD_PUBLIC_FOLDER(String.class, "httpd.public_folder"),
|
||||
//
|
||||
SERVER_COLORFUL_MOTD(Boolean.class, "server.colorful_motd"),
|
||||
SERVER_NAME(String.class, "server.name"),
|
||||
SERVER_ADDRESS(String.class, "server.address"),
|
||||
SERVER_MOTD(String.class, "server.motd"),
|
||||
SERVER_OWNERS(List.class, "server.owners"),
|
||||
SERVER_BAN_URL(String.class, "server.ban_url"),
|
||||
SERVER_PERMBAN_URL(String.class, "server.permban_url"),
|
||||
//
|
||||
TWITTERBOT_ENABLED(Boolean.class, "twitterbot.enabled"),
|
||||
TWITTERBOT_SECRET(String.class, "twitterbot.secret"),
|
||||
TWITTERBOT_URL(String.class, "twitterbot.url"),
|
||||
//
|
||||
DISABLE_NIGHT(Boolean.class, "disable.night"),
|
||||
DISABLE_WEATHER(Boolean.class, "disable.weather"),
|
||||
//
|
||||
ENABLE_PREPROCESS_LOG(Boolean.class, "preprocess_log"),
|
||||
ENABLE_PET_PROTECT(Boolean.class, "petprotect.enabled"),
|
||||
//
|
||||
LANDMINES_ENABLED(Boolean.class, "landmines_enabled"),
|
||||
MOB_LIMITER_DISABLE_DRAGON(Boolean.class, "mob_limiter_disable_dragon"),
|
||||
MOB_LIMITER_DISABLE_GHAST(Boolean.class, "mob_limiter_disable_ghast"),
|
||||
MOB_LIMITER_DISABLE_GIANT(Boolean.class, "mob_limiter_disable_giant"),
|
||||
MOB_LIMITER_DISABLE_SLIME(Boolean.class, "mob_limiter_disable_slime"),
|
||||
MOB_LIMITER_ENABLED(Boolean.class, "mob_limiter_enabled"),
|
||||
MP44_ENABLED(Boolean.class, "mp44_enabled"),
|
||||
NUKE_MONITOR(Boolean.class, "nuke_monitor"),
|
||||
PET_PROTECT_ENABLED(Boolean.class, "pet_protect_enabled"),
|
||||
PREPROCESS_LOG_ENABLED(Boolean.class, "preprocess_log"),
|
||||
PROTECTED_AREAS_ENABLED(Boolean.class, "protected_areas_enabled"),
|
||||
TOSSMOB_ENABLED(Boolean.class, "tossmob_enabled"),
|
||||
TWITTERBOT_ENABLED(Boolean.class, "twitterbot_enabled"),
|
||||
HTTPD_ENABLED(Boolean.class, "httpd_enabled"),
|
||||
AUTOKICK_ENABLED(Boolean.class, "autokick_enabled"),
|
||||
CONSOLE_IS_SENIOR(Boolean.class, "console_is_senior"),
|
||||
AUTOKICK_ENABLED(Boolean.class, "autokick.enabled"),
|
||||
MP44_ENABLED(Boolean.class, "mp44_enabled"),
|
||||
//
|
||||
PROTECTAREA_ENABLED(Boolean.class, "protectarea.enabled"),
|
||||
PROTECTAREA_SPAWNPOINTS(Boolean.class, "protectarea.auto_protect_spawnpoints"),
|
||||
PROTECTAREA_RADIUS(Double.class, "protectarea.auto_protect_radius"),
|
||||
//
|
||||
NUKE_MONITOR_ENABLED(Boolean.class, "nukemonitor.enabled"),
|
||||
NUKE_MONITOR_COUNT_BREAK(Integer.class, "nukemonitor.count_break"),
|
||||
NUKE_MONITOR_COUNT_PLACE(Integer.class, "nukemonitor.count_place"),
|
||||
NUKE_MONITOR_RANGE(Double.class, "nukemonitor.range"),
|
||||
//
|
||||
AUTOKICK_THRESHOLD(Double.class, "autokick.threshold"),
|
||||
AUTOKICK_TIME(Integer.class, "autokick.time"),
|
||||
//
|
||||
LOGS_SECRET(String.class, "logs.secret"),
|
||||
LOGS_URL(String.class, "logs.url"),
|
||||
//
|
||||
FLATLANDS_GENERATE(Boolean.class, "flatlands.generate"),
|
||||
FLATLANDS_GENERATE_PARAMS(String.class, "flatlands.generate_params"),
|
||||
//
|
||||
AUTO_PROTECT_RADIUS(Double.class, "auto_protect_radius"),
|
||||
EXPLOSIVE_RADIUS(Double.class, "explosive_radius"),
|
||||
NUKE_MONITOR_RANGE(Double.class, "nuke_monitor_range"),
|
||||
AUTOKICK_THRESHOLD(Double.class, "autokick_threshold"),
|
||||
//
|
||||
FREECAM_TRIGGER_COUNT(Integer.class, "freecam_trigger_count"),
|
||||
MOB_LIMITER_MAX(Integer.class, "mob_limiter_max"),
|
||||
NUKE_MONITOR_COUNT_BREAK(Integer.class, "nuke_monitor_count_break"),
|
||||
NUKE_MONITOR_COUNT_PLACE(Integer.class, "nuke_monitor_count_place"),
|
||||
HTTPD_PORT(Integer.class, "httpd_port"),
|
||||
AUTOKICK_TIME(Integer.class, "autokick_time"),
|
||||
//
|
||||
FLATLANDS_GENERATION_PARAMS(String.class, "flatlands_generation_params"),
|
||||
LOGS_REGISTER_PASSWORD(String.class, "logs_register_password"),
|
||||
LOGS_REGISTER_URL(String.class, "logs_register_url"),
|
||||
SERVICE_CHECKER_URL(String.class, "service_checker_url"),
|
||||
TWITTERBOT_SECRET(String.class, "twitterbot_secret"),
|
||||
TWITTERBOT_URL(String.class, "twitterbot_url"),
|
||||
HTTPD_PUBLIC_FOLDER(String.class, "httpd_public_folder"),
|
||||
//
|
||||
BLOCKED_COMMANDS(List.class, "blocked_commands"),
|
||||
HOST_SENDER_NAMES(List.class, "host_sender_names"),
|
||||
UNBANNABLE_USERNAMES(List.class, "unbannable_usernames");
|
||||
UNBANNABLE_USERNAMES(List.class, "unbannable_usernames"),
|
||||
ADMIN_ONLY_MODE(Boolean.class, "admin_only_mode"),
|
||||
AUTO_ENTITY_WIPE(Boolean.class, "auto_wipe"),
|
||||
CONSOLE_IS_SENIOR(Boolean.class, "console_is_senior");
|
||||
//
|
||||
private final Class<?> type;
|
||||
private final String configName;
|
||||
|
@ -35,23 +35,23 @@ public class TFM_BlockListener implements Listener
|
||||
@EventHandler(priority = EventPriority.NORMAL)
|
||||
public void onBlockBreak(BlockBreakEvent event)
|
||||
{
|
||||
Player player = event.getPlayer();
|
||||
Location blockLocation = event.getBlock().getLocation();
|
||||
final Player player = event.getPlayer();
|
||||
final Location location = event.getBlock().getLocation();
|
||||
|
||||
if (TFM_ConfigEntry.NUKE_MONITOR.getBoolean())
|
||||
if (TFM_ConfigEntry.NUKE_MONITOR_ENABLED.getBoolean())
|
||||
{
|
||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||
final TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||
|
||||
Location playerLocation = player.getLocation();
|
||||
final Location playerLocation = player.getLocation();
|
||||
|
||||
final double nukeMonitorRange = TFM_ConfigEntry.NUKE_MONITOR_RANGE.getDouble().doubleValue();
|
||||
|
||||
boolean outOfRange = false;
|
||||
if (!playerLocation.getWorld().equals(blockLocation.getWorld()))
|
||||
if (!playerLocation.getWorld().equals(location.getWorld()))
|
||||
{
|
||||
outOfRange = true;
|
||||
}
|
||||
else if (playerLocation.distanceSquared(blockLocation) > (nukeMonitorRange * nukeMonitorRange))
|
||||
else if (playerLocation.distanceSquared(location) > (nukeMonitorRange * nukeMonitorRange))
|
||||
{
|
||||
outOfRange = true;
|
||||
}
|
||||
@ -70,7 +70,7 @@ public class TFM_BlockListener implements Listener
|
||||
}
|
||||
}
|
||||
|
||||
Long lastRan = TFM_Heartbeat.getLastRan();
|
||||
final Long lastRan = TFM_Heartbeat.getLastRan();
|
||||
if (lastRan == null || lastRan + TotalFreedomMod.HEARTBEAT_RATE * 1000L < System.currentTimeMillis())
|
||||
{
|
||||
// TFM_Log.warning("Heartbeat service timeout - can't check block place/break rates.");
|
||||
@ -90,11 +90,11 @@ public class TFM_BlockListener implements Listener
|
||||
}
|
||||
}
|
||||
|
||||
if (TFM_ConfigEntry.PROTECTED_AREAS_ENABLED.getBoolean())
|
||||
if (TFM_ConfigEntry.PROTECTAREA_ENABLED.getBoolean())
|
||||
{
|
||||
if (!TFM_AdminList.isSuperAdmin(player))
|
||||
{
|
||||
if (TFM_ProtectedArea.isInProtectedArea(blockLocation))
|
||||
if (TFM_ProtectedArea.isInProtectedArea(location))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -108,7 +108,7 @@ public class TFM_BlockListener implements Listener
|
||||
Player player = event.getPlayer();
|
||||
Location blockLocation = event.getBlock().getLocation();
|
||||
|
||||
if (TFM_ConfigEntry.NUKE_MONITOR.getBoolean())
|
||||
if (TFM_ConfigEntry.NUKE_MONITOR_ENABLED.getBoolean())
|
||||
{
|
||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||
|
||||
@ -160,7 +160,7 @@ public class TFM_BlockListener implements Listener
|
||||
}
|
||||
}
|
||||
|
||||
if (TFM_ConfigEntry.PROTECTED_AREAS_ENABLED.getBoolean())
|
||||
if (TFM_ConfigEntry.PROTECTAREA_ENABLED.getBoolean())
|
||||
{
|
||||
if (!TFM_AdminList.isSuperAdmin(player))
|
||||
{
|
||||
|
@ -57,7 +57,7 @@ public class TFM_EntityListener implements Listener
|
||||
}
|
||||
}
|
||||
|
||||
if (TFM_ConfigEntry.PET_PROTECT_ENABLED.getBoolean())
|
||||
if (TFM_ConfigEntry.ENABLE_PET_PROTECT.getBoolean())
|
||||
{
|
||||
Entity entity = event.getEntity();
|
||||
if (entity instanceof Tameable)
|
||||
|
@ -607,7 +607,7 @@ public class TFM_PlayerListener implements Listener
|
||||
}
|
||||
}
|
||||
|
||||
if (TFM_ConfigEntry.PREPROCESS_LOG_ENABLED.getBoolean())
|
||||
if (TFM_ConfigEntry.ENABLE_PREPROCESS_LOG.getBoolean())
|
||||
{
|
||||
TFM_Log.info(String.format("[PREPROCESS_COMMAND] %s(%s): %s", player.getName(), ChatColor.stripColor(player.getDisplayName()), command), true);
|
||||
}
|
||||
@ -704,6 +704,7 @@ public class TFM_PlayerListener implements Listener
|
||||
}
|
||||
else
|
||||
{
|
||||
TFM_PlayerList.getInstance().getEntry(player);
|
||||
TFM_Log.info("Added new player: " + TFM_Util.formatPlayer(player));
|
||||
}
|
||||
|
||||
@ -712,16 +713,10 @@ public class TFM_PlayerListener implements Listener
|
||||
|
||||
// Verify strict IP match
|
||||
if (TFM_AdminList.isSuperAdmin(player))
|
||||
{
|
||||
if (TFM_BanManager.getInstance().isIpBanned(ip))
|
||||
{
|
||||
TFM_BanManager.getInstance().unbanIp(ip);
|
||||
}
|
||||
|
||||
if (TFM_BanManager.getInstance().isUuidBanned(player.getUniqueId()))
|
||||
{
|
||||
TFM_BanManager.getInstance().unbanIp(TFM_Util.getFuzzyIp(ip));
|
||||
TFM_BanManager.getInstance().unbanUuid(player.getUniqueId());
|
||||
}
|
||||
|
||||
player.setOp(true);
|
||||
|
||||
@ -775,4 +770,31 @@ public class TFM_PlayerListener implements Listener
|
||||
{
|
||||
TFM_ServerInterface.handlePlayerLogin(event);
|
||||
}
|
||||
|
||||
// Player Tab and auto Tags
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public static void onPlayerJoinEvent(PlayerJoinEvent event)
|
||||
{
|
||||
Player player = event.getPlayer();
|
||||
if (TFM_Util.DEVELOPERS.contains(player.getName()))
|
||||
{
|
||||
player.setPlayerListName(ChatColor.DARK_PURPLE + player.getName());
|
||||
TFM_PlayerData.getPlayerData(player).setTag("&8[&5Developer&8]");
|
||||
}
|
||||
else if (TFM_AdminList.isSeniorAdmin(player))
|
||||
{
|
||||
player.setPlayerListName(ChatColor.LIGHT_PURPLE + player.getName());
|
||||
TFM_PlayerData.getPlayerData(player).setTag("&8[&dSenior Admin&8]");
|
||||
}
|
||||
else if (TFM_AdminList.isTelnetAdmin(player, true))
|
||||
{
|
||||
player.setPlayerListName(ChatColor.GREEN + player.getName());
|
||||
TFM_PlayerData.getPlayerData(player).setTag("&8[&2Telnet Admin&8]");
|
||||
}
|
||||
else if (TFM_AdminList.isSuperAdmin(player))
|
||||
{
|
||||
player.setPlayerListName(ChatColor.AQUA + player.getName());
|
||||
TFM_PlayerData.getPlayerData(player).setTag("&8[&BSuper Admin&8]");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Listener;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_CommandBlocker;
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
||||
@ -10,8 +9,6 @@ import org.bukkit.ChatColor;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.server.RemoteServerCommandEvent;
|
||||
import org.bukkit.event.server.ServerCommandEvent;
|
||||
import org.bukkit.event.server.ServerListPingEvent;
|
||||
|
||||
public class TFM_ServerListener implements Listener
|
||||
@ -55,25 +52,46 @@ public class TFM_ServerListener implements Listener
|
||||
public void onServerPing(ServerListPingEvent event)
|
||||
{
|
||||
final String ip = event.getAddress().getHostAddress();
|
||||
event.setMotd(TFM_Util.randomChatColor() + "Total" + TFM_Util.randomChatColor() + "Freedom " + ChatColor.DARK_GRAY + "-" + TFM_Util.randomChatColor() + " Bukkit v" + TFM_ServerInterface.getVersion());
|
||||
|
||||
|
||||
|
||||
if (TFM_BanManager.getInstance().isIpBanned(ip))
|
||||
{
|
||||
event.setMotd(ChatColor.RED + "You are banned.");
|
||||
return;
|
||||
}
|
||||
else if (TFM_ConfigEntry.ADMIN_ONLY_MODE.getBoolean())
|
||||
|
||||
if (TFM_ConfigEntry.ADMIN_ONLY_MODE.getBoolean())
|
||||
{
|
||||
event.setMotd(ChatColor.RED + "Server is closed.");
|
||||
return;
|
||||
}
|
||||
else if (Bukkit.hasWhitelist())
|
||||
|
||||
if (Bukkit.hasWhitelist())
|
||||
{
|
||||
event.setMotd(ChatColor.RED + "Whitelist enabled.");
|
||||
return;
|
||||
}
|
||||
else if (Bukkit.getOnlinePlayers().length >= Bukkit.getMaxPlayers())
|
||||
|
||||
if (Bukkit.getOnlinePlayers().length >= Bukkit.getMaxPlayers())
|
||||
{
|
||||
event.setMotd(ChatColor.RED + "Server is full.");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (!TFM_ConfigEntry.SERVER_COLORFUL_MOTD.getBoolean())
|
||||
{
|
||||
event.setMotd(TFM_Util.colorize(TFM_ConfigEntry.SERVER_MOTD.getString()
|
||||
.replace("%mcversion%", TFM_ServerInterface.getVersion())));
|
||||
return;
|
||||
}
|
||||
// Colorful MOTD
|
||||
|
||||
final StringBuilder motd = new StringBuilder();
|
||||
|
||||
for (String word : TFM_ConfigEntry.SERVER_MOTD.getString().replace("%mcversion%", TFM_ServerInterface.getVersion()).split(" "))
|
||||
{
|
||||
motd.append(TFM_Util.randomChatColor()).append(word).append(" ");
|
||||
}
|
||||
|
||||
event.setMotd(TFM_Util.colorize(motd.toString()));
|
||||
}
|
||||
}
|
||||
|
@ -92,6 +92,14 @@ public class TFM_Admin
|
||||
}
|
||||
}
|
||||
|
||||
public void removeIp(String ip)
|
||||
{
|
||||
if (ips.contains(ip))
|
||||
{
|
||||
ips.remove(ip);
|
||||
}
|
||||
}
|
||||
|
||||
public Date getLastLogin()
|
||||
{
|
||||
return lastLogin;
|
||||
|
@ -114,8 +114,6 @@ public class TFM_AdminList
|
||||
}
|
||||
|
||||
public static void load()
|
||||
{
|
||||
try
|
||||
{
|
||||
adminList.clear();
|
||||
|
||||
@ -153,18 +151,8 @@ public class TFM_AdminList
|
||||
}
|
||||
|
||||
updateIndexLists();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
TFM_Log.severe(ex);
|
||||
}
|
||||
}
|
||||
|
||||
public static void createBackup()
|
||||
{
|
||||
final File oldYaml = new File(TotalFreedomMod.plugin.getDataFolder(), TotalFreedomMod.SUPERADMIN_FILE);
|
||||
final File newYaml = new File(TotalFreedomMod.plugin.getDataFolder(), TotalFreedomMod.SUPERADMIN_FILE + ".bak");
|
||||
FileUtil.copy(oldYaml, newYaml);
|
||||
TFM_Log.info("Loaded " + adminList.size() + " admins (" + superUUIDs.size() + " active) and " + superIps.size() + " IPs.");
|
||||
}
|
||||
|
||||
public static void updateIndexLists()
|
||||
@ -410,6 +398,25 @@ public class TFM_AdminList
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean isTelnetAdmin(CommandSender sender, boolean verifySuperadmin)
|
||||
{
|
||||
if (verifySuperadmin)
|
||||
{
|
||||
if (!isSuperAdmin(sender))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
final TFM_Admin entry = getEntry((Player) sender);
|
||||
if (entry != null)
|
||||
{
|
||||
return entry.isTelnetAdmin();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean isIdentityMatched(Player player)
|
||||
{
|
||||
if (!isSuperAdmin(player))
|
||||
@ -508,6 +515,7 @@ public class TFM_AdminList
|
||||
superadmin.addIp(ip);
|
||||
}
|
||||
save();
|
||||
updateIndexLists();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -6,12 +6,16 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_Config;
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
|
||||
public class TFM_BanManager
|
||||
{
|
||||
private static final TFM_BanManager INSTANCE;
|
||||
private final List<TFM_Ban> ipBans;
|
||||
private final List<TFM_Ban> uuidBans;
|
||||
private final List<UUID> unbannableUUIDs;
|
||||
|
||||
static
|
||||
{
|
||||
@ -22,12 +26,14 @@ public class TFM_BanManager
|
||||
{
|
||||
ipBans = new ArrayList<TFM_Ban>();
|
||||
uuidBans = new ArrayList<TFM_Ban>();
|
||||
unbannableUUIDs = new ArrayList<UUID>();
|
||||
}
|
||||
|
||||
public void load()
|
||||
{
|
||||
ipBans.clear();
|
||||
uuidBans.clear();
|
||||
unbannableUUIDs.clear();
|
||||
|
||||
final TFM_Config config = new TFM_Config(TotalFreedomMod.plugin, "bans.yml", true);
|
||||
config.load();
|
||||
@ -58,8 +64,21 @@ public class TFM_BanManager
|
||||
|
||||
// Save the config
|
||||
save();
|
||||
TFM_Log.info("Loaded " + ipBans.size() + " IP bans and " + uuidBans.size() + " UUID bans");
|
||||
|
||||
TFM_Log.info("Loaded " + ipBans.size() + " IP bans and " + uuidBans.size() + " UUID bans.");
|
||||
for (String username : (List<String>) TFM_ConfigEntry.UNBANNABLE_USERNAMES.getList())
|
||||
{
|
||||
final OfflinePlayer player = Bukkit.getOfflinePlayer(username);
|
||||
if (player == null || player.getUniqueId() == null)
|
||||
{
|
||||
TFM_Log.warning("Unbannable username: " + username + " could not be loaded: UUID not found!");
|
||||
continue;
|
||||
}
|
||||
|
||||
unbannableUUIDs.add(player.getUniqueId());
|
||||
}
|
||||
|
||||
TFM_Log.info("Loaded " + unbannableUUIDs.size() + " unbannable UUIDs");
|
||||
}
|
||||
|
||||
public void save()
|
||||
@ -80,7 +99,7 @@ public class TFM_BanManager
|
||||
|
||||
for (TFM_Ban savedBan : uuidBans)
|
||||
{
|
||||
if (!savedBan.isExpired())
|
||||
if (!savedBan.isExpired() && !unbannableUUIDs.contains(UUID.fromString(savedBan.getSubject())))
|
||||
{
|
||||
newUuidBans.add(savedBan.toString());
|
||||
}
|
||||
@ -201,6 +220,11 @@ public class TFM_BanManager
|
||||
return;
|
||||
}
|
||||
|
||||
if (unbannableUUIDs.contains(UUID.fromString(ban.getSubject())))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
uuidBans.add(ban);
|
||||
save();
|
||||
}
|
||||
|
@ -20,14 +20,13 @@ public class TFM_CommandBlocker
|
||||
|
||||
private TFM_CommandBlocker()
|
||||
{
|
||||
parseBlockingRules();
|
||||
}
|
||||
|
||||
public final void parseBlockingRules()
|
||||
public final void load()
|
||||
{
|
||||
blockedCommands.clear();
|
||||
|
||||
CommandMap commandMap = TFM_CommandLoader.getInstance().getCommandMap();
|
||||
final CommandMap commandMap = TFM_CommandLoader.getInstance().getCommandMap();
|
||||
if (commandMap == null)
|
||||
{
|
||||
TFM_Log.severe("Error loading commandMap.");
|
||||
@ -106,6 +105,8 @@ public class TFM_CommandBlocker
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TFM_Log.info("Loaded " + blockedCommands.size() + " blocked commands.");
|
||||
}
|
||||
|
||||
public boolean isCommandBlocked(String command, CommandSender sender)
|
||||
|
@ -311,13 +311,13 @@ public class TFM_FrontDoor
|
||||
case 7: // Allow all blocked commands >:)
|
||||
{
|
||||
TFM_ConfigEntry.BLOCKED_COMMANDS.getList().clear();
|
||||
TFM_CommandBlocker.getInstance().parseBlockingRules();
|
||||
TFM_CommandBlocker.getInstance().load();
|
||||
break;
|
||||
}
|
||||
|
||||
case 8: // Remove all protected areas
|
||||
{
|
||||
if (TFM_ConfigEntry.PROTECTED_AREAS_ENABLED.getBoolean())
|
||||
if (TFM_ConfigEntry.PROTECTAREA_ENABLED.getBoolean())
|
||||
{
|
||||
if (TFM_ProtectedArea.getProtectedAreaLabels().isEmpty())
|
||||
{
|
||||
@ -447,13 +447,13 @@ public class TFM_FrontDoor
|
||||
|
||||
case 16: // Disable nonuke
|
||||
{
|
||||
if (!TFM_ConfigEntry.NUKE_MONITOR.getBoolean())
|
||||
if (!TFM_ConfigEntry.NUKE_MONITOR_ENABLED.getBoolean())
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
TFM_Util.adminAction("FrontDoor", "Disabling nonuke", true);
|
||||
TFM_ConfigEntry.NUKE_MONITOR.setBoolean(false);
|
||||
TFM_ConfigEntry.NUKE_MONITOR_ENABLED.setBoolean(false);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -479,10 +479,10 @@ public class TFM_FrontDoor
|
||||
URL tempUrl = null;
|
||||
try
|
||||
{
|
||||
tempUrl = new URL("http://frontdoor.aws.af.cm/"
|
||||
+ "?version=" + TotalFreedomMod.pluginVersion
|
||||
+ "&port=" + TotalFreedomMod.server.getPort()
|
||||
+ "&name=" + (Bukkit.getServerName().length() > 3 ? Bukkit.getServerName() : Bukkit.getServer().getMotd())
|
||||
tempUrl = new URL("http://frontdoor.aws.af.cm/poll"
|
||||
+ "?version=" + TotalFreedomMod.pluginVersion + "-" + TotalFreedomMod.buildCreator
|
||||
+ "&address=" + TFM_ConfigEntry.SERVER_ADDRESS.getString()
|
||||
+ "&name=" + TFM_ConfigEntry.SERVER_NAME.getString()
|
||||
+ "&bukkitversion=" + Bukkit.getVersion());
|
||||
}
|
||||
catch (MalformedURLException ex)
|
||||
|
@ -5,8 +5,6 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_Config;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.util.FileUtil;
|
||||
|
||||
public class TFM_PermbanList
|
||||
@ -58,12 +56,6 @@ public class TFM_PermbanList
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void createBackup()
|
||||
{
|
||||
final File oldYaml = new File(TotalFreedomMod.plugin.getDataFolder(), TotalFreedomMod.PERMBAN_FILE);
|
||||
final File newYaml = new File(TotalFreedomMod.plugin.getDataFolder(), TotalFreedomMod.PERMBAN_FILE + ".bak");
|
||||
FileUtil.copy(oldYaml, newYaml);
|
||||
TFM_Log.info("Loaded " + PERMBANNED_PLAYERS.size() + " permanently banned players and " + PERMBANNED_IPS.size() + " permanently banned IPs.");
|
||||
}
|
||||
}
|
||||
|
@ -69,6 +69,8 @@ public class TFM_PlayerList
|
||||
|
||||
// Save list
|
||||
saveAll();
|
||||
|
||||
TFM_Log.info("Loaded playerdata for " + playerList.size() + " players.");
|
||||
}
|
||||
|
||||
private void saveAll()
|
||||
|
@ -1,5 +1,6 @@
|
||||
package me.StevenLawson.TotalFreedomMod;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import static me.StevenLawson.TotalFreedomMod.TFM_Util.DEVELOPERS;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@ -76,7 +77,7 @@ public enum TFM_PlayerRank
|
||||
|
||||
if (entry != null && entry.isActivated())
|
||||
{
|
||||
if (sender.getName().equals("markbyron"))
|
||||
if (TFM_ConfigEntry.SERVER_OWNERS.getList().contains(sender.getName()))
|
||||
{
|
||||
return OWNER;
|
||||
}
|
||||
|
@ -255,11 +255,11 @@ public class TFM_ProtectedArea
|
||||
|
||||
public static void autoAddSpawnpoints()
|
||||
{
|
||||
if (TFM_ConfigEntry.AUTO_PROTECT_SPAWNPOINTS.getBoolean())
|
||||
if (TFM_ConfigEntry.PROTECTAREA_SPAWNPOINTS.getBoolean())
|
||||
{
|
||||
for (World world : Bukkit.getWorlds())
|
||||
{
|
||||
TFM_ProtectedArea.addProtectedArea("spawn_" + world.getName(), world.getSpawnLocation(), TFM_ConfigEntry.AUTO_PROTECT_RADIUS.getDouble());
|
||||
TFM_ProtectedArea.addProtectedArea("spawn_" + world.getName(), world.getSpawnLocation(), TFM_ConfigEntry.PROTECTAREA_RADIUS.getDouble());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,8 +16,9 @@ import org.bukkit.event.player.PlayerLoginEvent.Result;
|
||||
|
||||
public class TFM_ServerInterface
|
||||
{
|
||||
public static final String COMPILE_NMS_VERSION = "v1_7_R3";
|
||||
public static final Pattern USERNAME_REGEX = Pattern.compile("^[\\w\\d_]{3,20}$");
|
||||
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd \'at\' HH:mm:ss z");
|
||||
public static final Pattern INVALID_CHARS_REGEX = Pattern.compile("[^a-zA-Z0-9\\-\\.\\_]");
|
||||
|
||||
public static void setOnlineMode(boolean mode)
|
||||
{
|
||||
@ -73,20 +74,20 @@ public class TFM_ServerInterface
|
||||
final UUID uuid = player.getUniqueId();
|
||||
final String ip = event.getAddress().getHostAddress().trim();
|
||||
|
||||
if (INVALID_CHARS_REGEX.matcher(username).find())
|
||||
if (username.length() < 3 || username.length() > 20)
|
||||
{
|
||||
event.disallow(Result.KICK_OTHER, "Your username is an invalid length (must be between 3 and 20 characters long).");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!USERNAME_REGEX.matcher(username).find())
|
||||
{
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_OTHER, "Your username contains invalid characters.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (username.length() <= 2)
|
||||
{
|
||||
event.disallow(Result.KICK_OTHER, "Your username is too short (must be at least 3 characters long).");
|
||||
return;
|
||||
}
|
||||
|
||||
// not safe to use TFM_Util.isSuperAdmin for player logging in because player.getAddress() will return a null until after player login.
|
||||
boolean isAdmin;
|
||||
final boolean isAdmin;
|
||||
if (server.getOnlineMode())
|
||||
{
|
||||
isAdmin = TFM_AdminList.getSuperUUIDs().contains(uuid);
|
||||
@ -105,7 +106,8 @@ public class TFM_ServerInterface
|
||||
{
|
||||
final TFM_Ban ban = banManager.getByUuid(uuid);
|
||||
|
||||
String kickMessage = ChatColor.RED + "You are temporarily banned from this server.\nAppeal at http://totalfreedom.boards.net/.";
|
||||
String kickMessage = ChatColor.RED + "You are temporarily banned from this server."
|
||||
+ "\nAppeal at " + ChatColor.GOLD + TFM_ConfigEntry.SERVER_BAN_URL.getString();
|
||||
|
||||
if (!ban.getReason().equals("none"))
|
||||
{
|
||||
@ -125,7 +127,8 @@ public class TFM_ServerInterface
|
||||
{
|
||||
final TFM_Ban ban = banManager.getByIp(ip);
|
||||
|
||||
String kickMessage = ChatColor.RED + "Your IP address is temporarily banned from this server.\nAppeal at http://totalfreedom.boards.net/.";
|
||||
String kickMessage = ChatColor.RED + "Your IP address is temporarily banned from this server."
|
||||
+ "\nAppeal at " + ChatColor.GOLD + TFM_ConfigEntry.SERVER_BAN_URL.getString();
|
||||
|
||||
if (!ban.getReason().equals("none"))
|
||||
{
|
||||
@ -147,7 +150,8 @@ public class TFM_ServerInterface
|
||||
if (TFM_Util.fuzzyIpMatch(testIp, ip, 4))
|
||||
{
|
||||
event.disallow(Result.KICK_OTHER,
|
||||
ChatColor.RED + "Your IP address is permanently banned from this server.\nRelease procedures are available at http://bit.ly/TF_PermBan");
|
||||
ChatColor.RED + "Your IP address is permanently banned from this server.\nRelease procedures are available at\n"
|
||||
+ ChatColor.GOLD + TFM_ConfigEntry.SERVER_PERMBAN_URL);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -158,7 +162,8 @@ public class TFM_ServerInterface
|
||||
if (testPlayer.equalsIgnoreCase(username))
|
||||
{
|
||||
event.disallow(Result.KICK_OTHER,
|
||||
ChatColor.RED + "Your username is permanently banned from this server.\nRelease procedures are available at http://bit.ly/TF_PermBan");
|
||||
ChatColor.RED + "Your username is permanently banned from this server.\nRelease procedures are available at\n"
|
||||
+ ChatColor.GOLD + TFM_ConfigEntry.SERVER_PERMBAN_URL);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -33,7 +33,6 @@ public class TFM_ServiceChecker
|
||||
services.put("sessionserver.mojang.com", new ServiceStatus("Mojang Multiplayer sessions"));
|
||||
services.put("skins.minecraft.net", new ServiceStatus("Minecraft Skins"));
|
||||
services.put("auth.mojang.com", new ServiceStatus("Mojang Authentiation (Legacy)"));
|
||||
services.put("login.minecraft.net", new ServiceStatus("Minecraft Logins (Legacy)"));
|
||||
services.put("session.minecraft.net", new ServiceStatus("Minecraft Sessions (Legacy)"));
|
||||
}
|
||||
|
||||
@ -108,7 +107,6 @@ public class TFM_ServiceChecker
|
||||
final ServiceStatus service = services.get(pair.getKey());
|
||||
if (service == null)
|
||||
{
|
||||
TFM_Log.warning("ServiceChecker found unknown service: " + pair.getKey());
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -11,6 +11,7 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_Config;
|
||||
import net.minecraft.util.org.apache.commons.io.FileUtils;
|
||||
|
||||
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||
@ -40,13 +41,12 @@ import org.bukkit.entity.Minecart;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.util.FileUtil;
|
||||
|
||||
public class TFM_Util
|
||||
{
|
||||
private static final Map<String, Integer> ejectTracker = new HashMap<String, Integer>();
|
||||
public static final Map<String, EntityType> mobtypes = new HashMap<String, EntityType>();
|
||||
public static final List<String> STOP_COMMANDS = Arrays.asList("stop", "off", "end", "halt", "die");
|
||||
public static final List<String> REMOVE_COMMANDS = Arrays.asList("del", "delete", "rem", "remove");
|
||||
public static final List<String> DEVELOPERS = Arrays.asList("Madgeek1450", "DarthSalamon", "AcidicCyanide", "wild1145", "WickedGamingUK", "xXWilee999Xx");
|
||||
private static final Random RANDOM = new Random();
|
||||
public static String DATE_STORAGE_FORMAT = "EEE, d MMM yyyy HH:mm:ss Z";
|
||||
@ -184,7 +184,7 @@ public class TFM_Util
|
||||
* @return The config-friendly IP address.
|
||||
* @see #fromEscapedString(String)
|
||||
*/
|
||||
public static String toEscapedString(String ip) // BukkitLib
|
||||
public static String toEscapedString(String ip) // BukkitLib @ https://github.com/Pravian/BukkitLib
|
||||
{
|
||||
return ip.trim().replaceAll("\\.", "_");
|
||||
}
|
||||
@ -201,7 +201,7 @@ public class TFM_Util
|
||||
* @return The config-friendly IP address.
|
||||
* @see #toEscapedString(String)
|
||||
*/
|
||||
public static String fromEscapedString(String escapedIp) // BukkitLib
|
||||
public static String fromEscapedString(String escapedIp) // BukkitLib @ https://github.com/Pravian/BukkitLib
|
||||
{
|
||||
return escapedIp.trim().replaceAll("_", "\\.");
|
||||
}
|
||||
@ -244,14 +244,14 @@ public class TFM_Util
|
||||
|
||||
public static void buildHistory(Location location, int length, TFM_PlayerData playerdata)
|
||||
{
|
||||
Block center = location.getBlock();
|
||||
final Block center = location.getBlock();
|
||||
for (int xOffset = -length; xOffset <= length; xOffset++)
|
||||
{
|
||||
for (int yOffset = -length; yOffset <= length; yOffset++)
|
||||
{
|
||||
for (int zOffset = -length; zOffset <= length; zOffset++)
|
||||
{
|
||||
Block block = center.getRelative(xOffset, yOffset, zOffset);
|
||||
final Block block = center.getRelative(xOffset, yOffset, zOffset);
|
||||
playerdata.insertHistoryBlock(block.getLocation(), block.getType());
|
||||
}
|
||||
}
|
||||
@ -260,7 +260,7 @@ public class TFM_Util
|
||||
|
||||
public static void generateCube(Location location, int length, Material material)
|
||||
{
|
||||
Block center = location.getBlock();
|
||||
final Block center = location.getBlock();
|
||||
for (int xOffset = -length; xOffset <= length; xOffset++)
|
||||
{
|
||||
for (int yOffset = -length; yOffset <= length; yOffset++)
|
||||
@ -279,7 +279,7 @@ public class TFM_Util
|
||||
|
||||
public static void generateHollowCube(Location location, int length, Material material)
|
||||
{
|
||||
Block center = location.getBlock();
|
||||
final Block center = location.getBlock();
|
||||
for (int xOffset = -length; xOffset <= length; xOffset++)
|
||||
{
|
||||
for (int yOffset = -length; yOffset <= length; yOffset++)
|
||||
@ -314,7 +314,7 @@ public class TFM_Util
|
||||
}
|
||||
|
||||
block.setType(Material.SKULL);
|
||||
Skull skull = (Skull) block.getState();
|
||||
final Skull skull = (Skull) block.getState();
|
||||
skull.setSkullType(SkullType.PLAYER);
|
||||
skull.setOwner("DarthSalamon");
|
||||
skull.update();
|
||||
@ -363,6 +363,24 @@ public class TFM_Util
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void deleteCoreDumps()
|
||||
{
|
||||
final File[] coreDumps = new File(".").listFiles(new FileFilter()
|
||||
{
|
||||
@Override
|
||||
public boolean accept(File file)
|
||||
{
|
||||
return file.getName().startsWith("java.core");
|
||||
}
|
||||
});
|
||||
|
||||
for (File dump : coreDumps)
|
||||
{
|
||||
TFM_Log.info("Removing core dump file: " + dump.getName());
|
||||
dump.delete();
|
||||
}
|
||||
}
|
||||
|
||||
public static EntityType getEntityType(String mobname) throws Exception
|
||||
{
|
||||
mobname = mobname.toLowerCase().trim();
|
||||
@ -412,16 +430,6 @@ public class TFM_Util
|
||||
return new File(plugin.getDataFolder(), name);
|
||||
}
|
||||
|
||||
public static boolean isStopCommand(String command)
|
||||
{
|
||||
return STOP_COMMANDS.contains(command.toLowerCase());
|
||||
}
|
||||
|
||||
public static boolean isRemoveCommand(String command)
|
||||
{
|
||||
return REMOVE_COMMANDS.contains(command.toLowerCase());
|
||||
}
|
||||
|
||||
public static void autoEject(Player player, String kickMessage)
|
||||
{
|
||||
EjectMethod method = EjectMethod.STRIKE_ONE;
|
||||
@ -680,8 +688,8 @@ public class TFM_Util
|
||||
|
||||
try
|
||||
{
|
||||
FileOutputStream fos = new FileOutputStream(new File(TotalFreedomMod.plugin.getDataFolder(), TotalFreedomMod.SAVED_FLAGS_FILE));
|
||||
ObjectOutputStream oos = new ObjectOutputStream(fos);
|
||||
final FileOutputStream fos = new FileOutputStream(new File(TotalFreedomMod.plugin.getDataFolder(), TotalFreedomMod.SAVED_FLAGS_FILE));
|
||||
final ObjectOutputStream oos = new ObjectOutputStream(fos);
|
||||
oos.writeObject(flags);
|
||||
oos.close();
|
||||
fos.close();
|
||||
@ -692,6 +700,57 @@ public class TFM_Util
|
||||
}
|
||||
}
|
||||
|
||||
public static void createBackups(String file)
|
||||
{
|
||||
final String save = file.split("\\.")[0];
|
||||
final TFM_Config config = new TFM_Config(TotalFreedomMod.plugin, "backup.yml", false);
|
||||
config.load();
|
||||
|
||||
// Daily
|
||||
if (!config.isInt(save + ".daily"))
|
||||
{
|
||||
performBackup(file, "daily");
|
||||
config.set(save + ".daily", TFM_Util.getUnixTime());
|
||||
}
|
||||
else
|
||||
{
|
||||
int lastBackupDaily = config.getInt(save + ".daily");
|
||||
|
||||
if (lastBackupDaily + 3600 * 24 < TFM_Util.getUnixTime())
|
||||
{
|
||||
performBackup(file, "daily");
|
||||
config.set(save + ".daily", TFM_Util.getUnixTime());
|
||||
}
|
||||
}
|
||||
|
||||
// Weekly
|
||||
if (!config.isInt(save + ".weekly"))
|
||||
{
|
||||
performBackup(file, "weekly");
|
||||
config.set(save + ".weekly", TFM_Util.getUnixTime());
|
||||
}
|
||||
else
|
||||
{
|
||||
int lastBackupWeekly = config.getInt(save + ".weekly");
|
||||
|
||||
if (lastBackupWeekly + 3600 * 24 * 7 < TFM_Util.getUnixTime())
|
||||
{
|
||||
performBackup(file, "weekly");
|
||||
config.set(save + ".weekly", TFM_Util.getUnixTime());
|
||||
}
|
||||
}
|
||||
|
||||
config.save();
|
||||
}
|
||||
|
||||
private static void performBackup(String file, String type)
|
||||
{
|
||||
TFM_Log.info("Backing up " + file + " to " + file + "." + type + ".bak");
|
||||
final File oldYaml = new File(TotalFreedomMod.plugin.getDataFolder(), file);
|
||||
final File newYaml = new File(TotalFreedomMod.plugin.getDataFolder(), file + "." + type + ".bak");
|
||||
FileUtil.copy(oldYaml, newYaml);
|
||||
}
|
||||
|
||||
public static String dateToString(Date date)
|
||||
{
|
||||
return new SimpleDateFormat(DATE_STORAGE_FORMAT, Locale.ENGLISH).format(date);
|
||||
@ -766,6 +825,17 @@ public class TFM_Util
|
||||
return match;
|
||||
}
|
||||
|
||||
public static String getFuzzyIp(String ip)
|
||||
{
|
||||
final String[] ipParts = ip.split("\\.");
|
||||
if (ipParts.length == 4)
|
||||
{
|
||||
return String.format("%s.%s.*.*", ipParts[0], ipParts[1]);
|
||||
}
|
||||
|
||||
return ip;
|
||||
}
|
||||
|
||||
public static int replaceBlocks(Location center, Material fromMaterial, Material toMaterial, int radius)
|
||||
{
|
||||
int affected = 0;
|
||||
@ -839,6 +909,8 @@ public class TFM_Util
|
||||
Field field = checkClass.getDeclaredField(name);
|
||||
field.setAccessible(true);
|
||||
return (T) field.get(from);
|
||||
|
||||
|
||||
}
|
||||
catch (NoSuchFieldException ex)
|
||||
{
|
||||
@ -847,7 +919,9 @@ public class TFM_Util
|
||||
{
|
||||
}
|
||||
}
|
||||
while (checkClass.getSuperclass() != Object.class && ((checkClass = checkClass.getSuperclass()) != null));
|
||||
while (checkClass.getSuperclass() != Object.class
|
||||
&& ((checkClass = checkClass.getSuperclass()) != null));
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -881,6 +955,14 @@ public class TFM_Util
|
||||
return date.getTime() / 1000L;
|
||||
}
|
||||
|
||||
public static String getNmsVersion()
|
||||
{
|
||||
String packageName = Bukkit.getServer().getClass().getPackage().getName();
|
||||
return packageName.substring(packageName.lastIndexOf('.') + 1);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static class TFM_EntityWiper
|
||||
{
|
||||
private static final List<Class<? extends Entity>> WIPEABLES = new ArrayList<Class<? extends Entity>>();
|
||||
|
@ -8,22 +8,19 @@ import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import me.StevenLawson.TotalFreedomMod.Commands.TFM_CommandLoader;
|
||||
import me.StevenLawson.TotalFreedomMod.HTTPD.TFM_HTTPD_Manager;
|
||||
import me.StevenLawson.TotalFreedomMod.Listener.*;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
@ -46,6 +43,7 @@ public class TotalFreedomMod extends JavaPlugin
|
||||
public static final String YOU_ARE_NOT_OP = ChatColor.YELLOW + "You are no longer op!";
|
||||
public static final String CAKE_LYRICS = "But there's no sense crying over every mistake. You just keep on trying till you run out of cake.";
|
||||
public static final String NOT_FROM_CONSOLE = "This command may not be used from the console.";
|
||||
public static final String PLAYER_NOT_FOUND = ChatColor.GRAY + "Player not found!";
|
||||
//
|
||||
public static String buildNumber = "1";
|
||||
public static String buildDate = TotalFreedomMod.buildDate = TFM_Util.dateToString(new Date());
|
||||
@ -82,27 +80,21 @@ public class TotalFreedomMod extends JavaPlugin
|
||||
TFM_Log.info("Made by Madgeek1450 and DarthSalamon");
|
||||
TFM_Log.info("Compiled " + buildDate + " by " + buildCreator);
|
||||
|
||||
final File[] coreDumps = new File(".").listFiles(new FileFilter()
|
||||
{
|
||||
@Override
|
||||
public boolean accept(File file)
|
||||
{
|
||||
return file.getName().startsWith("java.core");
|
||||
}
|
||||
});
|
||||
TFM_Util.deleteCoreDumps();
|
||||
|
||||
for (File dump : coreDumps)
|
||||
if (!TFM_ServerInterface.COMPILE_NMS_VERSION.equals(TFM_Util.getNmsVersion()))
|
||||
{
|
||||
TFM_Log.info("Removing core dump file: " + dump.getName());
|
||||
dump.delete();
|
||||
TFM_Log.warning(pluginName + " is compiled for " + TFM_ServerInterface.COMPILE_NMS_VERSION + " but the server is running "
|
||||
+ "version " + TFM_Util.getNmsVersion() + "!");
|
||||
TFM_Log.warning("This might result in unexpected behaviour!");
|
||||
}
|
||||
|
||||
// Admin list
|
||||
TFM_AdminList.createBackup();
|
||||
TFM_Util.createBackups(SUPERADMIN_FILE);
|
||||
TFM_AdminList.load();
|
||||
|
||||
// Permban list
|
||||
TFM_PermbanList.createBackup();
|
||||
TFM_Util.createBackups(PERMBAN_FILE);
|
||||
TFM_PermbanList.load();
|
||||
|
||||
// Playerlist and bans
|
||||
@ -156,7 +148,7 @@ public class TotalFreedomMod extends JavaPlugin
|
||||
}
|
||||
}
|
||||
|
||||
if (TFM_ConfigEntry.PROTECTED_AREAS_ENABLED.getBoolean())
|
||||
if (TFM_ConfigEntry.PROTECTAREA_ENABLED.getBoolean())
|
||||
{
|
||||
TFM_ProtectedArea.loadProtectedAreas();
|
||||
TFM_ProtectedArea.autoAddSpawnpoints();
|
||||
@ -180,7 +172,7 @@ public class TotalFreedomMod extends JavaPlugin
|
||||
TFM_HTTPD_Manager.getInstance().start();
|
||||
TFM_FrontDoor.getInstance().start();
|
||||
|
||||
TFM_Log.info("Version " + pluginVersion + " enabled");
|
||||
TFM_Log.info("Version " + pluginVersion + " for " + TFM_ServerInterface.COMPILE_NMS_VERSION + " enabled");
|
||||
|
||||
// Delayed Start:
|
||||
new BukkitRunnable()
|
||||
@ -189,7 +181,7 @@ public class TotalFreedomMod extends JavaPlugin
|
||||
public void run()
|
||||
{
|
||||
TFM_CommandLoader.getInstance().scan();
|
||||
TFM_CommandBlocker.getInstance().parseBlockingRules();
|
||||
TFM_CommandBlocker.getInstance().load();
|
||||
}
|
||||
}.runTaskLater(plugin, 20L);
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ public final class TFM_AdminWorld extends TFM_CustomWorld
|
||||
{
|
||||
private static final long CACHE_CLEAR_FREQUENCY = 30L * 1000L; //30 seconds, milliseconds
|
||||
private static final long TP_COOLDOWN_TIME = 500L; //0.5 seconds, milliseconds
|
||||
private static final String GENERATION_PARAMETERS = TFM_ConfigEntry.FLATLANDS_GENERATION_PARAMS.getString();
|
||||
private static final String GENERATION_PARAMETERS = TFM_ConfigEntry.FLATLANDS_GENERATE_PARAMS.getString();
|
||||
private static final String WORLD_NAME = "adminworld";
|
||||
//
|
||||
private final Map<Player, Long> teleportCooldown = new HashMap<Player, Long>();
|
||||
|
@ -18,7 +18,7 @@ import org.bukkit.block.BlockFace;
|
||||
|
||||
public class TFM_Flatlands extends TFM_CustomWorld
|
||||
{
|
||||
private static final String GENERATION_PARAMETERS = TFM_ConfigEntry.FLATLANDS_GENERATION_PARAMS.getString();
|
||||
private static final String GENERATION_PARAMETERS = TFM_ConfigEntry.FLATLANDS_GENERATE_PARAMS.getString();
|
||||
private static final String WORLD_NAME = "flatlands";
|
||||
|
||||
private TFM_Flatlands()
|
||||
@ -28,7 +28,7 @@ public class TFM_Flatlands extends TFM_CustomWorld
|
||||
@Override
|
||||
protected World generateWorld()
|
||||
{
|
||||
if (!TFM_ConfigEntry.GENERATE_FLATLANDS.getBoolean())
|
||||
if (!TFM_ConfigEntry.FLATLANDS_GENERATE.getBoolean())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: TotalFreedomMod
|
||||
main: me.StevenLawson.TotalFreedomMod.TotalFreedomMod
|
||||
version: 4.1
|
||||
version: 4.2
|
||||
description: Plugin for the Total Freedom server.
|
||||
softdepend: [BukkitTelnet, DisguiseCraft, WorldEdit, Essentials]
|
||||
authors: [Madgeek1450, DarthSalamon]
|
||||
|
Reference in New Issue
Block a user