mirror of
https://github.com/boy0001/FastAsyncWorldedit.git
synced 2024-11-28 21:56:33 +01:00
Simplify config comments, messages, add permpack.
fawe.permpack.basic
This commit is contained in:
parent
c474917ec2
commit
df15ba6cd7
@ -105,7 +105,7 @@ public class ChunkListener implements Listener {
|
|||||||
badChunks.add(MathMan.pairInt(cx, cz));
|
badChunks.add(MathMan.pairInt(cx, cz));
|
||||||
if (rateLimit <= 0) {
|
if (rateLimit <= 0) {
|
||||||
rateLimit = 120;
|
rateLimit = 120;
|
||||||
Fawe.debug("[Tick Limiter] Detected and cancelled physics lag source at " + block.getLocation());
|
Fawe.debug("[FAWE `tick-limiter`] Detected and cancelled physics lag source at " + block.getLocation());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@ -132,7 +132,7 @@ public class ChunkListener implements Listener {
|
|||||||
if (count.y == Settings.IMP.TICK_LIMITER.FALLING) {
|
if (count.y == Settings.IMP.TICK_LIMITER.FALLING) {
|
||||||
count.x = Settings.IMP.TICK_LIMITER.PHYSICS;
|
count.x = Settings.IMP.TICK_LIMITER.PHYSICS;
|
||||||
badChunks.add(MathMan.pairInt(cx, cz));
|
badChunks.add(MathMan.pairInt(cx, cz));
|
||||||
Fawe.debug("[Tick Limiter] Detected and cancelled falling block lag source at " + block.getLocation());
|
Fawe.debug("[FAWE `tick-limiter`] Detected and cancelled falling block lag source at " + block.getLocation());
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return;
|
return;
|
||||||
@ -157,7 +157,7 @@ public class ChunkListener implements Listener {
|
|||||||
badChunks.add(MathMan.pairInt(cx, cz));
|
badChunks.add(MathMan.pairInt(cx, cz));
|
||||||
if (rateLimit <= 0) {
|
if (rateLimit <= 0) {
|
||||||
rateLimit = 120;
|
rateLimit = 120;
|
||||||
Fawe.debug("[Tick Limiter] Detected and cancelled item lag source at " + loc);
|
Fawe.debug("[FAWE `tick-limiter`] Detected and cancelled item lag source at " + loc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
@ -8,16 +8,9 @@ load: STARTUP
|
|||||||
database: false
|
database: false
|
||||||
#softdepend: [WorldGuard, PlotSquared, MCore, Factions, GriefPrevention, Residence, Towny, PlotMe, PreciousStones]
|
#softdepend: [WorldGuard, PlotSquared, MCore, Factions, GriefPrevention, Residence, Towny, PlotMe, PreciousStones]
|
||||||
commands:
|
commands:
|
||||||
wea:
|
|
||||||
description: (FAWE) Bypass WorldEdit processing and area restrictions
|
|
||||||
aliases: [weanywhere,worldeditanywhere,/wea,/weanywhere,/worldeditanywhere]
|
|
||||||
usage: "Vault is required for the toggle. Optionally, you can set the permission fawe.bypass"
|
|
||||||
fawe:
|
fawe:
|
||||||
description: (FAWE) Reload the plugin
|
description: (FAWE) Reload the plugin
|
||||||
aliases: [/fawe,/fawereload]
|
aliases: [/fawe,/fawereload]
|
||||||
select:
|
|
||||||
description: (FAWE) Select your current WorldEdit Region.
|
|
||||||
aliases: [/select,wer,/wer,worldeditregion,/worldeditregion,/region]
|
|
||||||
fcancel:
|
fcancel:
|
||||||
description: (FAWE) Cancel your edit
|
description: (FAWE) Cancel your edit
|
||||||
aliases: [fawecancel,/fcancel,/cancel,/fawecancel]
|
aliases: [fawecancel,/fcancel,/cancel,/fawecancel]
|
||||||
@ -30,3 +23,137 @@ permissions:
|
|||||||
default: op
|
default: op
|
||||||
fawe.reload:
|
fawe.reload:
|
||||||
default: false
|
default: false
|
||||||
|
fawe.permpack.basic:
|
||||||
|
default: op
|
||||||
|
children:
|
||||||
|
fawe.worldeditregion: true
|
||||||
|
fawe.cancel: true
|
||||||
|
worldedit.biome.info: true
|
||||||
|
worldedit.biome.set: true
|
||||||
|
worldedit.biome.list: true
|
||||||
|
worldedit.chunkinfo: true
|
||||||
|
worldedit.listchunks: true
|
||||||
|
worldedit.clipboard.cut: true
|
||||||
|
worldedit.clipboard.paste: true
|
||||||
|
worldedit.schematic.formats: true
|
||||||
|
worldedit.clipboard.load: true
|
||||||
|
worldedit.schematic.load: true
|
||||||
|
worldedit.schematic.list: true
|
||||||
|
worldedit.clipboard.save: true
|
||||||
|
worldedit.schematic.save: true
|
||||||
|
worldedit.clipboard.clear: true
|
||||||
|
worldedit.clipboard.load: true
|
||||||
|
worldedit.clipboard.save: true
|
||||||
|
worldedit.clipboard.copy: true
|
||||||
|
worldedit.clipboard.lazycopy: true
|
||||||
|
worldedit.clipboard.place: true
|
||||||
|
worldedit.clipboard.download: true
|
||||||
|
worldedit.clipboard.flip: true
|
||||||
|
worldedit.clipboard.rotate: true
|
||||||
|
worldedit.help: true
|
||||||
|
worldedit.global-mask: true
|
||||||
|
worldedit.global-trasnform: true
|
||||||
|
worldedit.generation.cylinder: true
|
||||||
|
worldedit.generation.sphere: true
|
||||||
|
worldedit.generation.forest: true
|
||||||
|
worldedit.generation.pumpkins: true
|
||||||
|
worldedit.generation.pyramid: true
|
||||||
|
worldedit.generation.shape: true
|
||||||
|
worldedit.biome.set: true
|
||||||
|
worldedit.history.undo: true
|
||||||
|
worldedit.history.redo: true
|
||||||
|
worldedit.history.rollback: true
|
||||||
|
worldedit.navigation.unstuck: true
|
||||||
|
worldedit.navigation.ascend: true
|
||||||
|
worldedit.navigation.descend: true
|
||||||
|
worldedit.navigation.ceiling: true
|
||||||
|
worldedit.navigation.thru.command: true
|
||||||
|
worldedit.navigation.jumpto.command: true
|
||||||
|
worldedit.navigation.up: true
|
||||||
|
worldedit.region.hollow: true
|
||||||
|
worldedit.region.line: true
|
||||||
|
worldedit.region.curve: true
|
||||||
|
worldedit.region.overlay: true
|
||||||
|
worldedit.region.center: true
|
||||||
|
worldedit.region.naturalize: true
|
||||||
|
worldedit.region.walls: true
|
||||||
|
worldedit.region.faces: true
|
||||||
|
worldedit.region.smooth: true
|
||||||
|
worldedit.region.move: true
|
||||||
|
worldedit.region.forest: true
|
||||||
|
worldedit.region.replace: true
|
||||||
|
worldedit.region.stack: true
|
||||||
|
worldedit.region.set: true
|
||||||
|
worldedit.selection.pos: true
|
||||||
|
worldedit.selection.chunk: true
|
||||||
|
worldedit.selection.hpos: true
|
||||||
|
worldedit.wand: true
|
||||||
|
worldedit.wand.toggle: true
|
||||||
|
worldedit.selection.contract: true
|
||||||
|
worldedit.selection.outset: true
|
||||||
|
worldedit.selection.inset: true
|
||||||
|
worldedit.analysis.distr: true
|
||||||
|
worldedit.analysis.count: true
|
||||||
|
worldedit.selection.size: true
|
||||||
|
worldedit.selection.expand: true
|
||||||
|
worldedit.selection.shift: true
|
||||||
|
worldedit.snapshots.list: true
|
||||||
|
worldedit.superpickaxe: true
|
||||||
|
worldedit.superpickaxe.area: true
|
||||||
|
worldedit.superpickaxe.recursive: true
|
||||||
|
worldedit.brush.blendball: true
|
||||||
|
worldedit.brush.erode: true
|
||||||
|
worldedit.brush.pull: true
|
||||||
|
worldedit.brush.circle: true
|
||||||
|
worldedit.brush.recursive: true
|
||||||
|
worldedit.brush.line: true
|
||||||
|
worldedit.brush.spline: true
|
||||||
|
worldedit.brush.surfacespline: true
|
||||||
|
worldedit.brush.shatter: true
|
||||||
|
worldedit.brush.stencil: true
|
||||||
|
worldedit.brush.height: true
|
||||||
|
worldedit.brush.layer: true
|
||||||
|
worldedit.brush.populateschematic: true
|
||||||
|
worldedit.brush.scatter: true
|
||||||
|
worldedit.brush.splatter: true
|
||||||
|
worldedit.brush.scattercommand: true
|
||||||
|
worldedit.brush.copy: true
|
||||||
|
worldedit.brush.command: true
|
||||||
|
worldedit.brush.apply: true
|
||||||
|
worldedit.brush.sphere: true
|
||||||
|
worldedit.brush.cylinder: true
|
||||||
|
worldedit.brush.clipboard: true
|
||||||
|
worldedit.brush.smooth: true
|
||||||
|
worldedit.brush.ex: true
|
||||||
|
worldedit.brush.gravity: true
|
||||||
|
worldedit.brush.options.range: true
|
||||||
|
worldedit.brush.options.material: true
|
||||||
|
worldedit.brush.options.size: true
|
||||||
|
worldedit.brush.options.mask: true
|
||||||
|
worldedit.brush.options.smask: true
|
||||||
|
worldedit.brush.options.transform: true
|
||||||
|
worldedit.brush.options.scroll: true
|
||||||
|
worldedit.brush.options.visualize: true
|
||||||
|
worldedit.tool.deltree: true
|
||||||
|
worldedit.tool.farwand: true
|
||||||
|
worldedit.tool.lrbuild: true
|
||||||
|
worldedit.tool.info: true
|
||||||
|
worldedit.tool.tree: true
|
||||||
|
worldedit.tool.replacer: true
|
||||||
|
worldedit.tool.data-cycler: true
|
||||||
|
worldedit.tool.flood-fill: true
|
||||||
|
worldedit.tool.inspect: true
|
||||||
|
worldedit.fill.recursive: true
|
||||||
|
worldedit.drain: true
|
||||||
|
worldedit.fixlava: true
|
||||||
|
worldedit.fixwater: true
|
||||||
|
worldedit.removeabove: true
|
||||||
|
worldedit.removebelow: true
|
||||||
|
worldedit.removenear: true
|
||||||
|
worldedit.replacenear: true
|
||||||
|
worldedit.snow: true
|
||||||
|
worldedit.thaw: true
|
||||||
|
worldedit.green: true
|
||||||
|
worldedit.extinguish: true
|
||||||
|
worldedit.calc: true
|
||||||
|
worldedit.fill: true
|
@ -2,8 +2,6 @@ package com.boydti.fawe;
|
|||||||
|
|
||||||
import com.boydti.fawe.command.Cancel;
|
import com.boydti.fawe.command.Cancel;
|
||||||
import com.boydti.fawe.command.Reload;
|
import com.boydti.fawe.command.Reload;
|
||||||
import com.boydti.fawe.command.Wea;
|
|
||||||
import com.boydti.fawe.command.WorldEditRegion;
|
|
||||||
import com.boydti.fawe.config.BBC;
|
import com.boydti.fawe.config.BBC;
|
||||||
import com.boydti.fawe.config.Commands;
|
import com.boydti.fawe.config.Commands;
|
||||||
import com.boydti.fawe.config.Settings;
|
import com.boydti.fawe.config.Settings;
|
||||||
@ -267,7 +265,9 @@ public class Fawe {
|
|||||||
WEManager.IMP.managers.addAll(Fawe.this.IMP.getMaskManagers());
|
WEManager.IMP.managers.addAll(Fawe.this.IMP.getMaskManagers());
|
||||||
WEManager.IMP.managers.add(new PlotSquaredFeature());
|
WEManager.IMP.managers.add(new PlotSquaredFeature());
|
||||||
Fawe.debug("Plugin 'PlotSquared' found. Using it now.");
|
Fawe.debug("Plugin 'PlotSquared' found. Using it now.");
|
||||||
} catch (Throwable e) {}
|
} catch (Throwable e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
Fawe.this.worldedit = WorldEdit.getInstance();
|
Fawe.this.worldedit = WorldEdit.getInstance();
|
||||||
}
|
}
|
||||||
}, 0);
|
}, 0);
|
||||||
@ -331,8 +331,6 @@ public class Fawe {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setupCommands() {
|
private void setupCommands() {
|
||||||
this.IMP.setupCommand("wea", new Wea());
|
|
||||||
this.IMP.setupCommand("select", new WorldEditRegion());
|
|
||||||
this.IMP.setupCommand("fawe", new Reload());
|
this.IMP.setupCommand("fawe", new Reload());
|
||||||
this.IMP.setupCommand("fcancel", new Cancel());
|
this.IMP.setupCommand("fcancel", new Cancel());
|
||||||
}
|
}
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
package com.boydti.fawe.command;
|
|
||||||
|
|
||||||
import com.boydti.fawe.config.BBC;
|
|
||||||
import com.boydti.fawe.object.FaweCommand;
|
|
||||||
import com.boydti.fawe.object.FawePlayer;
|
|
||||||
|
|
||||||
public class Wea extends FaweCommand {
|
|
||||||
|
|
||||||
public Wea() {
|
|
||||||
super("fawe.admin");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean execute(final FawePlayer player, final String... args) {
|
|
||||||
if (player == null) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (this.toggle(player)) {
|
|
||||||
BBC.WORLDEDIT_BYPASSED.send(player);
|
|
||||||
} else {
|
|
||||||
BBC.WORLDEDIT_RESTRICTED.send(player);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean toggle(final FawePlayer player) {
|
|
||||||
if (player.hasPermission("fawe.bypass")) {
|
|
||||||
player.setPermission("fawe.bypass", false);
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
player.setPermission("fawe.bypass", true);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
package com.boydti.fawe.command;
|
|
||||||
|
|
||||||
import com.boydti.fawe.config.BBC;
|
|
||||||
import com.boydti.fawe.object.FaweCommand;
|
|
||||||
import com.boydti.fawe.object.FawePlayer;
|
|
||||||
import com.boydti.fawe.object.RegionWrapper;
|
|
||||||
|
|
||||||
public class WorldEditRegion extends FaweCommand {
|
|
||||||
|
|
||||||
public WorldEditRegion() {
|
|
||||||
super("fawe.worldeditregion");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean execute(final FawePlayer player, final String... args) {
|
|
||||||
if (player == null) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
final RegionWrapper region = player.getLargestRegion();
|
|
||||||
if (region == null) {
|
|
||||||
BBC.NO_REGION.send(player);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
player.setSelection(region);
|
|
||||||
BBC.SET_REGION.send(player);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
@ -214,42 +214,50 @@ public class Settings extends Config {
|
|||||||
|
|
||||||
@Comment("This relates to how FAWE places chunks")
|
@Comment("This relates to how FAWE places chunks")
|
||||||
public static class QUEUE {
|
public static class QUEUE {
|
||||||
|
@Comment({
|
||||||
|
"This should equal the number of processors you have",
|
||||||
|
" - Set this to 1 if you need reliable `/timings`"
|
||||||
|
})
|
||||||
|
public int PARALLEL_THREADS = Math.max(1, Runtime.getRuntime().availableProcessors());
|
||||||
@Create
|
@Create
|
||||||
public static PROGRESS PROGRESS;
|
public static PROGRESS PROGRESS;
|
||||||
@Comment({
|
@Comment({
|
||||||
"If you are changing more than this many chunks",
|
"When doing edits that effect more than this many chunks:",
|
||||||
"it can start start placing before all the changes are calculated"
|
" - FAWE will start placing before all calculations are finished",
|
||||||
|
" - A larger value will use slightly less CPU time",
|
||||||
|
" - A smaller value will reduce memory usage",
|
||||||
|
" - A value too small may break some operations (deform?)"
|
||||||
|
|
||||||
})
|
})
|
||||||
public int TARGET_SIZE = 64;
|
public int TARGET_SIZE = 64;
|
||||||
@Comment({
|
@Comment({
|
||||||
"This should equal the number of processors you have"
|
"Force FAWE to start placing chunks regardless of whether an edit is finished processing",
|
||||||
})
|
" - A larger value will use slightly less CPU time",
|
||||||
public int PARALLEL_THREADS = Math.max(1, Runtime.getRuntime().availableProcessors());
|
" - A smaller value will reduce memory usage",
|
||||||
@Comment({
|
" - A value too small may break some operations (deform?)"
|
||||||
"The time in milliseconds that the global queue can be idle before it is forced to start",
|
|
||||||
"on edits which are still in the processing stage."
|
|
||||||
})
|
})
|
||||||
public int MAX_WAIT_MS = 1000;
|
public int MAX_WAIT_MS = 1000;
|
||||||
|
|
||||||
@Comment({
|
@Comment({
|
||||||
"Increase or decrease queue intensity (ms):",
|
"Increase or decrease queue intensity (ms) [-50,50]:",
|
||||||
" 0 = balance of performance / stability",
|
" 0 = balance of performance / stability",
|
||||||
" -10 = Allocate 10ms less for chunk placement",
|
" -10 = Allocate 10ms less for chunk placement",
|
||||||
"Too high will can cause lag spikes",
|
"Too high will can cause lag spikes (you might be okay with this)",
|
||||||
"Too low will reduce load and result in slower changes",
|
"Too low will result in slow edits",
|
||||||
})
|
})
|
||||||
public int EXTRA_TIME_MS = 0;
|
public int EXTRA_TIME_MS = 0;
|
||||||
|
|
||||||
@Comment({
|
@Comment({
|
||||||
"Loading the right amount of chunks beforehand can speed up operations",
|
"Loading the right amount of chunks beforehand can speed up operations",
|
||||||
" - Low values will result in FAWE waiting on requests to the main thread",
|
" - Low values may result in FAWE waiting on requests to the main thread",
|
||||||
" - Higher values will use memory and is slower if the operation ends early",
|
" - Higher values use more memory and isn't noticeably faster",
|
||||||
})
|
})
|
||||||
public int PRELOAD_CHUNKS = 32;
|
public int PRELOAD_CHUNKS = 32;
|
||||||
|
|
||||||
@Comment({
|
@Comment({
|
||||||
"Discard edits which have been idle for a certain amount of time (ms) (e.g. a plugin creates",
|
"Discard edits which have been idle for a certain amount of time (ms)",
|
||||||
"an EditSession but never does anything with it)."
|
" - E.g. A plugin creates an EditSession but never does anything with it",
|
||||||
|
" - This only applies to plugins improperly using WorldEdit's legacy API"
|
||||||
})
|
})
|
||||||
public static int DISCARD_AFTER_MS = 60000;
|
public static int DISCARD_AFTER_MS = 60000;
|
||||||
|
|
||||||
@ -267,7 +275,11 @@ public class Settings extends Config {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Comment("Experimental options, use at your own risk")
|
@Comment({
|
||||||
|
"Experimental options, use at your own risk",
|
||||||
|
" - Apparently that wasn't enough, need an all caps warning?",
|
||||||
|
" - DO NOT USE IF YOU ARE CLUELESS!"
|
||||||
|
})
|
||||||
public static class EXPERIMENTAL {
|
public static class EXPERIMENTAL {
|
||||||
@Comment({
|
@Comment({
|
||||||
"Directly modify the region files.",
|
"Directly modify the region files.",
|
||||||
@ -293,10 +305,11 @@ public class Settings extends Config {
|
|||||||
|
|
||||||
public static class EXTENT {
|
public static class EXTENT {
|
||||||
@Comment({
|
@Comment({
|
||||||
"Don't bug console when these plugins slow down WorldEdit operations"
|
"Don't bug console when these plugins slow down WorldEdit operations",
|
||||||
|
" - You'll see a message in console if you need to change this option"
|
||||||
})
|
})
|
||||||
public List<String> ALLOWED_PLUGINS = new ArrayList<>();
|
public List<String> ALLOWED_PLUGINS = new ArrayList<>();
|
||||||
@Comment("Disable the messages completely")
|
@Comment("Should debug messages be sent when third party extents are used?")
|
||||||
public boolean DEBUG = true;
|
public boolean DEBUG = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -312,11 +325,14 @@ public class Settings extends Config {
|
|||||||
public int PHYSICS = 512;
|
public int PHYSICS = 512;
|
||||||
@Comment("Max item spawns per interval (per chunk)")
|
@Comment("Max item spawns per interval (per chunk)")
|
||||||
public int ITEMS = 128;
|
public int ITEMS = 128;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class CLIPBOARD {
|
public static class CLIPBOARD {
|
||||||
@Comment("Store the clipboard on disk instead of memory")
|
@Comment({
|
||||||
|
"Store the clipboard on disk instead of memory",
|
||||||
|
" - Will be slightly slower",
|
||||||
|
" - Uses 2 bytes per block",
|
||||||
|
})
|
||||||
public boolean USE_DISK = true;
|
public boolean USE_DISK = true;
|
||||||
@Comment({
|
@Comment({
|
||||||
"Compress the clipboard to reduce the size:",
|
"Compress the clipboard to reduce the size:",
|
||||||
|
@ -399,7 +399,7 @@ public class MainUtil {
|
|||||||
writer.append("Content-Type: " + URLConnection.guessContentTypeFromName(filename)).append(CRLF);
|
writer.append("Content-Type: " + URLConnection.guessContentTypeFromName(filename)).append(CRLF);
|
||||||
writer.append("Content-Transfer-Encoding: binary").append(CRLF);
|
writer.append("Content-Transfer-Encoding: binary").append(CRLF);
|
||||||
writer.append(CRLF).flush();
|
writer.append(CRLF).flush();
|
||||||
OutputStream nonClosable = new AbstractDelegateOutputStream(output) {
|
OutputStream nonClosable = new AbstractDelegateOutputStream(new BufferedOutputStream(output)) {
|
||||||
@Override
|
@Override
|
||||||
public void close() throws IOException { } // Don't close
|
public void close() throws IOException { } // Don't close
|
||||||
};
|
};
|
||||||
@ -410,10 +410,12 @@ public class MainUtil {
|
|||||||
writer.append("--" + boundary + "--").append(CRLF).flush();
|
writer.append("--" + boundary + "--").append(CRLF).flush();
|
||||||
}
|
}
|
||||||
int responseCode = ((HttpURLConnection) con).getResponseCode();
|
int responseCode = ((HttpURLConnection) con).getResponseCode();
|
||||||
// java.util.Scanner scanner = new java.util.Scanner(con.getInputStream()).useDelimiter("\\A");
|
java.util.Scanner scanner = new java.util.Scanner(con.getInputStream()).useDelimiter("\\A");
|
||||||
// String content = scanner.next().trim();
|
String content = scanner.next().trim();
|
||||||
// scanner.close();
|
scanner.close();
|
||||||
// Fawe.debug(content);
|
if (content != null && !content.startsWith("<")) {
|
||||||
|
Fawe.debug(content);
|
||||||
|
}
|
||||||
if (responseCode == 200) {
|
if (responseCode == 200) {
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,7 @@ import com.boydti.fawe.object.FaweLimit;
|
|||||||
import com.boydti.fawe.object.FaweLocation;
|
import com.boydti.fawe.object.FaweLocation;
|
||||||
import com.boydti.fawe.object.FawePlayer;
|
import com.boydti.fawe.object.FawePlayer;
|
||||||
import com.boydti.fawe.object.FaweQueue;
|
import com.boydti.fawe.object.FaweQueue;
|
||||||
|
import com.boydti.fawe.object.RegionWrapper;
|
||||||
import com.boydti.fawe.object.exception.FaweException;
|
import com.boydti.fawe.object.exception.FaweException;
|
||||||
import com.boydti.fawe.object.visitor.Fast2DIterator;
|
import com.boydti.fawe.object.visitor.Fast2DIterator;
|
||||||
import com.boydti.fawe.util.MathMan;
|
import com.boydti.fawe.util.MathMan;
|
||||||
@ -470,6 +471,39 @@ public class RegionCommands {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Command(
|
||||||
|
aliases = { "/wea", "wea", "worldeditanywhere", "/worldeditanywhere", "/weanywhere" },
|
||||||
|
desc = "Bypass region restrictions",
|
||||||
|
help = "Bypass region restrictions"
|
||||||
|
)
|
||||||
|
@CommandPermissions("fawe.admin")
|
||||||
|
public void wea(Player player) throws WorldEditException {
|
||||||
|
FawePlayer<Object> fp = FawePlayer.wrap(player);
|
||||||
|
if (fp.toggle("fawe.bypass")) {
|
||||||
|
BBC.WORLDEDIT_BYPASSED.send(fp);
|
||||||
|
} else {
|
||||||
|
BBC.WORLDEDIT_RESTRICTED.send(fp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Command(
|
||||||
|
aliases = { "/wer", "wer", "worldeditregion", "/worldeditregion", "select", "/select" },
|
||||||
|
desc = "Select your current allowed region",
|
||||||
|
help = "Select your current allowed region"
|
||||||
|
)
|
||||||
|
@CommandPermissions("fawe.worldeditregion")
|
||||||
|
public void wer(Player player) throws WorldEditException {
|
||||||
|
FawePlayer<Object> fp = FawePlayer.wrap(player);
|
||||||
|
final RegionWrapper region = fp.getLargestRegion();
|
||||||
|
if (region == null) {
|
||||||
|
BBC.NO_REGION.send(fp);
|
||||||
|
} else {
|
||||||
|
fp.setSelection(region);
|
||||||
|
BBC.SET_REGION.send(fp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Command(
|
@Command(
|
||||||
aliases = { "/move" },
|
aliases = { "/move" },
|
||||||
usage = "[count] [direction] [leave-id]",
|
usage = "[count] [direction] [leave-id]",
|
||||||
|
Loading…
Reference in New Issue
Block a user