Mirror von
https://github.com/IntellectualSites/FastAsyncWorldEdit.git
synchronisiert 2024-12-25 10:30:04 +01:00
Added default radius setting for butcher and added permissions for killing pets, npcs, and non hostile animals.
Dieser Commit ist enthalten in:
Ursprung
8aabfb0c67
Commit
94619e3fe4
@ -101,6 +101,7 @@ public abstract class LocalConfiguration {
|
|||||||
public String saveDir = "schematics";
|
public String saveDir = "schematics";
|
||||||
public String scriptsDir = "craftscripts";
|
public String scriptsDir = "craftscripts";
|
||||||
public boolean showFirstUseVersion = true;
|
public boolean showFirstUseVersion = true;
|
||||||
|
public int butcherDefaultRadius = -1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the configuration.
|
* Loads the configuration.
|
||||||
|
@ -349,7 +349,7 @@ public class UtilityCommands {
|
|||||||
flags = "plan",
|
flags = "plan",
|
||||||
desc = "Kill all or nearby mobs",
|
desc = "Kill all or nearby mobs",
|
||||||
help =
|
help =
|
||||||
"Kills nearby mobs, or all mobs if you don't specify a radius.\n" +
|
"Kills nearby mobs, based on radius, if none is given uses default in configuration.\n" +
|
||||||
"Flags:" +
|
"Flags:" +
|
||||||
" -p also kills pets.\n" +
|
" -p also kills pets.\n" +
|
||||||
" -n also kills NPCs.\n" +
|
" -n also kills NPCs.\n" +
|
||||||
@ -364,12 +364,30 @@ public class UtilityCommands {
|
|||||||
public void butcher(CommandContext args, LocalSession session, LocalPlayer player,
|
public void butcher(CommandContext args, LocalSession session, LocalPlayer player,
|
||||||
EditSession editSession) throws WorldEditException {
|
EditSession editSession) throws WorldEditException {
|
||||||
|
|
||||||
int radius = args.argsLength() > 0 ? Math.max(1, args.getInteger(0)) : -1;
|
LocalConfiguration config = we.getConfiguration();
|
||||||
|
|
||||||
|
final int radius;
|
||||||
|
|
||||||
|
if(args.argsLength() > 0){
|
||||||
|
radius = Math.max(1, args.getInteger(0));
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
radius = config.butcherDefaultRadius;
|
||||||
|
}
|
||||||
|
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
if (args.hasFlag('p')) flags |= KillFlags.PETS;
|
if (player.hasPermission("worldedit.butcher.pets") && (args.hasFlag('p'))) {
|
||||||
if (args.hasFlag('n')) flags |= KillFlags.NPCS;
|
flags |= KillFlags.PETS;
|
||||||
if (args.hasFlag('a')) flags |= KillFlags.ANIMALS;
|
}
|
||||||
|
|
||||||
|
if (player.hasPermission("worldedit.butcher.npcs") && (args.hasFlag('n'))) {
|
||||||
|
flags |= KillFlags.NPCS;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.hasPermission("worldedit.butcher.animals") && (args.hasFlag('a'))) {
|
||||||
|
flags |= KillFlags.ANIMALS;
|
||||||
|
}
|
||||||
|
|
||||||
if (args.hasFlag('l') && player.hasPermission("worldedit.butcher.lightning")) flags |= KillFlags.WITH_LIGHTNING;
|
if (args.hasFlag('l') && player.hasPermission("worldedit.butcher.lightning")) flags |= KillFlags.WITH_LIGHTNING;
|
||||||
|
|
||||||
int killed;
|
int killed;
|
||||||
|
@ -95,6 +95,7 @@ public class PropertiesConfiguration extends LocalConfiguration {
|
|||||||
navigationWand = getInt("nav-wand-item", navigationWand);
|
navigationWand = getInt("nav-wand-item", navigationWand);
|
||||||
navigationWandMaxDistance = getInt("nav-wand-distance", navigationWandMaxDistance);
|
navigationWandMaxDistance = getInt("nav-wand-distance", navigationWandMaxDistance);
|
||||||
scriptTimeout = getInt("scripting-timeout", scriptTimeout);
|
scriptTimeout = getInt("scripting-timeout", scriptTimeout);
|
||||||
|
butcherDefaultRadius = getInt("butcher-default-radius", butcherDefaultRadius);
|
||||||
|
|
||||||
LocalSession.MAX_HISTORY_SIZE = Math.max(15, getInt("history-size", 15));
|
LocalSession.MAX_HISTORY_SIZE = Math.max(15, getInt("history-size", 15));
|
||||||
|
|
||||||
|
@ -83,6 +83,7 @@ public class YAMLConfiguration extends LocalConfiguration {
|
|||||||
|
|
||||||
scriptTimeout = config.getInt("scripting.timeout", scriptTimeout);
|
scriptTimeout = config.getInt("scripting.timeout", scriptTimeout);
|
||||||
scriptsDir = config.getString("scripting.dir", scriptsDir);
|
scriptsDir = config.getString("scripting.dir", scriptsDir);
|
||||||
|
butcherDefaultRadius = config.getInt("butcher-default-radius", butcherDefaultRadius);
|
||||||
|
|
||||||
saveDir = config.getString("saving.dir", saveDir);
|
saveDir = config.getString("saving.dir", saveDir);
|
||||||
|
|
||||||
|
@ -54,6 +54,9 @@ history:
|
|||||||
size: 15
|
size: 15
|
||||||
expiration: 10
|
expiration: 10
|
||||||
|
|
||||||
|
butcher:
|
||||||
|
butcher-default-radius: -1
|
||||||
|
|
||||||
wand-item: 271
|
wand-item: 271
|
||||||
shell-save-type:
|
shell-save-type:
|
||||||
no-double-slash: false
|
no-double-slash: false
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren