Allow toggleplace to work on any Actor + Locatable (#1723)

This commit is contained in:
Octavia Togami 2021-04-09 20:07:11 -07:00 committed by GitHub
parent f0a3848b97
commit 98adde2c88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 3 deletions

View File

@ -32,6 +32,7 @@
import com.sk89q.worldedit.entity.Player;
import com.sk89q.worldedit.extension.platform.Actor;
import com.sk89q.worldedit.extension.platform.Capability;
import com.sk89q.worldedit.extension.platform.Locatable;
import com.sk89q.worldedit.function.mask.Mask;
import com.sk89q.worldedit.internal.command.CommandRegistrationHandler;
import com.sk89q.worldedit.internal.command.CommandUtil;
@ -387,11 +388,15 @@ public void gmask(Actor actor, LocalSession session,
aliases = {"/toggleplace"},
desc = "Switch between your position and pos1 for placement"
)
public void togglePlace(Player player, LocalSession session) {
public void togglePlace(Actor actor, LocalSession session) {
if (!(actor instanceof Locatable)) {
actor.printError(TranslatableComponent.of("worldedit.toggleplace.not-locatable"));
return;
}
if (session.togglePlacementPosition()) {
player.printInfo(TranslatableComponent.of("worldedit.toggleplace.pos1"));
actor.printInfo(TranslatableComponent.of("worldedit.toggleplace.pos1"));
} else {
player.printInfo(TranslatableComponent.of("worldedit.toggleplace.player"));
actor.printInfo(TranslatableComponent.of("worldedit.toggleplace.player"));
}
}

View File

@ -58,6 +58,7 @@
"worldedit.gmask.set": "Global mask set.",
"worldedit.toggleplace.pos1": "Now placing at pos #1.",
"worldedit.toggleplace.player": "Now placing at the block you stand in.",
"worldedit.toggleplace.not-locatable": "Cannot toggle placing in this context.",
"worldedit.searchitem.too-short": "Enter a longer search string (len > 2).",
"worldedit.searchitem.either-b-or-i": "You cannot use both the 'b' and 'i' flags simultaneously.",
"worldedit.searchitem.searching": "(Please wait... searching items.)",