geforkt von Mirrors/FastAsyncWorldEdit
Made //undo and //redo disregard global masks.
Dieser Commit ist enthalten in:
Ursprung
144c0a9f49
Commit
cfb19eba9b
@ -23,6 +23,7 @@ import com.sk89q.minecraft.util.commands.Command;
|
|||||||
import com.sk89q.minecraft.util.commands.CommandContext;
|
import com.sk89q.minecraft.util.commands.CommandContext;
|
||||||
import com.sk89q.minecraft.util.commands.CommandPermissions;
|
import com.sk89q.minecraft.util.commands.CommandPermissions;
|
||||||
import com.sk89q.worldedit.*;
|
import com.sk89q.worldedit.*;
|
||||||
|
import com.sk89q.worldedit.masks.Mask;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* History little commands.
|
* History little commands.
|
||||||
@ -46,8 +47,12 @@ public class HistoryCommands {
|
|||||||
@CommandPermissions("worldedit.history.undo")
|
@CommandPermissions("worldedit.history.undo")
|
||||||
public void undo(CommandContext args, LocalSession session, LocalPlayer player,
|
public void undo(CommandContext args, LocalSession session, LocalPlayer player,
|
||||||
EditSession editSession) throws WorldEditException {
|
EditSession editSession) throws WorldEditException {
|
||||||
|
|
||||||
int times = Math.max(1, args.getInteger(0, 1));
|
int times = Math.max(1, args.getInteger(0, 1));
|
||||||
|
|
||||||
|
Mask mask = session.getMask();
|
||||||
|
session.setMask(null);
|
||||||
|
|
||||||
for (int i = 0; i < times; ++i) {
|
for (int i = 0; i < times; ++i) {
|
||||||
EditSession undone;
|
EditSession undone;
|
||||||
if (args.argsLength() < 2) {
|
if (args.argsLength() < 2) {
|
||||||
@ -61,6 +66,7 @@ public class HistoryCommands {
|
|||||||
}
|
}
|
||||||
undone = sess.undo(session.getBlockBag(player));
|
undone = sess.undo(session.getBlockBag(player));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (undone != null) {
|
if (undone != null) {
|
||||||
player.print("Undo successful.");
|
player.print("Undo successful.");
|
||||||
we.flushBlockBag(player, undone);
|
we.flushBlockBag(player, undone);
|
||||||
@ -69,6 +75,8 @@ public class HistoryCommands {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
session.setMask(mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Command(
|
@Command(
|
||||||
@ -81,9 +89,12 @@ public class HistoryCommands {
|
|||||||
@CommandPermissions("worldedit.history.redo")
|
@CommandPermissions("worldedit.history.redo")
|
||||||
public void redo(CommandContext args, LocalSession session, LocalPlayer player,
|
public void redo(CommandContext args, LocalSession session, LocalPlayer player,
|
||||||
EditSession editSession) throws WorldEditException {
|
EditSession editSession) throws WorldEditException {
|
||||||
|
|
||||||
int times = Math.max(1, args.getInteger(0, 1));
|
int times = Math.max(1, args.getInteger(0, 1));
|
||||||
|
|
||||||
|
Mask mask = session.getMask();
|
||||||
|
session.setMask(null);
|
||||||
|
|
||||||
for (int i = 0; i < times; ++i) {
|
for (int i = 0; i < times; ++i) {
|
||||||
EditSession redone;
|
EditSession redone;
|
||||||
if (args.argsLength() < 2) {
|
if (args.argsLength() < 2) {
|
||||||
@ -97,6 +108,7 @@ public class HistoryCommands {
|
|||||||
}
|
}
|
||||||
redone = sess.redo(session.getBlockBag(player));
|
redone = sess.redo(session.getBlockBag(player));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (redone != null) {
|
if (redone != null) {
|
||||||
player.print("Redo successful.");
|
player.print("Redo successful.");
|
||||||
we.flushBlockBag(player, redone);
|
we.flushBlockBag(player, redone);
|
||||||
@ -104,6 +116,8 @@ public class HistoryCommands {
|
|||||||
player.printError("Nothing left to redo.");
|
player.printError("Nothing left to redo.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
session.setMask(mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Command(
|
@Command(
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren