mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-07-01 12:36:41 +00:00
Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
ee0ebd85fc | |||
518537413b | |||
802d02d653 | |||
f3cb57c9cd | |||
c7c2795f41 | |||
20b117a703 | |||
8522570db5 |
12
LICENSE.md
12
LICENSE.md
@ -1,13 +1,3 @@
|
||||
# TotalFreedomMod License #
|
||||
TotalFreedomMod is primarily derived from the Bukkit and CraftBukkit library and server, respectively. Therefore, we have chosen for it to inherit the GNU GPLv3 License as used by those programs. This license is available at http://www.gnu.org/licenses/gpl-3.0.txt
|
||||
|
||||
We do, however, ask that you comply by several restrictions. These restrictions are in place to make sure that credit is given to the original authors, who remain the maintainers of the plugin and its source code.
|
||||
* A un-edited copy of this LICENSE.md shall always be included with this source code.
|
||||
* TotalFreedomMod source code and its derivations shall be freely distributable between anyone who chooses to download it.
|
||||
* You shall not remove the keywords "Madgeek1450", "StevenLawson", "DarthSalamon" or "JeromSar" from any part of the source code.
|
||||
* You shall not edit or remove the file Command_tfm.java
|
||||
* You may not modify the file TFM_FrontDoor.java. Removing it is fine, however.
|
||||
* Compiled binaries (*.jar's) shall not to be distributed.
|
||||
* If you wish to obtain a copy of TotalFreedomMod you must compile the original source code or it's derivations yourself.
|
||||
* The primary developers, StevenLawson (Madgeek1450) and Jerom van der Sar (DarthSalamon), may choose to provide official binaries on a discretionary basis.
|
||||
* Any restrictions listed here may be waived by any of the above mentioned primary developers.
|
||||
TotalFreedomMod is licensed under the TotalFreedom General License. It is available [here](https://github.com/TotalFreedom/License/blob/master/LICENSE.md).
|
||||
|
@ -1,3 +1,3 @@
|
||||
#Build Number for ANT. Do not edit!
|
||||
#Mon Apr 21 23:08:17 CEST 2014
|
||||
build.number=787
|
||||
#Wed Apr 23 17:02:21 CEST 2014
|
||||
build.number=796
|
||||
|
@ -1,4 +1,4 @@
|
||||
# TotalFreedomMod v4.0 Configuration
|
||||
# TotalFreedomMod v4.1 Configuration
|
||||
# by Madgeek1450 and DarthSalamon
|
||||
|
||||
# Block placement prevention:
|
||||
|
@ -1,70 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
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 = "Temporarily change config parameters.", usage = "/<command> <entry> <value>")
|
||||
public class Command_config extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
if (args.length != 2)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
TFM_ConfigEntry entry = TFM_ConfigEntry.findConfigEntry(args[0]);
|
||||
|
||||
if (entry == null)
|
||||
{
|
||||
sender.sendMessage("Can't find configuration option: " + args[0]);
|
||||
return true;
|
||||
}
|
||||
|
||||
Object newValue = null;
|
||||
final String newValueString = args[1].trim();
|
||||
final Class<?> type = entry.getType();
|
||||
try
|
||||
{
|
||||
if (type.isAssignableFrom(Integer.class))
|
||||
{
|
||||
newValue = new Integer(newValueString);
|
||||
entry.setInteger((Integer) newValue);
|
||||
}
|
||||
else if (type.isAssignableFrom(Double.class))
|
||||
{
|
||||
newValue = new Double(newValueString);
|
||||
entry.setDouble((Double) newValue);
|
||||
}
|
||||
else if (type.isAssignableFrom(Boolean.class))
|
||||
{
|
||||
newValue = Boolean.valueOf(newValueString);
|
||||
entry.setBoolean((Boolean) newValue);
|
||||
}
|
||||
else if (type.isAssignableFrom(String.class))
|
||||
{
|
||||
newValue = newValueString;
|
||||
entry.setString((String) newValue);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
}
|
||||
|
||||
if (newValue != null)
|
||||
{
|
||||
sender.sendMessage(String.format("Set configuration entry \"%s\" to \"%s\" value \"%s\".",
|
||||
entry.toString(), type.getName(), newValue.toString()));
|
||||
}
|
||||
else
|
||||
{
|
||||
sender.sendMessage("Could not parse value \"" + newValueString + "\" as type \"" + type.getName() + "\".");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -11,6 +11,7 @@ import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SENIOR, source = SourceType.ONLY_CONSOLE)
|
||||
@CommandParameters(description = "For the bad Superadmins", usage = "/<command> <playername>")
|
||||
@ -72,6 +73,9 @@ public class Command_doom extends TFM_Command
|
||||
// generate explosion
|
||||
player.getWorld().createExplosion(player.getLocation(), 4F);
|
||||
|
||||
// Shoot the player in the sky
|
||||
player.setVelocity(player.getVelocity().clone().add(new Vector(0, 20, 0)));
|
||||
|
||||
new BukkitRunnable()
|
||||
{
|
||||
@Override
|
||||
@ -83,7 +87,7 @@ public class Command_doom extends TFM_Command
|
||||
// kill (if not done already)
|
||||
player.setHealth(0.0);
|
||||
}
|
||||
}.runTaskLater(plugin, 20L * 2L);
|
||||
}.runTaskLater(plugin, 2L * 20L);
|
||||
|
||||
new BukkitRunnable()
|
||||
{
|
||||
@ -99,7 +103,7 @@ public class Command_doom extends TFM_Command
|
||||
// kick player
|
||||
player.kickPlayer(ChatColor.RED + "FUCKOFF, and get your shit together!");
|
||||
}
|
||||
}.runTaskLater(plugin, 20L * 3L);
|
||||
}.runTaskLater(plugin, 3L * 20L);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1,25 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Enable/disable auto entity wiper.", usage = "/<command> <on | off>")
|
||||
public class Command_droptoggle 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;
|
||||
}
|
||||
TFM_Util.adminAction(sender.getName(),
|
||||
(TFM_ConfigEntry.AUTO_ENTITY_WIPE.setBoolean(!args[0].equalsIgnoreCase("off")) ? "Enabled" : "Disabled")
|
||||
+ " automatic entity wiping.", false);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Shortcut to enable/disable DisguiseCraft.", usage = "/<command>")
|
||||
public class Command_dtoggle extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
Plugin disguiseCraft = server.getPluginManager().getPlugin("DisguiseCraft");
|
||||
if (disguiseCraft != null)
|
||||
{
|
||||
PluginManager pluginManager = plugin.getServer().getPluginManager();
|
||||
|
||||
boolean enabled = disguiseCraft.isEnabled();
|
||||
if (enabled)
|
||||
{
|
||||
pluginManager.disablePlugin(disguiseCraft);
|
||||
}
|
||||
else
|
||||
{
|
||||
pluginManager.enablePlugin(disguiseCraft);
|
||||
}
|
||||
|
||||
TFM_Util.adminAction(sender.getName(), (!enabled ? "Enabled" : "Disabled") + " DisguiseCraft.", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
sender.sendMessage("DisguiseCraft is not installed on this server.");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Enable/disable explosives and set effect radius.", usage = "/<command> <on | off> [radius]")
|
||||
public class Command_explosives extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
if (args.length == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args.length == 2)
|
||||
{
|
||||
try
|
||||
{
|
||||
TFM_ConfigEntry.EXPLOSIVE_RADIUS.setDouble(Math.max(1.0, Math.min(30.0, Double.parseDouble(args[1]))));
|
||||
}
|
||||
catch (NumberFormatException nfex)
|
||||
{
|
||||
TFM_Util.playerMsg(sender, nfex.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("on"))
|
||||
{
|
||||
TFM_ConfigEntry.ALLOW_EXPLOSIONS.setBoolean(true);
|
||||
playerMsg("Explosives are now enabled, radius set to " + TFM_ConfigEntry.EXPLOSIVE_RADIUS.getDouble() + " blocks.");
|
||||
}
|
||||
else
|
||||
{
|
||||
TFM_ConfigEntry.ALLOW_EXPLOSIONS.setBoolean(false);
|
||||
playerMsg("Explosives are now disabled.");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Enable/disable fire placement.", usage = "/<command> <on | off>")
|
||||
public class Command_fireplace 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[0].equalsIgnoreCase("on"))
|
||||
{
|
||||
TFM_ConfigEntry.ALLOW_FIRE_PLACE.setBoolean(true);
|
||||
playerMsg("Fire placement is now enabled.");
|
||||
}
|
||||
else
|
||||
{
|
||||
TFM_ConfigEntry.ALLOW_FIRE_PLACE.setBoolean(false);
|
||||
playerMsg("Fire placement is now disabled.");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_GameRuleHandler;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Enable/disable fire spread.", usage = "/<command> <on | off>")
|
||||
public class Command_firespread 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;
|
||||
}
|
||||
|
||||
boolean fireSpread = !args[0].equalsIgnoreCase("off");
|
||||
|
||||
TFM_ConfigEntry.ALLOW_FIRE_SPREAD.setBoolean(fireSpread);
|
||||
|
||||
playerMsg("Fire spread is now " + (fireSpread ? "enabled" : "disabled") + ".");
|
||||
|
||||
TFM_GameRuleHandler.setGameRule(TFM_GameRuleHandler.TFM_GameRule.DO_FIRE_TICK, fireSpread);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Enable/disable fluid spread.", usage = "/<command> <on | off>")
|
||||
public class Command_fluidspread 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;
|
||||
}
|
||||
|
||||
playerMsg("Lava and water spread is now " + (TFM_ConfigEntry.ALLOW_FLUID_SPREAD.setBoolean(!args[0].equalsIgnoreCase("off")) ? "enabled" : "disabled") + ".");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -50,12 +50,11 @@ public class Command_glist extends TFM_Command
|
||||
else if (args.length == 2)
|
||||
{
|
||||
String username;
|
||||
List<String> ips = new ArrayList<String>();
|
||||
final List<String> ips = new ArrayList<String>();
|
||||
|
||||
try
|
||||
{
|
||||
Player player = getPlayer(args[1]);
|
||||
|
||||
final Player player = getPlayer(args[1]);
|
||||
username = player.getName();
|
||||
ips.add(player.getAddress().getAddress().getHostAddress());
|
||||
}
|
||||
@ -70,7 +69,7 @@ public class Command_glist extends TFM_Command
|
||||
}
|
||||
|
||||
username = entry.getLastJoinName();
|
||||
ips = entry.getIps();
|
||||
ips.addAll(entry.getIps());
|
||||
}
|
||||
|
||||
String mode = args[0].toLowerCase();
|
||||
|
@ -1,24 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Enable/disable lava damage.", usage = "/<command> <on | off>")
|
||||
public class Command_lavadmg 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;
|
||||
}
|
||||
|
||||
playerMsg("Lava damage is now " + (TFM_ConfigEntry.ALLOW_LAVA_DAMAGE.setBoolean(!args[0].equalsIgnoreCase("off")) ? "enabled" : "disabled") + ".");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Enable/disable lava placement.", usage = "/<command> <on | off>")
|
||||
public class Command_lavaplace 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;
|
||||
}
|
||||
|
||||
playerMsg("Lava placement is now " + (TFM_ConfigEntry.ALLOW_LAVA_PLACE.setBoolean(!args[0].equalsIgnoreCase("off")) ? "enabled" : "disabled") + ".");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
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 = "Attempt to detect \"invisible griefers\" and \"nukers\".", usage = "/<command> <on | off> [range] [blockrate]")
|
||||
public class Command_nonuke 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 >= 2)
|
||||
{
|
||||
try
|
||||
{
|
||||
TFM_ConfigEntry.NUKE_MONITOR_RANGE.setDouble(Math.max(1.0, Math.min(500.0, Double.parseDouble(args[1]))));
|
||||
}
|
||||
catch (NumberFormatException nfex)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
if (args.length >= 3)
|
||||
{
|
||||
try
|
||||
{
|
||||
TFM_ConfigEntry.NUKE_MONITOR_COUNT_BREAK.setInteger(Math.max(1, Math.min(500, Integer.parseInt(args[2]))));
|
||||
}
|
||||
catch (NumberFormatException nfex)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("on"))
|
||||
{
|
||||
TFM_ConfigEntry.NUKE_MONITOR.setBoolean(true);
|
||||
playerMsg("Nuke monitor is enabled.");
|
||||
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.");
|
||||
}
|
||||
else
|
||||
{
|
||||
TFM_ConfigEntry.NUKE_MONITOR.setBoolean(false);
|
||||
playerMsg("Nuke monitor is disabled.");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,55 +1,66 @@
|
||||
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.OfflinePlayer;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Manage operators", usage = "/<command> <count | list>")
|
||||
@CommandParameters(description = "Manager operators", usage = "/<command> <count | purge>")
|
||||
public class Command_ops extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
if (args.length < 1 || args.length > 1)
|
||||
if (args.length != 1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("list"))
|
||||
if (args[0].equals("count"))
|
||||
{
|
||||
TFM_Util.playerMsg(sender, "Operators: " + TFM_Util.playerListToNames(server.getOperators()));
|
||||
int totalOps = server.getOperators().size();
|
||||
int onlineOps = 0;
|
||||
|
||||
for (Player player : server.getOnlinePlayers())
|
||||
{
|
||||
if (player.isOp())
|
||||
{
|
||||
onlineOps++;
|
||||
}
|
||||
}
|
||||
|
||||
playerMsg("Online OPs: " + onlineOps);
|
||||
playerMsg("Offline OPs: " + (totalOps - onlineOps));
|
||||
playerMsg("Total OPs: " + totalOps);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("count"))
|
||||
if (args[0].equals("purge"))
|
||||
{
|
||||
int onlineOPs = 0;
|
||||
int offlineOPs = 0;
|
||||
int totalOPs = 0;
|
||||
if (!TFM_AdminList.isSuperAdmin(sender))
|
||||
{
|
||||
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||
return true;
|
||||
}
|
||||
|
||||
TFM_Util.adminAction(sender.getName(), "Purging all operators", true);
|
||||
|
||||
for (OfflinePlayer player : server.getOperators())
|
||||
{
|
||||
player.setOp(false);
|
||||
if (player.isOnline())
|
||||
{
|
||||
onlineOPs++;
|
||||
playerMsg((Player) player, TotalFreedomMod.YOU_ARE_NOT_OP);
|
||||
}
|
||||
else
|
||||
{
|
||||
offlineOPs++;
|
||||
}
|
||||
totalOPs++;
|
||||
}
|
||||
|
||||
playerMsg("Online OPs: " + onlineOPs);
|
||||
playerMsg("Offline OPs: " + offlineOPs);
|
||||
playerMsg("Total OPs: " + totalOPs);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -1,28 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Enable/disable tamed pet protection.", usage = "/<command> <on | off>")
|
||||
public class Command_petprotect 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;
|
||||
}
|
||||
|
||||
TFM_Util.adminAction(
|
||||
sender.getName(),
|
||||
"Tamed pet protection is now " + (TFM_ConfigEntry.PET_PROTECT_ENABLED.setBoolean(!TFM_Util.isStopCommand(args[0])) ? "enabled" : "disabled") + ".",
|
||||
false);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
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 = "Enable/disable the command prelogger. When this is on, logs will be filled with many duplicate messages.",
|
||||
usage = "/<command> <on | off>")
|
||||
public class Command_prelog 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[0].equalsIgnoreCase("on"))
|
||||
{
|
||||
TFM_ConfigEntry.PREPROCESS_LOG_ENABLED.setBoolean(true);
|
||||
playerMsg("Command preprocess logging is now enabled. This will be spammy in the log.");
|
||||
}
|
||||
else
|
||||
{
|
||||
TFM_ConfigEntry.PREPROCESS_LOG_ENABLED.setBoolean(false);
|
||||
playerMsg("Command preprocess logging is now disabled.");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@ import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Quick Op - op someone based on a partial name.", usage = "/<command> <partialname>")
|
||||
public class Command_qop extends TFM_Command
|
||||
{
|
||||
|
@ -1,6 +1,9 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
@ -19,22 +22,32 @@ public class Command_ro extends TFM_Command
|
||||
return false;
|
||||
}
|
||||
|
||||
Material from_material = Material.matchMaterial(args[0]);
|
||||
if (from_material == null)
|
||||
final List<Material> materials = new ArrayList<Material>();
|
||||
|
||||
for (String materialName : (args[0].contains(",") ? args[0].split(",") : new String[]
|
||||
{
|
||||
args[0]
|
||||
}))
|
||||
{
|
||||
Material fromMaterial = Material.matchMaterial(materialName);
|
||||
if (fromMaterial == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
from_material = Material.getMaterial(Integer.parseInt(args[0]));
|
||||
fromMaterial = Material.getMaterial(Integer.parseInt(materialName));
|
||||
}
|
||||
catch (NumberFormatException ex)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
if (from_material == null)
|
||||
if (fromMaterial == null)
|
||||
{
|
||||
playerMsg("Invalid block: " + args[0], ChatColor.RED);
|
||||
playerMsg("Invalid block: " + materialName, ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
|
||||
materials.add(fromMaterial);
|
||||
}
|
||||
|
||||
int radius = 20;
|
||||
@ -51,7 +64,7 @@ public class Command_ro extends TFM_Command
|
||||
}
|
||||
}
|
||||
|
||||
Player targetPlayer = null;
|
||||
final Player targetPlayer;
|
||||
if (args.length == 3)
|
||||
{
|
||||
try
|
||||
@ -64,24 +77,37 @@ public class Command_ro extends TFM_Command
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
targetPlayer = null;
|
||||
}
|
||||
|
||||
final String names = StringUtils.join(materials, ", ");
|
||||
|
||||
int affected = 0;
|
||||
|
||||
if (targetPlayer == null)
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Removing all " + from_material.name() + " within " + radius + " blocks of all players. Brace for lag...", senderIsConsole);
|
||||
TFM_Util.adminAction(sender.getName(), "Removing all " + names + " within " + radius + " blocks of all players... Brace for lag!", false);
|
||||
|
||||
for (Material material : materials)
|
||||
{
|
||||
for (Player player : server.getOnlinePlayers())
|
||||
{
|
||||
affected += TFM_Util.replaceBlocks(player.getLocation(), from_material, Material.AIR, radius);
|
||||
affected += TFM_Util.replaceBlocks(player.getLocation(), material, Material.AIR, radius);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Removing all " + from_material.name() + " within " + radius + " blocks of " + targetPlayer.getName() + ".", senderIsConsole);
|
||||
affected += TFM_Util.replaceBlocks(targetPlayer.getLocation(), from_material, Material.AIR, radius);
|
||||
for (Material material : materials)
|
||||
{
|
||||
TFM_Util.adminAction(sender.getName(), "Removing all " + names + " within " + radius + " blocks of " + targetPlayer.getName(), false);
|
||||
affected += TFM_Util.replaceBlocks(targetPlayer.getLocation(), material, Material.AIR, radius);
|
||||
}
|
||||
}
|
||||
|
||||
TFM_Util.adminAction(sender.getName(), "Remove complete. " + affected + " blocks removed.", senderIsConsole);
|
||||
TFM_Util.adminAction(sender.getName(), "Remove complete! " + affected + " blocks removed.", false);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ public class Command_rollback extends TFM_Command
|
||||
|
||||
TFM_Util.adminAction(sender.getName(), "Rolling back player: " + playerName, false);
|
||||
playerMsg("Rolled back " + TFM_RollbackManager.rollback(playerName) + " edits for " + playerName + ".");
|
||||
playerMsg("If this rollback was a mistake, use /rollback undo " + playerName + " within 20 seconds to reverse the rollback.");
|
||||
playerMsg("If this rollback was a mistake, use /rollback undo " + playerName + " within 40 seconds to reverse the rollback.");
|
||||
}
|
||||
}
|
||||
else if (args.length == 2)
|
||||
|
@ -45,7 +45,7 @@ public class Command_saconfig extends TFM_Command
|
||||
|
||||
TFM_Util.adminAction(sender.getName(), "Cleaning superadmin list", true);
|
||||
TFM_AdminList.cleanSuperadminList(true);
|
||||
playerMsg("Superadmins: " + StringUtils.join(TFM_AdminList.getSuperUUIDs(), ", "), ChatColor.YELLOW);
|
||||
playerMsg("Superadmins: " + StringUtils.join(TFM_AdminList.getSuperNames(), ", "), ChatColor.YELLOW);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,11 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_CommandBlocker;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PermbanList;
|
||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerList;
|
||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.Command;
|
||||
@ -7,12 +13,42 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Shows information about TotalFreedomMod", usage = "/<command>")
|
||||
@CommandParameters(description = "Shows information about TotalFreedomMod or reloads it", usage = "/<command> [reload]")
|
||||
public class Command_tfm extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
if (args.length == 1)
|
||||
{
|
||||
if (!args[0].equals("reload"))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!TFM_AdminList.isSuperAdmin(sender))
|
||||
{
|
||||
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||
}
|
||||
|
||||
TFM_AdminList.load();
|
||||
TFM_PermbanList.load();
|
||||
TFM_PlayerList.getInstance().load();
|
||||
TFM_BanManager.getInstance().load();
|
||||
|
||||
TFM_CommandBlocker.getInstance().parseBlockingRules();
|
||||
|
||||
|
||||
final String message = String.format("%s v%s.%s reloaded.",
|
||||
TotalFreedomMod.pluginName,
|
||||
TotalFreedomMod.pluginVersion,
|
||||
TotalFreedomMod.buildNumber);
|
||||
|
||||
playerMsg(message);
|
||||
TFM_Log.info(message);
|
||||
return true;
|
||||
}
|
||||
|
||||
playerMsg("TotalFreedomMod for 'Total Freedom', the original all-op server.", ChatColor.GOLD);
|
||||
playerMsg(String.format("Version "
|
||||
+ ChatColor.BLUE + "%s.%s" + ChatColor.GOLD + ", built "
|
||||
|
184
src/me/StevenLawson/TotalFreedomMod/Commands/Command_toggle.java
Normal file
184
src/me/StevenLawson/TotalFreedomMod/Commands/Command_toggle.java
Normal file
@ -0,0 +1,184 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
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 org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Toggles TotalFreedomMod settings", usage = "/<command> [option] [value] [value]")
|
||||
public class Command_toggle extends TFM_Command
|
||||
{
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
if (args.length == 0)
|
||||
{
|
||||
playerMsg("Available toggles: ");
|
||||
playerMsg("- waterplace");
|
||||
playerMsg("- fireplace");
|
||||
playerMsg("- lavaplace");
|
||||
playerMsg("- fluidspread");
|
||||
playerMsg("- lavadmg");
|
||||
playerMsg("- firespread");
|
||||
playerMsg("- prelog");
|
||||
playerMsg("- petprotect");
|
||||
playerMsg("- droptoggle");
|
||||
playerMsg("- nonuke");
|
||||
playerMsg("- explosives");
|
||||
playerMsg("- disguisecraft");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args[0].equals("waterplace"))
|
||||
{
|
||||
toggle("Water placement is", TFM_ConfigEntry.ALLOW_WATER_PLACE);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("fireplace"))
|
||||
{
|
||||
toggle("Fire placement is", TFM_ConfigEntry.ALLOW_FIRE_PLACE);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("lavaplace"))
|
||||
{
|
||||
toggle("Lava placement is", TFM_ConfigEntry.ALLOW_LAVA_PLACE);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("fluidspread"))
|
||||
{
|
||||
toggle("Fire placement is", TFM_ConfigEntry.ALLOW_FLUID_SPREAD);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("lavadmg"))
|
||||
{
|
||||
toggle("Lava damage is", TFM_ConfigEntry.ALLOW_LAVA_DAMAGE);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("firespread"))
|
||||
{
|
||||
TFM_GameRuleHandler.setGameRule(TFM_GameRule.DO_FIRE_TICK, TFM_ConfigEntry.ALLOW_FIRE_SPREAD.getBoolean());
|
||||
toggle("Fire spread is", TFM_ConfigEntry.ALLOW_FIRE_SPREAD);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("prelog"))
|
||||
{
|
||||
toggle("Command prelogging is", TFM_ConfigEntry.PREPROCESS_LOG_ENABLED);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("petprotect"))
|
||||
{
|
||||
toggle("Tamed pet protection is", TFM_ConfigEntry.PET_PROTECT_ENABLED);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("droptoggle"))
|
||||
{
|
||||
toggle("Automatic entity wiping is", TFM_ConfigEntry.AUTO_ENTITY_WIPE);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("nonuke"))
|
||||
{
|
||||
if (args.length >= 2)
|
||||
{
|
||||
try
|
||||
{
|
||||
TFM_ConfigEntry.NUKE_MONITOR_RANGE.setDouble(Math.max(1.0, Math.min(500.0, Double.parseDouble(args[1]))));
|
||||
}
|
||||
catch (NumberFormatException nfex)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
if (args.length >= 3)
|
||||
{
|
||||
try
|
||||
{
|
||||
TFM_ConfigEntry.NUKE_MONITOR_COUNT_BREAK.setInteger(Math.max(1, Math.min(500, Integer.parseInt(args[2]))));
|
||||
}
|
||||
catch (NumberFormatException nfex)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
toggle("Nuke monitor is", TFM_ConfigEntry.NUKE_MONITOR);
|
||||
|
||||
if (TFM_ConfigEntry.NUKE_MONITOR.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.");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
if (args[0].equals("explosives"))
|
||||
{
|
||||
if (args.length == 2)
|
||||
{
|
||||
try
|
||||
{
|
||||
TFM_ConfigEntry.EXPLOSIVE_RADIUS.setDouble(Math.max(1.0, Math.min(30.0, Double.parseDouble(args[1]))));
|
||||
}
|
||||
catch (NumberFormatException ex)
|
||||
{
|
||||
TFM_Util.playerMsg(sender, ex.getMessage());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
toggle("Explosions are", TFM_ConfigEntry.ALLOW_EXPLOSIONS);
|
||||
|
||||
if (TFM_ConfigEntry.ALLOW_EXPLOSIONS.getBoolean())
|
||||
{
|
||||
playerMsg("Radius set to " + TFM_ConfigEntry.EXPLOSIVE_RADIUS.getDouble());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (args[0].equals("disguisecraft"))
|
||||
{
|
||||
final Plugin disguiseCraft = server.getPluginManager().getPlugin("DisguiseCraft");
|
||||
if (disguiseCraft == null)
|
||||
{
|
||||
playerMsg("DisguiseCraft is not installed on this server.");
|
||||
return true;
|
||||
}
|
||||
|
||||
boolean enabled = disguiseCraft.isEnabled();
|
||||
TFM_Util.adminAction(sender.getName(), (enabled ? "disa" : "ena") + "bling DisguiseCraft", true);
|
||||
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
plugin.getServer().getPluginManager().disablePlugin(disguiseCraft);
|
||||
}
|
||||
else
|
||||
{
|
||||
plugin.getServer().getPluginManager().enablePlugin(disguiseCraft);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private void toggle(String name, TFM_ConfigEntry entry)
|
||||
{
|
||||
entry.setBoolean(!entry.getBoolean());
|
||||
playerMsg(name + " now " + (entry.setBoolean(!entry.getBoolean()) ? "enabled." : "disabled."));
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||
|
||||
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Enable/disable water placement.", usage = "/<command> <on | off>")
|
||||
public class Command_waterplace 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;
|
||||
}
|
||||
|
||||
playerMsg("Water placement is now " + (TFM_ConfigEntry.ALLOW_WATER_PLACE.setBoolean(!args[0].equalsIgnoreCase("off")) ? "enabled" : "disabled") + ".");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,13 +1,11 @@
|
||||
package me.StevenLawson.TotalFreedomMod;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
@ -23,7 +21,6 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.FileUtil;
|
||||
|
||||
@ -130,42 +127,7 @@ public class TFM_AdminList
|
||||
// Parse old superadmins
|
||||
if (config.isConfigurationSection("superadmins"))
|
||||
{
|
||||
TFM_Log.info("Old superadmin configuration found, parsing...");
|
||||
|
||||
final ConfigurationSection section = config.getConfigurationSection("superadmins");
|
||||
|
||||
int counter = 0;
|
||||
int errors = 0;
|
||||
|
||||
for (String admin : config.getConfigurationSection("superadmins").getKeys(false))
|
||||
{
|
||||
final OfflinePlayer player = Bukkit.getOfflinePlayer(admin);
|
||||
|
||||
if (player == null || player.getUniqueId() == null)
|
||||
{
|
||||
errors++;
|
||||
TFM_Log.warning("Could not convert admin " + admin + ", UUID could not be found!");
|
||||
continue;
|
||||
}
|
||||
|
||||
final String uuid = player.getUniqueId().toString();
|
||||
|
||||
config.set("admins." + uuid + ".last_login_name", player.getName());
|
||||
config.set("admins." + uuid + ".is_activated", section.getBoolean(admin + ".is_activated"));
|
||||
config.set("admins." + uuid + ".is_telnet_admin", section.getBoolean(admin + ".is_telnet_admin"));
|
||||
config.set("admins." + uuid + ".is_senior_admin", section.getBoolean(admin + ".is_senior_admin"));
|
||||
config.set("admins." + uuid + ".last_login", section.getString(admin + ".last_login"));
|
||||
config.set("admins." + uuid + ".custom_login_message", section.getString(admin + ".custom_login_message"));
|
||||
config.set("admins." + uuid + ".console_aliases", section.getStringList(admin + ".console_aliases"));
|
||||
config.set("admins." + uuid + ".ips", section.getStringList(admin + ".ips"));
|
||||
|
||||
counter++;
|
||||
}
|
||||
|
||||
config.set("superadmins", null);
|
||||
config.save();
|
||||
|
||||
TFM_Log.info(counter + " admins parsed, " + errors + " errors");
|
||||
parseOldConfig(config);
|
||||
}
|
||||
|
||||
if (!config.isConfigurationSection("admins"))
|
||||
@ -249,6 +211,46 @@ public class TFM_AdminList
|
||||
TFM_AdminWorld.getInstance().wipeAccessCache();
|
||||
}
|
||||
|
||||
private static void parseOldConfig(TFM_Config config)
|
||||
{
|
||||
TFM_Log.info("Old superadmin configuration found, parsing...");
|
||||
|
||||
final ConfigurationSection section = config.getConfigurationSection("superadmins");
|
||||
|
||||
int counter = 0;
|
||||
int errors = 0;
|
||||
|
||||
for (String admin : config.getConfigurationSection("superadmins").getKeys(false))
|
||||
{
|
||||
final OfflinePlayer player = Bukkit.getOfflinePlayer(admin);
|
||||
|
||||
if (player == null || player.getUniqueId() == null)
|
||||
{
|
||||
errors++;
|
||||
TFM_Log.warning("Could not convert admin " + admin + ", UUID could not be found!");
|
||||
continue;
|
||||
}
|
||||
|
||||
final String uuid = player.getUniqueId().toString();
|
||||
|
||||
config.set("admins." + uuid + ".last_login_name", player.getName());
|
||||
config.set("admins." + uuid + ".is_activated", section.getBoolean(admin + ".is_activated"));
|
||||
config.set("admins." + uuid + ".is_telnet_admin", section.getBoolean(admin + ".is_telnet_admin"));
|
||||
config.set("admins." + uuid + ".is_senior_admin", section.getBoolean(admin + ".is_senior_admin"));
|
||||
config.set("admins." + uuid + ".last_login", section.getString(admin + ".last_login"));
|
||||
config.set("admins." + uuid + ".custom_login_message", section.getString(admin + ".custom_login_message"));
|
||||
config.set("admins." + uuid + ".console_aliases", section.getStringList(admin + ".console_aliases"));
|
||||
config.set("admins." + uuid + ".ips", section.getStringList(admin + ".ips"));
|
||||
|
||||
counter++;
|
||||
}
|
||||
|
||||
config.set("superadmins", null);
|
||||
config.save();
|
||||
|
||||
TFM_Log.info("Done! " + counter + " admins parsed, " + errors + " errors");
|
||||
}
|
||||
|
||||
public static void save()
|
||||
{
|
||||
final TFM_Config config = new TFM_Config(TotalFreedomMod.plugin, TotalFreedomMod.SUPERADMIN_FILE, true);
|
||||
|
@ -115,7 +115,7 @@ public class TFM_RollbackManager
|
||||
purgeEntries(playerName);
|
||||
}
|
||||
}
|
||||
}.runTaskLater(TotalFreedomMod.plugin, 20L * 20L);
|
||||
}.runTaskLater(TotalFreedomMod.plugin, 40L * 20L);
|
||||
return count;
|
||||
}
|
||||
|
||||
|
@ -79,8 +79,8 @@ public class TotalFreedomMod extends JavaPlugin
|
||||
@Override
|
||||
public void onEnable()
|
||||
{
|
||||
TFM_Log.info("Starting " + pluginName + " v" + TotalFreedomMod.pluginVersion + "." + TotalFreedomMod.buildNumber);
|
||||
TFM_Log.info("Made by Madgeek1450 and DarthSalamon, Compiled " + buildDate + " by " + buildCreator);
|
||||
TFM_Log.info("Made by Madgeek1450 and DarthSalamon");
|
||||
TFM_Log.info("Compiled " + buildDate + " by " + buildCreator);
|
||||
|
||||
final File[] coreDumps = new File(".").listFiles(new FileFilter()
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: TotalFreedomMod
|
||||
main: me.StevenLawson.TotalFreedomMod.TotalFreedomMod
|
||||
version: 4.0
|
||||
version: 4.1
|
||||
description: Plugin for the Total Freedom server.
|
||||
softdepend: [BukkitTelnet, DisguiseCraft, WorldEdit, Essentials]
|
||||
authors: [Madgeek1450, DarthSalamon]
|
||||
|
Reference in New Issue
Block a user