1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-21 05:51:56 +02:00

Allow syntax: /god <player> <on/off>

This commit is contained in:
ementalo
2012-06-18 11:21:28 +01:00
parent 3a38e4102a
commit dd8a3cfa4f
5 changed files with 32 additions and 26 deletions

View File

@@ -76,8 +76,6 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
Location getAfkPosition(); Location getAfkPosition();
boolean toggleGodModeEnabled();
void dispose(); void dispose();
void updateCompass(); void updateCompass();
@@ -124,4 +122,6 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
void update(final Player base); void update(final Player base);
void setGodModeEnabled(boolean set);
} }

View File

@@ -17,7 +17,7 @@ public class Commandgod extends EssentialsCommand
throw new NotEnoughArgumentsException(); throw new NotEnoughArgumentsException();
} }
godOtherPlayers(sender, args[0]); godOtherPlayers(sender, args);
} }
@Override @Override
@@ -25,23 +25,41 @@ public class Commandgod extends EssentialsCommand
{ {
if (args.length > 0 && !args[0].trim().isEmpty() && Permissions.GOD_OTHERS.isAuthorized(user)) if (args.length > 0 && !args[0].trim().isEmpty() && Permissions.GOD_OTHERS.isAuthorized(user))
{ {
godOtherPlayers(user, args[0]); godOtherPlayers(user, args);
return; return;
} }
user.sendMessage(_("godMode", (user.toggleGodModeEnabled() ? _("enabled") : _("disabled")))); user.setGodModeEnabled(!user.isGodModeEnabled());
user.sendMessage(_("godMode", (user.isGodModeEnabled() ? _("enabled") : _("disabled"))));
} }
private void godOtherPlayers(final CommandSender sender, final String name) private void godOtherPlayers(final CommandSender sender, final String[] args)
{ {
for (Player matchPlayer : server.matchPlayer(name)) for (Player matchPlayer : server.matchPlayer(args[0]))
{ {
final IUser player = ess.getUser(matchPlayer); final IUser player = ess.getUser(matchPlayer);
if (player.isHidden()) if (player.isHidden())
{ {
continue; continue;
} }
final boolean enabled = player.toggleGodModeEnabled();
if (args.length > 1)
{
if (args[1].contains("on") || args[1].contains("ena") || args[1].equalsIgnoreCase("1"))
{
player.setGodModeEnabled(true);
}
else
{
player.setGodModeEnabled(false);
}
}
else
{
player.setGodModeEnabled(!player.isGodModeEnabled());
}
final boolean enabled = player.isGodModeEnabled();
player.sendMessage(_("godMode", (enabled ? _("enabled") : _("disabled")))); player.sendMessage(_("godMode", (enabled ? _("enabled") : _("disabled"))));
sender.sendMessage(_("godMode", _(enabled ? "godEnabledFor" : "godDisabledFor", matchPlayer.getDisplayName()))); sender.sendMessage(_("godMode", _(enabled ? "godEnabledFor" : "godDisabledFor", matchPlayer.getDisplayName())));
} }

View File

@@ -525,16 +525,6 @@ public class User extends UserBase implements IUser
return afkPosition; return afkPosition;
} }
@Override
public boolean toggleGodModeEnabled()
{
if (!isGodModeEnabled())
{
setFoodLevel(20);
}
return super.toggleGodmode();
}
@Override @Override
public boolean isGodModeEnabled() public boolean isGodModeEnabled()
{ {

View File

@@ -272,14 +272,12 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
} }
} }
public boolean toggleGodmode() public void setGodModeEnabled(boolean set)
{ {
acquireWriteLock(); acquireWriteLock();
try try
{ {
boolean ret = !getData().isGodmode(); getData().setGodmode(set);
getData().setGodmode(ret);
return ret;
} }
finally finally
{ {

View File

@@ -105,7 +105,7 @@ commands:
aliases: [efeed,eat,eeat] aliases: [efeed,eat,eeat]
fly: fly:
description: Take off, and soar! description: Take off, and soar!
usage: /<command> [player] usage: /<command> [player] [on|off]
aliases: [efly] aliases: [efly]
itemdb: itemdb:
description: Searches for an item. description: Searches for an item.
@@ -133,7 +133,7 @@ commands:
aliases: [egive] aliases: [egive]
god: god:
description: Enables your godly powers. description: Enables your godly powers.
usage: /<command> [player] usage: /<command> [player] [on|off]
aliases: [tgm,godmode,egod,etgm,egodmode] aliases: [tgm,godmode,egod,etgm,egodmode]
hat: hat:
description: Get some cool new headgear description: Get some cool new headgear