mirror of
https://github.com/TheDeus-Group/TFM-4.3-Reloaded.git
synced 2024-05-16 16:21:16 +00:00
160 lines
5.6 KiB
Java
160 lines
5.6 KiB
Java
package me.StevenLawson.TotalFreedomMod.commands;
|
|
|
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
import me.StevenLawson.TotalFreedomMod.config.ConfigurationEntry;
|
|
import me.StevenLawson.TotalFreedomMod.gamerule.GameRuleHandler;
|
|
import me.StevenLawson.TotalFreedomMod.gamerule.GameRuleHandler.TFM_GameRule;
|
|
import me.StevenLawson.TotalFreedomMod.util.Utilities;
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.CommandSender;
|
|
|
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
|
public class Command_toggle extends FreedomCommand {
|
|
@Override
|
|
public boolean run(CommandSender sender, org.bukkit.entity.Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
|
|
if (args.length == 0) {
|
|
playerMsg(sender, "Available toggles: ");
|
|
playerMsg(sender, "- waterplace");
|
|
playerMsg(sender, "- fireplace");
|
|
playerMsg(sender, "- lavaplace");
|
|
playerMsg(sender, "- fluidspread");
|
|
playerMsg(sender, "- lavadmg");
|
|
playerMsg(sender, "- firespread");
|
|
playerMsg(sender, "- prelog");
|
|
playerMsg(sender, "- lockdown");
|
|
playerMsg(sender, "- petprotect");
|
|
playerMsg(sender, "- droptoggle");
|
|
playerMsg(sender, "- nonuke");
|
|
playerMsg(sender, "- explosives");
|
|
return false;
|
|
}
|
|
|
|
if (args[0].equals("waterplace"))
|
|
{
|
|
toggle(sender, "Water placement is", ConfigurationEntry.ALLOW_WATER_PLACE);
|
|
return true;
|
|
}
|
|
|
|
if (args[0].equals("fireplace"))
|
|
{
|
|
toggle(sender, "Fire placement is", ConfigurationEntry.ALLOW_FIRE_PLACE);
|
|
return true;
|
|
}
|
|
|
|
if (args[0].equals("lavaplace"))
|
|
{
|
|
toggle(sender, "Lava placement is", ConfigurationEntry.ALLOW_LAVA_PLACE);
|
|
return true;
|
|
}
|
|
|
|
if (args[0].equals("fluidspread"))
|
|
{
|
|
toggle(sender, "Fluid spread is", ConfigurationEntry.ALLOW_FLUID_SPREAD);
|
|
return true;
|
|
}
|
|
|
|
if (args[0].equals("lavadmg"))
|
|
{
|
|
toggle(sender, "Lava damage is", ConfigurationEntry.ALLOW_LAVA_DAMAGE);
|
|
return true;
|
|
}
|
|
|
|
if (args[0].equals("firespread"))
|
|
{
|
|
toggle(sender, "Fire spread is", ConfigurationEntry.ALLOW_FIRE_SPREAD);
|
|
GameRuleHandler.setGameRule(TFM_GameRule.DO_FIRE_TICK, ConfigurationEntry.ALLOW_FIRE_SPREAD.getBoolean());
|
|
return true;
|
|
}
|
|
|
|
if (args[0].equals("prelog"))
|
|
{
|
|
toggle(sender, "Command prelogging is", ConfigurationEntry.ENABLE_PREPROCESS_LOG);
|
|
return true;
|
|
}
|
|
|
|
if (args[0].equals("lockdown"))
|
|
{
|
|
Utilities.adminAction(sender.getName(), (TotalFreedomMod.lockdownEnabled ? "De-a" : "A") + "ctivating server lockdown", true);
|
|
TotalFreedomMod.lockdownEnabled = !TotalFreedomMod.lockdownEnabled;
|
|
return true;
|
|
}
|
|
|
|
if (args[0].equals("petprotect"))
|
|
{
|
|
toggle(sender, "Tamed pet protection is", ConfigurationEntry.ENABLE_PET_PROTECT);
|
|
return true;
|
|
}
|
|
|
|
if (args[0].equals("droptoggle"))
|
|
{
|
|
toggle(sender, "Automatic entity wiping is", ConfigurationEntry.AUTO_ENTITY_WIPE);
|
|
return true;
|
|
}
|
|
|
|
if (args[0].equals("nonuke"))
|
|
{
|
|
if (args.length >= 2)
|
|
{
|
|
try
|
|
{
|
|
ConfigurationEntry.NUKE_MONITOR_RANGE.setDouble(Math.max(1.0, Math.min(500.0, Double.parseDouble(args[1]))));
|
|
}
|
|
catch (NumberFormatException nfex)
|
|
{
|
|
}
|
|
}
|
|
|
|
if (args.length >= 3)
|
|
{
|
|
try
|
|
{
|
|
ConfigurationEntry.NUKE_MONITOR_COUNT_BREAK.setInteger(Math.max(1, Math.min(500, Integer.parseInt(args[2]))));
|
|
}
|
|
catch (NumberFormatException nfex)
|
|
{
|
|
}
|
|
}
|
|
|
|
toggle(sender, "Nuke monitor is", ConfigurationEntry.NUKE_MONITOR_ENABLED);
|
|
|
|
if (ConfigurationEntry.NUKE_MONITOR_ENABLED.getBoolean())
|
|
{
|
|
playerMsg(sender, "Anti-freecam range is set to " + ConfigurationEntry.NUKE_MONITOR_RANGE.getDouble() + " blocks.");
|
|
playerMsg(sender, "Block throttle rate is set to " + ConfigurationEntry.NUKE_MONITOR_COUNT_BREAK.getInteger() + " blocks destroyed per 5 seconds.");
|
|
}
|
|
|
|
return true;
|
|
}
|
|
if (args[0].equals("explosives"))
|
|
{
|
|
if (args.length == 2)
|
|
{
|
|
try
|
|
{
|
|
ConfigurationEntry.EXPLOSIVE_RADIUS.setDouble(Math.max(1.0, Math.min(30.0, Double.parseDouble(args[1]))));
|
|
}
|
|
catch (NumberFormatException ex)
|
|
{
|
|
playerMsg(sender, ex.getMessage());
|
|
return true;
|
|
}
|
|
}
|
|
|
|
toggle(sender, "Explosions are", ConfigurationEntry.ALLOW_EXPLOSIONS);
|
|
|
|
if (ConfigurationEntry.ALLOW_EXPLOSIONS.getBoolean())
|
|
{
|
|
playerMsg(sender, "Radius set to " + ConfigurationEntry.EXPLOSIVE_RADIUS.getDouble());
|
|
}
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
private void toggle(CommandSender sender, String name, ConfigurationEntry entry)
|
|
{
|
|
playerMsg(sender, name + " now " + (entry.setBoolean(!entry.getBoolean()) ? "enabled." : "disabled."));
|
|
}
|
|
}
|