3
0
Mirror von https://github.com/IntellectualSites/FastAsyncWorldEdit.git synchronisiert 2024-11-07 20:10:06 +01:00

Add -n flag to //paste to select without pasting.

Dieser Commit ist enthalten in:
wizjany 2019-11-09 11:41:18 -05:00
Ursprung 2b1a7ed943
Commit fc5c625f02

Datei anzeigen

@ -140,6 +140,8 @@ public class ClipboardCommands {
boolean atOrigin, boolean atOrigin,
@Switch(name = 's', desc = "Select the region after pasting") @Switch(name = 's', desc = "Select the region after pasting")
boolean selectPasted, boolean selectPasted,
@Switch(name = 'n', desc = "No paste, select only. (Implies -s)")
boolean onlySelect,
@Switch(name = 'e', desc = "Paste entities if available") @Switch(name = 'e', desc = "Paste entities if available")
boolean pasteEntities, boolean pasteEntities,
@Switch(name = 'b', desc = "Paste biomes if available") @Switch(name = 'b', desc = "Paste biomes if available")
@ -151,8 +153,10 @@ public class ClipboardCommands {
ClipboardHolder holder = session.getClipboard(); ClipboardHolder holder = session.getClipboard();
Clipboard clipboard = holder.getClipboard(); Clipboard clipboard = holder.getClipboard();
Region region = clipboard.getRegion(); Region region = clipboard.getRegion();
List<String> messages = Lists.newArrayList();
BlockVector3 to = atOrigin ? clipboard.getOrigin() : session.getPlacementPosition(actor); BlockVector3 to = atOrigin ? clipboard.getOrigin() : session.getPlacementPosition(actor);
if (!onlySelect) {
Operation operation = holder Operation operation = holder
.createPaste(editSession) .createPaste(editSession)
.to(to) .to(to)
@ -162,8 +166,10 @@ public class ClipboardCommands {
.maskSource(sourceMask) .maskSource(sourceMask)
.build(); .build();
Operations.completeLegacy(operation); Operations.completeLegacy(operation);
operation.addStatusMessages(messages);
}
if (selectPasted) { if (selectPasted || onlySelect) {
BlockVector3 clipboardOffset = clipboard.getRegion().getMinimumPoint().subtract(clipboard.getOrigin()); BlockVector3 clipboardOffset = clipboard.getRegion().getMinimumPoint().subtract(clipboard.getOrigin());
Vector3 realTo = to.toVector3().add(holder.getTransform().apply(clipboardOffset.toVector3())); Vector3 realTo = to.toVector3().add(holder.getTransform().apply(clipboardOffset.toVector3()));
Vector3 max = realTo.add(holder.getTransform().apply(region.getMaximumPoint().subtract(region.getMinimumPoint()).toVector3())); Vector3 max = realTo.add(holder.getTransform().apply(region.getMaximumPoint().subtract(region.getMinimumPoint()).toVector3()));
@ -173,9 +179,11 @@ public class ClipboardCommands {
selector.explainRegionAdjust(actor, session); selector.explainRegionAdjust(actor, session);
} }
if (onlySelect) {
actor.print("Selected clipboard paste region.");
} else {
actor.print("The clipboard has been pasted at " + to); actor.print("The clipboard has been pasted at " + to);
List<String> messages = Lists.newArrayList(); }
operation.addStatusMessages(messages);
messages.forEach(actor::print); messages.forEach(actor::print);
} }