28 Zeilen
1.5 KiB
Diff
28 Zeilen
1.5 KiB
Diff
--- a/net/minecraft/server/CustomFunction.java
|
|
+++ b/net/minecraft/server/CustomFunction.java
|
|
@@ -45,7 +45,7 @@
|
|
}
|
|
|
|
try {
|
|
- ParseResults parseresults = customfunctiondata.a().getCommandDispatcher().a().parse(s, customfunctiondata.f());
|
|
+ ParseResults parseresults = customfunctiondata.d().parse(s, customfunctiondata.f()); // CraftBukkit
|
|
|
|
if (parseresults.getReader().canRead()) {
|
|
if (parseresults.getExceptions().size() == 1) {
|
|
@@ -142,7 +142,14 @@
|
|
}
|
|
|
|
public void a(CustomFunctionData customfunctiondata, CommandListenerWrapper commandlistenerwrapper, ArrayDeque<CustomFunctionData.a> arraydeque, int i) throws CommandSyntaxException {
|
|
- customfunctiondata.d().execute(new ParseResults(this.a.getContext().withSource(commandlistenerwrapper), this.a.getReader(), this.a.getExceptions()));
|
|
+ // CraftBukkit start
|
|
+ org.bukkit.craftbukkit.command.VanillaCommandWrapper.WorldRescueContext rescue = new org.bukkit.craftbukkit.command.VanillaCommandWrapper.WorldRescueContext().start(commandlistenerwrapper.getWorld());
|
|
+ try {
|
|
+ customfunctiondata.d().execute(new ParseResults(this.a.getContext().withSource(commandlistenerwrapper), this.a.getReader(), this.a.getExceptions()));
|
|
+ } finally {
|
|
+ rescue.end();
|
|
+ }
|
|
+ // CraftBukkit end
|
|
}
|
|
|
|
public String toString() {
|