mirror of
https://github.com/essentials/Essentials.git
synced 2025-08-26 16:04:27 +02:00
Split settings abstract to allow more complex matches
This commit is contained in:
@@ -6,7 +6,7 @@ import net.ess3.api.IUser;
|
||||
import net.ess3.permissions.Permissions;
|
||||
|
||||
|
||||
public class Commandfly extends EssentialsSettingsCommand
|
||||
public class Commandfly extends EssentialsToggleCommand
|
||||
{
|
||||
protected void setValue(final IUser player, final boolean value)
|
||||
{
|
||||
|
@@ -5,7 +5,7 @@ import net.ess3.api.IUser;
|
||||
import net.ess3.permissions.Permissions;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class Commandgod extends EssentialsSettingsCommand
|
||||
public class Commandgod extends EssentialsToggleCommand
|
||||
{
|
||||
protected void setValue(final IUser player, final boolean value)
|
||||
{
|
||||
|
@@ -6,7 +6,7 @@ import net.ess3.permissions.Permissions;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
|
||||
public class Commandsocialspy extends EssentialsSettingsCommand
|
||||
public class Commandsocialspy extends EssentialsToggleCommand
|
||||
{
|
||||
|
||||
protected void setValue(final IUser player, final boolean value)
|
||||
|
@@ -6,7 +6,7 @@ import net.ess3.api.IUser;
|
||||
import net.ess3.permissions.Permissions;
|
||||
|
||||
|
||||
public class Commandtptoggle extends EssentialsSettingsCommand
|
||||
public class Commandtptoggle extends EssentialsToggleCommand
|
||||
{
|
||||
|
||||
protected void setValue(final IUser player, final boolean value)
|
||||
|
@@ -6,7 +6,7 @@ import net.ess3.api.IUser;
|
||||
import net.ess3.permissions.Permissions;
|
||||
|
||||
|
||||
public class Commandvanish extends EssentialsSettingsCommand
|
||||
public class Commandvanish extends EssentialsToggleCommand
|
||||
{
|
||||
protected void setValue(final IUser player, final boolean value)
|
||||
{
|
||||
|
@@ -9,16 +9,6 @@ import net.ess3.api.IUser;
|
||||
public abstract class EssentialsSettingsCommand extends EssentialsCommand
|
||||
{
|
||||
|
||||
protected void setValue(final IUser player, final boolean value)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
protected boolean getValue(final IUser player)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
protected void informSender(final CommandSender sender, final boolean value, final IUser player)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
@@ -39,6 +29,17 @@ public abstract class EssentialsSettingsCommand extends EssentialsCommand
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
protected boolean canMatch(final String arg)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
protected void playerMatch(final IUser player, final String arg)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
|
||||
protected boolean toggleOfflinePlayers()
|
||||
{
|
||||
return true;
|
||||
@@ -65,13 +66,9 @@ public abstract class EssentialsSettingsCommand extends EssentialsCommand
|
||||
}
|
||||
else if (args.length > 0)
|
||||
{
|
||||
if (args[0].equalsIgnoreCase("on") || args[0].startsWith("enable") || args[0].equalsIgnoreCase("1"))
|
||||
if (canMatch(args[0]))
|
||||
{
|
||||
setValue(user, true);
|
||||
}
|
||||
else if (args[0].equalsIgnoreCase("off") || args[0].startsWith("disable") || args[0].equalsIgnoreCase("0"))
|
||||
{
|
||||
setValue(user, true);
|
||||
playerMatch(user, args[0]);
|
||||
}
|
||||
else if (args[0].trim().length() > 2 && canToggleOthers(user))
|
||||
{
|
||||
@@ -81,7 +78,7 @@ public abstract class EssentialsSettingsCommand extends EssentialsCommand
|
||||
}
|
||||
else
|
||||
{
|
||||
setValue(user, !getValue(user));
|
||||
playerMatch(user, null);
|
||||
}
|
||||
informPlayer(user);
|
||||
}
|
||||
@@ -99,26 +96,8 @@ public abstract class EssentialsSettingsCommand extends EssentialsCommand
|
||||
informSender(sender, false, matchPlayer);
|
||||
continue;
|
||||
}
|
||||
if (args.length > 1)
|
||||
{
|
||||
if (args[1].contains("on") || args[1].contains("ena") || args[1].equalsIgnoreCase("1"))
|
||||
{
|
||||
setValue(matchPlayer, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
setValue(matchPlayer, true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
setValue(matchPlayer, !getValue(matchPlayer));
|
||||
}
|
||||
|
||||
if (!matchPlayer.getPlayer().getAllowFlight())
|
||||
{
|
||||
matchPlayer.getPlayer().setFlying(false);
|
||||
}
|
||||
playerMatch(matchPlayer, args[1]);
|
||||
informPlayer(matchPlayer);
|
||||
informSender(sender, true, matchPlayer);
|
||||
}
|
||||
|
@@ -0,0 +1,52 @@
|
||||
package net.ess3.commands;
|
||||
|
||||
import java.util.Set;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import net.ess3.api.IUser;
|
||||
|
||||
|
||||
public abstract class EssentialsToggleCommand extends EssentialsSettingsCommand
|
||||
{
|
||||
|
||||
protected void setValue(final IUser player, final boolean value)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
protected boolean getValue(final IUser player)
|
||||
{
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
protected boolean canMatch(final String arg)
|
||||
{
|
||||
if (arg.equalsIgnoreCase("on") || arg.startsWith("enable") || arg.equalsIgnoreCase("1"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (arg.equalsIgnoreCase("off") || arg.startsWith("disable") || arg.equalsIgnoreCase("0"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected void playerMatch(final IUser player, final String arg)
|
||||
{
|
||||
if (arg == null)
|
||||
{
|
||||
setValue(player, !getValue(player));
|
||||
}
|
||||
else {
|
||||
if (arg.contains("on") || arg.contains("ena") || arg.equalsIgnoreCase("1"))
|
||||
{
|
||||
setValue(player, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
setValue(player, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user