1
0
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:
KHobbits
2012-12-02 01:20:41 +00:00
parent 032c35c90d
commit 49fe260f8d
7 changed files with 72 additions and 41 deletions

View File

@@ -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)
{

View File

@@ -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)
{

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)
{

View File

@@ -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);
}

View File

@@ -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);
}
}
}
}