mirror of
https://github.com/essentials/Essentials.git
synced 2025-08-13 18:14:38 +02:00
Fix world argument to ignore radius, and allow for skipping radius param in syntax.
This commit is contained in:
@@ -20,7 +20,7 @@ public class Commandremove extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
super("remove");
|
super("remove");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
|
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
@@ -38,17 +38,19 @@ public class Commandremove extends EssentialsCommand
|
|||||||
}
|
}
|
||||||
catch (NumberFormatException e)
|
catch (NumberFormatException e)
|
||||||
{
|
{
|
||||||
throw new Exception(_("numberRequired"), e);
|
world = ess.getWorld(args[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (args.length >= 3)
|
if (args.length >= 3)
|
||||||
{
|
{
|
||||||
|
// This is to prevent breaking the old syntax
|
||||||
|
radius = 0;
|
||||||
world = ess.getWorld(args[2]);
|
world = ess.getWorld(args[2]);
|
||||||
}
|
}
|
||||||
parseCommand(server, user.getSource(), args, world, radius);
|
parseCommand(server, user.getSource(), args, world, radius);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception
|
protected void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception
|
||||||
{
|
{
|
||||||
@@ -59,12 +61,17 @@ public class Commandremove extends EssentialsCommand
|
|||||||
World world = ess.getWorld(args[1]);
|
World world = ess.getWorld(args[1]);
|
||||||
parseCommand(server, sender, args, world, 0);
|
parseCommand(server, sender, args, world, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseCommand(Server server, CommandSource sender, String[] args, World world, int radius) throws Exception
|
private void parseCommand(Server server, CommandSource sender, String[] args, World world, int radius) throws Exception
|
||||||
{
|
{
|
||||||
List<String> types = new ArrayList<String>();
|
List<String> types = new ArrayList<String>();
|
||||||
List<String> customTypes = new ArrayList<String>();
|
List<String> customTypes = new ArrayList<String>();
|
||||||
|
|
||||||
|
if (world == null)
|
||||||
|
{
|
||||||
|
throw new Exception(_("invalidWorld"));
|
||||||
|
}
|
||||||
|
|
||||||
if (args[0].contentEquals("*") || args[0].contentEquals("all"))
|
if (args[0].contentEquals("*") || args[0].contentEquals("all"))
|
||||||
{
|
{
|
||||||
types.add(0, "ALL");
|
types.add(0, "ALL");
|
||||||
@@ -95,7 +102,7 @@ public class Commandremove extends EssentialsCommand
|
|||||||
}
|
}
|
||||||
removeHandler(sender, types, customTypes, world, radius);
|
removeHandler(sender, types, customTypes, world, radius);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeHandler(CommandSource sender, List<String> types, List<String> customTypes, World world, int radius)
|
private void removeHandler(CommandSource sender, List<String> types, List<String> customTypes, World world, int radius)
|
||||||
{
|
{
|
||||||
int removed = 0;
|
int removed = 0;
|
||||||
@@ -103,17 +110,17 @@ public class Commandremove extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
radius *= radius;
|
radius *= radius;
|
||||||
}
|
}
|
||||||
|
|
||||||
ArrayList<ToRemove> removeTypes = new ArrayList<ToRemove>();
|
ArrayList<ToRemove> removeTypes = new ArrayList<ToRemove>();
|
||||||
ArrayList<Mob> customRemoveTypes = new ArrayList<Mob>();
|
ArrayList<Mob> customRemoveTypes = new ArrayList<Mob>();
|
||||||
|
|
||||||
for (String s : types)
|
for (String s : types)
|
||||||
{
|
{
|
||||||
removeTypes.add(ToRemove.valueOf(s));
|
removeTypes.add(ToRemove.valueOf(s));
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean warnUser = false;
|
boolean warnUser = false;
|
||||||
|
|
||||||
for (String s : customTypes)
|
for (String s : customTypes)
|
||||||
{
|
{
|
||||||
Mob mobType = Mob.fromName(s);
|
Mob mobType = Mob.fromName(s);
|
||||||
@@ -126,12 +133,12 @@ public class Commandremove extends EssentialsCommand
|
|||||||
customRemoveTypes.add(mobType);
|
customRemoveTypes.add(mobType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (warnUser)
|
if (warnUser)
|
||||||
{
|
{
|
||||||
sender.sendMessage(_("invalidMob"));
|
sender.sendMessage(_("invalidMob"));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Chunk chunk : world.getLoadedChunks())
|
for (Chunk chunk : world.getLoadedChunks())
|
||||||
{
|
{
|
||||||
for (Entity e : chunk.getEntities())
|
for (Entity e : chunk.getEntities())
|
||||||
@@ -147,10 +154,10 @@ public class Commandremove extends EssentialsCommand
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (ToRemove toRemove : removeTypes)
|
for (ToRemove toRemove : removeTypes)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (e instanceof Tameable && ((Tameable)e).isTamed())
|
if (e instanceof Tameable && ((Tameable)e).isTamed())
|
||||||
{
|
{
|
||||||
if (toRemove == ToRemove.TAMED)
|
if (toRemove == ToRemove.TAMED)
|
||||||
@@ -163,7 +170,7 @@ public class Commandremove extends EssentialsCommand
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (toRemove)
|
switch (toRemove)
|
||||||
{
|
{
|
||||||
case DROPS:
|
case DROPS:
|
||||||
@@ -278,8 +285,8 @@ public class Commandremove extends EssentialsCommand
|
|||||||
}
|
}
|
||||||
sender.sendMessage(_("removed", removed));
|
sender.sendMessage(_("removed", removed));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private enum ToRemove
|
private enum ToRemove
|
||||||
{
|
{
|
||||||
DROPS,
|
DROPS,
|
||||||
|
@@ -300,7 +300,7 @@ commands:
|
|||||||
aliases: [formula,eformula,method,emethod,erecipe,recipes,erecipes]
|
aliases: [formula,eformula,method,emethod,erecipe,recipes,erecipes]
|
||||||
remove:
|
remove:
|
||||||
description: Removes entities in your world.
|
description: Removes entities in your world.
|
||||||
usage: /<command> <all|tamed|drops|arrows|boats|minecarts|xp|paintings|itemframes|endercrystals|monsters|animals|ambient|mobs|[mobType]> [radius] [world]
|
usage: /<command> <all|tamed|drops|arrows|boats|minecarts|xp|paintings|itemframes|endercrystals|monsters|animals|ambient|mobs|[mobType]> [radius|world]
|
||||||
aliases: [eremove,butcher,ebutcher,killall,ekillall,mobkill,emobkill]
|
aliases: [eremove,butcher,ebutcher,killall,ekillall,mobkill,emobkill]
|
||||||
repair:
|
repair:
|
||||||
description: Repairs the durability of one or all items.
|
description: Repairs the durability of one or all items.
|
||||||
|
Reference in New Issue
Block a user