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:
@@ -76,8 +76,6 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
|
||||
|
||||
Location getAfkPosition();
|
||||
|
||||
boolean toggleGodModeEnabled();
|
||||
|
||||
void dispose();
|
||||
|
||||
void updateCompass();
|
||||
@@ -124,4 +122,6 @@ public interface IUser extends Player, IStorageObjectHolder<UserData>, IReload,
|
||||
|
||||
void update(final Player base);
|
||||
|
||||
void setGodModeEnabled(boolean set);
|
||||
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@ public class Commandgod extends EssentialsCommand
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
|
||||
godOtherPlayers(sender, args[0]);
|
||||
godOtherPlayers(sender, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -25,23 +25,41 @@ public class Commandgod extends EssentialsCommand
|
||||
{
|
||||
if (args.length > 0 && !args[0].trim().isEmpty() && Permissions.GOD_OTHERS.isAuthorized(user))
|
||||
{
|
||||
godOtherPlayers(user, args[0]);
|
||||
godOtherPlayers(user, args);
|
||||
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);
|
||||
if (player.isHidden())
|
||||
{
|
||||
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"))));
|
||||
sender.sendMessage(_("godMode", _(enabled ? "godEnabledFor" : "godDisabledFor", matchPlayer.getDisplayName())));
|
||||
}
|
||||
|
@@ -525,16 +525,6 @@ public class User extends UserBase implements IUser
|
||||
return afkPosition;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean toggleGodModeEnabled()
|
||||
{
|
||||
if (!isGodModeEnabled())
|
||||
{
|
||||
setFoodLevel(20);
|
||||
}
|
||||
return super.toggleGodmode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGodModeEnabled()
|
||||
{
|
||||
|
@@ -272,14 +272,12 @@ public abstract class UserBase extends AsyncStorageObjectHolder<UserData> implem
|
||||
}
|
||||
}
|
||||
|
||||
public boolean toggleGodmode()
|
||||
public void setGodModeEnabled(boolean set)
|
||||
{
|
||||
acquireWriteLock();
|
||||
try
|
||||
{
|
||||
boolean ret = !getData().isGodmode();
|
||||
getData().setGodmode(ret);
|
||||
return ret;
|
||||
getData().setGodmode(set);
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
@@ -105,7 +105,7 @@ commands:
|
||||
aliases: [efeed,eat,eeat]
|
||||
fly:
|
||||
description: Take off, and soar!
|
||||
usage: /<command> [player]
|
||||
usage: /<command> [player] [on|off]
|
||||
aliases: [efly]
|
||||
itemdb:
|
||||
description: Searches for an item.
|
||||
@@ -133,7 +133,7 @@ commands:
|
||||
aliases: [egive]
|
||||
god:
|
||||
description: Enables your godly powers.
|
||||
usage: /<command> [player]
|
||||
usage: /<command> [player] [on|off]
|
||||
aliases: [tgm,godmode,egod,etgm,egodmode]
|
||||
hat:
|
||||
description: Get some cool new headgear
|
||||
|
Reference in New Issue
Block a user