From 38e2a7a3dd6c73d969ad9016e5b749a7c23cb64d Mon Sep 17 00:00:00 2001 From: Octavia Togami Date: Tue, 11 Aug 2020 03:00:34 -0700 Subject: [PATCH 1/3] WorldEdit goes on an adventure --- buildSrc/src/main/kotlin/LibsConfig.kt | 2 +- buildSrc/src/main/kotlin/Versions.kt | 4 +- settings.gradle.kts | 5 ++ .../bukkit/BukkitBlockCommandSender.java | 15 ++-- .../worldedit/bukkit/BukkitCommandSender.java | 11 ++- .../sk89q/worldedit/bukkit/BukkitPlayer.java | 11 ++- .../sk89q/worldedit/cli/CLICommandSender.java | 2 +- .../java/com/sk89q/worldedit/WorldEdit.java | 6 +- .../worldedit/command/ApplyBrushCommands.java | 4 +- .../worldedit/command/ChunkCommands.java | 6 +- .../worldedit/command/GeneralCommands.java | 6 +- .../command/LegacySnapshotCommands.java | 6 +- .../worldedit/command/PaintBrushCommands.java | 4 +- .../worldedit/command/SchematicCommands.java | 10 +-- .../worldedit/command/SelectionCommands.java | 22 +++--- .../worldedit/command/SnapshotCommands.java | 6 +- .../worldedit/command/UtilityCommands.java | 4 +- .../worldedit/command/WorldEditCommands.java | 10 +-- .../worldedit/command/tool/QueryTool.java | 14 ++-- .../command/util/AsyncCommandBuilder.java | 4 +- .../worldedit/extension/platform/Actor.java | 8 +- .../platform/PlatformCommandManager.java | 4 +- .../worldedit/function/factory/Deform.java | 4 +- .../function/operation/ForwardExtentCopy.java | 8 +- .../function/visitor/BreadthFirstSearch.java | 4 +- .../function/visitor/EntityVisitor.java | 4 +- .../function/visitor/FlatRegionVisitor.java | 4 +- .../function/visitor/RegionVisitor.java | 4 +- .../internal/command/CommandUtil.java | 8 +- .../worldedit/regions/RegionSelector.java | 4 +- .../util/formatting/component/CodeFormat.java | 4 +- .../formatting/component/CommandListBox.java | 4 +- .../formatting/component/ErrorFormat.java | 4 +- .../formatting/component/LabelFormat.java | 4 +- .../util/formatting/component/MessageBox.java | 3 +- .../formatting/component/PaginationBox.java | 12 +-- .../formatting/component/SideEffectBox.java | 6 +- .../formatting/component/SubtleFormat.java | 4 +- .../util/translation/TranslationManager.java | 76 ++++++++++--------- .../sk89q/worldedit/fabric/FabricPlayer.java | 2 +- .../sk89q/worldedit/forge/ForgePlayer.java | 2 +- worldedit-libs/bukkit/build.gradle.kts | 2 +- worldedit-libs/core/build.gradle.kts | 8 +- worldedit-libs/sponge/build.gradle.kts | 1 - .../worldedit/sponge/SpongeCommandSender.java | 5 +- .../sk89q/worldedit/sponge/SpongePlayer.java | 5 +- .../worldedit/sponge/SpongeTextAdapter.java | 3 +- 47 files changed, 182 insertions(+), 167 deletions(-) diff --git a/buildSrc/src/main/kotlin/LibsConfig.kt b/buildSrc/src/main/kotlin/LibsConfig.kt index 29c5bfa3a8..b73e4ce345 100644 --- a/buildSrc/src/main/kotlin/LibsConfig.kt +++ b/buildSrc/src/main/kotlin/LibsConfig.kt @@ -27,7 +27,7 @@ fun Project.applyLibrariesConfiguration() { group = "${rootProject.group}.worldedit-libs" val relocations = mapOf( - "net.kyori.text" to "com.sk89q.worldedit.util.formatting.text", + "net.kyori.adventure.text" to "com.sk89q.worldedit.util.formatting.text", "net.kyori.minecraft" to "com.sk89q.worldedit.util.kyori" ) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 14054d450c..e8906de70b 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -1,8 +1,8 @@ import org.gradle.api.Project object Versions { - const val TEXT = "3.0.4" - const val TEXT_EXTRAS = "3.0.6" + const val ADVENTURE = "4.0.0-SNAPSHOT" + const val ADVENTURE_EXTRAS = "4.0.0-SNAPSHOT" const val PISTON = "0.5.6" const val AUTO_VALUE = "1.7" const val JUNIT = "5.6.1" diff --git a/settings.gradle.kts b/settings.gradle.kts index 2a4044c958..8ce774e60c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -9,3 +9,8 @@ listOf("bukkit", "core", "forge", "sponge", "fabric", "cli").forEach { include("worldedit-libs:core:ap") include("worldedit-core:doctools") + +includeBuild("../Piston") { + dependencySubstitution { + } +} diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockCommandSender.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockCommandSender.java index 83d1f557d1..66ec7f1316 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockCommandSender.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockCommandSender.java @@ -29,8 +29,9 @@ import com.sk89q.worldedit.util.formatting.WorldEditText; import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.adapter.bukkit.TextAdapter; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; +import net.kyori.adventure.audience.Audience; +import net.kyori.adventure.platform.bukkit.BukkitAudiences; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.Block; @@ -46,6 +47,7 @@ public class BukkitBlockCommandSender extends AbstractNonPlayerActor implements private static final String UUID_PREFIX = "CMD"; + private final Audience audience; private final BlockCommandSender sender; private final WorldEditPlugin plugin; private final Location location; @@ -55,6 +57,7 @@ public BukkitBlockCommandSender(WorldEditPlugin plugin, BlockCommandSender sende checkNotNull(plugin); checkNotNull(sender); + this.audience = BukkitAudiences.create(plugin).audience(sender); this.plugin = plugin; this.sender = sender; this.location = BukkitAdapter.adapt(sender.getBlock().getLocation()); @@ -78,7 +81,7 @@ public void printRaw(String msg) { @Deprecated public void print(String msg) { for (String part : msg.split("\n")) { - print(TextComponent.of(part, TextColor.LIGHT_PURPLE)); + print(TextComponent.of(part, NamedTextColor.LIGHT_PURPLE)); } } @@ -86,7 +89,7 @@ public void print(String msg) { @Deprecated public void printDebug(String msg) { for (String part : msg.split("\n")) { - print(TextComponent.of(part, TextColor.GRAY)); + print(TextComponent.of(part, NamedTextColor.GRAY)); } } @@ -94,13 +97,13 @@ public void printDebug(String msg) { @Deprecated public void printError(String msg) { for (String part : msg.split("\n")) { - print(TextComponent.of(part, TextColor.RED)); + print(TextComponent.of(part, NamedTextColor.RED)); } } @Override public void print(Component component) { - TextAdapter.sendMessage(sender, WorldEditText.format(component, getLocale())); + audience.sendMessage(WorldEditText.format(component, getLocale())); } @Override diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandSender.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandSender.java index c06e0565c3..df9dc73ac4 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandSender.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandSender.java @@ -24,13 +24,13 @@ import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.formatting.WorldEditText; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.adapter.bukkit.TextAdapter; +import net.kyori.adventure.audience.Audience; +import net.kyori.adventure.platform.bukkit.BukkitAudiences; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.Locale; import java.util.UUID; -import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; @@ -42,15 +42,15 @@ public class BukkitCommandSender extends AbstractNonPlayerActor { */ private static final UUID DEFAULT_ID = UUID.fromString("a233eb4b-4cab-42cd-9fd9-7e7b9a3f74be"); + private final Audience audience; private final CommandSender sender; - private final WorldEditPlugin plugin; public BukkitCommandSender(WorldEditPlugin plugin, CommandSender sender) { checkNotNull(plugin); checkNotNull(sender); checkArgument(!(sender instanceof Player), "Cannot wrap a player"); - this.plugin = plugin; + this.audience = BukkitAudiences.create(plugin).audience(sender); this.sender = sender; } @@ -98,7 +98,7 @@ public void printError(String msg) { @Override public void print(Component component) { - TextAdapter.sendMessage(sender, WorldEditText.format(component, getLocale())); + audience.sendMessage(WorldEditText.format(component, getLocale())); } @Override @@ -127,7 +127,6 @@ public CommandSender getSender() { @Override public SessionKey getSessionKey() { return new SessionKey() { - @Nullable @Override public String getName() { return sender.getName(); diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java index ae44b42540..9b243ae8b1 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java @@ -36,15 +36,16 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.adapter.bukkit.TextAdapter; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.world.gamemode.GameMode; import com.sk89q.worldedit.world.gamemode.GameModes; +import net.kyori.adventure.audience.Audience; +import net.kyori.adventure.platform.bukkit.BukkitAudiences; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.entity.Player; @@ -58,6 +59,7 @@ public class BukkitPlayer extends AbstractPlayerActor { private final Player player; private final WorldEditPlugin plugin; + private final Audience audience; public BukkitPlayer(Player player) { this(WorldEditPlugin.getInstance(), player); @@ -66,6 +68,7 @@ public BukkitPlayer(Player player) { public BukkitPlayer(WorldEditPlugin plugin, Player player) { this.plugin = plugin; this.player = player; + this.audience = BukkitAudiences.create(plugin).player(player); } @Override @@ -138,7 +141,7 @@ public void printError(String msg) { @Override public void print(Component component) { - TextAdapter.sendMessage(player, WorldEditText.format(component, getLocale())); + audience.sendMessage(WorldEditText.format(component, getLocale())); } @Override @@ -233,7 +236,7 @@ public Locale getLocale() { public void sendAnnouncements() { if (WorldEditPlugin.getInstance().getBukkitImplAdapter() == null) { printError(TranslatableComponent.of("worldedit.version.bukkit.unsupported-adapter", - TextComponent.of("https://enginehub.org/worldedit/#downloads", TextColor.AQUA) + TextComponent.of("https://enginehub.org/worldedit/#downloads", NamedTextColor.AQUA) .clickEvent(ClickEvent.openUrl("https://enginehub.org/worldedit/#downloads")))); } } diff --git a/worldedit-cli/src/main/java/com/sk89q/worldedit/cli/CLICommandSender.java b/worldedit-cli/src/main/java/com/sk89q/worldedit/cli/CLICommandSender.java index 499e3b5929..a0ef15eff9 100644 --- a/worldedit-cli/src/main/java/com/sk89q/worldedit/cli/CLICommandSender.java +++ b/worldedit-cli/src/main/java/com/sk89q/worldedit/cli/CLICommandSender.java @@ -103,7 +103,7 @@ public void printError(String msg) { @Override public void print(Component component) { - print(PlainComponentSerializer.INSTANCE.serialize(WorldEditText.format(component, getLocale()))); + print(PlainComponentSerializer.plain().serialize(WorldEditText.format(component, getLocale()))); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java b/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java index 9602668d40..41deddb1df 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java @@ -58,7 +58,7 @@ import com.sk89q.worldedit.util.eventbus.EventBus; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.io.file.FileSelectionAbortedException; import com.sk89q.worldedit.util.io.file.FilenameException; import com.sk89q.worldedit.util.io.file.FilenameResolutionException; @@ -751,14 +751,14 @@ public void runScript(Player player, File f, String[] args) throws WorldEditExce } catch (ScriptException e) { // non-exceptional return check if (!(Throwables.getRootCause(e) instanceof ReturnException)) { - player.printError(TranslatableComponent.of("worldedit.script.failed", TextComponent.of(e.getMessage(), TextColor.WHITE))); + player.printError(TranslatableComponent.of("worldedit.script.failed", TextComponent.of(e.getMessage(), NamedTextColor.WHITE))); logger.warn("Failed to execute script", e); } } catch (NumberFormatException | WorldEditException e) { throw e; } catch (Throwable e) { player.printError(TranslatableComponent.of("worldedit.script.failed-console", TextComponent.of(e.getClass().getCanonicalName(), - TextColor.WHITE))); + NamedTextColor.WHITE))); logger.warn("Failed to execute script", e); } finally { for (EditSession editSession : scriptContext.getEditSessions()) { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ApplyBrushCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ApplyBrushCommands.java index 596aea821b..c6df7db8ed 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ApplyBrushCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ApplyBrushCommands.java @@ -41,7 +41,7 @@ import com.sk89q.worldedit.util.TreeGenerator; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.formatting.text.format.TextDecoration; import org.enginehub.piston.CommandManager; import org.enginehub.piston.CommandManagerService; @@ -124,7 +124,7 @@ public void item(CommandParameters parameters, @Arg(desc = "The direction in which the item will be applied", def = "up") @Direction(includeDiagonals = true) com.sk89q.worldedit.util.Direction direction) throws WorldEditException { - player.print(TextComponent.builder().append("WARNING: ", TextColor.RED, TextDecoration.BOLD) + player.print(TextComponent.builder().append("WARNING: ", NamedTextColor.RED, TextDecoration.BOLD) .append(TranslatableComponent.of("worldedit.brush.apply.item.warning")).build()); setApplyBrush(parameters, player, localSession, new ItemUseFactory(item, direction)); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ChunkCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ChunkCommands.java index 9416fbb537..909f80fc23 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ChunkCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ChunkCommands.java @@ -40,7 +40,7 @@ import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.storage.LegacyChunkStore; import com.sk89q.worldedit.world.storage.McRegionChunkStore; @@ -173,8 +173,8 @@ public void deleteChunks(Actor actor, World world, LocalSession session, currentInfo.batches.stream().mapToInt(ChunkDeletionInfo.ChunkBatch::getChunkCount).sum()) )); } - actor.print(TextComponent.of("You can mark more chunks for deletion, or to stop now, run: ", TextColor.LIGHT_PURPLE) - .append(TextComponent.of("/stop", TextColor.AQUA) + actor.print(TextComponent.of("You can mark more chunks for deletion, or to stop now, run: ", NamedTextColor.LIGHT_PURPLE) + .append(TextComponent.of("/stop", NamedTextColor.AQUA) .clickEvent(ClickEvent.of(ClickEvent.Action.SUGGEST_COMMAND, "/stop")))); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/GeneralCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/GeneralCommands.java index 2b558ee7d9..ecd4334e2d 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/GeneralCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/GeneralCommands.java @@ -43,7 +43,7 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.item.ItemType; import org.enginehub.piston.CommandManager; @@ -163,7 +163,7 @@ public void limit(Actor actor, LocalSession session, session.setBlockChangeLimit(limit); Component component = TextComponent.empty().append(TranslatableComponent.of("worldedit.limit.set", TextComponent.of(limit))); if (limit != config.defaultChangeLimit) { - component.append(TextComponent.space()).append(TranslatableComponent.of("worldedit.limit.return-to-default", TextColor.GRAY)); + component.append(TextComponent.space()).append(TranslatableComponent.of("worldedit.limit.return-to-default", NamedTextColor.GRAY)); } actor.printInfo(component); } @@ -190,7 +190,7 @@ public void timeout(Actor actor, LocalSession session, session.setTimeout(limit); Component component = TextComponent.empty().append(TranslatableComponent.of("worldedit.timeout.set", TextComponent.of(limit))); if (limit != config.calculationTimeout) { - component.append(TranslatableComponent.of("worldedit.timeout.return-to-default", TextColor.GRAY)); + component.append(TranslatableComponent.of("worldedit.timeout.return-to-default", NamedTextColor.GRAY)); } actor.printInfo(component); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotCommands.java index 499971396e..39ccbece81 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotCommands.java @@ -32,7 +32,7 @@ import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.snapshot.InvalidSnapshotException; import com.sk89q.worldedit.world.snapshot.Snapshot; @@ -189,8 +189,8 @@ private static class SnapshotListBox extends PaginationBox { @Override public Component getComponent(int number) { final Snapshot snapshot = snapshots.get(number); - return TextComponent.of(number + 1 + ". ", TextColor.GOLD) - .append(TextComponent.of(snapshot.getName(), TextColor.LIGHT_PURPLE) + return TextComponent.of(number + 1 + ". ", NamedTextColor.GOLD) + .append(TextComponent.of(snapshot.getName(), NamedTextColor.LIGHT_PURPLE) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Click to use"))) .clickEvent(ClickEvent.of(ClickEvent.Action.RUN_COMMAND, "/snap use " + snapshot.getName()))); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/PaintBrushCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/PaintBrushCommands.java index 5395249a14..4b221ba460 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/PaintBrushCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/PaintBrushCommands.java @@ -41,7 +41,7 @@ import com.sk89q.worldedit.util.TreeGenerator; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.formatting.text.format.TextDecoration; import org.enginehub.piston.CommandManager; import org.enginehub.piston.CommandManagerService; @@ -130,7 +130,7 @@ public void item(CommandParameters parameters, @Arg(desc = "The direction in which the item will be applied", def = "up") @Direction(includeDiagonals = true) com.sk89q.worldedit.util.Direction direction) throws WorldEditException { - player.print(TextComponent.builder().append("WARNING: ", TextColor.RED, TextDecoration.BOLD) + player.print(TextComponent.builder().append("WARNING: ", NamedTextColor.RED, TextDecoration.BOLD) .append(TranslatableComponent.of("worldedit.brush.paint.item.warning")).build()); setPaintBrush(parameters, player, localSession, new ItemUseFactory(item, direction)); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java index aa1188d425..0915cbeceb 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java @@ -50,7 +50,7 @@ import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.io.Closer; import com.sk89q.worldedit.util.io.file.FilenameException; import com.sk89q.worldedit.util.io.file.MorePaths; @@ -136,8 +136,8 @@ public void load(Actor actor, LocalSession session, .registerWithSupervisor(worldEdit.getSupervisor(), "Loading schematic " + filename) .setDelayMessage(TranslatableComponent.of("worldedit.schematic.load.loading")) .setWorkingMessage(TranslatableComponent.of("worldedit.schematic.load.still-loading")) - .onSuccess(TextComponent.of(filename, TextColor.GOLD) - .append(TextComponent.of(" loaded. Paste it with ", TextColor.LIGHT_PURPLE)) + .onSuccess(TextComponent.of(filename, NamedTextColor.GOLD) + .append(TextComponent.of(" loaded. Paste it with ", NamedTextColor.LIGHT_PURPLE)) .append(CodeFormat.wrap("//paste").clickEvent(ClickEvent.of(ClickEvent.Action.SUGGEST_COMMAND, "//paste"))), session::setClipboard) .onFailure("Failed to load schematic", worldEdit.getPlatformManager().getPlatformCommandManager().getExceptionConverter()) @@ -446,12 +446,12 @@ public Component getComponent(int number) { return TextComponent.builder() .content("") .append(TextComponent.of("[L]") - .color(TextColor.GOLD) + .color(NamedTextColor.GOLD) .clickEvent(ClickEvent.of(ClickEvent.Action.RUN_COMMAND, "/schem load \"" + path + "\"")) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Click to load")))) .append(TextComponent.space()) .append(TextComponent.of(path) - .color(TextColor.DARK_GREEN) + .color(NamedTextColor.DARK_GREEN) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of(format)))) .build(); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SelectionCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SelectionCommands.java index 085cd6ede8..6e25d196cf 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SelectionCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SelectionCommands.java @@ -69,7 +69,7 @@ import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.world.block.BlockType; @@ -316,13 +316,13 @@ public void wand(Player player, LocalSession session, @CommandPermissions("worldedit.wand.toggle") public void toggleWand(Player player) { player.printInfo(TextComponent.of("The selection wand is now a normal tool. You can disable it with ") - .append(TextComponent.of("/none", TextColor.AQUA).clickEvent( + .append(TextComponent.of("/none", NamedTextColor.AQUA).clickEvent( ClickEvent.of(ClickEvent.Action.RUN_COMMAND, "/none"))) .append(TextComponent.of(" and rebind it to any item with ")) - .append(TextComponent.of("//selwand", TextColor.AQUA).clickEvent( + .append(TextComponent.of("//selwand", NamedTextColor.AQUA).clickEvent( ClickEvent.of(ClickEvent.Action.RUN_COMMAND, "//selwand"))) .append(TextComponent.of(" or get a new wand with ")) - .append(TextComponent.of("//wand", TextColor.AQUA).clickEvent( + .append(TextComponent.of("//wand", NamedTextColor.AQUA).clickEvent( ClickEvent.of(ClickEvent.Action.RUN_COMMAND, "//wand")))); } @@ -670,20 +670,20 @@ public Component getComponent(int number) { final double perc = count / (double) totalBlocks * 100; final int maxDigits = (int) (Math.log10(totalBlocks) + 1); final int curDigits = (int) (Math.log10(count) + 1); - line.append(String.format("%s%.3f%% ", perc < 10 ? " " : "", perc), TextColor.GOLD); + line.append(String.format("%s%.3f%% ", perc < 10 ? " " : "", perc), NamedTextColor.GOLD); final int space = maxDigits - curDigits; String pad = Strings.repeat(" ", space == 0 ? 2 : 2 * space + 1); - line.append(String.format("%s%s", count, pad), TextColor.YELLOW); + line.append(String.format("%s%s", count, pad), NamedTextColor.YELLOW); final BlockState state = c.getID(); final BlockType blockType = state.getBlockType(); - Component blockName = blockType.getRichName().color(TextColor.LIGHT_PURPLE); + Component blockName = blockType.getRichName().color(NamedTextColor.LIGHT_PURPLE); TextComponent toolTip; if (separateStates && state != blockType.getDefaultState()) { - toolTip = TextComponent.of(state.getAsString(), TextColor.GRAY); - blockName = blockName.append(TextComponent.of("*", TextColor.LIGHT_PURPLE)); + toolTip = TextComponent.of(state.getAsString(), NamedTextColor.GRAY); + blockName = blockName.append(TextComponent.of("*", NamedTextColor.LIGHT_PURPLE)); } else { - toolTip = TextComponent.of(blockType.getId(), TextColor.GRAY); + toolTip = TextComponent.of(blockType.getId(), NamedTextColor.GRAY); } blockName = blockName.hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, toolTip)); line.append(blockName); @@ -698,7 +698,7 @@ public int getComponentsSize() { @Override public Component create(int page) throws InvalidComponentException { - super.getContents().append(TranslatableComponent.of("worldedit.distr.total", TextColor.GRAY, TextComponent.of(totalBlocks))) + super.getContents().append(TranslatableComponent.of("worldedit.distr.total", NamedTextColor.GRAY, TextComponent.of(totalBlocks))) .append(TextComponent.newline()); return super.create(page); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotCommands.java index 842b165618..dfe609e2de 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotCommands.java @@ -34,7 +34,7 @@ import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.snapshot.experimental.Snapshot; import com.sk89q.worldedit.world.snapshot.experimental.fs.FileSystemSnapshotDatabase; @@ -330,8 +330,8 @@ private static class SnapshotListBox extends PaginationBox { public Component getComponent(int number) { final Snapshot snapshot = snapshots.get(number); String displayName = snapshot.getInfo().getDisplayName(); - return TextComponent.of(number + 1 + ". ", TextColor.GOLD) - .append(TextComponent.builder(displayName, TextColor.LIGHT_PURPLE) + return TextComponent.of(number + 1 + ". ", NamedTextColor.GOLD) + .append(TextComponent.builder(displayName, NamedTextColor.LIGHT_PURPLE) .hoverEvent(HoverEvent.showText(TextComponent.of("Click to use"))) .clickEvent(ClickEvent.runCommand("/snap use " + displayName))); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/UtilityCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/UtilityCommands.java index 49a3691673..61a09e7b86 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/UtilityCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/UtilityCommands.java @@ -55,7 +55,7 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockTypes; import org.enginehub.piston.annotation.Command; @@ -538,7 +538,7 @@ public void calc(Actor actor, double result = expression.evaluate( new double[]{}, WorldEdit.getInstance().getSessionManager().get(actor).getTimeout()); String formatted = Double.isNaN(result) ? "NaN" : formatForLocale(actor.getLocale()).format(result); - return SubtleFormat.wrap(input + " = ").append(TextComponent.of(formatted, TextColor.LIGHT_PURPLE)); + return SubtleFormat.wrap(input + " = ").append(TextComponent.of(formatted, NamedTextColor.LIGHT_PURPLE)); }, (Component) null); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java index 36f94d223a..77031085a1 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java @@ -37,7 +37,7 @@ import com.sk89q.worldedit.util.formatting.component.TextComponentProducer; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.paste.ActorCallbackPaste; import com.sk89q.worldedit.util.report.ConfigReport; import com.sk89q.worldedit.util.report.ReportList; @@ -82,23 +82,23 @@ public void version(Actor actor) { TextComponentProducer producer = new TextComponentProducer(); for (Platform platform : pm.getPlatforms()) { producer.append( - TextComponent.of("* ", TextColor.GRAY) + TextComponent.of("* ", NamedTextColor.GRAY) .append(TextComponent.of(platform.getPlatformName())) .append(TextComponent.of("(" + platform.getPlatformVersion() + ")")) ).newline(); } - actor.print(new MessageBox("Platforms", producer, TextColor.GRAY).create()); + actor.print(new MessageBox("Platforms", producer, NamedTextColor.GRAY).create()); producer.reset(); for (Capability capability : Capability.values()) { Platform platform = pm.queryCapability(capability); producer.append( - TextComponent.of(capability.name(), TextColor.GRAY) + TextComponent.of(capability.name(), NamedTextColor.GRAY) .append(TextComponent.of(": ") .append(TextComponent.of(platform != null ? platform.getPlatformName() : "NONE"))) ).newline(); } - actor.print(new MessageBox("Capabilities", producer, TextColor.GRAY).create()); + actor.print(new MessageBox("Capabilities", producer, NamedTextColor.GRAY).create()); } @Command( diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/QueryTool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/QueryTool.java index 5e56adc102..9825436e0b 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/QueryTool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/QueryTool.java @@ -32,7 +32,7 @@ import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.registry.LegacyMapper; @@ -58,23 +58,23 @@ public boolean actPrimary(Platform server, LocalConfiguration config, Player pla BaseBlock block = editSession.getFullBlock(blockPoint); TextComponent.Builder builder = TextComponent.builder(); - builder.append(TextComponent.of("@" + clicked.toVector().toBlockPoint() + ": ", TextColor.BLUE)); - builder.append(block.getBlockType().getRichName().color(TextColor.YELLOW)); - builder.append(TextComponent.of(" (" + block + ") ", TextColor.GRAY) + builder.append(TextComponent.of("@" + clicked.toVector().toBlockPoint() + ": ", NamedTextColor.BLUE)); + builder.append(block.getBlockType().getRichName().color(NamedTextColor.YELLOW)); + builder.append(TextComponent.of(" (" + block + ") ", NamedTextColor.GRAY) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TranslatableComponent.of("worldedit.tool.info.blockstate.hover")))); final int internalId = BlockStateIdAccess.getBlockStateId(block.toImmutableState()); if (BlockStateIdAccess.isValidInternalId(internalId)) { - builder.append(TextComponent.of(" (" + internalId + ") ", TextColor.DARK_GRAY) + builder.append(TextComponent.of(" (" + internalId + ") ", NamedTextColor.DARK_GRAY) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TranslatableComponent.of("worldedit.tool.info.internalid.hover")))); } final int[] legacy = LegacyMapper.getInstance().getLegacyFromBlock(block.toImmutableState()); if (legacy != null) { - builder.append(TextComponent.of(" (" + legacy[0] + ":" + legacy[1] + ") ", TextColor.DARK_GRAY) + builder.append(TextComponent.of(" (" + legacy[0] + ":" + legacy[1] + ") ", NamedTextColor.DARK_GRAY) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TranslatableComponent.of("worldedit.tool.info.legacy.hover")))); } builder.append(TextComponent.of(" (" + world.getBlockLightLevel(blockPoint) + "/" - + world.getBlockLightLevel(blockPoint.add(0, 1, 0)) + ")", TextColor.WHITE) + + world.getBlockLightLevel(blockPoint.add(0, 1, 0)) + ")", NamedTextColor.WHITE) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TranslatableComponent.of("worldedit.tool.info.light.hover")))); player.print(builder.build()); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/AsyncCommandBuilder.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/AsyncCommandBuilder.java index 82d6595243..5814e7b162 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/AsyncCommandBuilder.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/AsyncCommandBuilder.java @@ -28,7 +28,7 @@ import com.sk89q.worldedit.util.formatting.component.ErrorFormat; import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.task.FutureForwardingTask; import com.sk89q.worldedit.util.task.Supervisor; import org.enginehub.piston.exception.CommandException; @@ -116,7 +116,7 @@ public AsyncCommandBuilder onSuccess(@Nullable Component message, @Nullable C public AsyncCommandBuilder onSuccess(@Nullable String message, @Nullable Consumer consumer) { checkArgument(message != null || consumer != null, "Can't have null message AND consumer"); - this.successMessage = message == null ? null : TextComponent.of(message, TextColor.LIGHT_PURPLE); + this.successMessage = message == null ? null : TextComponent.of(message, NamedTextColor.LIGHT_PURPLE); this.consumer = consumer; return this; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/Actor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/Actor.java index cc613dac5b..0ad9e7869e 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/Actor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/Actor.java @@ -24,7 +24,7 @@ import com.sk89q.worldedit.util.Identifiable; import com.sk89q.worldedit.util.auth.Subject; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.io.File; import java.util.Locale; @@ -92,7 +92,7 @@ default String getDisplayName() { * @param component The component to print */ default void printError(Component component) { - print(component.color(TextColor.RED)); + print(component.color(NamedTextColor.RED)); } /** @@ -101,7 +101,7 @@ default void printError(Component component) { * @param component The component to print */ default void printInfo(Component component) { - print(component.color(TextColor.LIGHT_PURPLE)); + print(component.color(NamedTextColor.LIGHT_PURPLE)); } /** @@ -110,7 +110,7 @@ default void printInfo(Component component) { * @param component The component to print */ default void printDebug(Component component) { - print(component.color(TextColor.GRAY)); + print(component.color(NamedTextColor.GRAY)); } /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java index b2dc9d4298..59d966f40f 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java @@ -104,7 +104,7 @@ import com.sk89q.worldedit.util.eventbus.Subscribe; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.logging.DynamicStreamHandler; import com.sk89q.worldedit.util.logging.LogFormat; import com.sk89q.worldedit.world.World; @@ -511,7 +511,7 @@ public void handleCommand(CommandEvent event) { } } catch (UsageException e) { actor.print(TextComponent.builder("") - .color(TextColor.RED) + .color(NamedTextColor.RED) .append(e.getRichMessage()) .build()); ImmutableList cmd = e.getCommands(); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/factory/Deform.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/factory/Deform.java index 06579cbc3d..0f021a1614 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/factory/Deform.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/factory/Deform.java @@ -38,7 +38,7 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import static com.google.common.base.Preconditions.checkNotNull; import static com.sk89q.worldedit.util.GuavaUtil.firstNonNull; @@ -193,7 +193,7 @@ public void cancel() { @Override public Iterable getStatusMessages() { return ImmutableList.of(TranslatableComponent.of("worldedit.operation.deform.expression", - TextComponent.of(expression.getSource()).color(TextColor.LIGHT_PURPLE))); + TextComponent.of(expression.getSource()).color(NamedTextColor.LIGHT_PURPLE))); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/ForwardExtentCopy.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/ForwardExtentCopy.java index bfd651ca29..55a250c8b0 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/ForwardExtentCopy.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/ForwardExtentCopy.java @@ -42,7 +42,7 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.List; @@ -336,11 +336,11 @@ public void cancel() { public Iterable getStatusMessages() { return ImmutableList.of( TranslatableComponent.of("worldedit.operation.affected.block", - TextComponent.of(affectedBlocks)).color(TextColor.LIGHT_PURPLE), + TextComponent.of(affectedBlocks)).color(NamedTextColor.LIGHT_PURPLE), TranslatableComponent.of("worldedit.operation.affected.biome", - TextComponent.of(affectedBiomeCols)).color(TextColor.LIGHT_PURPLE), + TextComponent.of(affectedBiomeCols)).color(NamedTextColor.LIGHT_PURPLE), TranslatableComponent.of("worldedit.operation.affected.entity", - TextComponent.of(affectedEntities)).color(TextColor.LIGHT_PURPLE) + TextComponent.of(affectedEntities)).color(NamedTextColor.LIGHT_PURPLE) ); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/BreadthFirstSearch.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/BreadthFirstSearch.java index 59e57b0c73..04e592eb25 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/BreadthFirstSearch.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/BreadthFirstSearch.java @@ -29,7 +29,7 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.ArrayDeque; import java.util.ArrayList; @@ -190,7 +190,7 @@ public Iterable getStatusMessages() { return ImmutableList.of(TranslatableComponent.of( "worldedit.operation.affected.block", TextComponent.of(getAffected()) - ).color(TextColor.LIGHT_PURPLE)); + ).color(NamedTextColor.LIGHT_PURPLE)); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/EntityVisitor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/EntityVisitor.java index f506082519..7a0f5f2c72 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/EntityVisitor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/EntityVisitor.java @@ -28,7 +28,7 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.Iterator; @@ -85,7 +85,7 @@ public Iterable getStatusMessages() { return ImmutableList.of(TranslatableComponent.of( "worldedit.operation.affected.entity", TextComponent.of(getAffected()) - ).color(TextColor.LIGHT_PURPLE)); + ).color(NamedTextColor.LIGHT_PURPLE)); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/FlatRegionVisitor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/FlatRegionVisitor.java index 0012437339..387ec59763 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/FlatRegionVisitor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/FlatRegionVisitor.java @@ -29,7 +29,7 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import static com.google.common.base.Preconditions.checkNotNull; @@ -85,7 +85,7 @@ public Iterable getStatusMessages() { return ImmutableList.of(TranslatableComponent.of( "worldedit.operation.affected.column", TextComponent.of(getAffected()) - ).color(TextColor.LIGHT_PURPLE)); + ).color(NamedTextColor.LIGHT_PURPLE)); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/RegionVisitor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/RegionVisitor.java index 3a627d9355..2251534a72 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/RegionVisitor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/RegionVisitor.java @@ -29,7 +29,7 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; /** * Utility class to apply region functions to {@link com.sk89q.worldedit.regions.Region}. @@ -74,7 +74,7 @@ public Iterable getStatusMessages() { return ImmutableList.of(TranslatableComponent.of( "worldedit.operation.affected.block", TextComponent.of(getAffected()) - ).color(TextColor.LIGHT_PURPLE)); + ).color(NamedTextColor.LIGHT_PURPLE)); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/CommandUtil.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/CommandUtil.java index c880f365b0..c6b4495497 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/CommandUtil.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/CommandUtil.java @@ -27,7 +27,7 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.formatting.text.format.TextDecoration; import org.enginehub.piston.Command; import org.enginehub.piston.CommandParameters; @@ -57,7 +57,7 @@ private static Component makeDeprecatedFooter(String reason, Component replaceme .append(DEPRECATION_MARKER) .append(" " + reason + ".") .append(TextComponent.newline()) - .append(replacement.color(TextColor.GOLD).decoration(TextDecoration.ITALIC, true)) + .append(replacement.color(NamedTextColor.GOLD).decoration(TextDecoration.ITALIC, true)) .build(); } @@ -85,7 +85,7 @@ static ReplacementMessageGenerator forNewCommand(NewCommandGenerator generator) } public static Component createNewCommandReplacementText(String suggestedCommand) { - return TextComponent.builder("Please use ", TextColor.GOLD) + return TextComponent.builder("Please use ", NamedTextColor.GOLD) .append(TextComponent.of(suggestedCommand) .decoration(TextDecoration.UNDERLINED, true) .clickEvent(ClickEvent.suggestCommand(suggestedCommand))) @@ -183,7 +183,7 @@ private static void sendDeprecationMessage( ) { Component replacement = generator.getReplacement(command, parameters); actor.print( - TextComponent.builder(reason + ". ", TextColor.GOLD) + TextComponent.builder(reason + ". ", NamedTextColor.GOLD) .append(replacement) .build() ); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java index 3d7a0efc36..404ce6062c 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java @@ -29,7 +29,7 @@ import com.sk89q.worldedit.regions.selector.limit.SelectorLimits; import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import java.util.List; @@ -193,7 +193,7 @@ default List getInformationLines() { */ default List getSelectionInfoLines() { return getInformationLines().stream() - .map(line -> TextComponent.of(line, TextColor.LIGHT_PURPLE)) + .map(line -> TextComponent.of(line, NamedTextColor.LIGHT_PURPLE)) .collect(Collectors.toList()); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CodeFormat.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CodeFormat.java index 6f3640d3ea..3b3257ecb4 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CodeFormat.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CodeFormat.java @@ -20,7 +20,7 @@ package com.sk89q.worldedit.util.formatting.component; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; /** * Represents a fragment representing a command that is to be typed. @@ -28,7 +28,7 @@ public class CodeFormat extends TextComponentProducer { private CodeFormat() { - getBuilder().content("").color(TextColor.AQUA); + getBuilder().content("").color(NamedTextColor.AQUA); } /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandListBox.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandListBox.java index b9717c0d38..d67dfa0fd5 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandListBox.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandListBox.java @@ -24,7 +24,7 @@ import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.List; @@ -93,7 +93,7 @@ Component createComponent(boolean hideHelp) { .clickEvent(ClickEvent.of(ClickEvent.Action.RUN_COMMAND, CommandListBox.this.helpCommand + " " + insertion)) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Additional Help")))); } - TextComponent command = TextComponent.of(alias, TextColor.GOLD); + TextComponent command = TextComponent.of(alias, NamedTextColor.GOLD); if (insertion == null) { line.append(command); } else { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/ErrorFormat.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/ErrorFormat.java index 5b60afb3fc..718792b0db 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/ErrorFormat.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/ErrorFormat.java @@ -20,7 +20,7 @@ package com.sk89q.worldedit.util.formatting.component; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; /** * Represents a fragment representing an error. @@ -31,7 +31,7 @@ public class ErrorFormat extends TextComponentProducer { * Create a new instance. */ private ErrorFormat() { - getBuilder().content("").color(TextColor.RED); + getBuilder().content("").color(NamedTextColor.RED); } /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/LabelFormat.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/LabelFormat.java index 60b05743ea..e957551b49 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/LabelFormat.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/LabelFormat.java @@ -20,7 +20,7 @@ package com.sk89q.worldedit.util.formatting.component; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; /** * Represents a fragment representing a label. @@ -31,7 +31,7 @@ public class LabelFormat extends TextComponentProducer { * Create a new instance. */ private LabelFormat() { - getBuilder().content("").color(TextColor.YELLOW); + getBuilder().content("").color(NamedTextColor.YELLOW); } /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/MessageBox.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/MessageBox.java index 585aa3a6fa..5ebde9b9c3 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/MessageBox.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/MessageBox.java @@ -23,6 +23,7 @@ import com.google.common.collect.Sets; import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.formatting.text.format.TextColor; import com.sk89q.worldedit.util.formatting.text.format.TextDecoration; @@ -42,7 +43,7 @@ public class MessageBox extends TextComponentProducer { * Create a new box. */ public MessageBox(String title, TextComponentProducer contents) { - this(title, contents, TextColor.YELLOW); + this(title, contents, NamedTextColor.YELLOW); } /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/PaginationBox.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/PaginationBox.java index 556b8f0513..cde6aefbef 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/PaginationBox.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/PaginationBox.java @@ -24,7 +24,7 @@ import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.List; import java.util.stream.Collectors; @@ -99,21 +99,21 @@ public Component create(int page) throws InvalidComponentException { return super.create(); } getContents().newline(); - TextComponent pageNumberComponent = TextComponent.of("Page ", TextColor.YELLOW) - .append(TextComponent.of(String.valueOf(page), TextColor.GOLD)) + TextComponent pageNumberComponent = TextComponent.of("Page ", NamedTextColor.YELLOW) + .append(TextComponent.of(String.valueOf(page), NamedTextColor.GOLD)) .append(TextComponent.of(" of ")) - .append(TextComponent.of(String.valueOf(pageCount), TextColor.GOLD)); + .append(TextComponent.of(String.valueOf(pageCount), NamedTextColor.GOLD)); if (pageCommand != null) { TextComponentProducer navProducer = new TextComponentProducer(); if (page > 1) { - TextComponent prevComponent = TextComponent.of("<<< ", TextColor.GOLD) + TextComponent prevComponent = TextComponent.of("<<< ", NamedTextColor.GOLD) .clickEvent(ClickEvent.of(ClickEvent.Action.RUN_COMMAND, pageCommand.replace("%page%", String.valueOf(page - 1)))) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Click to navigate"))); navProducer.append(prevComponent); } navProducer.append(pageNumberComponent); if (page < pageCount) { - TextComponent nextComponent = TextComponent.of(" >>>", TextColor.GOLD) + TextComponent nextComponent = TextComponent.of(" >>>", NamedTextColor.GOLD) .clickEvent(ClickEvent.of(ClickEvent.Action.RUN_COMMAND, pageCommand.replace("%page%", String.valueOf(page + 1)))) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Click to navigate"))); navProducer.append(nextComponent); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SideEffectBox.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SideEffectBox.java index a323bdf25e..1583d685ec 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SideEffectBox.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SideEffectBox.java @@ -29,7 +29,7 @@ import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.Comparator; import java.util.List; @@ -70,11 +70,11 @@ public Component getComponent(int number) { SideEffect.State state = this.sideEffectSet.getState(effect); TextComponent.Builder builder = TextComponent.builder(); - builder = builder.append(TranslatableComponent.of(effect.getDisplayName(), TextColor.YELLOW) + builder = builder.append(TranslatableComponent.of(effect.getDisplayName(), NamedTextColor.YELLOW) .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TranslatableComponent.of(effect.getDescription())))); for (SideEffect.State uiState : SHOWN_VALUES) { builder = builder.append(TextComponent.space()); - builder = builder.append(TranslatableComponent.of(uiState.getDisplayName(), uiState == state ? TextColor.WHITE : TextColor.GRAY) + builder = builder.append(TranslatableComponent.of(uiState.getDisplayName(), uiState == state ? NamedTextColor.WHITE : NamedTextColor.GRAY) .clickEvent(ClickEvent.runCommand("//perf -h " + effect.name().toLowerCase(Locale.US) + " " + uiState.name().toLowerCase(Locale.US))) .hoverEvent(HoverEvent.showText(uiState == state ? TranslatableComponent.of("worldedit.sideeffect.box.current") diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SubtleFormat.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SubtleFormat.java index 735b6cf40c..361504b27c 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SubtleFormat.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SubtleFormat.java @@ -20,7 +20,7 @@ package com.sk89q.worldedit.util.formatting.component; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.format.TextColor; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; /** * Represents a subtle part of the message. @@ -31,7 +31,7 @@ public class SubtleFormat extends TextComponentProducer { * Create a new instance. */ private SubtleFormat() { - getBuilder().content("").color(TextColor.GRAY); + getBuilder().content("").color(NamedTextColor.GRAY); } /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/translation/TranslationManager.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/translation/TranslationManager.java index 785a49fb6a..f70cb4d0ad 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/translation/TranslationManager.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/translation/TranslationManager.java @@ -26,6 +26,7 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.renderer.TranslatableComponentRenderer; import com.sk89q.worldedit.util.io.ResourceLoader; +import net.kyori.adventure.translation.TranslationRegistry; import java.io.IOException; import java.io.InputStream; @@ -73,17 +74,7 @@ public static String makeTranslationKey(String type, String id) { return type + '.' + parts[0] + '.' + parts[1].replace('/', '.'); } - private final Map> translationMap = new ConcurrentHashMap<>(); - private final TranslatableComponentRenderer friendlyComponentRenderer = TranslatableComponentRenderer.from( - (locale, key) -> { - String translation = getTranslationMap(locale).get(key); - if (translation == null) { - // let it pass through (for e.g. MC messages) - return null; - } - return new MessageFormat(translation, locale); - } - ); + private final Map> translationMap = new ConcurrentHashMap<>(); private Locale defaultLocale = Locale.ENGLISH; private final ResourceLoader resourceLoader; @@ -99,27 +90,27 @@ public void setDefaultLocale(Locale defaultLocale) { this.defaultLocale = defaultLocale; } - private Map filterTranslations(Map translations) { + private Map filterTranslations(Locale locale, Map translations) { return translations.entrySet().stream() .filter(e -> !e.getValue().isEmpty()) .map(e -> Maps.immutableEntry(e.getKey(), e.getValue().replace("'", "''"))) - .collect(toMap(Map.Entry::getKey, Map.Entry::getValue)); + .collect(toMap(Map.Entry::getKey, e -> new MessageFormat(e.getValue(), locale))); } - private Map parseTranslationFile(InputStream inputStream) throws IOException { + private Map parseTranslationFile(Locale locale, InputStream inputStream) throws IOException { try (Reader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8)) { - return filterTranslations(gson.fromJson(reader, STRING_MAP_TYPE)); + return filterTranslations(locale, gson.fromJson(reader, STRING_MAP_TYPE)); } } - private Optional> loadTranslationFile(String filename) { - Map baseTranslations = new ConcurrentHashMap<>(); + private Optional> loadTranslationFile(Locale locale, String filename) { + Map baseTranslations = new ConcurrentHashMap<>(); try { URL resource = resourceLoader.getRootResource("lang/" + filename); if (resource != null) { try (InputStream stream = resource.openStream()) { - baseTranslations = parseTranslationFile(stream); + baseTranslations = parseTranslationFile(locale, stream); } } } catch (IOException e) { @@ -129,7 +120,7 @@ private Optional> loadTranslationFile(String filename) { Path localFile = resourceLoader.getLocalResource("lang/" + filename); if (Files.exists(localFile)) { try (InputStream stream = Files.newInputStream(localFile)) { - baseTranslations.putAll(parseTranslationFile(stream)); + baseTranslations.putAll(parseTranslationFile(locale, stream)); } catch (IOException e) { // Failed to parse custom language file. Worth printing. e.printStackTrace(); @@ -145,16 +136,16 @@ private boolean tryLoadTranslations(Locale locale) { } checkedLocales.add(locale); // Make a copy of the default language file - Map baseTranslations = new ConcurrentHashMap<>(); + Map baseTranslations = new ConcurrentHashMap<>(); if (!locale.equals(defaultLocale)) { baseTranslations.putAll(getTranslationMap(defaultLocale)); } - Optional> langData = Optional.empty(); + Optional> langData = Optional.empty(); if (!locale.getCountry().isEmpty()) { - langData = loadTranslationFile(locale.getLanguage() + "-" + locale.getCountry() + "/strings.json"); + langData = loadTranslationFile(locale, locale.getLanguage() + "-" + locale.getCountry() + "/strings.json"); } if (!langData.isPresent()) { - langData = loadTranslationFile(locale.getLanguage() + "/strings.json"); + langData = loadTranslationFile(locale, locale.getLanguage() + "/strings.json"); } if (langData.isPresent()) { baseTranslations.putAll(langData.get()); @@ -162,7 +153,7 @@ private boolean tryLoadTranslations(Locale locale) { return true; } if (locale.equals(defaultLocale)) { - translationMap.put(Locale.ENGLISH, loadTranslationFile("strings.json").orElseThrow( + translationMap.put(Locale.ENGLISH, loadTranslationFile(defaultLocale, "strings.json").orElseThrow( () -> new RuntimeException("Failed to load WorldEdit strings!") )); return true; @@ -170,21 +161,36 @@ private boolean tryLoadTranslations(Locale locale) { return false; } - private Map getTranslationMap(Locale locale) { - Map translations = translationMap.get(locale); - if (translations == null) { - if (tryLoadTranslations(locale)) { - return getTranslationMap(locale); - } - if (!locale.equals(defaultLocale)) { - translations = getTranslationMap(defaultLocale); - } + private Map getTranslationMap(Locale locale) { + Map existing = translationMap.get(locale); + if (existing != null) { + return existing; + } + + if (tryLoadTranslations(locale)) { + return translationMap.get(locale); } - return translations; + if (locale.equals(defaultLocale)) { + throw new IllegalStateException("Missing default locale translations: " + defaultLocale); + } + + return translationMap.get(defaultLocale); + } + + private void initializeTranslations(Locale locale) { + if (translationMap.get(locale) == null) { + Map map = getTranslationMap(locale); + translationMap.put(locale, map); + TranslationRegistry.get().registerAll( + locale, + map + ); + } } public Component convertText(Component component, Locale locale) { - return friendlyComponentRenderer.render(component, locale); + initializeTranslations(locale); + return TranslatableComponentRenderer.get().render(component, locale); } } diff --git a/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricPlayer.java b/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricPlayer.java index f200565b0e..a2c7cf220b 100644 --- a/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricPlayer.java +++ b/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricPlayer.java @@ -166,7 +166,7 @@ public void printError(String msg) { @Override public void print(Component component) { - this.player.sendMessage(Text.Serializer.fromJson(GsonComponentSerializer.INSTANCE.serialize(WorldEditText.format(component, getLocale()))), false); + this.player.sendMessage(Text.Serializer.fromJson(GsonComponentSerializer.gson().serialize(WorldEditText.format(component, getLocale()))), false); } private void sendColorized(String msg, Formatting formatting) { diff --git a/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgePlayer.java b/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgePlayer.java index aecef4438a..65115c7151 100644 --- a/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgePlayer.java +++ b/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgePlayer.java @@ -165,7 +165,7 @@ public void printError(String msg) { @Override public void print(Component component) { - sendMessage(ITextComponent.Serializer.func_240643_a_(GsonComponentSerializer.INSTANCE.serialize(WorldEditText.format(component, getLocale())))); + sendMessage(ITextComponent.Serializer.func_240643_a_(GsonComponentSerializer.gson().serialize(WorldEditText.format(component, getLocale())))); } private void sendColorized(String msg, TextFormatting formatting) { diff --git a/worldedit-libs/bukkit/build.gradle.kts b/worldedit-libs/bukkit/build.gradle.kts index a9d1c255e1..8c4ffa5f99 100644 --- a/worldedit-libs/bukkit/build.gradle.kts +++ b/worldedit-libs/bukkit/build.gradle.kts @@ -9,5 +9,5 @@ repositories { } dependencies { - "shade"("net.kyori:text-adapter-bukkit:${Versions.TEXT_EXTRAS}") + "shade"("net.kyori:adventure-platform-bukkit:${Versions.ADVENTURE_EXTRAS}") } diff --git a/worldedit-libs/core/build.gradle.kts b/worldedit-libs/core/build.gradle.kts index d669216d6d..d938ccb1f2 100644 --- a/worldedit-libs/core/build.gradle.kts +++ b/worldedit-libs/core/build.gradle.kts @@ -1,10 +1,10 @@ applyLibrariesConfiguration() dependencies { - "shade"("net.kyori:text-api:${Versions.TEXT}") - "shade"("net.kyori:text-serializer-gson:${Versions.TEXT}") - "shade"("net.kyori:text-serializer-legacy:${Versions.TEXT}") - "shade"("net.kyori:text-serializer-plain:${Versions.TEXT}") + "shade"("net.kyori:adventure-api:${Versions.ADVENTURE}") + "shade"("net.kyori:adventure-text-serializer-gson:${Versions.ADVENTURE}") + "shade"("net.kyori:adventure-text-serializer-legacy:${Versions.ADVENTURE}") + "shade"("net.kyori:adventure-text-serializer-plain:${Versions.ADVENTURE}") "shade"("com.sk89q:jchronic:0.2.4a") { exclude(group = "junit", module = "junit") } diff --git a/worldedit-libs/sponge/build.gradle.kts b/worldedit-libs/sponge/build.gradle.kts index 47bd7e59c5..7f10cf0124 100644 --- a/worldedit-libs/sponge/build.gradle.kts +++ b/worldedit-libs/sponge/build.gradle.kts @@ -8,5 +8,4 @@ repositories { } } dependencies { - "shade"("net.kyori:text-adapter-spongeapi:${Versions.TEXT_EXTRAS}") } diff --git a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeCommandSender.java b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeCommandSender.java index 39b8cfd2c8..31d92025e1 100644 --- a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeCommandSender.java +++ b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeCommandSender.java @@ -24,9 +24,7 @@ import com.sk89q.worldedit.internal.cui.CUIEvent; import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.auth.AuthorizationException; -import com.sk89q.worldedit.util.formatting.WorldEditText; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.adapter.spongeapi.TextAdapter; import org.spongepowered.api.command.CommandSource; import org.spongepowered.api.entity.living.player.Player; import org.spongepowered.api.text.Text; @@ -96,7 +94,8 @@ public void printError(String msg) { @Override public void print(Component component) { - TextAdapter.sendMessage(sender, WorldEditText.format(component, getLocale())); + /// TODO sponge 8 this is native + // TextAdapter.sendMessage(sender, WorldEditText.format(component, getLocale())); } @SuppressWarnings("deprecation") diff --git a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java index b6dbe0d9f9..295c06d729 100644 --- a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java +++ b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java @@ -31,9 +31,7 @@ import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.WorldEditText; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.adapter.spongeapi.TextAdapter; import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.gamemode.GameMode; import com.sk89q.worldedit.world.gamemode.GameModes; @@ -155,7 +153,8 @@ public void printError(String msg) { @Override public void print(Component component) { - TextAdapter.sendMessage(player, WorldEditText.format(component, getLocale())); + // TODO sponge 8 this is native + // TextAdapter.sendMessage(player, WorldEditText.format(component, getLocale())); } private void sendColorized(String msg, TextColor formatting) { diff --git a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeTextAdapter.java b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeTextAdapter.java index 1731f98d13..978b82de58 100644 --- a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeTextAdapter.java +++ b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeTextAdapter.java @@ -29,9 +29,10 @@ public class SpongeTextAdapter { + // TODO this should become native in sponge 8? public static Text convert(Component component, Locale locale) { component = WorldEditText.format(component, locale); - return TextSerializers.JSON.deserialize(GsonComponentSerializer.INSTANCE.serialize(component)); + return TextSerializers.JSON.deserialize(GsonComponentSerializer.gson().serialize(component)); } private SpongeTextAdapter() { From a64f657bcafe19cc0ac66e278139796aef553949 Mon Sep 17 00:00:00 2001 From: Octavia Togami Date: Tue, 11 Aug 2020 23:08:13 -0700 Subject: [PATCH 2/3] Merge common print functions into abstract class --- settings.gradle.kts | 6 +- .../bukkit/BukkitBlockCommandSender.java | 50 +--------------- .../worldedit/bukkit/BukkitCommandSender.java | 47 +-------------- .../sk89q/worldedit/bukkit/BukkitPlayer.java | 44 +------------- .../worldedit/bukkit/WorldEditPlugin.java | 12 ++++ .../extension/platform/AbstractActor.java | 58 ++++++++++++++++++ .../platform/AbstractNonPlayerActor.java | 8 ++- .../platform/AbstractPlayerActor.java | 9 ++- .../extension/platform/PlayerProxy.java | 33 +---------- .../sk89q/worldedit/fabric/FabricPlayer.java | 56 ++++-------------- .../sk89q/worldedit/forge/ForgePlayer.java | 59 ++++--------------- .../sk89q/worldedit/sponge/SpongePlayer.java | 40 +------------ 12 files changed, 120 insertions(+), 302 deletions(-) create mode 100644 worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractActor.java diff --git a/settings.gradle.kts b/settings.gradle.kts index 8ce774e60c..da127989e4 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,7 +10,9 @@ include("worldedit-libs:core:ap") include("worldedit-core:doctools") -includeBuild("../Piston") { - dependencySubstitution { +if (gradle.plugins.none { "JetGradlePlugin" in it.javaClass.name }) { + includeBuild("../Piston") { + dependencySubstitution { + } } } diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockCommandSender.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockCommandSender.java index 66ec7f1316..6e2571ffe0 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockCommandSender.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBlockCommandSender.java @@ -26,12 +26,6 @@ import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.auth.AuthorizationException; -import com.sk89q.worldedit.util.formatting.WorldEditText; -import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; -import net.kyori.adventure.audience.Audience; -import net.kyori.adventure.platform.bukkit.BukkitAudiences; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.Block; @@ -41,23 +35,18 @@ import java.util.Locale; import java.util.UUID; -import static com.google.common.base.Preconditions.checkNotNull; - public class BukkitBlockCommandSender extends AbstractNonPlayerActor implements Locatable { private static final String UUID_PREFIX = "CMD"; - private final Audience audience; private final BlockCommandSender sender; private final WorldEditPlugin plugin; private final Location location; private final UUID uuid; public BukkitBlockCommandSender(WorldEditPlugin plugin, BlockCommandSender sender) { - checkNotNull(plugin); - checkNotNull(sender); + super(plugin.getAudiences().audience(sender)::sendMessage); - this.audience = BukkitAudiences.create(plugin).audience(sender); this.plugin = plugin; this.sender = sender; this.location = BukkitAdapter.adapt(sender.getBlock().getLocation()); @@ -69,43 +58,6 @@ public String getName() { return sender.getName(); } - @Override - @Deprecated - public void printRaw(String msg) { - for (String part : msg.split("\n")) { - sender.sendMessage(part); - } - } - - @Override - @Deprecated - public void print(String msg) { - for (String part : msg.split("\n")) { - print(TextComponent.of(part, NamedTextColor.LIGHT_PURPLE)); - } - } - - @Override - @Deprecated - public void printDebug(String msg) { - for (String part : msg.split("\n")) { - print(TextComponent.of(part, NamedTextColor.GRAY)); - } - } - - @Override - @Deprecated - public void printError(String msg) { - for (String part : msg.split("\n")) { - print(TextComponent.of(part, NamedTextColor.RED)); - } - } - - @Override - public void print(Component component) { - audience.sendMessage(WorldEditText.format(component, getLocale())); - } - @Override public Locale getLocale() { return WorldEdit.getInstance().getConfiguration().defaultLocale; diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandSender.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandSender.java index df9dc73ac4..78ef39c5ab 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandSender.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandSender.java @@ -22,10 +22,6 @@ import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.extension.platform.AbstractNonPlayerActor; import com.sk89q.worldedit.session.SessionKey; -import com.sk89q.worldedit.util.formatting.WorldEditText; -import com.sk89q.worldedit.util.formatting.text.Component; -import net.kyori.adventure.audience.Audience; -import net.kyori.adventure.platform.bukkit.BukkitAudiences; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -33,7 +29,6 @@ import java.util.UUID; import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; public class BukkitCommandSender extends AbstractNonPlayerActor { @@ -42,15 +37,12 @@ public class BukkitCommandSender extends AbstractNonPlayerActor { */ private static final UUID DEFAULT_ID = UUID.fromString("a233eb4b-4cab-42cd-9fd9-7e7b9a3f74be"); - private final Audience audience; private final CommandSender sender; public BukkitCommandSender(WorldEditPlugin plugin, CommandSender sender) { - checkNotNull(plugin); - checkNotNull(sender); + super(plugin.getAudiences().audience(sender)::sendMessage); checkArgument(!(sender instanceof Player), "Cannot wrap a player"); - this.audience = BukkitAudiences.create(plugin).audience(sender); this.sender = sender; } @@ -64,43 +56,6 @@ public String getName() { return sender.getName(); } - @Override - @Deprecated - public void printRaw(String msg) { - for (String part : msg.split("\n")) { - sender.sendMessage(part); - } - } - - @Override - @Deprecated - public void print(String msg) { - for (String part : msg.split("\n")) { - sender.sendMessage("§d" + part); - } - } - - @Override - @Deprecated - public void printDebug(String msg) { - for (String part : msg.split("\n")) { - sender.sendMessage("§7" + part); - } - } - - @Override - @Deprecated - public void printError(String msg) { - for (String part : msg.split("\n")) { - sender.sendMessage("§c" + part); - } - } - - @Override - public void print(Component component) { - audience.sendMessage(WorldEditText.format(component, getLocale())); - } - @Override public String[] getGroups() { return new String[0]; diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java index 9b243ae8b1..8ca5125aa2 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java @@ -31,9 +31,7 @@ import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.HandSide; -import com.sk89q.worldedit.util.formatting.WorldEditText; import com.sk89q.worldedit.util.formatting.component.TextUtils; -import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; @@ -44,8 +42,6 @@ import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.world.gamemode.GameMode; import com.sk89q.worldedit.world.gamemode.GameModes; -import net.kyori.adventure.audience.Audience; -import net.kyori.adventure.platform.bukkit.BukkitAudiences; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.entity.Player; @@ -59,16 +55,15 @@ public class BukkitPlayer extends AbstractPlayerActor { private final Player player; private final WorldEditPlugin plugin; - private final Audience audience; public BukkitPlayer(Player player) { this(WorldEditPlugin.getInstance(), player); } public BukkitPlayer(WorldEditPlugin plugin, Player player) { + super(plugin.getAudiences().player(player)::sendMessage); this.plugin = plugin; this.player = player; - this.audience = BukkitAudiences.create(plugin).player(player); } @Override @@ -107,43 +102,6 @@ public void giveItem(BaseItemStack itemStack) { player.getInventory().addItem(BukkitAdapter.adapt(itemStack)); } - @Override - @Deprecated - public void printRaw(String msg) { - for (String part : msg.split("\n")) { - player.sendMessage(part); - } - } - - @Override - @Deprecated - public void print(String msg) { - for (String part : msg.split("\n")) { - player.sendMessage("§d" + part); - } - } - - @Override - @Deprecated - public void printDebug(String msg) { - for (String part : msg.split("\n")) { - player.sendMessage("§7" + part); - } - } - - @Override - @Deprecated - public void printError(String msg) { - for (String part : msg.split("\n")) { - player.sendMessage("§c" + part); - } - } - - @Override - public void print(Component component) { - audience.sendMessage(WorldEditText.format(component, getLocale())); - } - @Override public boolean trySetPosition(Vector3 pos, float pitch, float yaw) { return player.teleport(new Location(player.getWorld(), pos.getX(), pos.getY(), diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java index ffde6d11d6..76429354cd 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/WorldEditPlugin.java @@ -54,6 +54,7 @@ import com.sk89q.worldedit.world.item.ItemType; import com.sk89q.worldedit.world.weather.WeatherTypes; import io.papermc.lib.PaperLib; +import net.kyori.adventure.platform.bukkit.BukkitAudiences; import org.bstats.bukkit.Metrics; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -118,10 +119,12 @@ public class WorldEditPlugin extends JavaPlugin implements TabCompleter { private BukkitImplAdapter bukkitAdapter; private BukkitServerInterface server; private BukkitConfiguration config; + private BukkitAudiences audiences; @Override public void onLoad() { INSTANCE = this; + audiences = BukkitAudiences.create(this); //noinspection ResultOfMethodCallIgnored getDataFolder().mkdirs(); @@ -441,6 +444,15 @@ public BukkitConfiguration getLocalConfiguration() { return config; } + /** + * Get the audience provider for this plugin. + * + * @return the audience provider + */ + public BukkitAudiences getAudiences() { + return audiences; + } + /** * Get the permissions resolver in use. * diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractActor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractActor.java new file mode 100644 index 0000000000..92fc2d0909 --- /dev/null +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractActor.java @@ -0,0 +1,58 @@ +package com.sk89q.worldedit.extension.platform; + +import com.sk89q.worldedit.util.formatting.WorldEditText; +import com.sk89q.worldedit.util.formatting.text.Component; +import com.sk89q.worldedit.util.formatting.text.TextComponent; +import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; + +import java.util.function.Consumer; + +/** + * Base class for implementing an actor. Provides reasonable defaults. + */ +public abstract class AbstractActor implements Actor { + + private final Consumer sendMessage; + + protected AbstractActor(Consumer sendMessage) { + this.sendMessage = sendMessage; + } + + @Override + @Deprecated + public void printRaw(String msg) { + for (String part : msg.split("\n")) { + print(TextComponent.of(part)); + } + } + + @Override + @Deprecated + public void print(String msg) { + for (String part : msg.split("\n")) { + print(TextComponent.of(part, NamedTextColor.LIGHT_PURPLE)); + } + } + + @Override + @Deprecated + public void printDebug(String msg) { + for (String part : msg.split("\n")) { + print(TextComponent.of(part, NamedTextColor.GRAY)); + } + } + + @Override + @Deprecated + public void printError(String msg) { + for (String part : msg.split("\n")) { + print(TextComponent.of(part, NamedTextColor.RED)); + } + } + + @Override + public void print(Component component) { + sendMessage.accept(WorldEditText.format(component, getLocale())); + } + +} diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractNonPlayerActor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractNonPlayerActor.java index de51c65a85..228cc85027 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractNonPlayerActor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractNonPlayerActor.java @@ -20,10 +20,16 @@ package com.sk89q.worldedit.extension.platform; import com.sk89q.worldedit.internal.cui.CUIEvent; +import com.sk89q.worldedit.util.formatting.text.Component; import java.io.File; +import java.util.function.Consumer; -public abstract class AbstractNonPlayerActor implements Actor { +public abstract class AbstractNonPlayerActor extends AbstractActor implements Actor { + + protected AbstractNonPlayerActor(Consumer sendMessage) { + super(sendMessage); + } @Override public boolean canDestroyBedrock() { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractPlayerActor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractPlayerActor.java index 4282fc80f3..a2fbf07b06 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractPlayerActor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractPlayerActor.java @@ -35,6 +35,7 @@ import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.TargetBlock; import com.sk89q.worldedit.util.auth.AuthorizationException; +import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BaseBlock; @@ -47,8 +48,10 @@ import com.sk89q.worldedit.world.gamemode.GameModes; import com.sk89q.worldedit.world.item.ItemType; import com.sk89q.worldedit.world.item.ItemTypes; +import net.kyori.adventure.audience.Audience; import java.io.File; +import java.util.function.Consumer; import javax.annotation.Nullable; /** @@ -56,7 +59,11 @@ * that is intended for implementations of WorldEdit to use to wrap * players that make use of WorldEdit. */ -public abstract class AbstractPlayerActor implements Actor, Player, Cloneable { +public abstract class AbstractPlayerActor extends AbstractActor implements Actor, Player, Cloneable { + + protected AbstractPlayerActor(Consumer sendMessage) { + super(sendMessage); + } @Override public final Extent getExtent() { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlayerProxy.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlayerProxy.java index 7811d2fd79..3ca6625f67 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlayerProxy.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlayerProxy.java @@ -29,8 +29,6 @@ import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.gamemode.GameMode; @@ -49,7 +47,7 @@ class PlayerProxy extends AbstractPlayerActor { private final World world; PlayerProxy(Player basePlayer, Actor permActor, Actor cuiActor, World world) { - checkNotNull(basePlayer); + super(basePlayer::print); checkNotNull(permActor); checkNotNull(cuiActor); checkNotNull(world); @@ -114,35 +112,6 @@ public World getWorld() { return world; } - @Override - @Deprecated - public void printRaw(String msg) { - basePlayer.print(TextComponent.of(msg)); - } - - @Override - @Deprecated - public void printDebug(String msg) { - basePlayer.printDebug(TextComponent.of(msg)); - } - - @Override - @Deprecated - public void print(String msg) { - basePlayer.printInfo(TextComponent.of(msg)); - } - - @Override - @Deprecated - public void printError(String msg) { - basePlayer.printError(TextComponent.of(msg)); - } - - @Override - public void print(Component component) { - basePlayer.print(component); - } - @Override public String[] getGroups() { return permActor.getGroups(); diff --git a/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricPlayer.java b/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricPlayer.java index a2c7cf220b..7346921f27 100644 --- a/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricPlayer.java +++ b/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricPlayer.java @@ -34,7 +34,6 @@ import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.WorldEditText; import com.sk89q.worldedit.util.formatting.component.TextUtils; import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.serializer.gson.GsonComponentSerializer; @@ -50,26 +49,36 @@ import net.minecraft.network.packet.s2c.play.BlockUpdateS2CPacket; import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket; import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.text.LiteralText; -import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.util.Formatting; import net.minecraft.util.Hand; import net.minecraft.util.Identifier; +import net.minecraft.util.Util; import net.minecraft.util.math.BlockPos; import java.io.IOException; import java.util.Locale; +import java.util.Objects; import java.util.UUID; +import java.util.function.Consumer; import javax.annotation.Nullable; public class FabricPlayer extends AbstractPlayerActor { + private static Consumer sendMessage(ServerPlayerEntity player) { + Objects.requireNonNull(player, "player"); + return message -> { + Text nativeMessage = Text.Serializer.fromJson(GsonComponentSerializer.gson().serialize(message)); + Objects.requireNonNull(nativeMessage, "Unable to encode native message"); + player.sendSystemMessage(nativeMessage, Util.NIL_UUID); + }; + } + // see ClientPlayNetHandler: search for "invalid update packet", lots of hardcoded consts private static final int STRUCTURE_BLOCK_PACKET_ID = 7; private final ServerPlayerEntity player; protected FabricPlayer(ServerPlayerEntity player) { + super(sendMessage(player)); this.player = player; ThreadSafeCache.getInstance().getOnlineIds().add(getUniqueId()); } @@ -138,45 +147,6 @@ public Locale getLocale() { return TextUtils.getLocaleByMinecraftTag(((ExtendedPlayerEntity) this.player).getLanguage()); } - @Override - @Deprecated - public void printRaw(String msg) { - for (String part : msg.split("\n")) { - this.player.sendMessage(new LiteralText(part), false); - } - } - - @Override - @Deprecated - public void printDebug(String msg) { - sendColorized(msg, Formatting.GRAY); - } - - @Override - @Deprecated - public void print(String msg) { - sendColorized(msg, Formatting.LIGHT_PURPLE); - } - - @Override - @Deprecated - public void printError(String msg) { - sendColorized(msg, Formatting.RED); - } - - @Override - public void print(Component component) { - this.player.sendMessage(Text.Serializer.fromJson(GsonComponentSerializer.gson().serialize(WorldEditText.format(component, getLocale()))), false); - } - - private void sendColorized(String msg, Formatting formatting) { - for (String part : msg.split("\n")) { - MutableText component = new LiteralText(part) - .styled(style -> style.withColor(formatting)); - this.player.sendMessage(component, false); - } - } - @Override public boolean trySetPosition(Vector3 pos, float pitch, float yaw) { this.player.networkHandler.requestTeleport(pos.getX(), pos.getY(), pos.getZ(), yaw, pitch); diff --git a/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgePlayer.java b/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgePlayer.java index 65115c7151..08a7ca42cf 100644 --- a/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgePlayer.java +++ b/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgePlayer.java @@ -33,7 +33,6 @@ import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.WorldEditText; import com.sk89q.worldedit.util.formatting.component.TextUtils; import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.serializer.gson.GsonComponentSerializer; @@ -53,23 +52,32 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.Util; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.text.ChatType; import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.StringTextComponent; -import net.minecraft.util.text.TextFormatting; import java.io.IOException; import java.util.Locale; +import java.util.Objects; import java.util.UUID; +import java.util.function.Consumer; import javax.annotation.Nullable; public class ForgePlayer extends AbstractPlayerActor { + private static Consumer sendMessage(ServerPlayerEntity player) { + Objects.requireNonNull(player, "player"); + return message -> { + ITextComponent nativeMessage = ITextComponent.Serializer.func_240643_a_(GsonComponentSerializer.gson().serialize(message)); + Objects.requireNonNull(nativeMessage, "Unable to encode native message"); + player.sendMessage(nativeMessage, Util.field_240973_b_); + }; + } + // see ClientPlayNetHandler: search for "invalid update packet", lots of hardcoded consts private static final int STRUCTURE_BLOCK_PACKET_ID = 7; private final ServerPlayerEntity player; protected ForgePlayer(ServerPlayerEntity player) { + super(sendMessage(player)); this.player = player; ThreadSafeCache.getInstance().getOnlineIds().add(getUniqueId()); } @@ -133,49 +141,6 @@ public void dispatchCUIEvent(CUIEvent event) { this.player.connection.sendPacket(packet); } - private void sendMessage(ITextComponent textComponent) { - this.player.func_241151_a_(textComponent, ChatType.CHAT, Util.field_240973_b_); - } - - @Override - @Deprecated - public void printRaw(String msg) { - for (String part : msg.split("\n")) { - sendMessage(new StringTextComponent(part)); - } - } - - @Override - @Deprecated - public void printDebug(String msg) { - sendColorized(msg, TextFormatting.GRAY); - } - - @Override - @Deprecated - public void print(String msg) { - sendColorized(msg, TextFormatting.LIGHT_PURPLE); - } - - @Override - @Deprecated - public void printError(String msg) { - sendColorized(msg, TextFormatting.RED); - } - - @Override - public void print(Component component) { - sendMessage(ITextComponent.Serializer.func_240643_a_(GsonComponentSerializer.gson().serialize(WorldEditText.format(component, getLocale())))); - } - - private void sendColorized(String msg, TextFormatting formatting) { - for (String part : msg.split("\n")) { - StringTextComponent component = new StringTextComponent(part); - component.func_240699_a_(formatting); - sendMessage(component); - } - } - @Override public boolean trySetPosition(Vector3 pos, float pitch, float yaw) { this.player.connection.setPlayerLocation(pos.getX(), pos.getY(), pos.getZ(), yaw, pitch); diff --git a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java index 295c06d729..8a261ed31e 100644 --- a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java +++ b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongePlayer.java @@ -31,7 +31,6 @@ import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.gamemode.GameMode; import com.sk89q.worldedit.world.gamemode.GameModes; @@ -42,9 +41,6 @@ import org.spongepowered.api.entity.living.player.Player; import org.spongepowered.api.item.ItemType; import org.spongepowered.api.item.inventory.ItemStack; -import org.spongepowered.api.text.Text; -import org.spongepowered.api.text.format.TextColor; -import org.spongepowered.api.text.format.TextColors; import org.spongepowered.api.text.serializer.TextSerializers; import org.spongepowered.api.world.World; @@ -59,6 +55,8 @@ public class SpongePlayer extends AbstractPlayerActor { private final Player player; protected SpongePlayer(SpongePlatform platform, Player player) { + // TODO this will be native in sponge 8 + super(null); this.player = player; ThreadSafeCache.getInstance().getOnlineIds().add(getUniqueId()); } @@ -129,40 +127,6 @@ public void dispatchCUIEvent(CUIEvent event) { CUIChannelHandler.getActiveChannel().sendTo(player, buffer -> buffer.writeBytes(finalData.getBytes(StandardCharsets.UTF_8))); } - @Override - public void printRaw(String msg) { - for (String part : msg.split("\n")) { - this.player.sendMessage(TextSerializers.FORMATTING_CODE.deserialize(part)); - } - } - - @Override - public void printDebug(String msg) { - sendColorized(msg, TextColors.GRAY); - } - - @Override - public void print(String msg) { - sendColorized(msg, TextColors.LIGHT_PURPLE); - } - - @Override - public void printError(String msg) { - sendColorized(msg, TextColors.RED); - } - - @Override - public void print(Component component) { - // TODO sponge 8 this is native - // TextAdapter.sendMessage(player, WorldEditText.format(component, getLocale())); - } - - private void sendColorized(String msg, TextColor formatting) { - for (String part : msg.split("\n")) { - this.player.sendMessage(Text.of(formatting, TextSerializers.FORMATTING_CODE.deserialize(part))); - } - } - @Override public boolean trySetPosition(Vector3 pos, float pitch, float yaw) { org.spongepowered.api.world.Location loc = new org.spongepowered.api.world.Location<>( From f698e1ac99e31103e42f6324cb7a019048edb27a Mon Sep 17 00:00:00 2001 From: Octavia Togami Date: Mon, 28 Sep 2020 14:38:40 -0700 Subject: [PATCH 3/3] Continue the adventure --- buildSrc/src/main/kotlin/PlatformConfig.kt | 1 - .../worldedit/bukkit/BukkitBiomeRegistry.java | 4 +- .../sk89q/worldedit/bukkit/BukkitPlayer.java | 18 ++- .../com/sk89q/worldedit/cli/CLIWorldEdit.java | 7 +- .../util/commands/CommandException.java | 5 +- .../java/com/sk89q/worldedit/EditSession.java | 19 ++- .../sk89q/worldedit/EditSessionFactory.java | 2 - .../com/sk89q/worldedit/LocalSession.java | 4 +- .../worldedit/MissingWorldException.java | 4 +- .../sk89q/worldedit/NotABlockException.java | 13 +- .../worldedit/UnknownDirectionException.java | 6 +- .../java/com/sk89q/worldedit/WorldEdit.java | 33 ++-- .../sk89q/worldedit/WorldEditException.java | 7 +- .../worldedit/command/ApplyBrushCommands.java | 20 ++- .../worldedit/command/BiomeCommands.java | 34 ++-- .../worldedit/command/BrushCommands.java | 30 ++-- .../worldedit/command/ChunkCommands.java | 39 +++-- .../worldedit/command/ClipboardCommands.java | 16 +- .../worldedit/command/ExpandCommands.java | 20 +-- .../worldedit/command/GeneralCommands.java | 94 +++++------ .../worldedit/command/GenerationCommands.java | 26 +-- .../worldedit/command/HistoryCommands.java | 18 +-- .../command/LegacySnapshotCommands.java | 56 +++---- .../command/LegacySnapshotUtilCommands.java | 28 ++-- .../worldedit/command/NavigationCommands.java | 30 ++-- .../worldedit/command/PaintBrushCommands.java | 22 +-- .../worldedit/command/RegionCommands.java | 53 +++--- .../worldedit/command/SchematicCommands.java | 70 ++++---- .../worldedit/command/ScriptingCommands.java | 8 +- .../worldedit/command/SelectionCommands.java | 152 +++++++++--------- .../worldedit/command/SnapshotCommands.java | 68 +++----- .../command/SnapshotUtilCommands.java | 29 ++-- .../command/SuperPickaxeCommands.java | 15 +- .../sk89q/worldedit/command/ToolCommands.java | 25 +-- .../worldedit/command/ToolUtilCommands.java | 23 +-- .../worldedit/command/UtilityCommands.java | 58 +++---- .../worldedit/command/WorldEditCommands.java | 39 ++--- .../argument/AbstractDirectionConverter.java | 4 +- .../argument/Chunk3dVectorConverter.java | 5 +- .../CommaSeparatedValuesConverter.java | 11 +- .../argument/EntityRemoverConverter.java | 6 +- .../command/argument/FactoryConverter.java | 5 +- .../command/argument/HeightConverter.java | 5 +- .../command/argument/OffsetConverter.java | 7 +- .../command/argument/RegistryConverter.java | 4 +- .../command/argument/SideEffectConverter.java | 3 +- .../command/argument/VectorConverter.java | 5 +- .../command/argument/WorldConverter.java | 4 +- .../argument/ZonedDateTimeConverter.java | 5 +- .../worldedit/command/tool/AreaPickaxe.java | 5 +- .../command/tool/BlockDataCyler.java | 20 ++- .../worldedit/command/tool/BlockReplacer.java | 5 +- .../worldedit/command/tool/BrushTool.java | 6 +- .../worldedit/command/tool/DistanceWand.java | 5 +- .../command/tool/FloatingTreeRemover.java | 9 +- .../worldedit/command/tool/FloodFillTool.java | 5 +- .../command/tool/LongRangeBuildTool.java | 5 +- .../command/tool/NavigationWand.java | 7 +- .../worldedit/command/tool/QueryTool.java | 25 +-- .../command/tool/RecursivePickaxe.java | 5 +- .../worldedit/command/tool/SinglePickaxe.java | 5 +- .../worldedit/command/tool/TreePlanter.java | 7 +- .../command/util/AsyncCommandBuilder.java | 28 ++-- .../command/util/FutureProgressListener.java | 6 +- .../command/util/MessageTimerTask.java | 4 +- .../command/util/PrintCommandHelp.java | 12 +- .../util/WorldEditAsyncCommandBuilder.java | 5 +- .../extension/factory/MaskFactory.java | 9 +- .../factory/parser/DefaultBlockParser.java | 64 +++----- .../factory/parser/DefaultItemParser.java | 14 +- .../factory/parser/mask/BiomeMaskParser.java | 7 +- .../parser/mask/BlockCategoryMaskParser.java | 7 +- .../parser/mask/BlockStateMaskParser.java | 7 +- .../parser/mask/ExpressionMaskParser.java | 5 +- .../factory/parser/mask/NegateMaskParser.java | 5 +- .../factory/parser/mask/RegionMaskParser.java | 5 +- .../pattern/BlockCategoryPatternParser.java | 9 +- .../pattern/ClipboardPatternParser.java | 11 +- .../parser/pattern/RandomPatternParser.java | 7 +- .../TypeOrStateApplyingPatternParser.java | 17 +- .../extension/input/ParserContext.java | 11 +- .../extension/platform/AbstractActor.java | 30 +++- .../platform/AbstractPlayerActor.java | 8 +- .../platform/PlatformCommandManager.java | 36 ++--- .../worldedit/function/factory/Deform.java | 7 +- .../function/operation/ForwardExtentCopy.java | 13 +- .../function/operation/Operation.java | 3 +- .../function/visitor/BreadthFirstSearch.java | 9 +- .../function/visitor/EntityVisitor.java | 9 +- .../function/visitor/FlatRegionVisitor.java | 9 +- .../function/visitor/RegionVisitor.java | 10 +- .../internal/command/CommandUtil.java | 38 +++-- .../WorldEditExceptionConverter.java | 28 ++-- .../internal/registry/AbstractFactory.java | 6 +- .../worldedit/regions/CylinderRegion.java | 4 +- .../worldedit/regions/EllipsoidRegion.java | 5 +- .../sk89q/worldedit/regions/NullRegion.java | 9 +- .../worldedit/regions/Polygonal2DRegion.java | 7 +- .../worldedit/regions/RegionIntersection.java | 6 +- .../worldedit/regions/RegionSelector.java | 5 +- .../worldedit/regions/TransformRegion.java | 8 +- .../ConvexPolyhedralRegionSelector.java | 12 +- .../selector/CuboidRegionSelector.java | 26 ++- .../selector/CylinderRegionSelector.java | 21 ++- .../selector/EllipsoidRegionSelector.java | 32 ++-- .../ExtendingCuboidRegionSelector.java | 19 +-- .../selector/Polygonal2DRegionSelector.java | 15 +- .../selector/SphereRegionSelector.java | 14 +- .../scripting/CraftScriptContext.java | 13 +- .../formatting/component/CommandListBox.java | 17 +- .../formatting/component/CommandUsageBox.java | 27 ++-- .../util/formatting/component/MessageBox.java | 10 +- .../formatting/component/PaginationBox.java | 31 ++-- .../formatting/component/SideEffectBox.java | 30 ++-- .../component/TextComponentProducer.java | 10 +- .../util/formatting/component/TextUtils.java | 13 +- .../util/paste/ActorCallbackPaste.java | 8 +- .../world/WorldUnloadedException.java | 5 +- .../world/registry/BundledBlockRegistry.java | 11 +- .../world/registry/BundledItemRegistry.java | 11 +- .../world/registry/NullBiomeRegistry.java | 7 +- .../world/storage/FileLegacyChunkStore.java | 1 - .../worldedit/fabric/FabricBiomeRegistry.java | 4 +- .../worldedit/fabric/FabricBlockRegistry.java | 4 +- .../worldedit/fabric/FabricItemRegistry.java | 10 +- .../worldedit/forge/ForgeBiomeRegistry.java | 4 +- .../worldedit/forge/ForgeBlockRegistry.java | 4 +- .../worldedit/forge/ForgeItemRegistry.java | 10 +- .../worldedit/sponge/SpongeBiomeRegistry.java | 6 +- 129 files changed, 1046 insertions(+), 1081 deletions(-) diff --git a/buildSrc/src/main/kotlin/PlatformConfig.kt b/buildSrc/src/main/kotlin/PlatformConfig.kt index 5eaac8dc06..b138833bdb 100644 --- a/buildSrc/src/main/kotlin/PlatformConfig.kt +++ b/buildSrc/src/main/kotlin/PlatformConfig.kt @@ -1,5 +1,4 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar -import net.minecrell.gradle.licenser.LicenseExtension import org.gradle.api.JavaVersion import org.gradle.api.Project import org.gradle.api.plugins.JavaPluginConvention diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBiomeRegistry.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBiomeRegistry.java index 5bccb32833..95e4f53d60 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBiomeRegistry.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitBiomeRegistry.java @@ -29,6 +29,8 @@ import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A biome registry for Bukkit. */ @@ -39,7 +41,7 @@ class BukkitBiomeRegistry implements BiomeRegistry { @Override public Component getRichName(BiomeType biomeType) { - return TranslatableComponent.of( + return translatable( TranslationManager.makeTranslationKey("biome", biomeType.getId()) ); } diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java index 8ca5125aa2..d5daaa8c1a 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitPlayer.java @@ -32,8 +32,6 @@ import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.formatting.component.TextUtils; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; @@ -42,6 +40,7 @@ import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.world.gamemode.GameMode; import com.sk89q.worldedit.world.gamemode.GameModes; +import net.kyori.adventure.audience.Audience; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.entity.Player; @@ -51,8 +50,13 @@ import java.util.UUID; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.openUrl; + public class BukkitPlayer extends AbstractPlayerActor { + private final Audience audience; private final Player player; private final WorldEditPlugin plugin; @@ -62,6 +66,7 @@ public BukkitPlayer(Player player) { public BukkitPlayer(WorldEditPlugin plugin, Player player) { super(plugin.getAudiences().player(player)::sendMessage); + this.audience = plugin.getAudiences().player(player); this.plugin = plugin; this.player = player; } @@ -193,9 +198,12 @@ public Locale getLocale() { @Override public void sendAnnouncements() { if (WorldEditPlugin.getInstance().getBukkitImplAdapter() == null) { - printError(TranslatableComponent.of("worldedit.version.bukkit.unsupported-adapter", - TextComponent.of("https://enginehub.org/worldedit/#downloads", NamedTextColor.AQUA) - .clickEvent(ClickEvent.openUrl("https://enginehub.org/worldedit/#downloads")))); + printError(translatable( + "worldedit.version.bukkit.unsupported-adapter", + text() + .content("https://enginehub.org/worldedit/#downloads") + .color(NamedTextColor.AQUA) + .clickEvent(openUrl("https://enginehub.org/worldedit/#downloads")))); } } diff --git a/worldedit-cli/src/main/java/com/sk89q/worldedit/cli/CLIWorldEdit.java b/worldedit-cli/src/main/java/com/sk89q/worldedit/cli/CLIWorldEdit.java index 452d42ff99..a1d7828933 100644 --- a/worldedit-cli/src/main/java/com/sk89q/worldedit/cli/CLIWorldEdit.java +++ b/worldedit-cli/src/main/java/com/sk89q/worldedit/cli/CLIWorldEdit.java @@ -32,7 +32,6 @@ import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormats; import com.sk89q.worldedit.extent.clipboard.io.ClipboardReader; import com.sk89q.worldedit.registry.state.Property; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.biome.BiomeType; import com.sk89q.worldedit.world.block.BlockCategory; import com.sk89q.worldedit.world.block.BlockState; @@ -62,6 +61,8 @@ import java.util.Map; import java.util.Scanner; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * The CLI implementation of WorldEdit. */ @@ -238,13 +239,13 @@ public void run(InputStream inputStream) { while (scanner.hasNextLine()) { String line = scanner.nextLine(); if (line.equals("stop")) { - commandSender.printInfo(TranslatableComponent.of("worldedit.cli.stopping")); + commandSender.printInfo(translatable("worldedit.cli.stopping")); break; } CommandEvent event = new CommandEvent(commandSender, line); WorldEdit.getInstance().getEventBus().post(event); if (!event.isCancelled()) { - commandSender.printError(TranslatableComponent.of("worldedit.cli.unknown-command")); + commandSender.printError(translatable("worldedit.cli.unknown-command")); } else { saveAllWorlds(false); } diff --git a/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/CommandException.java b/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/CommandException.java index 8459f51d43..4acf48c473 100644 --- a/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/CommandException.java +++ b/worldedit-core/src/main/java/com/sk89q/minecraft/util/commands/CommandException.java @@ -19,14 +19,13 @@ package com.sk89q.minecraft.util.commands; -import static com.google.common.base.Preconditions.checkNotNull; - import java.util.ArrayList; import java.util.List; import java.util.ListIterator; - import javax.annotation.Nullable; +import static com.google.common.base.Preconditions.checkNotNull; + public class CommandException extends Exception { private final List commandStack = new ArrayList<>(); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java b/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java index 591baf9471..46b42e6e21 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java @@ -111,8 +111,6 @@ import com.sk89q.worldedit.util.collection.BlockMap; import com.sk89q.worldedit.util.collection.DoubleArrayList; import com.sk89q.worldedit.util.eventbus.EventBus; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.NullWorld; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.biome.BiomeType; @@ -142,6 +140,8 @@ import static com.sk89q.worldedit.regions.Regions.asFlatRegion; import static com.sk89q.worldedit.regions.Regions.maximumBlockY; import static com.sk89q.worldedit.regions.Regions.minimumBlockY; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * An {@link Extent} that handles history, {@link BlockBag}s, change limits, @@ -888,7 +888,7 @@ private void dumpTracingInformation() { List tracingExtents = getActiveTracingExtents(); assert actor != null; if (tracingExtents.isEmpty()) { - actor.printError(TranslatableComponent.of("worldedit.trace.no-tracing-extents")); + actor.printError(translatable("worldedit.trace.no-tracing-extents")); return; } // find the common stacks @@ -911,13 +911,12 @@ private void dumpTracingInformation() { stackToPosition.forEach((stack, position) -> { // stack can never be empty, something has to have touched the position TracingExtent failure = stack.get(0); - actor.printDebug(TranslatableComponent.builder("worldedit.trace.action-failed") - .args( - TextComponent.of(failure.getFailedActions().get(position).toString()), - TextComponent.of(position.toString()), - TextComponent.of(failure.getExtent().getClass().getName()) - ) - .build()); + actor.printDebug(translatable( + "worldedit.trace.action-failed", + text(failure.getFailedActions().get(position).toString()), + text(position.toString()), + text(failure.getExtent().getClass().getName()) + )); }); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/EditSessionFactory.java b/worldedit-core/src/main/java/com/sk89q/worldedit/EditSessionFactory.java index 286897c7fb..e9d2dabda4 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/EditSessionFactory.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/EditSessionFactory.java @@ -24,8 +24,6 @@ import com.sk89q.worldedit.extent.inventory.BlockBag; import com.sk89q.worldedit.world.World; -import static com.google.common.base.Preconditions.checkNotNull; - /** * Creates new {@link EditSession}s. To get an instance of this factory, * use {@link WorldEdit#getEditSessionFactory()}. diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/LocalSession.java b/worldedit-core/src/main/java/com/sk89q/worldedit/LocalSession.java index 2af6962999..649db31865 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/LocalSession.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/LocalSession.java @@ -50,7 +50,6 @@ import com.sk89q.worldedit.session.request.Request; import com.sk89q.worldedit.util.Countable; import com.sk89q.worldedit.util.SideEffectSet; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BlockState; @@ -71,6 +70,7 @@ import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Stores session information. @@ -674,7 +674,7 @@ public BrushTool getBrushTool(ItemType item) throws InvalidToolBindException { */ public void setTool(ItemType item, @Nullable Tool tool) throws InvalidToolBindException { if (item.hasBlockType()) { - throw new InvalidToolBindException(item, TranslatableComponent.of("worldedit.tool.error.item-only")); + throw new InvalidToolBindException(item, translatable("worldedit.tool.error.item-only")); } if (tool instanceof SelectionWand) { setSingleItemTool(id -> this.wandItem = id, this.wandItem, item); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/MissingWorldException.java b/worldedit-core/src/main/java/com/sk89q/worldedit/MissingWorldException.java index 808bd430b6..ab9717c4d0 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/MissingWorldException.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/MissingWorldException.java @@ -19,7 +19,7 @@ package com.sk89q.worldedit; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Raised when a world is missing but is required. @@ -27,6 +27,6 @@ public class MissingWorldException extends WorldEditException { public MissingWorldException() { - super(TranslatableComponent.of("worldedit.error.missing-world")); + super(translatable("worldedit.error.missing-world")); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/NotABlockException.java b/worldedit-core/src/main/java/com/sk89q/worldedit/NotABlockException.java index 4a43cf9dc7..64d471ad4a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/NotABlockException.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/NotABlockException.java @@ -19,10 +19,11 @@ package com.sk89q.worldedit; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.item.ItemType; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Raised when an item is used when a block was expected. */ @@ -32,7 +33,7 @@ public class NotABlockException extends WorldEditException { * Create a new instance. */ public NotABlockException() { - super(TranslatableComponent.of("worldedit.error.not-a-block")); + super(translatable("worldedit.error.not-a-block")); } /** @@ -42,7 +43,7 @@ public NotABlockException() { */ @Deprecated public NotABlockException(String input) { - super(TranslatableComponent.of("worldedit.error.not-a-block.item", TextComponent.of(input))); + super(translatable("worldedit.error.not-a-block.item", text(input))); } /** @@ -52,7 +53,7 @@ public NotABlockException(String input) { */ @Deprecated public NotABlockException(int input) { - super(TranslatableComponent.of("worldedit.error.not-a-block.item", TextComponent.of(input))); + super(translatable("worldedit.error.not-a-block.item", text(input))); } /** @@ -61,6 +62,6 @@ public NotABlockException(int input) { * @param input the input that was used */ public NotABlockException(ItemType input) { - super(TranslatableComponent.of("worldedit.error.not-a-block.item", input.getRichName())); + super(translatable("worldedit.error.not-a-block.item", input.getRichName())); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/UnknownDirectionException.java b/worldedit-core/src/main/java/com/sk89q/worldedit/UnknownDirectionException.java index 9ba595d1a5..01a5edc652 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/UnknownDirectionException.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/UnknownDirectionException.java @@ -19,8 +19,8 @@ package com.sk89q.worldedit; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Thrown when an unknown direction is specified or detected. @@ -35,7 +35,7 @@ public class UnknownDirectionException extends WorldEditException { * @param dir the input that was tried */ public UnknownDirectionException(String dir) { - super(TranslatableComponent.of("worldedit.error.unknown-direction", TextComponent.of(dir))); + super(translatable("worldedit.error.unknown-direction", text(dir))); this.dir = dir; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java b/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java index 41deddb1df..3352fb14e9 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEdit.java @@ -57,7 +57,6 @@ import com.sk89q.worldedit.util.concurrency.LazyReference; import com.sk89q.worldedit.util.eventbus.EventBus; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.io.file.FileSelectionAbortedException; import com.sk89q.worldedit.util.io.file.FilenameException; @@ -93,6 +92,8 @@ import static com.sk89q.worldedit.event.platform.Interaction.HIT; import static com.sk89q.worldedit.event.platform.Interaction.OPEN; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * The entry point and container for a working implementation of WorldEdit. @@ -314,7 +315,7 @@ private File getSafeFile(@Nullable Actor actor, File dir, String filename, Strin } if (f == null) { - throw new FileSelectionAbortedException(TranslatableComponent.of("worldedit.error.no-file-selected")); + throw new FileSelectionAbortedException(translatable("worldedit.error.no-file-selected")); } } else { List exts = extensions == null ? ImmutableList.of(defaultExt) : Lists.asList(defaultExt, extensions); @@ -333,12 +334,12 @@ private File getSafeFile(@Nullable Actor actor, File dir, String filename, Strin boolean isSym = existingParent != null && !existingParent.toRealPath().equals(existingParent); if (!inDir || (!getConfiguration().allowSymlinks && isSym)) { - throw new FilenameResolutionException(filename, TranslatableComponent.of("worldedit.error.file-resolution.outside-root")); + throw new FilenameResolutionException(filename, translatable("worldedit.error.file-resolution.outside-root")); } return filePath.toFile(); } catch (IOException e) { - throw new FilenameResolutionException(filename, TranslatableComponent.of("worldedit.error.file-resolution.resolve-failed")); + throw new FilenameResolutionException(filename, translatable("worldedit.error.file-resolution.resolve-failed")); } } @@ -365,7 +366,7 @@ private File getSafeFileWithExtensions(File dir, String filename, List e result = getSafeFileWithExtension(dir, filename, iter.next()); } if (result == null) { - throw new InvalidFilenameException(filename, TranslatableComponent.of("worldedit.error.invalid-filename.invalid-characters")); + throw new InvalidFilenameException(filename, translatable("worldedit.error.invalid-filename.invalid-characters")); } return result; } @@ -583,22 +584,20 @@ public void flushBlockBag(Actor actor, EditSession editSession) { Map missingBlocks = editSession.popMissingBlocks(); if (!missingBlocks.isEmpty()) { - TextComponent.Builder str = TextComponent.builder(); - str.append("Missing these blocks: "); + TextComponent.Builder str = text() + .content("Missing these blocks: "); int size = missingBlocks.size(); int i = 0; for (Map.Entry blockTypeIntegerEntry : missingBlocks.entrySet()) { str.append((blockTypeIntegerEntry.getKey()).getRichName()); - str.append(" [Amt: ") - .append(String.valueOf(blockTypeIntegerEntry.getValue())) - .append("]"); + str.append(text(" [Amt: " + blockTypeIntegerEntry.getValue() + "]")); ++i; if (i != size) { - str.append(", "); + str.append(text(", ")); } } @@ -696,7 +695,7 @@ public void runScript(Player player, File f, String[] args) throws WorldEditExce String ext = filename.substring(index + 1); if (!ext.equalsIgnoreCase("js")) { - player.printError(TranslatableComponent.of("worldedit.script.unsupported")); + player.printError(translatable("worldedit.script.unsupported")); return; } @@ -709,7 +708,7 @@ public void runScript(Player player, File f, String[] args) throws WorldEditExce file = WorldEdit.class.getResourceAsStream("craftscripts/" + filename); if (file == null) { - player.printError(TranslatableComponent.of("worldedit.script.file-not-found", TextComponent.of(filename))); + player.printError(translatable("worldedit.script.file-not-found", text(filename))); return; } } else { @@ -722,7 +721,7 @@ public void runScript(Player player, File f, String[] args) throws WorldEditExce in.close(); script = new String(data, 0, data.length, StandardCharsets.UTF_8); } catch (IOException e) { - player.printError(TranslatableComponent.of("worldedit.script.read-error", TextComponent.of(e.getMessage()))); + player.printError(translatable("worldedit.script.read-error", text(e.getMessage()))); return; } @@ -735,7 +734,7 @@ public void runScript(Player player, File f, String[] args) throws WorldEditExce try { engine = new RhinoCraftScriptEngine(); } catch (NoClassDefFoundError ignored) { - player.printError(TranslatableComponent.of("worldedit.script.no-script-engine")); + player.printError(translatable("worldedit.script.no-script-engine")); return; } @@ -751,13 +750,13 @@ public void runScript(Player player, File f, String[] args) throws WorldEditExce } catch (ScriptException e) { // non-exceptional return check if (!(Throwables.getRootCause(e) instanceof ReturnException)) { - player.printError(TranslatableComponent.of("worldedit.script.failed", TextComponent.of(e.getMessage(), NamedTextColor.WHITE))); + player.printError(translatable("worldedit.script.failed", text(e.getMessage(), NamedTextColor.WHITE))); logger.warn("Failed to execute script", e); } } catch (NumberFormatException | WorldEditException e) { throw e; } catch (Throwable e) { - player.printError(TranslatableComponent.of("worldedit.script.failed-console", TextComponent.of(e.getClass().getCanonicalName(), + player.printError(translatable("worldedit.script.failed-console", text(e.getClass().getCanonicalName(), NamedTextColor.WHITE))); logger.warn("Failed to execute script", e); } finally { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEditException.java b/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEditException.java index 814e6c213f..0a91ea5ac4 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEditException.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/WorldEditException.java @@ -21,10 +21,11 @@ import com.sk89q.worldedit.util.formatting.WorldEditText; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import java.util.Locale; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + /** * Parent for all WorldEdit exceptions. */ @@ -49,7 +50,7 @@ protected WorldEditException() { protected WorldEditException(String message) { super(message); - this.message = TextComponent.of(message); + this.message = text(message); } /** @@ -74,7 +75,7 @@ protected WorldEditException(Component message) { protected WorldEditException(String message, Throwable cause) { super(message, cause); - this.message = TextComponent.of(message); + this.message = text(message); } /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ApplyBrushCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ApplyBrushCommands.java index c6df7db8ed..16e0c02ba9 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ApplyBrushCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ApplyBrushCommands.java @@ -39,8 +39,6 @@ import com.sk89q.worldedit.internal.command.CommandRegistrationHandler; import com.sk89q.worldedit.regions.factory.RegionFactory; import com.sk89q.worldedit.util.TreeGenerator; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.formatting.text.format.TextDecoration; import org.enginehub.piston.CommandManager; @@ -55,25 +53,27 @@ import java.util.stream.Collectors; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; import static java.util.Objects.requireNonNull; import static org.enginehub.piston.part.CommandParts.arg; @CommandContainer(superTypes = CommandPermissionsConditionGenerator.Registration.class) public class ApplyBrushCommands { - private static final CommandArgument REGION_FACTORY = arg(TranslatableComponent.of("shape"), TranslatableComponent.of("worldedit.brush.apply.shape")) + private static final CommandArgument REGION_FACTORY = arg(translatable("shape"), translatable("worldedit.brush.apply.shape")) .defaultsTo(ImmutableList.of()) .ofTypes(ImmutableList.of(Key.of(RegionFactory.class))) .build(); - private static final CommandArgument RADIUS = arg(TranslatableComponent.of("radius"), TranslatableComponent.of("worldedit.brush.apply.radius")) + private static final CommandArgument RADIUS = arg(translatable("radius"), translatable("worldedit.brush.apply.radius")) .defaultsTo(ImmutableList.of("5")) .ofTypes(ImmutableList.of(Key.of(double.class))) .build(); public static void register(CommandManagerService service, CommandManager commandManager, CommandRegistrationHandler registration) { commandManager.register("apply", builder -> { - builder.description(TranslatableComponent.of("worldedit.brush.apply.description")); + builder.description(translatable("worldedit.brush.apply.description")); builder.action(org.enginehub.piston.Command.Action.NULL_ACTION); CommandManager manager = service.newCommandManager(); @@ -86,7 +86,7 @@ public static void register(CommandManagerService service, CommandManager comman builder.condition(new PermissionCondition(ImmutableSet.of("worldedit.brush.apply"))); builder.addParts(REGION_FACTORY, RADIUS); - builder.addPart(SubCommandPart.builder(TranslatableComponent.of("type"), TranslatableComponent.of("worldedit.brush.apply.type")) + builder.addPart(SubCommandPart.builder(translatable("type"), translatable("worldedit.brush.apply.type")) .withCommands(manager.getAllCommands().collect(Collectors.toList())) .required() .build()); @@ -124,8 +124,12 @@ public void item(CommandParameters parameters, @Arg(desc = "The direction in which the item will be applied", def = "up") @Direction(includeDiagonals = true) com.sk89q.worldedit.util.Direction direction) throws WorldEditException { - player.print(TextComponent.builder().append("WARNING: ", NamedTextColor.RED, TextDecoration.BOLD) - .append(TranslatableComponent.of("worldedit.brush.apply.item.warning")).build()); + player.print( + text() + .append(text("WARNING: ", NamedTextColor.RED, TextDecoration.BOLD)) + .append(translatable("worldedit.brush.apply.item.warning")) + .build() + ); setApplyBrush(parameters, player, localSession, new ItemUseFactory(item, direction)); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/BiomeCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/BiomeCommands.java index 0212884a0e..c992ff5ed4 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/BiomeCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/BiomeCommands.java @@ -41,11 +41,7 @@ import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.formatting.component.PaginationBox; -import com.sk89q.worldedit.util.formatting.component.TextUtils; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.biome.BiomeType; import com.sk89q.worldedit.world.registry.BiomeRegistry; @@ -61,6 +57,9 @@ import java.util.stream.Collectors; import static com.sk89q.worldedit.command.util.Logging.LogMode.REGION; +import static com.sk89q.worldedit.util.formatting.text.Component.newline; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Implements biome-related commands such as "/biomelist". @@ -89,11 +88,10 @@ public void biomeList(Actor actor, PaginationBox paginationBox = PaginationBox.fromComponents("Available Biomes", "/biomelist -p %page%", BiomeType.REGISTRY.values().stream() - .map(biomeType -> TextComponent.builder() - .append(biomeType.getId()) - .append(" (") + .map(biomeType -> text() + .append(text(biomeType.getId() + "(")) .append(biomeRegistry.getRichName(biomeType)) - .append(")") + .append(text(")")) .build()) .collect(Collectors.toList())); return paginationBox.create(page); @@ -119,7 +117,7 @@ public void biomeInfo(Player player, LocalSession session, if (useLineOfSight) { Location blockPosition = player.getBlockTrace(300); if (blockPosition == null) { - player.printError(TranslatableComponent.of("worldedit.raytrace.noblock")); + player.printError(translatable("worldedit.raytrace.noblock")); return; } @@ -144,11 +142,9 @@ public void biomeInfo(Player player, LocalSession session, } List components = biomes.stream().map(biome -> - biomeRegistry.getRichName(biome).hoverEvent( - HoverEvent.showText(TextComponent.of(biome.getId())) - ) + biomeRegistry.getRichName(biome).hoverEvent(text(biome.getId())) ).collect(Collectors.toList()); - player.printInfo(TranslatableComponent.of(messageKey, TextUtils.join(components, TextComponent.of(", ")))); + player.printInfo(translatable(messageKey, Component.join(text(", "), components))); } @Command( @@ -180,12 +176,12 @@ public void setBiome(Player player, LocalSession session, EditSession editSessio RegionVisitor visitor = new RegionVisitor(region, replace); Operations.completeLegacy(visitor); - player.printInfo(TranslatableComponent.of( - "worldedit.setbiome.changed", - TextComponent.of(visitor.getAffected()) - ) - .append(TextComponent.newline()) - .append(TranslatableComponent.of("worldedit.setbiome.warning"))); + player.printInfo(translatable() + .key("worldedit.setbiome.changed") + .args(text(visitor.getAffected())) + .append(newline()) + .append(translatable("worldedit.setbiome.warning")) + .build()); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/BrushCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/BrushCommands.java index 76367edd06..06e120fc0a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/BrushCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/BrushCommands.java @@ -61,8 +61,6 @@ import com.sk89q.worldedit.session.request.RequestExtent; import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.TreeGenerator; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.biome.BiomeType; import com.sk89q.worldedit.world.block.BlockTypes; import org.enginehub.piston.annotation.Command; @@ -72,6 +70,8 @@ import org.enginehub.piston.annotation.param.Switch; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Commands to set brush shape. @@ -125,7 +125,7 @@ public void sphereBrush(Player player, LocalSession session, tool.setBrush(new SphereBrush(), "worldedit.brush.sphere"); } - player.printInfo(TranslatableComponent.of("worldedit.brush.sphere.equip", TextComponent.of(String.format("%.0f", radius)))); + player.printInfo(translatable("worldedit.brush.sphere.equip", text(String.format("%.0f", radius)))); } @Command( @@ -156,7 +156,7 @@ public void cylinderBrush(Player player, LocalSession session, tool.setBrush(new CylinderBrush(height), "worldedit.brush.cylinder"); } - player.printInfo(TranslatableComponent.of("worldedit.brush.cylinder.equip", TextComponent.of((int) radius), TextComponent.of(height))); + player.printInfo(translatable("worldedit.brush.cylinder.equip", text((int) radius), text(height))); } @Command( @@ -192,7 +192,7 @@ public void clipboardBrush(Player player, LocalSession session, BrushTool tool = session.getBrushTool(player.getItemInHand(HandSide.MAIN_HAND).getType()); tool.setBrush(new ClipboardBrush(newHolder, ignoreAir, usingOrigin, pasteEntities, pasteBiomes, sourceMask), "worldedit.brush.clipboard"); - player.printInfo(TranslatableComponent.of("worldedit.brush.clipboard.equip")); + player.printInfo(translatable("worldedit.brush.clipboard.equip")); } @Command( @@ -214,11 +214,11 @@ public void smoothBrush(Player player, LocalSession session, tool.setSize(radius); tool.setBrush(new SmoothBrush(iterations, mask), "worldedit.brush.smooth"); - player.printInfo(TranslatableComponent.of( + player.printInfo(translatable( "worldedit.brush.smooth.equip", - TextComponent.of((int) radius), - TextComponent.of(iterations), - TextComponent.of(mask == null ? "any block" : "filter") + text((int) radius), + text(iterations), + text(mask == null ? "any block" : "filter") )); } @@ -239,7 +239,7 @@ public void extinguishBrush(Player player, LocalSession session, tool.setMask(new BlockTypeMask(new RequestExtent(), BlockTypes.FIRE)); tool.setBrush(new SphereBrush(), "worldedit.brush.ex"); - player.printInfo(TranslatableComponent.of("worldedit.brush.extinguish.equip", TextComponent.of((int) radius))); + player.printInfo(translatable("worldedit.brush.extinguish.equip", text((int) radius))); } @Command( @@ -266,7 +266,7 @@ public void gravityBrush(Player player, LocalSession session, tool.setSize(radius); tool.setBrush(new GravityBrush(height), "worldedit.brush.gravity"); - player.printInfo(TranslatableComponent.of("worldedit.brush.gravity.equip", TextComponent.of((int) radius))); + player.printInfo(translatable("worldedit.brush.gravity.equip", text((int) radius))); } @Command( @@ -304,7 +304,7 @@ public void butcherBrush(Player player, LocalSession session, maxRadius = Math.max(config.maxBrushRadius, config.butcherMaxRadius); } if (radius > maxRadius) { - player.printError(TranslatableComponent.of("worldedit.brush.radius-too-large", TextComponent.of(maxRadius))); + player.printError(translatable("worldedit.brush.radius-too-large", text(maxRadius))); return; } @@ -322,7 +322,7 @@ public void butcherBrush(Player player, LocalSession session, tool.setSize(radius); tool.setBrush(new ButcherBrush(flags), "worldedit.brush.butcher"); - player.printInfo(TranslatableComponent.of("worldedit.brush.butcher.equip", TextComponent.of((int) radius))); + player.printInfo(translatable("worldedit.brush.butcher.equip", text((int) radius))); } @Command( @@ -450,7 +450,7 @@ public void biome(Player player, LocalSession localSession, setOperationBasedBrush(player, localSession, radius, new ApplyRegion(new BiomeFactory(biomeType)), shape, "worldedit.brush.biome"); - player.printInfo(TranslatableComponent.of("worldedit.setbiome.warning")); + player.printInfo(translatable("worldedit.setbiome.warning")); } static void setOperationBasedBrush(Player player, LocalSession session, double radius, @@ -463,6 +463,6 @@ static void setOperationBasedBrush(Player player, LocalSession session, double r tool.setFill(null); tool.setBrush(new OperationFactoryBrush(factory, shape, session), permission); - player.printInfo(TranslatableComponent.of("worldedit.brush.operation.equip", TextComponent.of(factory.toString()))); + player.printInfo(translatable("worldedit.brush.operation.equip", text(factory.toString()))); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ChunkCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ChunkCommands.java index 909f80fc23..9f4453ae69 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ChunkCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ChunkCommands.java @@ -37,9 +37,6 @@ import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.formatting.component.PaginationBox; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.storage.LegacyChunkStore; @@ -60,6 +57,9 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.sk89q.worldedit.command.util.Logging.LogMode.REGION; import static com.sk89q.worldedit.internal.anvil.ChunkDeleter.DELCHUNKS_FILE_NAME; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.suggestCommand; /** * Commands for working with chunks. @@ -85,9 +85,9 @@ public void chunkInfo(Player player) { int chunkZ = (int) Math.floor(pos.getBlockZ() / 16.0); final BlockVector2 chunkPos = BlockVector2.at(chunkX, chunkZ); - player.printInfo(TranslatableComponent.of("worldedit.chunkinfo.chunk", TextComponent.of(chunkX), TextComponent.of(chunkZ))); - player.printInfo(TranslatableComponent.of("worldedit.chunkinfo.old-filename", TextComponent.of(LegacyChunkStore.getFilename(chunkPos)))); - player.printInfo(TranslatableComponent.of("worldedit.chunkinfo.mcregion-filename", TextComponent.of(McRegionChunkStore.getFilename(chunkPos)))); + player.printInfo(translatable("worldedit.chunkinfo.chunk", text(chunkX), text(chunkZ))); + player.printInfo(translatable("worldedit.chunkinfo.old-filename", text(LegacyChunkStore.getFilename(chunkPos)))); + player.printInfo(translatable("worldedit.chunkinfo.mcregion-filename", text(McRegionChunkStore.getFilename(chunkPos)))); } @Command( @@ -101,9 +101,9 @@ public void listChunks(Actor actor, World world, LocalSession session, WorldEditAsyncCommandBuilder.createAndSendMessage(actor, () -> new ChunkListPaginationBox(region).create(page), - TranslatableComponent.of( + translatable( "worldedit.listchunks.listfor", - TextComponent.of(actor.getName()) + text(actor.getName()) )); } @@ -118,7 +118,7 @@ public void deleteChunks(Actor actor, World world, LocalSession session, ZonedDateTime beforeTime) throws WorldEditException { Path worldDir = world.getStoragePath(); if (worldDir == null) { - throw new StopExecutionException(TextComponent.of("Couldn't find world folder for this world.")); + throw new StopExecutionException(text("Couldn't find world folder for this world.")); } Path chunkPath = worldEdit.getWorkingDirectoryPath(DELCHUNKS_FILE_NAME); @@ -127,7 +127,7 @@ public void deleteChunks(Actor actor, World world, LocalSession session, try { currentInfo = ChunkDeleter.readInfo(chunkPath); } catch (IOException e) { - throw new StopExecutionException(TextComponent.of("Error reading existing chunk file.")); + throw new StopExecutionException(text("Error reading existing chunk file.")); } } if (currentInfo == null) { @@ -160,22 +160,27 @@ public void deleteChunks(Actor actor, World world, LocalSession session, try { ChunkDeleter.writeInfo(currentInfo, chunkPath); } catch (IOException | JsonIOException e) { - throw new StopExecutionException(TextComponent.of("Failed to write chunk list: " + e.getMessage())); + throw new StopExecutionException(text("Failed to write chunk list: " + e.getMessage())); } - actor.print(TextComponent.of( + actor.print(text( String.format("%d chunk(s) have been marked for deletion the next time the server starts.", newBatch.getChunkCount()) )); if (currentInfo.batches.size() > 1) { - actor.printDebug(TextComponent.of( + actor.printDebug(text( String.format("%d chunks total marked for deletion. (May have overlaps).", currentInfo.batches.stream().mapToInt(ChunkDeletionInfo.ChunkBatch::getChunkCount).sum()) )); } - actor.print(TextComponent.of("You can mark more chunks for deletion, or to stop now, run: ", NamedTextColor.LIGHT_PURPLE) - .append(TextComponent.of("/stop", NamedTextColor.AQUA) - .clickEvent(ClickEvent.of(ClickEvent.Action.SUGGEST_COMMAND, "/stop")))); + actor.print(text() + .content("You can mark more chunks for deletion, or to stop now, run: ") + .color(NamedTextColor.LIGHT_PURPLE) + .append(text() + .content("/stop") + .color(NamedTextColor.AQUA) + .clickEvent(suggestCommand("/stop"))) + .build()); } private static class ChunkListPaginationBox extends PaginationBox { @@ -193,7 +198,7 @@ private static class ChunkListPaginationBox extends PaginationBox { @Override public Component getComponent(int number) { - return TextComponent.of(chunks.get(number).toString()); + return text(chunks.get(number).toString()); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ClipboardCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ClipboardCommands.java index 8e87ac6ee9..cd8d7788ca 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ClipboardCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ClipboardCommands.java @@ -47,8 +47,6 @@ import com.sk89q.worldedit.regions.selector.CuboidRegionSelector; import com.sk89q.worldedit.session.ClipboardHolder; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import org.enginehub.piston.annotation.Command; import org.enginehub.piston.annotation.CommandContainer; @@ -60,6 +58,8 @@ import static com.sk89q.worldedit.command.util.Logging.LogMode.PLACEMENT; import static com.sk89q.worldedit.command.util.Logging.LogMode.REGION; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Clipboard commands. @@ -195,9 +195,9 @@ public void paste(Actor actor, World world, LocalSession session, EditSession ed } if (onlySelect) { - actor.printInfo(TranslatableComponent.of("worldedit.paste.selected")); + actor.printInfo(translatable("worldedit.paste.selected")); } else { - actor.printInfo(TranslatableComponent.of("worldedit.paste.pasted", TextComponent.of(to.toString()))); + actor.printInfo(translatable("worldedit.paste.pasted", text(to.toString()))); } messages.forEach(actor::print); } @@ -220,7 +220,7 @@ public void rotate(Actor actor, LocalSession session, if (Math.abs(rotateY % 90) > 0.001 || Math.abs(rotateX % 90) > 0.001 || Math.abs(rotateZ % 90) > 0.001) { - actor.printDebug(TranslatableComponent.of("worldedit.rotate.no-interpolation")); + actor.printDebug(translatable("worldedit.rotate.no-interpolation")); } ClipboardHolder holder = session.getClipboard(); @@ -229,7 +229,7 @@ public void rotate(Actor actor, LocalSession session, transform = transform.rotateX(-rotateX); transform = transform.rotateZ(-rotateZ); holder.setTransform(holder.getTransform().combine(transform)); - actor.printInfo(TranslatableComponent.of("worldedit.rotate.rotated")); + actor.printInfo(translatable("worldedit.rotate.rotated")); } @Command( @@ -244,7 +244,7 @@ public void flip(Actor actor, LocalSession session, AffineTransform transform = new AffineTransform(); transform = transform.scale(direction.abs().multiply(-2).add(1, 1, 1).toVector3()); holder.setTransform(holder.getTransform().combine(transform)); - actor.printInfo(TranslatableComponent.of("worldedit.flip.flipped")); + actor.printInfo(translatable("worldedit.flip.flipped")); } @Command( @@ -254,6 +254,6 @@ public void flip(Actor actor, LocalSession session, @CommandPermissions("worldedit.clipboard.clear") public void clearClipboard(Actor actor, LocalSession session) { session.setClipboard(null); - actor.printInfo(TranslatableComponent.of("worldedit.clearclipboard.cleared")); + actor.printInfo(translatable("worldedit.clearclipboard.cleared")); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ExpandCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ExpandCommands.java index bc54621c85..faa249d39c 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ExpandCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ExpandCommands.java @@ -35,8 +35,6 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.regions.RegionOperationException; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import org.enginehub.piston.Command; import org.enginehub.piston.CommandManager; @@ -51,6 +49,8 @@ import static com.sk89q.worldedit.command.util.Logging.LogMode.REGION; import static com.sk89q.worldedit.internal.command.CommandUtil.requireIV; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; import static java.util.Objects.requireNonNull; import static org.enginehub.piston.part.CommandParts.arg; @@ -79,8 +79,8 @@ public static void register(CommandRegistrationHandler registration, command.condition(new PermissionCondition(ImmutableSet.of("worldedit.selection.expand"))); command.addPart(SubCommandPart.builder( - TranslatableComponent.of("vert"), - TextComponent.of("Vertical expansion sub-command") + translatable("vert"), + text("Vertical expansion sub-command") ) .withCommands(ImmutableSet.of(createVertCommand(commandManager))) .optional() @@ -94,14 +94,14 @@ public static void register(CommandRegistrationHandler registration, private static Command createVertCommand(CommandManager commandManager) { CommandArgument heightPart = arg( - TranslatableComponent.of("height"), - TextComponent.of("The height to expand both upwards and downwards") + translatable("height"), + text("The height to expand both upwards and downwards") ) .defaultsTo(ImmutableList.of(HeightConverter.DEFAULT_VALUE)) .build(); return commandManager.newCommand("vert") .addPart(heightPart) - .description(TranslatableComponent.of("worldedit.expand.description.vert")) + .description(translatable("worldedit.expand.description.vert")) .action(parameters -> { int height = requireNonNull(parameters.valueOf(heightPart) .asSingle(Key.of(int.class, VertHeight.class))); @@ -129,10 +129,10 @@ private static void expandVert(LocalSession session, Actor actor, World world, session.getRegionSelector(world).explainRegionAdjust(actor, session); long changeSize = newSize - oldSize; actor.printInfo( - TranslatableComponent.of("worldedit.expand.expanded.vert", TextComponent.of(changeSize)) + translatable("worldedit.expand.expanded.vert", text(changeSize)) ); } catch (RegionOperationException e) { - actor.printError(TextComponent.of(e.getMessage())); + actor.printError(text(e.getMessage())); } } @@ -168,7 +168,7 @@ public void expand(Actor actor, World world, LocalSession session, session.getRegionSelector(world).explainRegionAdjust(actor, session); long changeSize = newSize - oldSize; - actor.printInfo(TranslatableComponent.of("worldedit.expand.expanded", TextComponent.of(changeSize))); + actor.printInfo(translatable("worldedit.expand.expanded", text(changeSize))); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/GeneralCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/GeneralCommands.java index ecd4334e2d..2077086ee2 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/GeneralCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/GeneralCommands.java @@ -41,8 +41,6 @@ import com.sk89q.worldedit.util.formatting.component.PaginationBox; import com.sk89q.worldedit.util.formatting.component.SideEffectBox; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.item.ItemType; @@ -65,6 +63,9 @@ import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.space; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * General WorldEdit commands. @@ -110,7 +111,7 @@ private static Component replaceFastForPerf(org.enginehub.piston.Command oldCmd, } ImmutableList args = oldParams.getMetadata().getArguments(); if (args.isEmpty()) { - return TextComponent.of("There is not yet a replacement for //fast" + return text("There is not yet a replacement for //fast" + " with no arguments"); } String arg0 = args.get(0).toLowerCase(Locale.ENGLISH); @@ -123,7 +124,7 @@ private static Component replaceFastForPerf(org.enginehub.piston.Command oldCmd, flipped = "on"; break; default: - return TextComponent.of("There is no replacement for //fast " + arg0); + return text("There is no replacement for //fast " + arg0); } return CommandUtil.createNewCommandReplacementText("//perf " + flipped); } @@ -155,15 +156,15 @@ public void limit(Actor actor, LocalSession session, limit = limit == null ? config.defaultChangeLimit : Math.max(-1, limit); if (!mayDisable && config.maxChangeLimit > -1) { if (limit > config.maxChangeLimit) { - actor.printError(TranslatableComponent.of("worldedit.limit.too-high", TextComponent.of(config.maxChangeLimit))); + actor.printError(translatable("worldedit.limit.too-high", text(config.maxChangeLimit))); return; } } session.setBlockChangeLimit(limit); - Component component = TextComponent.empty().append(TranslatableComponent.of("worldedit.limit.set", TextComponent.of(limit))); + Component component = translatable("worldedit.limit.set", text(limit)); if (limit != config.defaultChangeLimit) { - component.append(TextComponent.space()).append(TranslatableComponent.of("worldedit.limit.return-to-default", NamedTextColor.GRAY)); + component.append(space()).append(translatable("worldedit.limit.return-to-default", NamedTextColor.GRAY)); } actor.printInfo(component); } @@ -182,15 +183,15 @@ public void timeout(Actor actor, LocalSession session, limit = limit == null ? config.calculationTimeout : Math.max(-1, limit); if (!mayDisable && config.maxCalculationTimeout > -1) { if (limit > config.maxCalculationTimeout) { - actor.printError(TranslatableComponent.of("worldedit.timeout.too-high", TextComponent.of(config.maxCalculationTimeout))); + actor.printError(translatable("worldedit.timeout.too-high", text(config.maxCalculationTimeout))); return; } } session.setTimeout(limit); - Component component = TextComponent.empty().append(TranslatableComponent.of("worldedit.timeout.set", TextComponent.of(limit))); + Component component = translatable("worldedit.timeout.set", text(limit)); if (limit != config.calculationTimeout) { - component.append(TranslatableComponent.of("worldedit.timeout.return-to-default", NamedTextColor.GRAY)); + component.append(translatable("worldedit.timeout.return-to-default", NamedTextColor.GRAY)); } actor.printInfo(component); } @@ -206,16 +207,16 @@ void fast(Actor actor, LocalSession session, Boolean fastMode) { boolean hasFastMode = session.hasFastMode(); if (fastMode != null && fastMode == hasFastMode) { - actor.printError(TranslatableComponent.of(fastMode ? "worldedit.fast.enabled.already" : "worldedit.fast.disabled.already")); + actor.printError(translatable(fastMode ? "worldedit.fast.enabled.already" : "worldedit.fast.disabled.already")); return; } if (hasFastMode) { session.setFastMode(false); - actor.printInfo(TranslatableComponent.of("worldedit.fast.disabled")); + actor.printInfo(translatable("worldedit.fast.disabled")); } else { session.setFastMode(true); - actor.printInfo(TranslatableComponent.of("worldedit.fast.enabled")); + actor.printInfo(translatable("worldedit.fast.enabled")); } } @@ -237,11 +238,8 @@ void perf(Actor actor, LocalSession session, SideEffect.State currentState = session.getSideEffectSet().getState(sideEffect); if (newState != null && newState == currentState) { if (!showInfoBox) { - actor.printError(TranslatableComponent.of( - "worldedit.perf.sideeffect.already-set", - TranslatableComponent.of(sideEffect.getDisplayName()), - TranslatableComponent.of(newState.getDisplayName()) - )); + actor.printError(translatable("worldedit.perf.sideeffect.already-set", translatable(sideEffect.getDisplayName()), + translatable(newState.getDisplayName()))); } return; } @@ -249,18 +247,12 @@ void perf(Actor actor, LocalSession session, if (newState != null) { session.setSideEffectSet(session.getSideEffectSet().with(sideEffect, newState)); if (!showInfoBox) { - actor.printInfo(TranslatableComponent.of( - "worldedit.perf.sideeffect.set", - TranslatableComponent.of(sideEffect.getDisplayName()), - TranslatableComponent.of(newState.getDisplayName()) - )); + actor.printInfo(translatable("worldedit.perf.sideeffect.set", translatable(sideEffect.getDisplayName()), + translatable(newState.getDisplayName()))); } } else { - actor.printInfo(TranslatableComponent.of( - "worldedit.perf.sideeffect.get", - TranslatableComponent.of(sideEffect.getDisplayName()), - TranslatableComponent.of(currentState.getDisplayName()) - )); + actor.printInfo(translatable("worldedit.perf.sideeffect.get", translatable(sideEffect.getDisplayName()), + translatable(currentState.getDisplayName()))); } } else if (newState != null) { SideEffectSet applier = session.getSideEffectSet(); @@ -269,10 +261,7 @@ void perf(Actor actor, LocalSession session, } session.setSideEffectSet(applier); if (!showInfoBox) { - actor.printInfo(TranslatableComponent.of( - "worldedit.perf.sideeffect.set-all", - TranslatableComponent.of(newState.getDisplayName()) - )); + actor.printInfo(translatable("worldedit.perf.sideeffect.set-all", translatable(newState.getDisplayName()))); } } @@ -291,10 +280,10 @@ public void reorderMode(Actor actor, LocalSession session, @Arg(desc = "The reorder mode", def = "") EditSession.ReorderMode reorderMode) { if (reorderMode == null) { - actor.printInfo(TranslatableComponent.of("worldedit.reorder.current", TextComponent.of(session.getReorderMode().getDisplayName()))); + actor.printInfo(translatable("worldedit.reorder.current", text(session.getReorderMode().getDisplayName()))); } else { session.setReorderMode(reorderMode); - actor.printInfo(TranslatableComponent.of("worldedit.reorder.set", TextComponent.of(session.getReorderMode().getDisplayName()))); + actor.printInfo(translatable("worldedit.reorder.set", text(session.getReorderMode().getDisplayName()))); } } @@ -307,22 +296,22 @@ public void drawSelection(Player player, LocalSession session, @Arg(desc = "The new draw selection state", def = "") Boolean drawSelection) throws WorldEditException { if (!WorldEdit.getInstance().getConfiguration().serverSideCUI) { - throw new AuthorizationException(TranslatableComponent.of("worldedit.error.disabled")); + throw new AuthorizationException(translatable("worldedit.error.disabled")); } boolean useServerCui = session.shouldUseServerCUI(); if (drawSelection != null && drawSelection == useServerCui) { - player.printError(TranslatableComponent.of("worldedit.drawsel." + (useServerCui ? "enabled" : "disabled") + ".already")); + player.printError(translatable("worldedit.drawsel." + (useServerCui ? "enabled" : "disabled") + ".already")); return; } if (useServerCui) { session.setUseServerCUI(false); session.updateServerCUI(player); - player.printInfo(TranslatableComponent.of("worldedit.drawsel.disabled")); + player.printInfo(translatable("worldedit.drawsel.disabled")); } else { session.setUseServerCUI(true); session.updateServerCUI(player); - player.printInfo(TranslatableComponent.of("worldedit.drawsel.enabled")); + player.printInfo(translatable("worldedit.drawsel.enabled")); } } @@ -335,9 +324,9 @@ public void world(Actor actor, LocalSession session, @Arg(desc = "The world override", def = "") World world) { session.setWorldOverride(world); if (world == null) { - actor.printInfo(TranslatableComponent.of("worldedit.world.remove")); + actor.printInfo(translatable("worldedit.world.remove")); } else { - actor.printInfo(TranslatableComponent.of("worldedit.world.set", TextComponent.of(world.getId()))); + actor.printInfo(translatable("worldedit.world.set", text(world.getId()))); } } @@ -352,16 +341,16 @@ public void watchdog(Actor actor, LocalSession session, @Arg(desc = "The mode to set the watchdog hook to", def = "") HookMode hookMode) { if (WorldEdit.getInstance().getPlatformManager().queryCapability(Capability.GAME_HOOKS).getWatchdog() == null) { - actor.printError(TranslatableComponent.of("worldedit.watchdog.no-hook")); + actor.printError(translatable("worldedit.watchdog.no-hook")); return; } boolean previousMode = session.isTickingWatchdog(); if (hookMode != null && (hookMode == HookMode.ACTIVE) == previousMode) { - actor.printError(TranslatableComponent.of(previousMode ? "worldedit.watchdog.active.already" : "worldedit.watchdog.inactive.already")); + actor.printError(translatable(previousMode ? "worldedit.watchdog.active.already" : "worldedit.watchdog.inactive.already")); return; } session.setTickingWatchdog(!previousMode); - actor.printInfo(TranslatableComponent.of(previousMode ? "worldedit.watchdog.inactive" : "worldedit.watchdog.active")); + actor.printInfo(translatable(previousMode ? "worldedit.watchdog.inactive" : "worldedit.watchdog.active")); } @Command( @@ -375,10 +364,10 @@ public void gmask(Actor actor, LocalSession session, Mask mask) { if (mask == null) { session.setMask(null); - actor.printInfo(TranslatableComponent.of("worldedit.gmask.disabled")); + actor.printInfo(translatable("worldedit.gmask.disabled")); } else { session.setMask(mask); - actor.printInfo(TranslatableComponent.of("worldedit.gmask.set")); + actor.printInfo(translatable("worldedit.gmask.set")); } } @@ -389,9 +378,9 @@ public void gmask(Actor actor, LocalSession session, ) public void togglePlace(Player player, LocalSession session) { if (session.togglePlacementPosition()) { - player.printInfo(TranslatableComponent.of("worldedit.toggleplace.pos1")); + player.printInfo(translatable("worldedit.toggleplace.pos1")); } else { - player.printInfo(TranslatableComponent.of("worldedit.toggleplace.player")); + player.printInfo(translatable("worldedit.toggleplace.player")); } } @@ -412,16 +401,16 @@ public void searchItem(Actor actor, List query) { String search = String.join(" ", query); if (search.length() <= 2) { - actor.printError(TranslatableComponent.of("worldedit.searchitem.too-short")); + actor.printError(translatable("worldedit.searchitem.too-short")); return; } if (blocksOnly && itemsOnly) { - actor.printError(TranslatableComponent.of("worldedit.searchitem.either-b-or-i")); + actor.printError(translatable("worldedit.searchitem.either-b-or-i")); return; } WorldEditAsyncCommandBuilder.createAndSendMessage(actor, new ItemSearcher(search, blocksOnly, itemsOnly, page), - TranslatableComponent.of("worldedit.searchitem.searching")); + translatable("worldedit.searchitem.searching")); } private static class ItemSearcher implements Callable { @@ -442,7 +431,6 @@ public Component call() throws Exception { String command = "/searchitem " + (blocksOnly ? "-b " : "") + (itemsOnly ? "-i " : "") + "-p %page% " + search; Map results = new TreeMap<>(); String idMatch = search.replace(' ', '_'); - String nameMatch = search.toLowerCase(Locale.ROOT); for (ItemType searchType : ItemType.REGISTRY) { if (blocksOnly && !searchType.hasBlockType()) { continue; @@ -454,9 +442,9 @@ public Component call() throws Exception { final String id = searchType.getId(); if (id.contains(idMatch)) { Component name = searchType.getRichName(); - results.put(id, TextComponent.builder() + results.put(id, text() .append(name) - .append(" (" + id + ")") + .append(text(" (" + id + ")")) .build()); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/GenerationCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/GenerationCommands.java index e0c858f487..566b8d07b0 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/GenerationCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/GenerationCommands.java @@ -36,8 +36,6 @@ import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.util.TreeGenerator.TreeType; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.biome.BiomeType; import org.enginehub.piston.annotation.Command; import org.enginehub.piston.annotation.CommandContainer; @@ -51,6 +49,8 @@ import static com.sk89q.worldedit.command.util.Logging.LogMode.PLACEMENT; import static com.sk89q.worldedit.command.util.Logging.LogMode.POSITION; import static com.sk89q.worldedit.internal.command.CommandUtil.checkCommandArgument; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Commands for the generation of shapes and other objects. @@ -116,7 +116,7 @@ public int cyl(Actor actor, LocalSession session, EditSession editSession, break; default: - actor.printError(TranslatableComponent.of("worldedit.cyl.invalid-radius")); + actor.printError(translatable("worldedit.cyl.invalid-radius")); return 0; } @@ -126,7 +126,7 @@ public int cyl(Actor actor, LocalSession session, EditSession editSession, BlockVector3 pos = session.getPlacementPosition(actor); int affected = editSession.makeCylinder(pos, pattern, radiusX, radiusZ, height, !hollow); - actor.printInfo(TranslatableComponent.of("worldedit.cyl.created", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.cyl.created", text(affected))); return affected; } @@ -178,7 +178,7 @@ public int sphere(Actor actor, LocalSession session, EditSession editSession, break; default: - actor.printError(TranslatableComponent.of("worldedit.sphere.invalid-radius")); + actor.printError(translatable("worldedit.sphere.invalid-radius")); return 0; } @@ -195,7 +195,7 @@ public int sphere(Actor actor, LocalSession session, EditSession editSession, if (actor instanceof Player) { ((Player) actor).findFreePosition(); } - actor.printInfo(TranslatableComponent.of("worldedit.sphere.created", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.sphere.created", text(affected))); return affected; } @@ -216,7 +216,7 @@ public int forestGen(Actor actor, LocalSession session, EditSession editSession, worldEdit.checkMaxRadius(size); density /= 100; int affected = editSession.makeForest(session.getPlacementPosition(actor), size, density, type); - actor.printInfo(TranslatableComponent.of("worldedit.forestgen.created", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.forestgen.created", text(affected))); return affected; } @@ -231,7 +231,7 @@ public int pumpkins(Actor actor, LocalSession session, EditSession editSession, int size) throws WorldEditException { worldEdit.checkMaxRadius(size); int affected = editSession.makePumpkinPatches(session.getPlacementPosition(actor), size); - actor.printInfo(TranslatableComponent.of("worldedit.pumpkins.created", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.pumpkins.created", text(affected))); return affected; } @@ -268,7 +268,7 @@ public int pyramid(Actor actor, LocalSession session, EditSession editSession, if (actor instanceof Player) { ((Player) actor).findFreePosition(); } - actor.printInfo(TranslatableComponent.of("worldedit.pyramid.created", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.pyramid.created", text(affected))); return affected; } @@ -333,10 +333,10 @@ public int generate(Actor actor, LocalSession session, EditSession editSession, if (actor instanceof Player) { ((Player) actor).findFreePosition(); } - actor.printInfo(TranslatableComponent.of("worldedit.generate.created", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.generate.created", text(affected))); return affected; } catch (ExpressionException e) { - actor.printError(TextComponent.of(e.getMessage())); + actor.printError(text(e.getMessage())); return 0; } } @@ -398,10 +398,10 @@ public int generateBiome(Actor actor, LocalSession session, EditSession editSess try { final int affected = editSession.makeBiomeShape(region, zero, unit, target, String.join(" ", expression), hollow, session.getTimeout()); - actor.printInfo(TranslatableComponent.of("worldedit.generatebiome.changed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.generatebiome.changed", text(affected))); return affected; } catch (ExpressionException e) { - actor.printError(TextComponent.of(e.getMessage())); + actor.printError(text(e.getMessage())); return 0; } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/HistoryCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/HistoryCommands.java index 4d35750116..76b0590c88 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/HistoryCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/HistoryCommands.java @@ -28,13 +28,13 @@ import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.extent.inventory.BlockBag; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import org.enginehub.piston.annotation.Command; import org.enginehub.piston.annotation.CommandContainer; import org.enginehub.piston.annotation.param.Arg; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Commands to undo, redo, and clear history. @@ -71,7 +71,7 @@ public void undo(Actor actor, LocalSession session, actor.checkPermission("worldedit.history.undo.other"); undoSession = worldEdit.getSessionManager().findByName(playerName); if (undoSession == null) { - actor.printError(TranslatableComponent.of("worldedit.session.cant-find-session", TextComponent.of(playerName))); + actor.printError(translatable("worldedit.session.cant-find-session", text(playerName))); return; } } @@ -87,9 +87,9 @@ public void undo(Actor actor, LocalSession session, } } if (timesUndone > 0) { - actor.printInfo(TranslatableComponent.of("worldedit.undo.undone", TextComponent.of(timesUndone))); + actor.printInfo(translatable("worldedit.undo.undone", text(timesUndone))); } else { - actor.printError(TranslatableComponent.of("worldedit.undo.none")); + actor.printError(translatable("worldedit.undo.none")); } } @@ -110,7 +110,7 @@ public void redo(Actor actor, LocalSession session, actor.checkPermission("worldedit.history.redo.other"); redoSession = worldEdit.getSessionManager().findByName(playerName); if (redoSession == null) { - actor.printError(TranslatableComponent.of("worldedit.session.cant-find-session", TextComponent.of(playerName))); + actor.printError(translatable("worldedit.session.cant-find-session", text(playerName))); return; } } @@ -126,9 +126,9 @@ public void redo(Actor actor, LocalSession session, } } if (timesRedone > 0) { - actor.printInfo(TranslatableComponent.of("worldedit.redo.redone", TextComponent.of(timesRedone))); + actor.printInfo(translatable("worldedit.redo.redone", text(timesRedone))); } else { - actor.printError(TranslatableComponent.of("worldedit.redo.none")); + actor.printError(translatable("worldedit.redo.none")); } } @@ -140,7 +140,7 @@ public void redo(Actor actor, LocalSession session, @CommandPermissions("worldedit.history.clear") public void clearHistory(Actor actor, LocalSession session) { session.clearHistory(); - actor.printInfo(TranslatableComponent.of("worldedit.clearhistory.cleared")); + actor.printInfo(translatable("worldedit.clearhistory.cleared")); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotCommands.java index 39ccbece81..59c4bf9312 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotCommands.java @@ -28,10 +28,6 @@ import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.util.formatting.component.PaginationBox; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; -import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.snapshot.InvalidSnapshotException; @@ -44,6 +40,10 @@ import java.time.format.DateTimeFormatter; import java.util.List; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.runCommand; + /** * Legacy snapshot command implementations. Commands are still registered via * {@link SnapshotCommands}, but it delegates to this class when legacy snapshots are in use. @@ -67,7 +67,7 @@ void list(Actor actor, World world, int page) throws WorldEditException { if (!snapshots.isEmpty()) { actor.print(new SnapshotListBox(world.getName(), snapshots).create(page)); } else { - actor.printError(TranslatableComponent.of("worldedit.restore.none-found-console")); + actor.printError(translatable("worldedit.restore.none-found-console")); // Okay, let's toss some debugging information! File dir = config.snapshotRepo.getDirectory(); @@ -82,7 +82,7 @@ void list(Actor actor, World world, int page) throws WorldEditException { } } } catch (MissingWorldException ex) { - actor.printError(TranslatableComponent.of("worldedit.restore.none-for-world")); + actor.printError(translatable("worldedit.restore.none-for-world")); } } @@ -96,19 +96,19 @@ void use(Actor actor, World world, LocalSession session, String name) { if (snapshot != null) { session.setSnapshot(null); - actor.printInfo(TranslatableComponent.of("worldedit.snapshot.use.newest")); + actor.printInfo(translatable("worldedit.snapshot.use.newest")); } else { - actor.printError(TranslatableComponent.of("worldedit.restore.none-found")); + actor.printError(translatable("worldedit.restore.none-found")); } } catch (MissingWorldException ex) { - actor.printError(TranslatableComponent.of("worldedit.restore.none-for-world")); + actor.printError(translatable("worldedit.restore.none-for-world")); } } else { try { session.setSnapshot(config.snapshotRepo.getSnapshot(name)); - actor.printInfo(TranslatableComponent.of("worldedit.snapshot.use", TextComponent.of(name))); + actor.printInfo(translatable("worldedit.snapshot.use", text(name))); } catch (InvalidSnapshotException e) { - actor.printError(TranslatableComponent.of("worldedit.restore.not-available")); + actor.printError(translatable("worldedit.restore.not-available")); } } } @@ -117,25 +117,25 @@ void sel(Actor actor, World world, LocalSession session, int index) { LocalConfiguration config = we.getConfiguration(); if (index < 1) { - actor.printError(TranslatableComponent.of("worldedit.snapshot.index-above-0")); + actor.printError(translatable("worldedit.snapshot.index-above-0")); return; } try { List snapshots = config.snapshotRepo.getSnapshots(true, world.getName()); if (snapshots.size() < index) { - actor.printError(TranslatableComponent.of("worldedit.snapshot.index-oob", TextComponent.of(snapshots.size()))); + actor.printError(translatable("worldedit.snapshot.index-oob", text(snapshots.size()))); return; } Snapshot snapshot = snapshots.get(index - 1); if (snapshot == null) { - actor.printError(TranslatableComponent.of("worldedit.restore.not-available")); + actor.printError(translatable("worldedit.restore.not-available")); return; } session.setSnapshot(snapshot); - actor.printInfo(TranslatableComponent.of("worldedit.snapshot.use", TextComponent.of(snapshot.getName()))); + actor.printInfo(translatable("worldedit.snapshot.use", text(snapshot.getName()))); } catch (MissingWorldException e) { - actor.printError(TranslatableComponent.of("worldedit.restore.none-for-world")); + actor.printError(translatable("worldedit.restore.none-for-world")); } } @@ -146,16 +146,14 @@ void before(Actor actor, World world, LocalSession session, ZonedDateTime date) Snapshot snapshot = config.snapshotRepo.getSnapshotBefore(date, world.getName()); if (snapshot == null) { - actor.printError(TranslatableComponent.of( - "worldedit.snapshot.none-before", - TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))) + actor.printError(translatable("worldedit.snapshot.none-before", text(dateFormat.withZone(session.getTimeZone()).format(date))) ); } else { session.setSnapshot(snapshot); - actor.printInfo(TranslatableComponent.of("worldedit.snapshot.use", TextComponent.of(snapshot.getName()))); + actor.printInfo(translatable("worldedit.snapshot.use", text(snapshot.getName()))); } } catch (MissingWorldException ex) { - actor.printError(TranslatableComponent.of("worldedit.restore.none-for-world")); + actor.printError(translatable("worldedit.restore.none-for-world")); } } @@ -165,16 +163,14 @@ void after(Actor actor, World world, LocalSession session, ZonedDateTime date) { try { Snapshot snapshot = config.snapshotRepo.getSnapshotAfter(date, world.getName()); if (snapshot == null) { - actor.printError(TranslatableComponent.of( - "worldedit.snapshot.none-after", - TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))) + actor.printError(translatable("worldedit.snapshot.none-after", text(dateFormat.withZone(session.getTimeZone()).format(date))) ); } else { session.setSnapshot(snapshot); - actor.printInfo(TranslatableComponent.of("worldedit.snapshot.use", TextComponent.of(snapshot.getName()))); + actor.printInfo(translatable("worldedit.snapshot.use", text(snapshot.getName()))); } } catch (MissingWorldException ex) { - actor.printError(TranslatableComponent.of("worldedit.restore.none-for-world")); + actor.printError(translatable("worldedit.restore.none-for-world")); } } @@ -189,10 +185,10 @@ private static class SnapshotListBox extends PaginationBox { @Override public Component getComponent(int number) { final Snapshot snapshot = snapshots.get(number); - return TextComponent.of(number + 1 + ". ", NamedTextColor.GOLD) - .append(TextComponent.of(snapshot.getName(), NamedTextColor.LIGHT_PURPLE) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Click to use"))) - .clickEvent(ClickEvent.of(ClickEvent.Action.RUN_COMMAND, "/snap use " + snapshot.getName()))); + return text(number + 1 + ". ", NamedTextColor.GOLD) + .append(text(snapshot.getName(), NamedTextColor.LIGHT_PURPLE) + .hoverEvent(text("Click to use")) + .clickEvent(runCommand("/snap use " + snapshot.getName()))); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotUtilCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotUtilCommands.java index 2978410398..7613bd0792 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotUtilCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/LegacySnapshotUtilCommands.java @@ -26,8 +26,6 @@ import com.sk89q.worldedit.WorldEditException; import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.regions.Region; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.DataException; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.snapshot.InvalidSnapshotException; @@ -39,6 +37,9 @@ import java.io.File; import java.io.IOException; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + class LegacySnapshotUtilCommands { private final WorldEdit we; @@ -58,7 +59,7 @@ void restore(Actor actor, World world, LocalSession session, EditSession editSes try { snapshot = config.snapshotRepo.getSnapshot(snapshotName); } catch (InvalidSnapshotException e) { - actor.printError(TranslatableComponent.of("worldedit.restore.not-available")); + actor.printError(translatable("worldedit.restore.not-available")); return; } } else { @@ -71,7 +72,7 @@ void restore(Actor actor, World world, LocalSession session, EditSession editSes snapshot = config.snapshotRepo.getDefaultSnapshot(world.getName()); if (snapshot == null) { - actor.printError(TranslatableComponent.of("worldedit.restore.none-found-console")); + actor.printError(translatable("worldedit.restore.none-found-console")); // Okay, let's toss some debugging information! File dir = config.snapshotRepo.getDirectory(); @@ -88,7 +89,7 @@ void restore(Actor actor, World world, LocalSession session, EditSession editSes return; } } catch (MissingWorldException ex) { - actor.printError(TranslatableComponent.of("worldedit.restore.none-for-world")); + actor.printError(translatable("worldedit.restore.none-for-world")); return; } } @@ -98,9 +99,9 @@ void restore(Actor actor, World world, LocalSession session, EditSession editSes // Load chunk store try { chunkStore = snapshot.getChunkStore(); - actor.printInfo(TranslatableComponent.of("worldedit.restore.loaded", TextComponent.of(snapshot.getName()))); + actor.printInfo(translatable("worldedit.restore.loaded", text(snapshot.getName()))); } catch (DataException | IOException e) { - actor.printError(TranslatableComponent.of("worldedit.restore.failed", TextComponent.of(e.getMessage()))); + actor.printError(translatable("worldedit.restore.failed", text(e.getMessage()))); return; } @@ -114,17 +115,16 @@ void restore(Actor actor, World world, LocalSession session, EditSession editSes if (restore.hadTotalFailure()) { String error = restore.getLastErrorMessage(); if (!restore.getMissingChunks().isEmpty()) { - actor.printError(TranslatableComponent.of("worldedit.restore.chunk-not-present")); + actor.printError(translatable("worldedit.restore.chunk-not-present")); } else if (error != null) { - actor.printError(TranslatableComponent.of("worldedit.restore.block-place-failed")); - actor.printError(TranslatableComponent.of("worldedit.restore.block-place-error", TextComponent.of(error))); + actor.printError(translatable("worldedit.restore.block-place-failed")); + actor.printError(translatable("worldedit.restore.block-place-error", text(error))); } else { - actor.printError(TranslatableComponent.of("worldedit.restore.chunk-load-failed")); + actor.printError(translatable("worldedit.restore.chunk-load-failed")); } } else { - actor.printInfo(TranslatableComponent.of("worldedit.restore.restored", - TextComponent.of(restore.getMissingChunks().size()), - TextComponent.of(restore.getErrorChunks().size()))); + actor.printInfo(translatable("worldedit.restore.restored", text(restore.getMissingChunks().size()), + text(restore.getErrorChunks().size()))); } } finally { try { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/NavigationCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/NavigationCommands.java index 2756309202..97cde0a120 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/NavigationCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/NavigationCommands.java @@ -27,8 +27,6 @@ import com.sk89q.worldedit.command.util.Logging; import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import org.enginehub.piston.annotation.Command; import org.enginehub.piston.annotation.CommandContainer; import org.enginehub.piston.annotation.param.Arg; @@ -36,6 +34,8 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.sk89q.worldedit.command.util.Logging.LogMode.POSITION; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Commands for moving the player around. @@ -63,7 +63,7 @@ public NavigationCommands(WorldEdit worldEdit) { @CommandPermissions("worldedit.navigation.unstuck") public void unstuck(Player player) throws WorldEditException { player.findFreePosition(); - player.printInfo(TranslatableComponent.of("worldedit.unstuck.moved")); + player.printInfo(translatable("worldedit.unstuck.moved")); } @Command( @@ -83,9 +83,9 @@ public void ascend(Player player, } } if (ascentLevels == 0) { - player.printError(TranslatableComponent.of("worldedit.ascend.obstructed")); + player.printError(translatable("worldedit.ascend.obstructed")); } else { - player.printInfo(TranslatableComponent.of("worldedit.ascend.moved", TextComponent.of(ascentLevels))); + player.printInfo(translatable("worldedit.ascend.moved", text(ascentLevels))); } } @@ -106,9 +106,9 @@ public void descend(Player player, } } if (descentLevels == 0) { - player.printError(TranslatableComponent.of("worldedit.descend.obstructed")); + player.printError(translatable("worldedit.descend.obstructed")); } else { - player.printInfo(TranslatableComponent.of("worldedit.descend.moved", TextComponent.of(descentLevels))); + player.printInfo(translatable("worldedit.descend.moved", text(descentLevels))); } } @@ -129,9 +129,9 @@ public void ceiling(Player player, boolean alwaysGlass = getAlwaysGlass(forceFlight, forceGlass); if (player.ascendToCeiling(clearance, alwaysGlass)) { - player.printInfo(TranslatableComponent.of("worldedit.ceil.moved")); + player.printInfo(translatable("worldedit.ceil.moved")); } else { - player.printError(TranslatableComponent.of("worldedit.ceil.obstructed")); + player.printError(translatable("worldedit.ceil.obstructed")); } } @@ -142,9 +142,9 @@ public void ceiling(Player player, @CommandPermissions("worldedit.navigation.thru.command") public void thru(Player player) throws WorldEditException { if (player.passThroughForwardWall(6)) { - player.printInfo(TranslatableComponent.of("worldedit.thru.moved")); + player.printInfo(translatable("worldedit.thru.moved")); } else { - player.printError(TranslatableComponent.of("worldedit.thru.obstructed")); + player.printError(translatable("worldedit.thru.obstructed")); } } @@ -159,9 +159,9 @@ public void jumpTo(Player player) throws WorldEditException { Location pos = player.getSolidBlockTrace(300); if (pos != null) { player.findFreePosition(pos); - player.printInfo(TranslatableComponent.of("worldedit.jumpto.moved")); + player.printInfo(translatable("worldedit.jumpto.moved")); } else { - player.printError(TranslatableComponent.of("worldedit.jumpto.none")); + player.printError(translatable("worldedit.jumpto.none")); } } @@ -180,9 +180,9 @@ public void up(Player player, boolean forceGlass) throws WorldEditException { boolean alwaysGlass = getAlwaysGlass(forceFlight, forceGlass); if (player.ascendUpwards(distance, alwaysGlass)) { - player.printInfo(TranslatableComponent.of("worldedit.up.moved")); + player.printInfo(translatable("worldedit.up.moved")); } else { - player.printError(TranslatableComponent.of("worldedit.up.obstructed")); + player.printError(translatable("worldedit.up.obstructed")); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/PaintBrushCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/PaintBrushCommands.java index 4b221ba460..ce64aa92f4 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/PaintBrushCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/PaintBrushCommands.java @@ -39,8 +39,6 @@ import com.sk89q.worldedit.internal.command.CommandRegistrationHandler; import com.sk89q.worldedit.regions.factory.RegionFactory; import com.sk89q.worldedit.util.TreeGenerator; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.formatting.text.format.TextDecoration; import org.enginehub.piston.CommandManager; @@ -55,30 +53,32 @@ import java.util.stream.Collectors; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; import static java.util.Objects.requireNonNull; import static org.enginehub.piston.part.CommandParts.arg; @CommandContainer(superTypes = CommandPermissionsConditionGenerator.Registration.class) public class PaintBrushCommands { - private static final CommandArgument REGION_FACTORY = arg(TranslatableComponent.of("shape"), TranslatableComponent.of("worldedit.brush.paint.shape")) + private static final CommandArgument REGION_FACTORY = arg(translatable("shape"), translatable("worldedit.brush.paint.shape")) .defaultsTo(ImmutableList.of()) .ofTypes(ImmutableList.of(Key.of(RegionFactory.class))) .build(); - private static final CommandArgument RADIUS = arg(TranslatableComponent.of("radius"), TranslatableComponent.of("worldedit.brush.paint.size")) + private static final CommandArgument RADIUS = arg(translatable("radius"), translatable("worldedit.brush.paint.size")) .defaultsTo(ImmutableList.of("5")) .ofTypes(ImmutableList.of(Key.of(double.class))) .build(); - private static final CommandArgument DENSITY = arg(TranslatableComponent.of("density"), TranslatableComponent.of("worldedit.brush.paint.density")) + private static final CommandArgument DENSITY = arg(translatable("density"), translatable("worldedit.brush.paint.density")) .defaultsTo(ImmutableList.of("20")) .ofTypes(ImmutableList.of(Key.of(double.class))) .build(); public static void register(CommandManagerService service, CommandManager commandManager, CommandRegistrationHandler registration) { commandManager.register("paint", builder -> { - builder.description(TranslatableComponent.of("worldedit.brush.paint.description")); + builder.description(translatable("worldedit.brush.paint.description")); builder.action(org.enginehub.piston.Command.Action.NULL_ACTION); CommandManager manager = service.newCommandManager(); @@ -91,7 +91,7 @@ public static void register(CommandManagerService service, CommandManager comman builder.condition(new PermissionCondition(ImmutableSet.of("worldedit.brush.paint"))); builder.addParts(REGION_FACTORY, RADIUS, DENSITY); - builder.addPart(SubCommandPart.builder(TranslatableComponent.of("type"), TranslatableComponent.of("worldedit.brush.paint.type")) + builder.addPart(SubCommandPart.builder(translatable("type"), translatable("worldedit.brush.paint.type")) .withCommands(manager.getAllCommands().collect(Collectors.toList())) .required() .build()); @@ -130,8 +130,12 @@ public void item(CommandParameters parameters, @Arg(desc = "The direction in which the item will be applied", def = "up") @Direction(includeDiagonals = true) com.sk89q.worldedit.util.Direction direction) throws WorldEditException { - player.print(TextComponent.builder().append("WARNING: ", NamedTextColor.RED, TextDecoration.BOLD) - .append(TranslatableComponent.of("worldedit.brush.paint.item.warning")).build()); + player.print(text() + .content("WARNING: ") + .color(NamedTextColor.RED) + .decorate(TextDecoration.BOLD) + .append(translatable("worldedit.brush.paint.item.warning")) + .build()); setPaintBrush(parameters, player, localSession, new ItemUseFactory(item, direction)); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java index 5fb14c4d6e..3ce5aa923e 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/RegionCommands.java @@ -55,10 +55,7 @@ import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.regions.RegionOperationException; import com.sk89q.worldedit.util.TreeGenerator.TreeType; -import com.sk89q.worldedit.util.formatting.component.TextUtils; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.RegenOptions; import com.sk89q.worldedit.world.World; import org.enginehub.piston.annotation.Command; @@ -77,6 +74,8 @@ import static com.sk89q.worldedit.regions.Regions.asFlatRegion; import static com.sk89q.worldedit.regions.Regions.maximumBlockY; import static com.sk89q.worldedit.regions.Regions.minimumBlockY; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Commands that operate on regions. @@ -106,9 +105,9 @@ public int set(Actor actor, EditSession editSession, Operations.completeBlindly(visitor); List messages = Lists.newArrayList(visitor.getStatusMessages()); if (messages.isEmpty()) { - actor.printInfo(TranslatableComponent.of("worldedit.set.done")); + actor.printInfo(translatable("worldedit.set.done")); } else { - actor.printInfo(TranslatableComponent.of("worldedit.set.done.verbose", TextUtils.join(messages, TextComponent.of(", ")))); + actor.printInfo(translatable("worldedit.set.done.verbose", Component.join(text(", "), messages))); } return visitor.getAffected(); @@ -130,7 +129,7 @@ public int line(Actor actor, EditSession editSession, @Switch(name = 'h', desc = "Generate only a shell") boolean shell) throws WorldEditException { if (!((region instanceof CuboidRegion) || (region instanceof ConvexPolyhedralRegion))) { - actor.printError(TranslatableComponent.of("worldedit.line.invalid-type")); + actor.printError(translatable("worldedit.line.invalid-type")); return 0; } checkCommandArgument(thickness >= 0, "Thickness must be >= 0"); @@ -148,7 +147,7 @@ public int line(Actor actor, EditSession editSession, int blocksChanged = editSession.drawLine(pattern, vectors, thickness, !shell); - actor.printInfo(TranslatableComponent.of("worldedit.line.changed", TextComponent.of(blocksChanged))); + actor.printInfo(translatable("worldedit.line.changed", text(blocksChanged))); return blocksChanged; } @@ -168,7 +167,7 @@ public int curve(Actor actor, EditSession editSession, @Switch(name = 'h', desc = "Generate only a shell") boolean shell) throws WorldEditException { if (!(region instanceof ConvexPolyhedralRegion)) { - actor.printError(TranslatableComponent.of("worldedit.curve.invalid-type")); + actor.printError(translatable("worldedit.curve.invalid-type")); return 0; } checkCommandArgument(thickness >= 0, "Thickness must be >= 0"); @@ -178,7 +177,7 @@ public int curve(Actor actor, EditSession editSession, int blocksChanged = editSession.drawSpline(pattern, vectors, 0, 0, 0, 10, thickness, !shell); - actor.printInfo(TranslatableComponent.of("worldedit.curve.changed", TextComponent.of(blocksChanged))); + actor.printInfo(translatable("worldedit.curve.changed", text(blocksChanged))); return blocksChanged; } @@ -198,7 +197,7 @@ public int replace(Actor actor, EditSession editSession, @Selection Region regio from = new ExistingBlockMask(editSession); } int affected = editSession.replaceBlocks(region, from, to); - actor.printInfo(TranslatableComponent.of("worldedit.replace.replaced", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.replace.replaced", text(affected))); return affected; } @@ -212,7 +211,7 @@ public int overlay(Actor actor, EditSession editSession, @Selection Region regio @Arg(desc = "The pattern of blocks to overlay") Pattern pattern) throws WorldEditException { int affected = editSession.overlayCuboidBlocks(region, pattern); - actor.printInfo(TranslatableComponent.of("worldedit.overlay.overlaid", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.overlay.overlaid", text(affected))); return affected; } @@ -227,7 +226,7 @@ public int center(Actor actor, EditSession editSession, @Selection Region region @Arg(desc = "The pattern of blocks to set") Pattern pattern) throws WorldEditException { int affected = editSession.center(region, pattern); - actor.printInfo(TranslatableComponent.of("worldedit.center.changed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.center.changed", text(affected))); return affected; } @@ -239,7 +238,7 @@ public int center(Actor actor, EditSession editSession, @Selection Region region @Logging(REGION) public int naturalize(Actor actor, EditSession editSession, @Selection Region region) throws WorldEditException { int affected = editSession.naturalizeCuboidBlocks(region); - actor.printInfo(TranslatableComponent.of("worldedit.naturalize.naturalized", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.naturalize.naturalized", text(affected))); return affected; } @@ -253,7 +252,7 @@ public int walls(Actor actor, EditSession editSession, @Selection Region region, @Arg(desc = "The pattern of blocks to set") Pattern pattern) throws WorldEditException { int affected = editSession.makeWalls(region, pattern); - actor.printInfo(TranslatableComponent.of("worldedit.walls.changed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.walls.changed", text(affected))); return affected; } @@ -268,7 +267,7 @@ public int faces(Actor actor, EditSession editSession, @Selection Region region, @Arg(desc = "The pattern of blocks to set") Pattern pattern) throws WorldEditException { int affected = editSession.makeCuboidFaces(region, pattern); - actor.printInfo(TranslatableComponent.of("worldedit.faces.changed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.faces.changed", text(affected))); return affected; } @@ -287,7 +286,7 @@ public int smooth(Actor actor, EditSession editSession, @Selection Region region HeightMap heightMap = new HeightMap(editSession, region, mask); HeightMapFilter filter = new HeightMapFilter(new GaussianKernel(5, 1.0)); int affected = heightMap.applyFilter(filter, iterations); - actor.printInfo(TranslatableComponent.of("worldedit.smooth.changed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.smooth.changed", text(affected))); return affected; } @@ -338,11 +337,11 @@ public int move(Actor actor, World world, EditSession editSession, LocalSession session.getRegionSelector(world).learnChanges(); session.getRegionSelector(world).explainRegionAdjust(actor, session); } catch (RegionOperationException e) { - actor.printError(TextComponent.of(e.getMessage())); + actor.printError(text(e.getMessage())); } } - actor.printInfo(TranslatableComponent.of("worldedit.move.moved", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.move.moved", text(affected))); return affected; } @@ -393,11 +392,11 @@ public int stack(Actor actor, World world, EditSession editSession, LocalSession session.getRegionSelector(world).learnChanges(); session.getRegionSelector(world).explainRegionAdjust(actor, session); } catch (RegionOperationException e) { - actor.printError(TextComponent.of(e.getMessage())); + actor.printError(text(e.getMessage())); } } - actor.printInfo(TranslatableComponent.of("worldedit.stack.changed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.stack.changed", text(affected))); return affected; } @@ -426,9 +425,9 @@ void regenerate(Actor actor, World world, LocalSession session, EditSession edit session.setMask(mask); } if (success) { - actor.printInfo(TranslatableComponent.of("worldedit.regen.regenerated")); + actor.printInfo(translatable("worldedit.regen.regenerated")); } else { - actor.printError(TranslatableComponent.of("worldedit.regen.failed")); + actor.printError(translatable("worldedit.regen.failed")); } } @@ -489,10 +488,10 @@ public int deform(Actor actor, LocalSession session, EditSession editSession, if (actor instanceof Player) { ((Player) actor).findFreePosition(); } - actor.printInfo(TranslatableComponent.of("worldedit.deform.deformed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.deform.deformed", text(affected))); return affected; } catch (ExpressionException e) { - actor.printError(TextComponent.of(e.getMessage())); + actor.printError(text(e.getMessage())); return 0; } } @@ -513,7 +512,7 @@ public int hollow(Actor actor, EditSession editSession, checkCommandArgument(thickness >= 0, "Thickness must be >= 0"); int affected = editSession.hollowOutRegion(region, thickness, pattern); - actor.printInfo(TranslatableComponent.of("worldedit.hollow.changed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.hollow.changed", text(affected))); return affected; } @@ -530,7 +529,7 @@ public int forest(Actor actor, EditSession editSession, @Selection Region region double density) throws WorldEditException { checkCommandArgument(0 <= density && density <= 100, "Density must be in [0, 100]"); int affected = editSession.makeForest(region, density / 100, type); - actor.printInfo(TranslatableComponent.of("worldedit.forest.created", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.forest.created", text(affected))); return affected; } @@ -552,7 +551,7 @@ public int flora(Actor actor, EditSession editSession, @Selection Region region, Operations.completeLegacy(visitor); int affected = ground.getAffected(); - actor.printInfo(TranslatableComponent.of("worldedit.flora.created", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.flora.created", text(affected))); return affected; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java index 0915cbeceb..be1ed05d43 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java @@ -46,10 +46,7 @@ import com.sk89q.worldedit.util.formatting.component.PaginationBox; import com.sk89q.worldedit.util.formatting.component.SubtleFormat; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; -import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.io.Closer; import com.sk89q.worldedit.util.io.file.FilenameException; @@ -80,6 +77,11 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.space; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.runCommand; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.suggestCommand; /** * Commands that work with schematic files. @@ -118,7 +120,7 @@ public void load(Actor actor, LocalSession session, ClipboardFormats.getFileExtensionArray()); if (!f.exists()) { - actor.printError(TranslatableComponent.of("worldedit.schematic.load.does-not-exist", TextComponent.of(filename))); + actor.printError(translatable("worldedit.schematic.load.does-not-exist", text(filename))); return; } @@ -127,18 +129,20 @@ public void load(Actor actor, LocalSession session, format = ClipboardFormats.findByAlias(formatName); } if (format == null) { - actor.printError(TranslatableComponent.of("worldedit.schematic.unknown-format", TextComponent.of(formatName))); + actor.printError(translatable("worldedit.schematic.unknown-format", text(formatName))); return; } SchematicLoadTask task = new SchematicLoadTask(actor, f, format); AsyncCommandBuilder.wrap(task, actor) .registerWithSupervisor(worldEdit.getSupervisor(), "Loading schematic " + filename) - .setDelayMessage(TranslatableComponent.of("worldedit.schematic.load.loading")) - .setWorkingMessage(TranslatableComponent.of("worldedit.schematic.load.still-loading")) - .onSuccess(TextComponent.of(filename, NamedTextColor.GOLD) - .append(TextComponent.of(" loaded. Paste it with ", NamedTextColor.LIGHT_PURPLE)) - .append(CodeFormat.wrap("//paste").clickEvent(ClickEvent.of(ClickEvent.Action.SUGGEST_COMMAND, "//paste"))), + .setDelayMessage(translatable("worldedit.schematic.load.loading")) + .setWorkingMessage(translatable("worldedit.schematic.load.still-loading")) + .onSuccess(text(filename, NamedTextColor.GOLD) + .append(text(" loaded. Paste it with ", NamedTextColor.LIGHT_PURPLE)) + .append(CodeFormat.wrap("//paste") + .clickEvent(suggestCommand("//paste")) + ), session::setClipboard) .onFailure("Failed to load schematic", worldEdit.getPlatformManager().getPlatformCommandManager().getExceptionConverter()) .buildAndExec(worldEdit.getExecutorService()); @@ -157,7 +161,7 @@ public void save(Actor actor, LocalSession session, @Switch(name = 'f', desc = "Overwrite an existing file.") boolean allowOverwrite) throws WorldEditException { if (worldEdit.getPlatformManager().queryCapability(Capability.GAME_HOOKS).getDataVersion() == -1) { - actor.printError(TranslatableComponent.of("worldedit.schematic.unsupported-minecraft-version")); + actor.printError(translatable("worldedit.schematic.unsupported-minecraft-version")); return; } @@ -167,7 +171,7 @@ public void save(Actor actor, LocalSession session, ClipboardFormat format = ClipboardFormats.findByAlias(formatName); if (format == null) { - actor.printError(TranslatableComponent.of("worldedit.schematic.unknown-format", TextComponent.of(formatName))); + actor.printError(translatable("worldedit.schematic.unknown-format", text(formatName))); return; } @@ -176,10 +180,10 @@ public void save(Actor actor, LocalSession session, boolean overwrite = f.exists(); if (overwrite) { if (!actor.hasPermission("worldedit.schematic.delete")) { - throw new StopExecutionException(TextComponent.of("That schematic already exists!")); + throw new StopExecutionException(text("That schematic already exists!")); } if (!allowOverwrite) { - actor.printError(TranslatableComponent.of("worldedit.schematic.save.already-exists")); + actor.printError(translatable("worldedit.schematic.save.already-exists")); return; } } @@ -188,8 +192,7 @@ public void save(Actor actor, LocalSession session, File parent = f.getParentFile(); if (parent != null && !parent.exists()) { if (!parent.mkdirs()) { - throw new StopExecutionException(TranslatableComponent.of( - "worldedit.schematic.save.failed-directory")); + throw new StopExecutionException(translatable("worldedit.schematic.save.failed-directory")); } } @@ -198,8 +201,8 @@ public void save(Actor actor, LocalSession session, SchematicSaveTask task = new SchematicSaveTask(actor, f, format, holder, overwrite); AsyncCommandBuilder.wrap(task, actor) .registerWithSupervisor(worldEdit.getSupervisor(), "Saving schematic " + filename) - .setDelayMessage(TranslatableComponent.of("worldedit.schematic.save.saving")) - .setWorkingMessage(TranslatableComponent.of("worldedit.schematic.save.still-saving")) + .setDelayMessage(translatable("worldedit.schematic.save.saving")) + .setWorkingMessage(translatable("worldedit.schematic.save.still-saving")) .onSuccess(filename + " saved" + (overwrite ? " (overwriting previous file)." : "."), null) .onFailure("Failed to save schematic", worldEdit.getPlatformManager().getPlatformCommandManager().getExceptionConverter()) .buildAndExec(worldEdit.getExecutorService()); @@ -221,16 +224,16 @@ public void delete(Actor actor, dir, filename, "schematic", ClipboardFormats.getFileExtensionArray()); if (!f.exists()) { - actor.printError(TranslatableComponent.of("worldedit.schematic.delete.does-not-exist", TextComponent.of(filename))); + actor.printError(translatable("worldedit.schematic.delete.does-not-exist", text(filename))); return; } if (!f.delete()) { - actor.printError(TranslatableComponent.of("worldedit.schematic.delete.failed", TextComponent.of(filename))); + actor.printError(translatable("worldedit.schematic.delete.failed", text(filename))); return; } - actor.printInfo(TranslatableComponent.of("worldedit.schematic.delete.deleted", TextComponent.of(filename))); + actor.printInfo(translatable("worldedit.schematic.delete.deleted", text(filename))); try { log.info(actor.getName() + " deleted " + f.getCanonicalPath()); } catch (IOException e) { @@ -245,7 +248,7 @@ public void delete(Actor actor, ) @CommandPermissions("worldedit.schematic.formats") public void formats(Actor actor) { - actor.printInfo(TranslatableComponent.of("worldedit.schematic.formats.title")); + actor.printInfo(translatable("worldedit.schematic.formats.title")); StringBuilder builder; boolean first = true; for (ClipboardFormat format : ClipboardFormats.getAll()) { @@ -259,7 +262,7 @@ public void formats(Actor actor) { first = false; } first = true; - actor.printInfo(TextComponent.of(builder.toString())); + actor.printInfo(text(builder.toString())); } } @@ -278,7 +281,7 @@ public void list(Actor actor, @Switch(name = 'n', desc = "Sort by date, newest first") boolean newFirst) { if (oldFirst && newFirst) { - throw new StopExecutionException(TextComponent.of("Cannot sort by oldest and newest.")); + throw new StopExecutionException(text("Cannot sort by oldest and newest.")); } final String saveDir = worldEdit.getConfiguration().saveDir; Comparator pathComparator; @@ -366,7 +369,7 @@ public Void call() throws Exception { log.info(actor.getName() + " saved " + file.getCanonicalPath() + (overwrite ? " (overwriting previous file)" : "")); } catch (IOException e) { file.delete(); - throw new CommandException(TextComponent.of(e.getMessage()), e, ImmutableList.of()); + throw new CommandException(text(e.getMessage()), e, ImmutableList.of()); } return null; } @@ -443,16 +446,17 @@ public Component getComponent(int number) { ? file.getFileName().toString() : file.toString().substring(rootDir.toString().length()); - return TextComponent.builder() - .content("") - .append(TextComponent.of("[L]") + return text() + .append(text() + .content("[L]") .color(NamedTextColor.GOLD) - .clickEvent(ClickEvent.of(ClickEvent.Action.RUN_COMMAND, "/schem load \"" + path + "\"")) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Click to load")))) - .append(TextComponent.space()) - .append(TextComponent.of(path) + .clickEvent(runCommand("/schem load \"" + path + "\"")) + .hoverEvent(text("Click to load"))) + .append(space()) + .append(text() + .content(path) .color(NamedTextColor.DARK_GREEN) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of(format)))) + .hoverEvent(text(format))) .build(); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ScriptingCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ScriptingCommands.java index eedc074b8b..b0b7503b17 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ScriptingCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ScriptingCommands.java @@ -26,7 +26,6 @@ import com.sk89q.worldedit.command.util.CommandPermissionsConditionGenerator; import com.sk89q.worldedit.command.util.Logging; import com.sk89q.worldedit.entity.Player; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import org.enginehub.piston.annotation.Command; import org.enginehub.piston.annotation.CommandContainer; import org.enginehub.piston.annotation.param.Arg; @@ -37,6 +36,7 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.sk89q.worldedit.command.util.Logging.LogMode.ALL; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Commands related to scripting. @@ -68,7 +68,7 @@ public void execute(Player player, LocalSession session, @Arg(desc = "Arguments to the CraftScript", def = "", variable = true) List args) throws WorldEditException { if (!player.hasPermission("worldedit.scripting.execute." + filename)) { - player.printError(TranslatableComponent.of("worldedit.execute.script-permissions")); + player.printError(translatable("worldedit.execute.script-permissions")); return; } @@ -94,12 +94,12 @@ public void executeLast(Player player, LocalSession session, String lastScript = session.getLastScript(); if (!player.hasPermission("worldedit.scripting.execute." + lastScript)) { - player.printError(TranslatableComponent.of("worldedit.execute.script-permissions")); + player.printError(translatable("worldedit.execute.script-permissions")); return; } if (lastScript == null) { - player.printError(TranslatableComponent.of("worldedit.executelast.no-script")); + player.printError(translatable("worldedit.executelast.no-script")); return; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SelectionCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SelectionCommands.java index 6e25d196cf..54deb35fe5 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SelectionCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SelectionCommands.java @@ -66,9 +66,6 @@ import com.sk89q.worldedit.util.formatting.component.TextComponentProducer; import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; -import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockState; @@ -89,6 +86,9 @@ import static com.sk89q.worldedit.command.util.Logging.LogMode.POSITION; import static com.sk89q.worldedit.command.util.Logging.LogMode.REGION; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.runCommand; import static com.sk89q.worldedit.world.storage.ChunkStore.CHUNK_SHIFTS; import static com.sk89q.worldedit.world.storage.ChunkStore.CHUNK_SHIFTS_Y; @@ -119,12 +119,12 @@ public void pos1(Actor actor, World world, LocalSession session, } else if (actor instanceof Locatable) { pos = ((Locatable) actor).getBlockLocation(); } else { - actor.printError(TranslatableComponent.of("worldedit.pos.console-require-coords")); + actor.printError(translatable("worldedit.pos.console-require-coords")); return; } if (!session.getRegionSelector(world).selectPrimary(pos.toVector().toBlockPoint(), ActorSelectorLimits.forActor(actor))) { - actor.printError(TranslatableComponent.of("worldedit.pos.already-set")); + actor.printError(translatable("worldedit.pos.already-set")); return; } @@ -147,12 +147,12 @@ public void pos2(Actor actor, World world, LocalSession session, } else if (actor instanceof Locatable) { pos = ((Locatable) actor).getBlockLocation(); } else { - actor.printError(TranslatableComponent.of("worldedit.pos.console-require-coords")); + actor.printError(translatable("worldedit.pos.console-require-coords")); return; } if (!session.getRegionSelector(world).selectSecondary(pos.toVector().toBlockPoint(), ActorSelectorLimits.forActor(actor))) { - actor.printError(TranslatableComponent.of("worldedit.pos.already-set")); + actor.printError(translatable("worldedit.pos.already-set")); return; } @@ -171,14 +171,14 @@ public void hpos1(Player player, LocalSession session) throws WorldEditException if (pos != null) { if (!session.getRegionSelector(player.getWorld()).selectPrimary(pos.toVector().toBlockPoint(), ActorSelectorLimits.forActor(player))) { - player.printError(TranslatableComponent.of("worldedit.hpos.already-set")); + player.printError(translatable("worldedit.hpos.already-set")); return; } session.getRegionSelector(player.getWorld()) .explainPrimarySelection(player, session, pos.toVector().toBlockPoint()); } else { - player.printError(TranslatableComponent.of("worldedit.hpos.no-block")); + player.printError(translatable("worldedit.hpos.no-block")); } } @@ -193,14 +193,14 @@ public void hpos2(Player player, LocalSession session) throws WorldEditException if (pos != null) { if (!session.getRegionSelector(player.getWorld()).selectSecondary(pos.toVector().toBlockPoint(), ActorSelectorLimits.forActor(player))) { - player.printError(TranslatableComponent.of("worldedit.hpos.already-set")); + player.printError(translatable("worldedit.hpos.already-set")); return; } session.getRegionSelector(player.getWorld()) .explainSecondarySelection(player, session, pos.toVector().toBlockPoint()); } else { - player.printError(TranslatableComponent.of("worldedit.hpos.no-block")); + player.printError(translatable("worldedit.hpos.no-block")); } } @@ -235,15 +235,12 @@ public void chunk(Actor actor, World world, LocalSession session, min = minChunk.shl(CHUNK_SHIFTS, CHUNK_SHIFTS_Y, CHUNK_SHIFTS); max = maxChunk.shl(CHUNK_SHIFTS, CHUNK_SHIFTS_Y, CHUNK_SHIFTS).add(15, 255, 15); - actor.printInfo(TranslatableComponent.of( - "worldedit.chunk.selected-multiple", - TextComponent.of(minChunk.getBlockX()), - TextComponent.of(minChunk.getBlockY()), - TextComponent.of(minChunk.getBlockZ()), - TextComponent.of(maxChunk.getBlockX()), - TextComponent.of(maxChunk.getBlockY()), - TextComponent.of(maxChunk.getBlockZ()) - )); + actor.printInfo(translatable("worldedit.chunk.selected-multiple", text(minChunk.getBlockX()), + text(minChunk.getBlockY()), + text(minChunk.getBlockZ()), + text(maxChunk.getBlockX()), + text(maxChunk.getBlockY()), + text(maxChunk.getBlockZ()))); } else { BlockVector3 minChunk; if (coordinates != null) { @@ -256,17 +253,16 @@ public void chunk(Actor actor, World world, LocalSession session, if (actor instanceof Locatable) { minChunk = ChunkStore.toChunk3d(((Locatable) actor).getBlockLocation().toVector().toBlockPoint()); } else { - throw new StopExecutionException(TextComponent.of("A player or coordinates are required.")); + throw new StopExecutionException(text("A player or coordinates are required.")); } } min = minChunk.shl(CHUNK_SHIFTS, CHUNK_SHIFTS_Y, CHUNK_SHIFTS); max = min.add(15, 255, 15); - actor.printInfo(TranslatableComponent.of("worldedit.chunk.selected", - TextComponent.of(minChunk.getBlockX()), - TextComponent.of(minChunk.getBlockY()), - TextComponent.of(minChunk.getBlockZ()))); + actor.printInfo(translatable("worldedit.chunk.selected", text(minChunk.getBlockX()), + text(minChunk.getBlockY()), + text(minChunk.getBlockZ()))); } final CuboidRegionSelector selector; @@ -296,16 +292,16 @@ public void wand(Player player, LocalSession session, } ItemType itemType = ItemTypes.get(wandId); if (itemType == null) { - player.printError(TranslatableComponent.of("worldedit.wand.invalid")); + player.printError(translatable("worldedit.wand.invalid")); return; } player.giveItem(new BaseItemStack(itemType, 1)); if (navWand) { session.setTool(itemType, new NavigationWand()); - player.printInfo(TranslatableComponent.of("worldedit.wand.navwand.info")); + player.printInfo(translatable("worldedit.wand.navwand.info")); } else { session.setTool(itemType, new SelectionWand()); - player.printInfo(TranslatableComponent.of("worldedit.wand.selwand.info")); + player.printInfo(translatable("worldedit.wand.selwand.info")); } } @@ -315,15 +311,15 @@ public void wand(Player player, LocalSession session, ) @CommandPermissions("worldedit.wand.toggle") public void toggleWand(Player player) { - player.printInfo(TextComponent.of("The selection wand is now a normal tool. You can disable it with ") - .append(TextComponent.of("/none", NamedTextColor.AQUA).clickEvent( - ClickEvent.of(ClickEvent.Action.RUN_COMMAND, "/none"))) - .append(TextComponent.of(" and rebind it to any item with ")) - .append(TextComponent.of("//selwand", NamedTextColor.AQUA).clickEvent( - ClickEvent.of(ClickEvent.Action.RUN_COMMAND, "//selwand"))) - .append(TextComponent.of(" or get a new wand with ")) - .append(TextComponent.of("//wand", NamedTextColor.AQUA).clickEvent( - ClickEvent.of(ClickEvent.Action.RUN_COMMAND, "//wand")))); + player.printInfo(text("The selection wand is now a normal tool. You can disable it with ") + .append(text("/none", NamedTextColor.AQUA) + .clickEvent(runCommand("/none"))) + .append(text(" and rebind it to any item with ")) + .append(text("//selwand", NamedTextColor.AQUA) + .clickEvent(runCommand("//selwand"))) + .append(text(" or get a new wand with ")) + .append(text("//wand", NamedTextColor.AQUA) + .clickEvent(runCommand("//wand")))); } @Command( @@ -357,9 +353,9 @@ public void contract(Actor actor, World world, LocalSession session, session.getRegionSelector(world).explainRegionAdjust(actor, session); - actor.printInfo(TranslatableComponent.of("worldedit.contract.contracted", TextComponent.of(oldSize - newSize))); + actor.printInfo(translatable("worldedit.contract.contracted", text(oldSize - newSize))); } catch (RegionOperationException e) { - actor.printError(TextComponent.of(e.getMessage())); + actor.printError(text(e.getMessage())); } } @@ -386,9 +382,9 @@ public void shift(Actor actor, World world, LocalSession session, session.getRegionSelector(world).explainRegionAdjust(actor, session); - actor.printInfo(TranslatableComponent.of("worldedit.shift.shifted")); + actor.printInfo(translatable("worldedit.shift.shifted")); } catch (RegionOperationException e) { - actor.printError(TextComponent.of(e.getMessage())); + actor.printError(text(e.getMessage())); } } @@ -409,7 +405,7 @@ public void outset(Actor actor, World world, LocalSession session, region.expand(getChangesForEachDir(amount, onlyHorizontal, onlyVertical)); session.getRegionSelector(world).learnChanges(); session.getRegionSelector(world).explainRegionAdjust(actor, session); - actor.printInfo(TranslatableComponent.of("worldedit.outset.outset")); + actor.printInfo(translatable("worldedit.outset.outset")); } @Command( @@ -429,7 +425,7 @@ public void inset(Actor actor, World world, LocalSession session, region.contract(getChangesForEachDir(amount, onlyHorizontal, onlyVertical)); session.getRegionSelector(world).learnChanges(); session.getRegionSelector(world).explainRegionAdjust(actor, session); - actor.printInfo(TranslatableComponent.of("worldedit.inset.inset")); + actor.printInfo(translatable("worldedit.inset.inset")); } private BlockVector3[] getChangesForEachDir(int amount, boolean onlyHorizontal, boolean onlyVertical) { @@ -465,11 +461,11 @@ public void size(Actor actor, World world, LocalSession session, region = clipboard.getRegion(); BlockVector3 origin = clipboard.getOrigin(); - actor.printInfo(TranslatableComponent.of("worldedit.size.offset", TextComponent.of(origin.toString()))); + actor.printInfo(translatable("worldedit.size.offset", text(origin.toString()))); } else { region = session.getSelection(world); - actor.printInfo(TranslatableComponent.of("worldedit.size.type", TextComponent.of(session.getRegionSelector(world).getTypeName()))); + actor.printInfo(translatable("worldedit.size.type", text(session.getRegionSelector(world).getTypeName()))); for (Component line : session.getRegionSelector(world).getSelectionInfoLines()) { actor.printInfo(line); @@ -479,9 +475,9 @@ public void size(Actor actor, World world, LocalSession session, .subtract(region.getMinimumPoint()) .add(1, 1, 1); - actor.printInfo(TranslatableComponent.of("worldedit.size.size", TextComponent.of(size.toString()))); - actor.printInfo(TranslatableComponent.of("worldedit.size.distance", TextComponent.of(region.getMaximumPoint().distance(region.getMinimumPoint())))); - actor.printInfo(TranslatableComponent.of("worldedit.size.blocks", TextComponent.of(region.getVolume()))); + actor.printInfo(translatable("worldedit.size.size", text(size.toString()))); + actor.printInfo(translatable("worldedit.size.distance", text(region.getMaximumPoint().distance(region.getMinimumPoint())))); + actor.printInfo(translatable("worldedit.size.blocks", text(region.getVolume()))); } @Command( @@ -493,7 +489,7 @@ public int count(Actor actor, World world, LocalSession session, EditSession edi @Arg(desc = "The mask of blocks to match") Mask mask) throws WorldEditException { int count = editSession.countBlocks(session.getSelection(world), mask); - actor.printInfo(TranslatableComponent.of("worldedit.count.counted", TextComponent.of(count))); + actor.printInfo(translatable("worldedit.count.counted", text(count))); return count; } @@ -528,13 +524,13 @@ public void distr(Actor actor, World world, LocalSession session, } else { distribution = session.getLastDistribution(); if (distribution == null) { - actor.printError(TranslatableComponent.of("worldedit.distr.no-previous")); + actor.printError(translatable("worldedit.distr.no-previous")); return; } } if (distribution.isEmpty()) { // *Should* always be false - actor.printError(TranslatableComponent.of("worldedit.distr.no-blocks")); + actor.printError(translatable("worldedit.distr.no-blocks")); return; } @@ -561,7 +557,7 @@ public void select(Actor actor, World world, LocalSession session, if (selector == null) { session.getRegionSelector(world).clear(); session.dispatchCUISelection(actor); - actor.printInfo(TranslatableComponent.of("worldedit.select.cleared")); + actor.printInfo(translatable("worldedit.select.cleared")); return; } @@ -571,38 +567,38 @@ public void select(Actor actor, World world, LocalSession session, switch (selector) { case CUBOID: newSelector = new CuboidRegionSelector(oldSelector); - actor.printInfo(TranslatableComponent.of("worldedit.select.cuboid.message")); + actor.printInfo(translatable("worldedit.select.cuboid.message")); break; case EXTEND: newSelector = new ExtendingCuboidRegionSelector(oldSelector); - actor.printInfo(TranslatableComponent.of("worldedit.select.extend.message")); + actor.printInfo(translatable("worldedit.select.extend.message")); break; case POLY: { newSelector = new Polygonal2DRegionSelector(oldSelector); - actor.printInfo(TranslatableComponent.of("worldedit.select.poly.message")); + actor.printInfo(translatable("worldedit.select.poly.message")); Optional limit = ActorSelectorLimits.forActor(actor).getPolygonVertexLimit(); - limit.ifPresent(integer -> actor.printInfo(TranslatableComponent.of("worldedit.select.poly.limit-message", TextComponent.of(integer)))); + limit.ifPresent(integer -> actor.printInfo(translatable("worldedit.select.poly.limit-message", text(integer)))); break; } case ELLIPSOID: newSelector = new EllipsoidRegionSelector(oldSelector); - actor.printInfo(TranslatableComponent.of("worldedit.select.ellipsoid.message")); + actor.printInfo(translatable("worldedit.select.ellipsoid.message")); break; case SPHERE: newSelector = new SphereRegionSelector(oldSelector); - actor.printInfo(TranslatableComponent.of("worldedit.select.sphere.message")); + actor.printInfo(translatable("worldedit.select.sphere.message")); break; case CYL: newSelector = new CylinderRegionSelector(oldSelector); - actor.printInfo(TranslatableComponent.of("worldedit.select.cyl.message")); + actor.printInfo(translatable("worldedit.select.cyl.message")); break; case CONVEX: case HULL: case POLYHEDRON: { newSelector = new ConvexPolyhedralRegionSelector(oldSelector); - actor.printInfo(TranslatableComponent.of("worldedit.select.convex.message")); + actor.printInfo(translatable("worldedit.select.convex.message")); Optional limit = ActorSelectorLimits.forActor(actor).getPolyhedronVertexLimit(); - limit.ifPresent(integer -> actor.printInfo(TranslatableComponent.of("worldedit.select.convex.limit-message", TextComponent.of(integer)))); + limit.ifPresent(integer -> actor.printInfo(translatable("worldedit.select.convex.limit-message", text(integer)))); break; } case LIST: @@ -612,13 +608,13 @@ public void select(Actor actor, World world, LocalSession session, TextComponentProducer contents = box.getContents(); contents.append(SubtleFormat.wrap("Select one of the modes below:")).newline(); - box.appendCommand("cuboid", TranslatableComponent.of("worldedit.select.cuboid.description"), "//sel cuboid"); - box.appendCommand("extend", TranslatableComponent.of("worldedit.select.extend.description"), "//sel extend"); - box.appendCommand("poly", TranslatableComponent.of("worldedit.select.poly.description"), "//sel poly"); - box.appendCommand("ellipsoid", TranslatableComponent.of("worldedit.select.ellipsoid.description"), "//sel ellipsoid"); - box.appendCommand("sphere", TranslatableComponent.of("worldedit.select.sphere.description"), "//sel sphere"); - box.appendCommand("cyl", TranslatableComponent.of("worldedit.select.cyl.description"), "//sel cyl"); - box.appendCommand("convex", TranslatableComponent.of("worldedit.select.convex.description"), "//sel convex"); + box.appendCommand("cuboid", translatable("worldedit.select.cuboid.description"), "//sel cuboid"); + box.appendCommand("extend", translatable("worldedit.select.extend.description"), "//sel extend"); + box.appendCommand("poly", translatable("worldedit.select.poly.description"), "//sel poly"); + box.appendCommand("ellipsoid", translatable("worldedit.select.ellipsoid.description"), "//sel ellipsoid"); + box.appendCommand("sphere", translatable("worldedit.select.sphere.description"), "//sel sphere"); + box.appendCommand("cyl", translatable("worldedit.select.cyl.description"), "//sel cyl"); + box.appendCommand("convex", translatable("worldedit.select.convex.description"), "//sel convex"); actor.print(box.create(1)); return; @@ -635,7 +631,7 @@ public void select(Actor actor, World world, LocalSession session, if (found != null) { session.setDefaultRegionSelector(found); - actor.printInfo(TranslatableComponent.of("worldedit.select.default-set", TextComponent.of(found.name()))); + actor.printInfo(translatable("worldedit.select.default-set", text(found.name()))); } else { throw new RuntimeException("Something unexpected happened. Please report this."); } @@ -663,29 +659,29 @@ private static class BlockDistributionResult extends PaginationBox { @Override public Component getComponent(int number) { Countable c = distribution.get(number); - TextComponent.Builder line = TextComponent.builder(); + TextComponent.Builder line = text(); final int count = c.getAmount(); final double perc = count / (double) totalBlocks * 100; final int maxDigits = (int) (Math.log10(totalBlocks) + 1); final int curDigits = (int) (Math.log10(count) + 1); - line.append(String.format("%s%.3f%% ", perc < 10 ? " " : "", perc), NamedTextColor.GOLD); + line.append(text(String.format("%s%.3f%% ", perc < 10 ? " " : "", perc), NamedTextColor.GOLD)); final int space = maxDigits - curDigits; String pad = Strings.repeat(" ", space == 0 ? 2 : 2 * space + 1); - line.append(String.format("%s%s", count, pad), NamedTextColor.YELLOW); + line.append(text(String.format("%s%s", count, pad), NamedTextColor.YELLOW)); final BlockState state = c.getID(); final BlockType blockType = state.getBlockType(); Component blockName = blockType.getRichName().color(NamedTextColor.LIGHT_PURPLE); TextComponent toolTip; if (separateStates && state != blockType.getDefaultState()) { - toolTip = TextComponent.of(state.getAsString(), NamedTextColor.GRAY); - blockName = blockName.append(TextComponent.of("*", NamedTextColor.LIGHT_PURPLE)); + toolTip = text(state.getAsString(), NamedTextColor.GRAY); + blockName = blockName.append(text("*", NamedTextColor.LIGHT_PURPLE)); } else { - toolTip = TextComponent.of(blockType.getId(), NamedTextColor.GRAY); + toolTip = text(blockType.getId(), NamedTextColor.GRAY); } - blockName = blockName.hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, toolTip)); + blockName = blockName.hoverEvent(toolTip); line.append(blockName); return line.build(); @@ -698,8 +694,8 @@ public int getComponentsSize() { @Override public Component create(int page) throws InvalidComponentException { - super.getContents().append(TranslatableComponent.of("worldedit.distr.total", NamedTextColor.GRAY, TextComponent.of(totalBlocks))) - .append(TextComponent.newline()); + super.getContents().append(translatable("worldedit.distr.total", NamedTextColor.GRAY, text(totalBlocks))) + .append(Component.newline()); return super.create(page); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotCommands.java index dfe609e2de..fd06b2b594 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotCommands.java @@ -30,10 +30,6 @@ import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.util.formatting.component.PaginationBox; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; -import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.snapshot.experimental.Snapshot; @@ -54,6 +50,9 @@ import java.util.Optional; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.runCommand; import static java.util.stream.Collectors.toList; /** @@ -74,9 +73,7 @@ public SnapshotCommands(WorldEdit we) { static void checkSnapshotsConfigured(LocalConfiguration localConfiguration) { if (!localConfiguration.snapshotsConfigured) { - throw new StopExecutionException(TranslatableComponent.of( - "worldedit.restore.not-configured" - )); + throw new StopExecutionException(translatable("worldedit.restore.not-configured")); } } @@ -120,10 +117,7 @@ void list(Actor actor, World world, if (!snapshots.isEmpty()) { actor.print(new SnapshotListBox(world.getName(), snapshots).create(page)); } else { - actor.printError(TranslatableComponent.of( - "worldedit.restore.none-for-specific-world", - TextComponent.of(world.getName()) - )); + actor.printError(translatable("worldedit.restore.none-for-specific-world", text(world.getName()))); if (config.snapshotDatabase instanceof FileSystemSnapshotDatabase) { FileSystemSnapshotDatabase db = (FileSystemSnapshotDatabase) config.snapshotDatabase; @@ -169,9 +163,9 @@ void use(Actor actor, World world, LocalSession session, session.getSnapshotExperimental().close(); } session.setSnapshot(null); - actor.printInfo(TranslatableComponent.of("worldedit.snapshot.use.newest")); + actor.printInfo(translatable("worldedit.snapshot.use.newest")); } else { - actor.printError(TranslatableComponent.of("worldedit.restore.none-for-world")); + actor.printError(translatable("worldedit.restore.none-for-world")); } } else { URI uri = resolveSnapshotName(config, name); @@ -181,11 +175,9 @@ void use(Actor actor, World world, LocalSession session, session.getSnapshotExperimental().close(); } session.setSnapshotExperimental(snapshot.get()); - actor.printInfo(TranslatableComponent.of( - "worldedit.snapshot.use", TextComponent.of(name) - )); + actor.printInfo(translatable("worldedit.snapshot.use", text(name))); } else { - actor.printError(TranslatableComponent.of("worldedit.restore.not-available")); + actor.printError(translatable("worldedit.restore.not-available")); } } } @@ -207,7 +199,7 @@ void sel(Actor actor, World world, LocalSession session, } if (index < 1) { - actor.printError(TranslatableComponent.of("worldedit.snapshot.index-above-0")); + actor.printError(translatable("worldedit.snapshot.index-above-0")); return; } @@ -218,25 +210,19 @@ void sel(Actor actor, World world, LocalSession session, .collect(toList()); } if (snapshots.size() < index) { - actor.printError(TranslatableComponent.of( - "worldedit.snapshot.index-oob", - TextComponent.of(snapshots.size()) - )); + actor.printError(translatable("worldedit.snapshot.index-oob", text(snapshots.size()))); return; } Snapshot snapshot = snapshots.get(index - 1); if (snapshot == null) { - actor.printError(TranslatableComponent.of("worldedit.restore.not-available")); + actor.printError(translatable("worldedit.restore.not-available")); return; } if (session.getSnapshotExperimental() != null) { session.getSnapshotExperimental().close(); } session.setSnapshotExperimental(snapshot); - actor.printInfo(TranslatableComponent.of( - "worldedit.snapshot.use", - TextComponent.of(snapshot.getInfo().getDisplayName()) - )); + actor.printInfo(translatable("worldedit.snapshot.use", text(snapshot.getInfo().getDisplayName()))); } @Command( @@ -263,19 +249,14 @@ void before(Actor actor, World world, LocalSession session, } if (snapshot == null) { - actor.printError(TranslatableComponent.of( - "worldedit.snapshot.none-before", - TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))) + actor.printError(translatable("worldedit.snapshot.none-before", text(dateFormat.withZone(session.getTimeZone()).format(date))) ); } else { if (session.getSnapshotExperimental() != null) { session.getSnapshotExperimental().close(); } session.setSnapshotExperimental(snapshot); - actor.printInfo(TranslatableComponent.of( - "worldedit.snapshot.use", - TextComponent.of(snapshot.getInfo().getDisplayName()) - )); + actor.printInfo(translatable("worldedit.snapshot.use", text(snapshot.getInfo().getDisplayName()))); } } @@ -302,19 +283,14 @@ void after(Actor actor, World world, LocalSession session, .findFirst().orElse(null); } if (snapshot == null) { - actor.printError(TranslatableComponent.of( - "worldedit.snapshot.none-after", - TextComponent.of(dateFormat.withZone(session.getTimeZone()).format(date))) + actor.printError(translatable("worldedit.snapshot.none-after", text(dateFormat.withZone(session.getTimeZone()).format(date))) ); } else { if (session.getSnapshotExperimental() != null) { session.getSnapshotExperimental().close(); } session.setSnapshotExperimental(snapshot); - actor.printInfo(TranslatableComponent.of( - "worldedit.snapshot.use", - TextComponent.of(snapshot.getInfo().getDisplayName()) - )); + actor.printInfo(translatable("worldedit.snapshot.use", text(snapshot.getInfo().getDisplayName()))); } } @@ -330,10 +306,12 @@ private static class SnapshotListBox extends PaginationBox { public Component getComponent(int number) { final Snapshot snapshot = snapshots.get(number); String displayName = snapshot.getInfo().getDisplayName(); - return TextComponent.of(number + 1 + ". ", NamedTextColor.GOLD) - .append(TextComponent.builder(displayName, NamedTextColor.LIGHT_PURPLE) - .hoverEvent(HoverEvent.showText(TextComponent.of("Click to use"))) - .clickEvent(ClickEvent.runCommand("/snap use " + displayName))); + return text(number + 1 + ". ", NamedTextColor.GOLD) + .append(text() + .content(displayName) + .color(NamedTextColor.LIGHT_PURPLE) + .hoverEvent(text("Click to use")) + .clickEvent(runCommand("/snap use " + displayName))); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotUtilCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotUtilCommands.java index 34a1a9c124..5fa3270c8f 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotUtilCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SnapshotUtilCommands.java @@ -29,8 +29,6 @@ import com.sk89q.worldedit.command.util.Logging; import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.regions.Region; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.snapshot.experimental.Snapshot; import com.sk89q.worldedit.world.snapshot.experimental.SnapshotRestore; @@ -46,6 +44,8 @@ import static com.sk89q.worldedit.command.SnapshotCommands.checkSnapshotsConfigured; import static com.sk89q.worldedit.command.SnapshotCommands.resolveSnapshotName; import static com.sk89q.worldedit.command.util.Logging.LogMode.REGION; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; @CommandContainer(superTypes = CommandPermissionsConditionGenerator.Registration.class) public class SnapshotUtilCommands { @@ -83,7 +83,7 @@ public void restore(Actor actor, World world, LocalSession session, EditSession URI uri = resolveSnapshotName(config, snapshotName); Optional snapOpt = config.snapshotDatabase.getSnapshot(uri); if (!snapOpt.isPresent()) { - actor.printError(TranslatableComponent.of("worldedit.restore.not-available")); + actor.printError(translatable("worldedit.restore.not-available")); return; } snapshot = snapOpt.get(); @@ -100,17 +100,11 @@ public void restore(Actor actor, World world, LocalSession session, EditSession } if (snapshot == null) { - actor.printError(TranslatableComponent.of( - "worldedit.restore.none-for-specific-world", - TextComponent.of(world.getName()) - )); + actor.printError(translatable("worldedit.restore.none-for-specific-world", text(world.getName()))); return; } } - actor.printInfo(TranslatableComponent.of( - "worldedit.restore.loaded", - TextComponent.of(snapshot.getInfo().getDisplayName()) - )); + actor.printInfo(translatable("worldedit.restore.loaded", text(snapshot.getInfo().getDisplayName()))); try { // Restore snapshot @@ -122,17 +116,16 @@ public void restore(Actor actor, World world, LocalSession session, EditSession if (restore.hadTotalFailure()) { String error = restore.getLastErrorMessage(); if (!restore.getMissingChunks().isEmpty()) { - actor.printError(TranslatableComponent.of("worldedit.restore.chunk-not-present")); + actor.printError(translatable("worldedit.restore.chunk-not-present")); } else if (error != null) { - actor.printError(TranslatableComponent.of("worldedit.restore.block-place-failed")); - actor.printError(TranslatableComponent.of("worldedit.restore.block-place-error", TextComponent.of(error))); + actor.printError(translatable("worldedit.restore.block-place-failed")); + actor.printError(translatable("worldedit.restore.block-place-error", text(error))); } else { - actor.printError(TranslatableComponent.of("worldedit.restore.chunk-load-failed")); + actor.printError(translatable("worldedit.restore.chunk-load-failed")); } } else { - actor.printInfo(TranslatableComponent.of("worldedit.restore.restored", - TextComponent.of(restore.getMissingChunks().size()), - TextComponent.of(restore.getErrorChunks().size()))); + actor.printInfo(translatable("worldedit.restore.restored", text(restore.getMissingChunks().size()), + text(restore.getErrorChunks().size()))); } } finally { try { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SuperPickaxeCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SuperPickaxeCommands.java index c14a54c126..cecbd968aa 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/SuperPickaxeCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/SuperPickaxeCommands.java @@ -29,12 +29,13 @@ import com.sk89q.worldedit.command.util.CommandPermissions; import com.sk89q.worldedit.command.util.CommandPermissionsConditionGenerator; import com.sk89q.worldedit.entity.Player; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import org.enginehub.piston.annotation.Command; import org.enginehub.piston.annotation.CommandContainer; import org.enginehub.piston.annotation.param.Arg; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + @CommandContainer(superTypes = CommandPermissionsConditionGenerator.Registration.class) public class SuperPickaxeCommands { private final WorldEdit we; @@ -51,7 +52,7 @@ public SuperPickaxeCommands(WorldEdit we) { public void single(Player player, LocalSession session) throws WorldEditException { session.setSuperPickaxe(new SinglePickaxe()); session.enableSuperPickAxe(); - player.printInfo(TranslatableComponent.of("worldedit.tool.superpickaxe.mode.single")); + player.printInfo(translatable("worldedit.tool.superpickaxe.mode.single")); } @Command( @@ -66,13 +67,13 @@ public void area(Player player, LocalSession session, LocalConfiguration config = we.getConfiguration(); if (range > config.maxSuperPickaxeSize) { - player.printError(TranslatableComponent.of("worldedit.tool.superpickaxe.max-range", TextComponent.of(config.maxSuperPickaxeSize))); + player.printError(translatable("worldedit.tool.superpickaxe.max-range", text(config.maxSuperPickaxeSize))); return; } session.setSuperPickaxe(new AreaPickaxe(range)); session.enableSuperPickAxe(); - player.printInfo(TranslatableComponent.of("worldedit.tool.superpickaxe.mode.area")); + player.printInfo(translatable("worldedit.tool.superpickaxe.mode.area")); } @Command( @@ -88,12 +89,12 @@ public void recursive(Player player, LocalSession session, LocalConfiguration config = we.getConfiguration(); if (range > config.maxSuperPickaxeSize) { - player.printError(TranslatableComponent.of("worldedit.tool.superpickaxe.max-range", TextComponent.of(config.maxSuperPickaxeSize))); + player.printError(translatable("worldedit.tool.superpickaxe.max-range", text(config.maxSuperPickaxeSize))); return; } session.setSuperPickaxe(new RecursivePickaxe(range)); session.enableSuperPickAxe(); - player.printInfo(TranslatableComponent.of("worldedit.tool.superpickaxe.mode.recursive")); + player.printInfo(translatable("worldedit.tool.superpickaxe.mode.recursive")); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolCommands.java index 6695dcd831..ee6e01abb8 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolCommands.java @@ -49,8 +49,6 @@ import com.sk89q.worldedit.util.HandSide; import com.sk89q.worldedit.util.TreeGenerator; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.block.BlockStateHolder; import com.sk89q.worldedit.world.item.ItemType; import org.enginehub.piston.CommandManager; @@ -66,6 +64,9 @@ import java.util.Set; import java.util.stream.Collectors; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + @CommandContainer(superTypes = CommandPermissionsConditionGenerator.Registration.class) public class ToolCommands { @@ -113,13 +114,13 @@ public static void register(CommandRegistrationHandler registration, .collect(Collectors.toSet()); commandManager.register("tool", command -> { command.addPart(SubCommandPart.builder( - TranslatableComponent.of("tool"), - TextComponent.of("The tool to bind") + translatable("tool"), + text("The tool to bind") ) .withCommands(nonGlobalCommands) .required() .build()); - command.description(TextComponent.of("Binds a tool to the item in your hand")); + command.description(text("Binds a tool to the item in your hand")); command.condition(new SubCommandPermissionCondition.Generator(nonGlobalCommands).build()); }); @@ -142,9 +143,9 @@ static void setToolNone(Player player, LocalSession session, boolean isBrush) || type.getId().equals(session.getNavWandItem()); if (set) { session.setTool(type, null); - player.printInfo(TranslatableComponent.of(isBrush ? "worldedit.brush.none.equip" : "worldedit.tool.none.equip")); + player.printInfo(translatable(isBrush ? "worldedit.brush.none.equip" : "worldedit.tool.none.equip")); } else { - player.printInfo(TranslatableComponent.of("worldedit.tool.none.to.unequip")); + player.printInfo(translatable("worldedit.tool.none.to.unequip")); } } @@ -152,7 +153,7 @@ private static void setTool(Player player, LocalSession session, Tool tool, String translationKey) throws InvalidToolBindException { BaseItemStack itemStack = player.getItemInHand(HandSide.MAIN_HAND); session.setTool(itemStack.getType(), tool); - player.printInfo(TranslatableComponent.of(translationKey, itemStack.getRichName())); + player.printInfo(translatable(translationKey, itemStack.getRichName())); } private final WorldEdit we; @@ -258,7 +259,7 @@ public void floodFill(Player player, LocalSession session, LocalConfiguration config = we.getConfiguration(); if (range > config.maxSuperPickaxeSize) { - player.printError(TranslatableComponent.of("worldedit.tool.superpickaxe.max-range", TextComponent.of(config.maxSuperPickaxeSize))); + player.printError(translatable("worldedit.tool.superpickaxe.max-range", text(config.maxSuperPickaxeSize))); return; } setTool(player, session, new FloodFillTool(range, pattern), "worldedit.tool.floodfill.equip"); @@ -299,13 +300,13 @@ public void longrangebuildtool(Player player, LocalSession session, if (primary instanceof BlockStateHolder) { primaryName = ((BlockStateHolder) primary).getBlockType().getRichName(); } else { - primaryName = TextComponent.of("pattern"); + primaryName = text("pattern"); } if (secondary instanceof BlockStateHolder) { secondaryName = ((BlockStateHolder) secondary).getBlockType().getRichName(); } else { - secondaryName = TextComponent.of("pattern"); + secondaryName = text("pattern"); } - player.printInfo(TranslatableComponent.of("worldedit.tool.lrbuild.set", primaryName, secondaryName)); + player.printInfo(translatable("worldedit.tool.lrbuild.set", primaryName, secondaryName)); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolUtilCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolUtilCommands.java index b71f30218f..3ccc550f36 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolUtilCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/ToolUtilCommands.java @@ -28,11 +28,12 @@ import com.sk89q.worldedit.function.mask.Mask; import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.util.HandSide; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import org.enginehub.piston.annotation.Command; import org.enginehub.piston.annotation.CommandContainer; import org.enginehub.piston.annotation.param.Arg; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Tool commands. */ @@ -55,15 +56,15 @@ public void togglePickaxe(Player player, LocalSession session, Boolean superPickaxe) { boolean hasSuperPickAxe = session.hasSuperPickAxe(); if (superPickaxe != null && superPickaxe == hasSuperPickAxe) { - player.printError(TranslatableComponent.of(superPickaxe ? "worldedit.tool.superpickaxe.enabled.already" : "worldedit.tool.superpickaxe.disabled.already")); + player.printError(translatable(superPickaxe ? "worldedit.tool.superpickaxe.enabled.already" : "worldedit.tool.superpickaxe.disabled.already")); return; } if (hasSuperPickAxe) { session.disableSuperPickAxe(); - player.printInfo(TranslatableComponent.of("worldedit.tool.superpickaxe.disabled")); + player.printInfo(translatable("worldedit.tool.superpickaxe.disabled")); } else { session.enableSuperPickAxe(); - player.printInfo(TranslatableComponent.of("worldedit.tool.superpickaxe.enabled")); + player.printInfo(translatable("worldedit.tool.superpickaxe.enabled")); } } @@ -78,9 +79,9 @@ public void mask(Player player, LocalSession session, Mask mask) throws WorldEditException { session.getBrushTool(player.getItemInHand(HandSide.MAIN_HAND).getType()).setMask(mask); if (mask == null) { - player.printInfo(TranslatableComponent.of("worldedit.tool.mask.disabled")); + player.printInfo(translatable("worldedit.tool.mask.disabled")); } else { - player.printInfo(TranslatableComponent.of("worldedit.tool.mask.set")); + player.printInfo(translatable("worldedit.tool.mask.set")); } } @@ -94,7 +95,7 @@ public void material(Player player, LocalSession session, @Arg(desc = "The pattern of blocks to use") Pattern pattern) throws WorldEditException { session.getBrushTool(player.getItemInHand(HandSide.MAIN_HAND).getType()).setFill(pattern); - player.printInfo(TranslatableComponent.of("worldedit.tool.material.set")); + player.printInfo(translatable("worldedit.tool.material.set")); } @Command( @@ -106,7 +107,7 @@ public void range(Player player, LocalSession session, @Arg(desc = "The range of the brush") int range) throws WorldEditException { session.getBrushTool(player.getItemInHand(HandSide.MAIN_HAND).getType()).setRange(range); - player.printInfo(TranslatableComponent.of("worldedit.tool.range.set")); + player.printInfo(translatable("worldedit.tool.range.set")); } @Command( @@ -120,7 +121,7 @@ public void size(Player player, LocalSession session, we.checkMaxBrushRadius(size); session.getBrushTool(player.getItemInHand(HandSide.MAIN_HAND).getType()).setSize(size); - player.printInfo(TranslatableComponent.of("worldedit.tool.size.set")); + player.printInfo(translatable("worldedit.tool.size.set")); } @Command( @@ -133,9 +134,9 @@ public void traceMask(Player player, LocalSession session, Mask mask) throws WorldEditException { session.getBrushTool(player.getItemInHand(HandSide.MAIN_HAND).getType()).setTraceMask(mask); if (mask == null) { - player.printInfo(TranslatableComponent.of("worldedit.tool.tracemask.disabled")); + player.printInfo(translatable("worldedit.tool.tracemask.disabled")); } else { - player.printInfo(TranslatableComponent.of("worldedit.tool.tracemask.set")); + player.printInfo(translatable("worldedit.tool.tracemask.set")); } } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/UtilityCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/UtilityCommands.java index 61a09e7b86..dfd4d04d09 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/UtilityCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/UtilityCommands.java @@ -53,8 +53,6 @@ import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.util.formatting.component.SubtleFormat; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockTypes; @@ -72,6 +70,8 @@ import java.util.function.Supplier; import static com.sk89q.worldedit.command.util.Logging.LogMode.PLACEMENT; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Utility commands. @@ -104,7 +104,7 @@ public int fill(Actor actor, LocalSession session, EditSession editSession, BlockVector3 pos = session.getPlacementPosition(actor); int affected = editSession.fillXZ(pos, pattern, radius, depth, false); - actor.printInfo(TranslatableComponent.of("worldedit.fill.created", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.fill.created", text(affected))); return affected; } @@ -128,7 +128,7 @@ public int fillr(Actor actor, LocalSession session, EditSession editSession, BlockVector3 pos = session.getPlacementPosition(actor); int affected = editSession.fillXZ(pos, pattern, radius, depth, true); - actor.printInfo(TranslatableComponent.of("worldedit.fillr.created", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.fillr.created", text(affected))); return affected; } @@ -146,7 +146,7 @@ public int drain(Actor actor, LocalSession session, EditSession editSession, radius = Math.max(0, radius); we.checkMaxRadius(radius); int affected = editSession.drainArea(session.getPlacementPosition(actor), radius, waterlogged); - actor.printInfo(TranslatableComponent.of("worldedit.drain.drained", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.drain.drained", text(affected))); return affected; } @@ -163,7 +163,7 @@ public int fixLava(Actor actor, LocalSession session, EditSession editSession, radius = Math.max(0, radius); we.checkMaxRadius(radius); int affected = editSession.fixLiquid(session.getPlacementPosition(actor), radius, BlockTypes.LAVA); - actor.printInfo(TranslatableComponent.of("worldedit.fixlava.fixed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.fixlava.fixed", text(affected))); return affected; } @@ -180,7 +180,7 @@ public int fixWater(Actor actor, LocalSession session, EditSession editSession, radius = Math.max(0, radius); we.checkMaxRadius(radius); int affected = editSession.fixLiquid(session.getPlacementPosition(actor), radius, BlockTypes.WATER); - actor.printInfo(TranslatableComponent.of("worldedit.fixwater.fixed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.fixwater.fixed", text(affected))); return affected; } @@ -204,7 +204,7 @@ public int removeAbove(Actor actor, LocalSession session, EditSession editSessio we.checkMaxRadius(size); int affected = editSession.removeAbove(session.getPlacementPosition(actor), size, height); - actor.printInfo(TranslatableComponent.of("worldedit.removeabove.removed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.removeabove.removed", text(affected))); return affected; } @@ -228,7 +228,7 @@ public int removeBelow(Actor actor, LocalSession session, EditSession editSessio we.checkMaxRadius(size); int affected = editSession.removeBelow(session.getPlacementPosition(actor), size, height); - actor.printInfo(TranslatableComponent.of("worldedit.removebelow.removed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.removebelow.removed", text(affected))); return affected; } @@ -248,7 +248,7 @@ public int removeNear(Actor actor, LocalSession session, EditSession editSession we.checkMaxRadius(radius); int affected = editSession.removeNear(session.getPlacementPosition(actor), mask, radius); - actor.printInfo(TranslatableComponent.of("worldedit.removenear.removed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.removenear.removed", text(affected))); return affected; } @@ -279,7 +279,7 @@ public int replaceNear(Actor actor, World world, LocalSession session, EditSessi } int affected = editSession.replaceBlocks(region, from, to); - actor.printInfo(TranslatableComponent.of("worldedit.replacenear.replaced", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.replacenear.replaced", text(affected))); return affected; } @@ -309,9 +309,7 @@ public int snow(Actor actor, LocalSession session, EditSession editSession, CylinderRegion region = new CylinderRegion(position, Vector2.at(size, size), position.getBlockY() - height, position.getBlockY() + height); int affected = editSession.simulateSnow(region, stack); - actor.printInfo(TranslatableComponent.of( - "worldedit.snow.created", TextComponent.of(affected) - )); + actor.printInfo(translatable("worldedit.snow.created", text(affected))); return affected; } @@ -336,9 +334,7 @@ public int thaw(Actor actor, LocalSession session, EditSession editSession, we.checkMaxRadius(size); int affected = editSession.thaw(session.getPlacementPosition(actor), size, height); - actor.printInfo(TranslatableComponent.of( - "worldedit.thaw.removed", TextComponent.of(affected) - )); + actor.printInfo(translatable("worldedit.thaw.removed", text(affected))); return affected; } @@ -368,9 +364,7 @@ public int green(Actor actor, LocalSession session, EditSession editSession, final int affected = editSession.green( session.getPlacementPosition(actor), size, height, onlyNormalDirt ); - actor.printInfo(TranslatableComponent.of( - "worldedit.green.changed", TextComponent.of(affected) - )); + actor.printInfo(translatable("worldedit.green.changed", text(affected))); return affected; } @@ -393,7 +387,7 @@ public int extinguish(Actor actor, LocalSession session, EditSession editSession Mask mask = new BlockTypeMask(editSession, BlockTypes.FIRE); int affected = editSession.removeNear(session.getPlacementPosition(actor), mask, size); - actor.printInfo(TranslatableComponent.of("worldedit.extinguish.removed", TextComponent.of(affected))); + actor.printInfo(translatable("worldedit.extinguish.removed", text(affected))); return affected; } @@ -427,7 +421,7 @@ public int butcher(Actor actor, if (radius == null) { radius = config.butcherDefaultRadius; } else if (radius < -1) { - actor.printError(TranslatableComponent.of("worldedit.butcher.explain-all")); + actor.printError(translatable("worldedit.butcher.explain-all")); return 0; } else if (radius == -1) { if (config.butcherMaxRadius != -1) { @@ -450,11 +444,8 @@ public int butcher(Actor actor, int killed = killMatchingEntities(radius, actor, flags::createFunction); - actor.printInfo(TranslatableComponent.of( - "worldedit.butcher.killed", - TextComponent.of(killed), - TextComponent.of(radius) - )); + actor.printInfo(translatable("worldedit.butcher.killed", text(killed), + text(radius))); return killed; } @@ -472,12 +463,12 @@ public int remove(Actor actor, @Arg(desc = "The radius of the cuboid to remove from") int radius) throws WorldEditException { if (radius < -1) { - actor.printError(TranslatableComponent.of("worldedit.remove.explain-all")); + actor.printError(translatable("worldedit.remove.explain-all")); return 0; } int removed = killMatchingEntities(radius, actor, remover::createFunction); - actor.printInfo(TranslatableComponent.of("worldedit.remove.removed", TextComponent.of(removed))); + actor.printInfo(translatable("worldedit.remove.removed", text(removed))); return removed; } @@ -527,18 +518,15 @@ public void calc(Actor actor, try { expression = Expression.compile(String.join(" ", input)); } catch (ExpressionException e) { - actor.printError(TranslatableComponent.of( - "worldedit.calc.invalid.with-error", - TextComponent.of(String.join(" ", input)), - TextComponent.of(e.getMessage()) - )); + actor.printError(translatable("worldedit.calc.invalid.with-error", text(String.join(" ", input)), + text(e.getMessage()))); return; } WorldEditAsyncCommandBuilder.createAndSendMessage(actor, () -> { double result = expression.evaluate( new double[]{}, WorldEdit.getInstance().getSessionManager().get(actor).getTimeout()); String formatted = Double.isNaN(result) ? "NaN" : formatForLocale(actor.getLocale()).format(result); - return SubtleFormat.wrap(input + " = ").append(TextComponent.of(formatted, NamedTextColor.LIGHT_PURPLE)); + return SubtleFormat.wrap(input + " = ").append(text(formatted, NamedTextColor.LIGHT_PURPLE)); }, (Component) null); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java index 77031085a1..9b09e4c7ae 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/WorldEditCommands.java @@ -35,7 +35,6 @@ import com.sk89q.worldedit.extension.platform.PlatformManager; import com.sk89q.worldedit.util.formatting.component.MessageBox; import com.sk89q.worldedit.util.formatting.component.TextComponentProducer; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.paste.ActorCallbackPaste; @@ -58,6 +57,9 @@ import java.time.zone.ZoneRulesException; import java.util.List; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + @CommandContainer(superTypes = CommandPermissionsConditionGenerator.Registration.class) public class WorldEditCommands { private static final DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z"); @@ -74,17 +76,17 @@ public WorldEditCommands(WorldEdit we) { desc = "Get WorldEdit version" ) public void version(Actor actor) { - actor.printInfo(TranslatableComponent.of("worldedit.version.version", TextComponent.of(WorldEdit.getVersion()))); - actor.printInfo(TextComponent.of("https://github.com/EngineHub/WorldEdit/")); + actor.printInfo(translatable("worldedit.version.version", text(WorldEdit.getVersion()))); + actor.printInfo(text("https://github.com/EngineHub/WorldEdit/")); PlatformManager pm = we.getPlatformManager(); TextComponentProducer producer = new TextComponentProducer(); for (Platform platform : pm.getPlatforms()) { producer.append( - TextComponent.of("* ", NamedTextColor.GRAY) - .append(TextComponent.of(platform.getPlatformName())) - .append(TextComponent.of("(" + platform.getPlatformVersion() + ")")) + text("* ", NamedTextColor.GRAY) + .append(text(platform.getPlatformName())) + .append(text("(" + platform.getPlatformVersion() + ")")) ).newline(); } actor.print(new MessageBox("Platforms", producer, NamedTextColor.GRAY).create()); @@ -93,9 +95,9 @@ public void version(Actor actor) { for (Capability capability : Capability.values()) { Platform platform = pm.queryCapability(capability); producer.append( - TextComponent.of(capability.name(), NamedTextColor.GRAY) - .append(TextComponent.of(": ") - .append(TextComponent.of(platform != null ? platform.getPlatformName() : "NONE"))) + text(capability.name(), NamedTextColor.GRAY) + .append(text(": ") + .append(text(platform != null ? platform.getPlatformName() : "NONE"))) ).newline(); } actor.print(new MessageBox("Capabilities", producer, NamedTextColor.GRAY).create()); @@ -109,7 +111,7 @@ public void version(Actor actor) { public void reload(Actor actor) { we.getPlatformManager().queryCapability(Capability.CONFIGURATION).reload(); we.getEventBus().post(new ConfigurationLoadEvent(we.getPlatformManager().queryCapability(Capability.CONFIGURATION).getConfiguration())); - actor.printInfo(TranslatableComponent.of("worldedit.reload.config")); + actor.printInfo(translatable("worldedit.reload.config")); } @Command( @@ -128,14 +130,14 @@ public void report(Actor actor, try { File dest = new File(we.getConfiguration().getWorkingDirectory(), "report.txt"); Files.write(result, dest, StandardCharsets.UTF_8); - actor.printInfo(TranslatableComponent.of("worldedit.report.written", TextComponent.of(dest.getAbsolutePath()))); + actor.printInfo(translatable("worldedit.report.written", text(dest.getAbsolutePath()))); } catch (IOException e) { - actor.printError(TranslatableComponent.of("worldedit.report.error", TextComponent.of(e.getMessage()))); + actor.printError(translatable("worldedit.report.error", text(e.getMessage()))); } if (pastebin) { actor.checkPermission("worldedit.report.pastebin"); - ActorCallbackPaste.pastebin(we.getSupervisor(), actor, result, TranslatableComponent.builder("worldedit.report.callback")); + ActorCallbackPaste.pastebin(we.getSupervisor(), actor, result, translatable().key("worldedit.report.callback")); } } @@ -151,14 +153,14 @@ void trace(Actor actor, LocalSession session, if (hookMode != null) { newMode = hookMode == HookMode.ACTIVE; if (newMode == previousMode) { - actor.printError(TranslatableComponent.of(previousMode ? "worldedit.trace.active.already" : "worldedit.trace.inactive.already")); + actor.printError(translatable(previousMode ? "worldedit.trace.active.already" : "worldedit.trace.inactive.already")); return; } } else { newMode = !previousMode; } session.setTracingActions(newMode); - actor.printInfo(TranslatableComponent.of(newMode ? "worldedit.trace.active" : "worldedit.trace.inactive")); + actor.printInfo(translatable(newMode ? "worldedit.trace.active" : "worldedit.trace.inactive")); } @Command( @@ -180,13 +182,12 @@ public void tz(Actor actor, LocalSession session, try { ZoneId tz = ZoneId.of(timezone); session.setTimezone(tz); - actor.printInfo(TranslatableComponent.of("worldedit.timezone.set", TextComponent.of(tz.getDisplayName( + actor.printInfo(translatable("worldedit.timezone.set", text(tz.getDisplayName( TextStyle.FULL, actor.getLocale() )))); - actor.printInfo(TranslatableComponent.of("worldedit.timezone.current", - TextComponent.of(dateFormat.withLocale(actor.getLocale()).format(ZonedDateTime.now(tz))))); + actor.printInfo(translatable("worldedit.timezone.current", text(dateFormat.withLocale(actor.getLocale()).format(ZonedDateTime.now(tz))))); } catch (ZoneRulesException e) { - actor.printError(TranslatableComponent.of("worldedit.timezone.invalid")); + actor.printError(translatable("worldedit.timezone.invalid")); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/AbstractDirectionConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/AbstractDirectionConverter.java index 1765d94e61..72afa1e83f 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/AbstractDirectionConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/AbstractDirectionConverter.java @@ -29,7 +29,6 @@ import com.sk89q.worldedit.internal.annotation.MultiDirection; import com.sk89q.worldedit.internal.annotation.OptionalArg; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import org.enginehub.piston.CommandManager; import org.enginehub.piston.converter.ArgumentConverter; import org.enginehub.piston.converter.ConversionResult; @@ -41,6 +40,7 @@ import java.util.List; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; import static org.enginehub.piston.converter.SuggestionHelper.limitByPrefix; public abstract class AbstractDirectionConverter implements ArgumentConverter { @@ -106,7 +106,7 @@ public ConversionResult convert(String argument, InjectedValueAccess context) @Override public Component describeAcceptableArguments() { - return TextComponent.of("`me` to use facing direction, or any " + return text("`me` to use facing direction, or any " + (includeDiagonals ? "direction" : "non-diagonal direction")); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/Chunk3dVectorConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/Chunk3dVectorConverter.java index 4cfccd4786..9b8e495fbe 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/Chunk3dVectorConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/Chunk3dVectorConverter.java @@ -25,7 +25,6 @@ import com.sk89q.worldedit.internal.annotation.Chunk3d; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import org.enginehub.piston.CommandManager; import org.enginehub.piston.converter.ArgumentConverter; import org.enginehub.piston.converter.ArgumentConverters; @@ -38,6 +37,8 @@ import java.util.List; import java.util.function.Function; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + public class Chunk3dVectorConverter implements ArgumentConverter { public static void register(CommandManager commandManager) { CommaSeparatedValuesConverter intConverter = CommaSeparatedValuesConverter.wrap(ArgumentConverters.get(TypeToken.of(int.class))); @@ -77,7 +78,7 @@ private Chunk3dVectorConverter(ArgumentConverter componentConverter, @Override public Component describeAcceptableArguments() { - return TextComponent.of("any " + acceptableArguments); + return text("any " + acceptableArguments); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/CommaSeparatedValuesConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/CommaSeparatedValuesConverter.java index ef819f3766..352a8b7e8b 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/CommaSeparatedValuesConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/CommaSeparatedValuesConverter.java @@ -32,7 +32,8 @@ import java.util.List; import static com.google.common.base.Preconditions.checkArgument; -import static com.sk89q.worldedit.util.formatting.text.TextComponent.space; +import static com.sk89q.worldedit.util.formatting.text.Component.space; +import static com.sk89q.worldedit.util.formatting.text.Component.text; public class CommaSeparatedValuesConverter implements ArgumentConverter { @@ -58,13 +59,13 @@ private CommaSeparatedValuesConverter(ArgumentConverter delegate, int maximum @Override public Component describeAcceptableArguments() { - TextComponent.Builder result = TextComponent.builder(""); + TextComponent.Builder result = text(); if (maximum > -1) { - result.append(TextComponent.of("up to ")) - .append(TextComponent.of(maximum)) + result.append(text("up to ")) + .append(text(maximum)) .append(space()); } - result.append(TextComponent.of("comma separated values of: ")) + result.append(text("comma separated values of: ")) .append(delegate.describeAcceptableArguments()); return result.build(); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/EntityRemoverConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/EntityRemoverConverter.java index 8286409d19..bd889868db 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/EntityRemoverConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/EntityRemoverConverter.java @@ -22,7 +22,6 @@ import com.google.common.collect.ImmutableList; import com.sk89q.worldedit.command.util.EntityRemover; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import org.enginehub.piston.CommandManager; import org.enginehub.piston.converter.ArgumentConverter; import org.enginehub.piston.converter.ConversionResult; @@ -33,6 +32,7 @@ import java.util.List; +import static com.sk89q.worldedit.util.formatting.text.Component.text; import static org.enginehub.piston.converter.SuggestionHelper.limitByPrefix; public class EntityRemoverConverter implements ArgumentConverter { @@ -49,9 +49,7 @@ private EntityRemoverConverter() { @Override public Component describeAcceptableArguments() { - return TextComponent.of( - "projectiles, items, paintings, itemframes, boats, minecarts, tnt, xp, or all" - ); + return text("projectiles, items, paintings, itemframes, boats, minecarts, tnt, xp, or all"); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/FactoryConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/FactoryConverter.java index 009130385b..fee9af4509 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/FactoryConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/FactoryConverter.java @@ -37,7 +37,6 @@ import com.sk89q.worldedit.session.ClipboardHolder; import com.sk89q.worldedit.session.request.RequestExtent; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.world.World; import org.enginehub.piston.CommandManager; import org.enginehub.piston.converter.ArgumentConverter; @@ -52,6 +51,8 @@ import java.util.function.Function; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + public class FactoryConverter implements ArgumentConverter { public static void register(WorldEdit worldEdit, CommandManager commandManager) { @@ -137,6 +138,6 @@ public List getSuggestions(String input, InjectedValueAccess context) { @Override public Component describeAcceptableArguments() { - return TextComponent.of("any " + description); + return text("any " + description); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/HeightConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/HeightConverter.java index 9906e7f743..9b3674120d 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/HeightConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/HeightConverter.java @@ -24,7 +24,6 @@ import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.internal.annotation.VertHeight; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import org.enginehub.piston.CommandManager; import org.enginehub.piston.converter.ArgumentConverter; import org.enginehub.piston.converter.ArgumentConverters; @@ -33,6 +32,8 @@ import org.enginehub.piston.inject.InjectedValueAccess; import org.enginehub.piston.inject.Key; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + /** * Converter for handling default heights as the * {@linkplain LocalConfiguration#defaultVerticalHeight currently configured @@ -59,7 +60,7 @@ private HeightConverter() { @Override public Component describeAcceptableArguments() { - return TextComponent.of("Any integer"); + return text("Any integer"); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/OffsetConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/OffsetConverter.java index 7acaf5a3a0..95ab08bbaf 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/OffsetConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/OffsetConverter.java @@ -25,7 +25,6 @@ import com.sk89q.worldedit.internal.annotation.Offset; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import org.enginehub.piston.CommandManager; import org.enginehub.piston.converter.ArgumentConverter; import org.enginehub.piston.converter.ConversionResult; @@ -34,6 +33,8 @@ import java.util.List; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + public class OffsetConverter implements ArgumentConverter { public static void register(WorldEdit worldEdit, CommandManager commandManager) { @@ -53,9 +54,9 @@ private OffsetConverter(WorldEdit worldEdit) { @Override public Component describeAcceptableArguments() { - return TextComponent.builder() + return text() .append(directionVectorConverter.describeAcceptableArguments()) - .append(", or ") + .append(text(", or ")) .append(vectorConverter.describeAcceptableArguments()) .build(); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/RegistryConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/RegistryConverter.java index f777c3a446..824df0015a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/RegistryConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/RegistryConverter.java @@ -47,6 +47,8 @@ import java.util.List; import java.util.stream.Collectors; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + public final class RegistryConverter implements ArgumentConverter { @SuppressWarnings("unchecked") @@ -88,7 +90,7 @@ private static RegistryConverter from(Class registry private RegistryConverter(Registry registry) { this.registry = registry; - this.choices = TextComponent.of("any " + registry.getName()); + this.choices = text("any " + registry.getName()); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/SideEffectConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/SideEffectConverter.java index 4becfcc65f..33a2349e09 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/SideEffectConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/SideEffectConverter.java @@ -35,6 +35,7 @@ import java.util.List; import java.util.Locale; +import static com.sk89q.worldedit.util.formatting.text.Component.text; import static org.enginehub.piston.converter.SuggestionHelper.limitByPrefix; public class SideEffectConverter implements ArgumentConverter { @@ -43,7 +44,7 @@ public static void register(CommandManager commandManager) { commandManager.registerConverter(Key.of(SideEffect.class), new SideEffectConverter()); } - private final TextComponent choices = TextComponent.of("any side effect"); + private final TextComponent choices = text("any side effect"); private SideEffectConverter() { } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/VectorConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/VectorConverter.java index 91ddfa2e4e..c92c2f9266 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/VectorConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/VectorConverter.java @@ -26,7 +26,6 @@ import com.sk89q.worldedit.math.Vector2; import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import org.enginehub.piston.CommandManager; import org.enginehub.piston.converter.ArgumentConverter; import org.enginehub.piston.converter.ArgumentConverters; @@ -39,6 +38,8 @@ import java.util.List; import java.util.function.Function; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + public class VectorConverter implements ArgumentConverter { private static final CommaSeparatedValuesConverter INT_CONVERTER = @@ -95,7 +96,7 @@ private VectorConverter(ArgumentConverter componentConverter, @Override public Component describeAcceptableArguments() { - return TextComponent.of("any " + acceptableArguments); + return text("any " + acceptableArguments); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/WorldConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/WorldConverter.java index af6ce8b41a..5188bfe58c 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/WorldConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/WorldConverter.java @@ -36,6 +36,8 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + public class WorldConverter implements ArgumentConverter { public static void register(CommandManager commandManager) { @@ -47,7 +49,7 @@ public static void register(CommandManager commandManager) { private final TextComponent choices; private WorldConverter() { - this.choices = TextComponent.of("any world"); + this.choices = text("any world"); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/ZonedDateTimeConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/ZonedDateTimeConverter.java index f86f5e49b8..fba4311632 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/ZonedDateTimeConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/argument/ZonedDateTimeConverter.java @@ -21,7 +21,6 @@ import com.sk89q.worldedit.LocalSession; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import org.enginehub.piston.CommandManager; import org.enginehub.piston.converter.ArgumentConverter; import org.enginehub.piston.converter.ConversionResult; @@ -34,6 +33,8 @@ import java.time.ZonedDateTime; import java.util.Calendar; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + public class ZonedDateTimeConverter implements ArgumentConverter { public static void register(CommandManager commandManager) { @@ -45,7 +46,7 @@ private ZonedDateTimeConverter() { @Override public Component describeAcceptableArguments() { - return TextComponent.of("any date"); + return text("any date"); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/AreaPickaxe.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/AreaPickaxe.java index a211128a4d..e98bb256a2 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/AreaPickaxe.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/AreaPickaxe.java @@ -29,13 +29,14 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A super pickaxe mode that will remove blocks in an area. */ @@ -87,7 +88,7 @@ public boolean actPrimary(Platform server, LocalConfiguration config, Player pla } } } catch (MaxChangedBlocksException e) { - player.printError(TranslatableComponent.of("worldedit.tool.max-block-changes")); + player.printError(translatable("worldedit.tool.max-block-changes")); } finally { session.remember(editSession); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockDataCyler.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockDataCyler.java index 582ae437b9..a21a82d5ae 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockDataCyler.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockDataCyler.java @@ -31,8 +31,6 @@ import com.sk89q.worldedit.registry.state.Property; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockState; @@ -42,6 +40,9 @@ import java.util.UUID; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A mode that cycles the data values of supported blocks. */ @@ -65,12 +66,12 @@ private boolean handleCycle(LocalConfiguration config, Player player, LocalSessi if (!config.allowedDataCycleBlocks.isEmpty() && !player.hasPermission("worldedit.override.data-cycler") && !config.allowedDataCycleBlocks.contains(block.getBlockType().getId())) { - player.printError(TranslatableComponent.of("worldedit.tool.data-cycler.block-not-permitted")); + player.printError(translatable("worldedit.tool.data-cycler.block-not-permitted")); return true; } if (block.getStates().keySet().isEmpty()) { - player.printError(TranslatableComponent.of("worldedit.tool.data-cycler.cant-cycle")); + player.printError(translatable("worldedit.tool.data-cycler.cant-cycle")); } else { Property currentProperty = selectedProperties.get(player.getUniqueId()); @@ -92,13 +93,10 @@ private boolean handleCycle(LocalConfiguration config, Player player, LocalSessi try { editSession.setBlock(blockPoint, newBlock); - player.printInfo(TranslatableComponent.of( - "worldedit.tool.data-cycler.new-value", - TextComponent.of(currentProperty.getName()), - TextComponent.of(String.valueOf(currentProperty.getValues().get(index))) - )); + player.printInfo(translatable("worldedit.tool.data-cycler.new-value", text(currentProperty.getName()), + text(String.valueOf(currentProperty.getValues().get(index))))); } catch (MaxChangedBlocksException e) { - player.printError(TranslatableComponent.of("worldedit.tool.max-block-changes")); + player.printError(translatable("worldedit.tool.max-block-changes")); } finally { session.remember(editSession); } @@ -109,7 +107,7 @@ private boolean handleCycle(LocalConfiguration config, Player player, LocalSessi index = (index + 1) % properties.size(); currentProperty = properties.get(index); selectedProperties.put(player.getUniqueId(), currentProperty); - player.printInfo(TranslatableComponent.of("worldedit.tool.data-cycler.cycling", TextComponent.of(currentProperty.getName()))); + player.printInfo(translatable("worldedit.tool.data-cycler.cycling", text(currentProperty.getName()))); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockReplacer.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockReplacer.java index c3ffc486fa..1138201cda 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockReplacer.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BlockReplacer.java @@ -31,11 +31,12 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.block.BaseBlock; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A mode that replaces one block. */ @@ -81,7 +82,7 @@ public boolean actSecondary(Platform server, LocalConfiguration config, Player p if (targetBlock != null) { pattern = targetBlock; - player.printInfo(TranslatableComponent.of("worldedit.tool.repl.switched", targetBlock.getBlockType().getRichName())); + player.printInfo(translatable("worldedit.tool.repl.switched", targetBlock.getBlockType().getRichName())); } return true; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BrushTool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BrushTool.java index 4559aad37f..efdbffd5cf 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BrushTool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/BrushTool.java @@ -33,11 +33,11 @@ import com.sk89q.worldedit.function.mask.MaskIntersection; import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Builds a shape at the place being looked at. @@ -184,7 +184,7 @@ public boolean actPrimary(Platform server, LocalConfiguration config, Player pla Location target = player.getBlockTrace(getRange(), true, traceMask); if (target == null) { - player.printError(TranslatableComponent.of("worldedit.tool.no-block")); + player.printError(translatable("worldedit.tool.no-block")); return true; } @@ -208,7 +208,7 @@ public boolean actPrimary(Platform server, LocalConfiguration config, Player pla try { brush.build(editSession, target.toVector().toBlockPoint(), material, size); } catch (MaxChangedBlocksException e) { - player.printError(TranslatableComponent.of("worldedit.tool.max-block-changes")); + player.printError(translatable("worldedit.tool.max-block-changes")); } finally { session.remember(editSession); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DistanceWand.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DistanceWand.java index 5d62d7abd0..2b752b4c08 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DistanceWand.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/DistanceWand.java @@ -28,7 +28,8 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.regions.RegionSelector; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; + +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * A wand that can be used at a distance. @@ -79,7 +80,7 @@ private Location getTarget(Player player) { } if (target == null) { - player.printError(TranslatableComponent.of("worldedit.tool.no-block")); + player.printError(translatable("worldedit.tool.no-block")); return null; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/FloatingTreeRemover.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/FloatingTreeRemover.java index 58a0361e26..db18c5d988 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/FloatingTreeRemover.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/FloatingTreeRemover.java @@ -29,7 +29,6 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockCategories; import com.sk89q.worldedit.world.block.BlockState; @@ -41,6 +40,8 @@ import java.util.Set; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A pickaxe mode that removes floating treetops (logs and leaves not connected * to anything else). @@ -75,7 +76,7 @@ public boolean actPrimary(Platform server, LocalConfiguration config, final BlockState state = world.getBlock(clicked.toVector().toBlockPoint()); if (!isTreeBlock(state.getBlockType())) { - player.printError(TranslatableComponent.of("worldedit.tool.deltree.not-tree")); + player.printError(translatable("worldedit.tool.deltree.not-tree")); return true; } @@ -83,7 +84,7 @@ public boolean actPrimary(Platform server, LocalConfiguration config, try { final Set blockSet = bfs(world, clicked.toVector().toBlockPoint()); if (blockSet == null) { - player.printError(TranslatableComponent.of("worldedit.tool.deltree.not-floating")); + player.printError(translatable("worldedit.tool.deltree.not-floating")); return true; } @@ -94,7 +95,7 @@ public boolean actPrimary(Platform server, LocalConfiguration config, } } } catch (MaxChangedBlocksException e) { - player.printError(TranslatableComponent.of("worldedit.tool.max-block-changes")); + player.printError(translatable("worldedit.tool.max-block-changes")); } finally { session.remember(editSession); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/FloodFillTool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/FloodFillTool.java index 03c7f0e097..fb5ff2265c 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/FloodFillTool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/FloodFillTool.java @@ -30,7 +30,6 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; @@ -39,6 +38,8 @@ import java.util.Set; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A tool that flood fills blocks. */ @@ -76,7 +77,7 @@ public boolean actPrimary(Platform server, LocalConfiguration config, Player pla try { recurse(editSession, origin, origin, range, initialType, new HashSet<>()); } catch (MaxChangedBlocksException e) { - player.printError(TranslatableComponent.of("worldedit.tool.max-block-changes")); + player.printError(translatable("worldedit.tool.max-block-changes")); } finally { session.remember(editSession); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/LongRangeBuildTool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/LongRangeBuildTool.java index 0137157451..ef38690b91 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/LongRangeBuildTool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/LongRangeBuildTool.java @@ -31,9 +31,10 @@ import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.block.BaseBlock; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A tool that can place (or remove) blocks at a distance. */ @@ -123,7 +124,7 @@ private Location getTargetFace(Player player) { } if (target == null) { - player.printError(TranslatableComponent.of("worldedit.tool.no-block")); + player.printError(translatable("worldedit.tool.no-block")); return null; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/NavigationWand.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/NavigationWand.java index de87aa11b3..c6752174e1 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/NavigationWand.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/NavigationWand.java @@ -25,7 +25,8 @@ import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.extension.platform.Platform; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; + +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; public class NavigationWand implements DoubleActionTraceTool { @Override @@ -41,7 +42,7 @@ public boolean actSecondary(Platform server, LocalConfiguration config, Player p if (pos != null) { player.findFreePosition(pos); } else { - player.printError(TranslatableComponent.of("worldedit.jumpto.none")); + player.printError(translatable("worldedit.jumpto.none")); } return true; } @@ -57,7 +58,7 @@ public boolean actPrimary(Platform server, LocalConfiguration config, Player pla } if (!player.passThroughForwardWall(Math.max(1, maxDist - 10))) { - player.printError(TranslatableComponent.of("worldedit.thru.obstructed")); + player.printError(translatable("worldedit.thru.obstructed")); } return true; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/QueryTool.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/QueryTool.java index 9825436e0b..21b230165c 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/QueryTool.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/QueryTool.java @@ -30,8 +30,6 @@ import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BaseBlock; @@ -39,6 +37,9 @@ import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Looks up information about a block. */ @@ -57,25 +58,25 @@ public boolean actPrimary(Platform server, LocalConfiguration config, Player pla BlockVector3 blockPoint = clicked.toVector().toBlockPoint(); BaseBlock block = editSession.getFullBlock(blockPoint); - TextComponent.Builder builder = TextComponent.builder(); - builder.append(TextComponent.of("@" + clicked.toVector().toBlockPoint() + ": ", NamedTextColor.BLUE)); + TextComponent.Builder builder = text(); + builder.append(text("@" + clicked.toVector().toBlockPoint() + ": ", NamedTextColor.BLUE)); builder.append(block.getBlockType().getRichName().color(NamedTextColor.YELLOW)); - builder.append(TextComponent.of(" (" + block + ") ", NamedTextColor.GRAY) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TranslatableComponent.of("worldedit.tool.info.blockstate.hover")))); + builder.append(text(" (" + block + ") ", NamedTextColor.GRAY) + .hoverEvent(translatable("worldedit.tool.info.blockstate.hover"))); final int internalId = BlockStateIdAccess.getBlockStateId(block.toImmutableState()); if (BlockStateIdAccess.isValidInternalId(internalId)) { - builder.append(TextComponent.of(" (" + internalId + ") ", NamedTextColor.DARK_GRAY) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TranslatableComponent.of("worldedit.tool.info.internalid.hover")))); + builder.append(text(" (" + internalId + ") ", NamedTextColor.DARK_GRAY) + .hoverEvent(translatable("worldedit.tool.info.internalid.hover"))); } final int[] legacy = LegacyMapper.getInstance().getLegacyFromBlock(block.toImmutableState()); if (legacy != null) { - builder.append(TextComponent.of(" (" + legacy[0] + ":" + legacy[1] + ") ", NamedTextColor.DARK_GRAY) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TranslatableComponent.of("worldedit.tool.info.legacy.hover")))); + builder.append(text(" (" + legacy[0] + ":" + legacy[1] + ") ", NamedTextColor.DARK_GRAY) + .hoverEvent(translatable("worldedit.tool.info.legacy.hover"))); } - builder.append(TextComponent.of(" (" + world.getBlockLightLevel(blockPoint) + "/" + builder.append(text(" (" + world.getBlockLightLevel(blockPoint) + "/" + world.getBlockLightLevel(blockPoint.add(0, 1, 0)) + ")", NamedTextColor.WHITE) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TranslatableComponent.of("worldedit.tool.info.light.hover")))); + .hoverEvent(translatable("worldedit.tool.info.light.hover"))); player.print(builder.build()); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/RecursivePickaxe.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/RecursivePickaxe.java index e114b77078..018192f900 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/RecursivePickaxe.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/RecursivePickaxe.java @@ -29,7 +29,6 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; @@ -38,6 +37,8 @@ import java.util.Set; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A pickaxe mode that recursively finds adjacent blocks within range of * an initial block and of the same type. @@ -77,7 +78,7 @@ public boolean actPrimary(Platform server, LocalConfiguration config, Player pla recurse(server, editSession, world, clicked.toVector().toBlockPoint(), clicked.toVector().toBlockPoint(), range, initialType, new HashSet<>()); } catch (MaxChangedBlocksException e) { - player.printError(TranslatableComponent.of("worldedit.tool.max-block-changes")); + player.printError(translatable("worldedit.tool.max-block-changes")); } finally { session.remember(editSession); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/SinglePickaxe.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/SinglePickaxe.java index cbccb4625b..2d72b7c7f7 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/SinglePickaxe.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/SinglePickaxe.java @@ -29,13 +29,14 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.Location; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A super pickaxe mode that removes one block. */ @@ -59,7 +60,7 @@ public boolean actPrimary(Platform server, LocalConfiguration config, Player pla editSession.getSurvivalExtent().setToolUse(config.superPickaxeDrop); editSession.setBlock(blockPoint, BlockTypes.AIR.getDefaultState()); } catch (MaxChangedBlocksException e) { - player.printError(TranslatableComponent.of("worldedit.tool.max-block-changes")); + player.printError(translatable("worldedit.tool.max-block-changes")); } return true; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/TreePlanter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/TreePlanter.java index 439f19beb7..dce9be3e9d 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/TreePlanter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/TreePlanter.java @@ -30,10 +30,11 @@ import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.TreeGenerator; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Plants a tree. */ @@ -66,10 +67,10 @@ public boolean actPrimary(Platform server, LocalConfiguration config, Player pla } if (!successful) { - player.printError(TranslatableComponent.of("worldedit.tool.tree.obstructed")); + player.printError(translatable("worldedit.tool.tree.obstructed")); } } catch (MaxChangedBlocksException e) { - player.printError(TranslatableComponent.of("worldedit.tool.max-block-changes")); + player.printError(translatable("worldedit.tool.max-block-changes")); } finally { session.remember(editSession); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/AsyncCommandBuilder.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/AsyncCommandBuilder.java index 5814e7b162..75f55873dc 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/AsyncCommandBuilder.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/AsyncCommandBuilder.java @@ -27,7 +27,6 @@ import com.sk89q.worldedit.internal.command.exception.ExceptionConverter; import com.sk89q.worldedit.util.formatting.component.ErrorFormat; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.task.FutureForwardingTask; import com.sk89q.worldedit.util.task.Supervisor; @@ -42,6 +41,7 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; public final class AsyncCommandBuilder { @@ -88,7 +88,7 @@ public AsyncCommandBuilder registerWithSupervisor(Supervisor supervisor, Stri @Deprecated public AsyncCommandBuilder sendMessageAfterDelay(String message) { - return sendMessageAfterDelay(TextComponent.of(checkNotNull(message))); + return sendMessageAfterDelay(text(checkNotNull(message))); } @Deprecated @@ -116,7 +116,7 @@ public AsyncCommandBuilder onSuccess(@Nullable Component message, @Nullable C public AsyncCommandBuilder onSuccess(@Nullable String message, @Nullable Consumer consumer) { checkArgument(message != null || consumer != null, "Can't have null message AND consumer"); - this.successMessage = message == null ? null : TextComponent.of(message, NamedTextColor.LIGHT_PURPLE); + this.successMessage = message == null ? null : text(message, NamedTextColor.LIGHT_PURPLE); this.consumer = consumer; return this; } @@ -151,7 +151,6 @@ public ListenableFuture buildAndExec(ListeningExecutorService executor) { return future; } - @SuppressWarnings("deprecation") private T runTask() { T result = null; try { @@ -163,13 +162,11 @@ private T runTask() { sender.print(successMessage); } } catch (Throwable orig) { - Component failure = failureMessage != null ? failureMessage : TextComponent.of("An error occurred"); + Component failure = failureMessage != null ? failureMessage : text("An error occurred"); try { if (exceptionConverter != null) { try { - if (orig instanceof com.sk89q.minecraft.util.commands.CommandException) { - throw new CommandExecutionException(orig, ImmutableList.of()); - } + rethrowOldException(orig); exceptionConverter.convert(orig); throw orig; } catch (CommandException converted) { @@ -180,24 +177,31 @@ private T runTask() { if (message == null) { if (Strings.isNullOrEmpty(converted.getMessage())) { - message = TextComponent.of("Unknown error."); + message = text("Unknown error."); } else { message = converted.getRichMessage(); } } - sender.printError(failure.append(TextComponent.of(": ")).append(message)); + sender.printError(failure.append(text(": ")).append(message)); } } else { throw orig; } } catch (Throwable unknown) { - sender.printError(failure.append(TextComponent.of(": Unknown error. Please see console."))); + sender.printError(failure.append(text(": Unknown error. Please see console."))); logger.error("Uncaught exception occurred in task: " + description, orig); } } return result; } + @SuppressWarnings("deprecation") + private void rethrowOldException(Throwable orig) { + if (orig instanceof com.sk89q.minecraft.util.commands.CommandException) { + throw new CommandExecutionException(orig, ImmutableList.of()); + } + } + // this is needed right now since worldguard is still on the 2011 command framework which throws and converts // com.sk89q.minecraft.util.commands.CommandException. the ExceptionConverter currently expects converted // exceptions to be org.enginehub.piston.CommandException, throw it wraps the resulting InvocationTargetException in @@ -211,7 +215,7 @@ private Component tryExtractOldCommandException(CommandException converted) { if (parentCause instanceof com.sk89q.minecraft.util.commands.CommandException) { final String msg = parentCause.getMessage(); if (!Strings.isNullOrEmpty(msg)) { - message = TextComponent.of(msg); + message = text(msg); } break; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/FutureProgressListener.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/FutureProgressListener.java index 9f41bae07d..ee91fadd51 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/FutureProgressListener.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/FutureProgressListener.java @@ -23,12 +23,12 @@ import com.google.common.util.concurrent.MoreExecutors; import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import java.util.Timer; import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; public class FutureProgressListener implements Runnable { @@ -40,7 +40,7 @@ public class FutureProgressListener implements Runnable { @Deprecated public FutureProgressListener(Actor sender, String message) { - this(sender, TextComponent.of(message)); + this(sender, text(message)); } public FutureProgressListener(Actor sender, Component message) { @@ -62,7 +62,7 @@ public void run() { @Deprecated public static void addProgressListener(ListenableFuture future, Actor sender, String message) { - addProgressListener(future, sender, TextComponent.of(message)); + addProgressListener(future, sender, text(message)); } public static void addProgressListener(ListenableFuture future, Actor sender, Component message) { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/MessageTimerTask.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/MessageTimerTask.java index ee5de1a2e3..adc3d3694e 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/MessageTimerTask.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/MessageTimerTask.java @@ -21,12 +21,12 @@ import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import java.util.TimerTask; import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; public class MessageTimerTask extends TimerTask { @@ -39,7 +39,7 @@ public class MessageTimerTask extends TimerTask { @Deprecated MessageTimerTask(Actor sender, String message) { - this(sender, TextComponent.of(message), null); + this(sender, text(message), null); } MessageTimerTask(Actor sender, Component message, @Nullable Component workingMessage) { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/PrintCommandHelp.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/PrintCommandHelp.java index 0d3c21ba89..30b71cd2fd 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/PrintCommandHelp.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/PrintCommandHelp.java @@ -26,8 +26,6 @@ import com.sk89q.worldedit.util.formatting.component.CommandListBox; import com.sk89q.worldedit.util.formatting.component.CommandUsageBox; import com.sk89q.worldedit.util.formatting.component.InvalidComponentException; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import org.enginehub.piston.Command; import org.enginehub.piston.CommandManager; @@ -40,6 +38,8 @@ import static com.sk89q.worldedit.internal.command.CommandUtil.byCleanName; import static com.sk89q.worldedit.internal.command.CommandUtil.getSubCommands; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; import static java.util.stream.Collectors.toList; /** @@ -79,7 +79,7 @@ public static void help(List commandPath, int page, boolean listSubComma List visited = new ArrayList<>(); Command currentCommand = detectCommand(manager, commandPath.get(0)); if (currentCommand == null) { - actor.printError(TranslatableComponent.of("worldedit.help.command-not-found", TextComponent.of(commandPath.get(0)))); + actor.printError(translatable("worldedit.help.command-not-found", text(commandPath.get(0)))); return; } visited.add(currentCommand); @@ -90,8 +90,7 @@ public static void help(List commandPath, int page, boolean listSubComma Map subCommands = getSubCommands(currentCommand); if (subCommands.isEmpty()) { - actor.printError(TranslatableComponent.of("worldedit.help.no-subcommands", - TextComponent.of(toCommandString(visited)), TextComponent.of(subCommand))); + actor.printError(translatable("worldedit.help.no-subcommands", text(toCommandString(visited)), text(subCommand))); // full help for single command CommandUsageBox box = new CommandUsageBox(visited, visited.stream() .map(Command::getName).collect(Collectors.joining(" ")), helpRootCommand); @@ -103,8 +102,7 @@ public static void help(List commandPath, int page, boolean listSubComma currentCommand = subCommands.get(subCommand); visited.add(currentCommand); } else { - actor.printError(TranslatableComponent.of("worldedit.help.subcommand-not-found", - TextComponent.of(subCommand), TextComponent.of(toCommandString(visited)))); + actor.printError(translatable("worldedit.help.subcommand-not-found", text(subCommand), text(toCommandString(visited)))); // list subcommands for currentCommand printCommands(page, getSubCommands(Iterables.getLast(visited)).values().stream(), actor, visited, helpRootCommand); return; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/WorldEditAsyncCommandBuilder.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/WorldEditAsyncCommandBuilder.java index 9f89216de7..91312b800d 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/WorldEditAsyncCommandBuilder.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/util/WorldEditAsyncCommandBuilder.java @@ -22,11 +22,12 @@ import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import java.util.concurrent.Callable; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + /** * For internal WorldEdit use only. */ @@ -36,7 +37,7 @@ private WorldEditAsyncCommandBuilder() { @Deprecated public static void createAndSendMessage(Actor actor, Callable task, @Nullable String desc) { - createAndSendMessage(actor, task, desc != null ? TextComponent.of(desc) : null); + createAndSendMessage(actor, task, desc != null ? text(desc) : null); } public static void createAndSendMessage(Actor actor, Callable task, @Nullable Component desc) { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/MaskFactory.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/MaskFactory.java index cf9fbb368a..4c167d3f43 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/MaskFactory.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/MaskFactory.java @@ -41,13 +41,14 @@ import com.sk89q.worldedit.function.mask.MaskIntersection; import com.sk89q.worldedit.internal.registry.AbstractFactory; import com.sk89q.worldedit.internal.registry.InputParser; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A registry of known {@link Mask}s. Provides methods to instantiate * new masks from input. @@ -111,14 +112,14 @@ public Mask parseFromInput(String input, ParserContext context) throws InputPars } } if (match == null) { - throw new NoMatchException(TranslatableComponent.of("worldedit.error.no-match", TextComponent.of(component))); + throw new NoMatchException(translatable("worldedit.error.no-match", text(component))); } masks.add(match); } switch (masks.size()) { case 0: - throw new NoMatchException(TranslatableComponent.of("worldedit.error.no-match", TextComponent.of(input))); + throw new NoMatchException(translatable("worldedit.error.no-match", text(input))); case 1: return masks.get(0); default: diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/DefaultBlockParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/DefaultBlockParser.java index 0b6a948b7a..6bce50c53e 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/DefaultBlockParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/DefaultBlockParser.java @@ -40,8 +40,6 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.registry.state.Property; import com.sk89q.worldedit.util.HandSide; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BlockState; @@ -57,6 +55,9 @@ import java.util.Map; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Parses block input strings. */ @@ -73,13 +74,10 @@ private static BaseBlock getBlockInHand(Actor actor, HandSide handSide) throws I } catch (NotABlockException e) { throw new InputParseException(e.getRichMessage()); } catch (WorldEditException e) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.unknown", e.getRichMessage()), e); + throw new InputParseException(translatable("worldedit.error.unknown", e.getRichMessage()), e); } } else { - throw new InputParseException(TranslatableComponent.of( - "worldedit.error.parser.player-only", - TextComponent.of(handSide == HandSide.MAIN_HAND ? "hand" : "offhand") - )); + throw new InputParseException(translatable("worldedit.error.parser.player-only", text(handSide == HandSide.MAIN_HAND ? "hand" : "offhand"))); } } @@ -170,8 +168,7 @@ private static Map, Object> parseProperties(BlockType type, String[] String[] parts = parseableData.split("="); if (parts.length != 2) { throw new InputParseException( - TranslatableComponent.of("worldedit.error.parser.bad-state-format", - TextComponent.of(parseableData)) + translatable("worldedit.error.parser.bad-state-format", text(parseableData)) ); } @@ -179,41 +176,29 @@ private static Map, Object> parseProperties(BlockType type, String[] Property propertyKey = (Property) type.getPropertyMap().get(parts[0]); if (propertyKey == null) { if (context.getActor() != null) { - throw new NoMatchException(TranslatableComponent.of( - "worldedit.error.parser.unknown-property", - TextComponent.of(parts[0]), - TextComponent.of(type.getId()) - )); + throw new NoMatchException(translatable("worldedit.error.parser.unknown-property", text(parts[0]), + text(type.getId()))); } else { WorldEdit.logger.debug("Unknown property " + parts[0] + " for block " + type.getId()); } return Maps.newHashMap(); } if (blockStates.containsKey(propertyKey)) { - throw new InputParseException(TranslatableComponent.of( - "worldedit.error.parser.duplicate-property", - TextComponent.of(parts[0]) - )); + throw new InputParseException(translatable("worldedit.error.parser.duplicate-property", text(parts[0]))); } Object value; try { value = propertyKey.getValueFor(parts[1]); } catch (IllegalArgumentException e) { - throw new NoMatchException(TranslatableComponent.of( - "worldedit.error.parser.unknown-value", - TextComponent.of(parts[1]), - TextComponent.of(propertyKey.getName()) - )); + throw new NoMatchException(translatable("worldedit.error.parser.unknown-value", text(parts[1]), + text(propertyKey.getName()))); } blockStates.put(propertyKey, value); } catch (InputParseException e) { throw e; // Pass-through } catch (Exception e) { - throw new InputParseException(TranslatableComponent.of( - "worldedit.error.parser.bad-state-format", - TextComponent.of(parseableData) - )); + throw new InputParseException(translatable("worldedit.error.parser.bad-state-format", text(parseableData))); } } } @@ -246,7 +231,7 @@ private BaseBlock parseLogic(String input, ParserContext context) throws InputPa Map, Object> blockStates = new HashMap<>(); String[] blockAndExtraData = input.trim().split("\\|"); if (blockAndExtraData.length == 0) { - throw new NoMatchException(TranslatableComponent.of("worldedit.error.unknown-block", TextComponent.of(input))); + throw new NoMatchException(translatable("worldedit.error.unknown-block", text(input))); } blockAndExtraData[0] = woolMapper(blockAndExtraData[0]); @@ -257,7 +242,7 @@ private BaseBlock parseLogic(String input, ParserContext context) throws InputPa try { String[] split = blockAndExtraData[0].split(":", 2); if (split.length == 0) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.invalid-colon")); + throw new InputParseException(translatable("worldedit.error.parser.invalid-colon")); } else if (split.length == 1) { state = LegacyMapper.getInstance().getBlockFromLegacy(Integer.parseInt(split[0])); } else { @@ -279,19 +264,16 @@ private BaseBlock parseLogic(String input, ParserContext context) throws InputPa } else { typeString = blockAndExtraData[0].substring(0, stateStart); if (stateStart + 1 >= blockAndExtraData[0].length()) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.hanging-lbracket", TextComponent.of(stateStart))); + throw new InputParseException(translatable("worldedit.error.parser.hanging-lbracket", text(stateStart))); } int stateEnd = blockAndExtraData[0].lastIndexOf(']'); if (stateEnd < 0) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.missing-rbracket")); + throw new InputParseException(translatable("worldedit.error.parser.missing-rbracket")); } stateString = blockAndExtraData[0].substring(stateStart + 1, blockAndExtraData[0].length() - 1); } if (typeString.isEmpty()) { - throw new InputParseException(TranslatableComponent.of( - "worldedit.error.parser.bad-state-format", - TextComponent.of(blockAndExtraData[0]) - )); + throw new InputParseException(translatable("worldedit.error.parser.bad-state-format", text(blockAndExtraData[0]))); } String[] stateProperties = EMPTY_STRING_ARRAY; if (stateString != null) { @@ -323,7 +305,7 @@ private BaseBlock parseLogic(String input, ParserContext context) throws InputPa try { primaryPosition = context.requireSession().getRegionSelector(world).getPrimaryPosition(); } catch (IncompleteRegionException e) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.incomplete-region")); + throw new InputParseException(translatable("worldedit.error.incomplete-region")); } final BlockState blockInHand = world.getBlock(primaryPosition); @@ -335,7 +317,7 @@ private BaseBlock parseLogic(String input, ParserContext context) throws InputPa } if (blockType == null) { - throw new NoMatchException(TranslatableComponent.of("worldedit.error.unknown-block", TextComponent.of(input))); + throw new NoMatchException(translatable("worldedit.error.unknown-block", text(input))); } blockStates.putAll(parseProperties(blockType, stateProperties, context)); @@ -361,7 +343,7 @@ private BaseBlock parseLogic(String input, ParserContext context) throws InputPa } // this should be impossible but IntelliJ isn't that smart if (blockType == null) { - throw new NoMatchException(TranslatableComponent.of("worldedit.error.unknown-block", TextComponent.of(input))); + throw new NoMatchException(translatable("worldedit.error.unknown-block", text(input))); } // Check if the item is allowed @@ -369,7 +351,7 @@ private BaseBlock parseLogic(String input, ParserContext context) throws InputPa Actor actor = context.requireActor(); if (actor != null && !actor.hasPermission("worldedit.anyblock") && worldEdit.getConfiguration().disallowedBlocks.contains(blockType.getId())) { - throw new DisallowedUsageException(TranslatableComponent.of("worldedit.error.disallowed-block", TextComponent.of(input))); + throw new DisallowedUsageException(translatable("worldedit.error.disallowed-block", text(input))); } } @@ -391,11 +373,11 @@ private BaseBlock parseLogic(String input, ParserContext context) throws InputPa String mobName = blockAndExtraData[1]; EntityType ent = EntityTypes.get(mobName.toLowerCase(Locale.ROOT)); if (ent == null) { - throw new NoMatchException(TranslatableComponent.of("worldedit.error.unknown-entity", TextComponent.of(mobName))); + throw new NoMatchException(translatable("worldedit.error.unknown-entity", text(mobName))); } mobName = ent.getId(); if (!worldEdit.getPlatformManager().queryCapability(Capability.USER_COMMANDS).isValidMobType(mobName)) { - throw new NoMatchException(TranslatableComponent.of("worldedit.error.unknown-mob", TextComponent.of(mobName))); + throw new NoMatchException(translatable("worldedit.error.unknown-mob", text(mobName))); } return new MobSpawnerBlock(state, mobName); } else { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/DefaultItemParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/DefaultItemParser.java index 186fff5560..418209d3e6 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/DefaultItemParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/DefaultItemParser.java @@ -30,8 +30,6 @@ import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.internal.registry.InputParser; import com.sk89q.worldedit.util.HandSide; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.item.ItemType; import com.sk89q.worldedit.world.item.ItemTypes; import com.sk89q.worldedit.world.registry.LegacyMapper; @@ -39,6 +37,9 @@ import java.util.Locale; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class DefaultItemParser extends InputParser { public DefaultItemParser(WorldEdit worldEdit) { @@ -59,7 +60,7 @@ public BaseItem parseFromInput(String input, ParserContext context) throws Input String[] split = input.split(":"); ItemType type; if (split.length == 0) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.invalid-colon")); + throw new InputParseException(translatable("worldedit.error.parser.invalid-colon")); } else if (split.length == 1) { type = LegacyMapper.getInstance().getItemFromLegacy(Integer.parseInt(split[0])); } else { @@ -86,7 +87,7 @@ public BaseItem parseFromInput(String input, ParserContext context) throws Input } if (item == null) { - throw new NoMatchException(TranslatableComponent.of("worldedit.error.no-match", TextComponent.of(input))); + throw new NoMatchException(translatable("worldedit.error.no-match", text(input))); } else { return item; } @@ -96,10 +97,7 @@ private BaseItemStack getItemInHand(Actor actor, HandSide handSide) throws Input if (actor instanceof Player) { return ((Player) actor).getItemInHand(handSide); } else { - throw new InputParseException(TranslatableComponent.of( - "worldedit.error.parser.player-only", - TextComponent.of(handSide == HandSide.MAIN_HAND ? "hand" : "offhand") - )); + throw new InputParseException(translatable("worldedit.error.parser.player-only", text(handSide == HandSide.MAIN_HAND ? "hand" : "offhand"))); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BiomeMaskParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BiomeMaskParser.java index 8e487f45a7..2746a951d0 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BiomeMaskParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BiomeMaskParser.java @@ -28,8 +28,6 @@ import com.sk89q.worldedit.function.mask.BiomeMask; import com.sk89q.worldedit.function.mask.Mask; import com.sk89q.worldedit.internal.registry.InputParser; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.biome.BiomeType; import java.util.Arrays; @@ -38,6 +36,9 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class BiomeMaskParser extends InputParser { public BiomeMaskParser(WorldEdit worldEdit) { @@ -74,7 +75,7 @@ public Mask parseFromInput(String input, ParserContext context) throws InputPars for (String biomeName : Splitter.on(",").split(input.substring(1))) { BiomeType biome = BiomeType.REGISTRY.get(biomeName); if (biome == null) { - throw new NoMatchException(TranslatableComponent.of("worldedit.error.unknown-biome", TextComponent.of(biomeName))); + throw new NoMatchException(translatable("worldedit.error.unknown-biome", text(biomeName))); } biomes.add(biome); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BlockCategoryMaskParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BlockCategoryMaskParser.java index 2f167aab97..2683abe0b9 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BlockCategoryMaskParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BlockCategoryMaskParser.java @@ -27,13 +27,14 @@ import com.sk89q.worldedit.function.mask.BlockCategoryMask; import com.sk89q.worldedit.function.mask.Mask; import com.sk89q.worldedit.internal.registry.InputParser; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.block.BlockCategory; import java.util.Locale; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class BlockCategoryMaskParser extends InputParser { public BlockCategoryMaskParser(WorldEdit worldEdit) { @@ -54,7 +55,7 @@ public Mask parseFromInput(String input, ParserContext context) throws InputPars // This means it's a tag mask. BlockCategory category = BlockCategory.REGISTRY.get(input.substring(2).toLowerCase(Locale.ROOT)); if (category == null) { - throw new NoMatchException(TranslatableComponent.of("worldedit.error.unknown-tag", TextComponent.of(input.substring(2)))); + throw new NoMatchException(translatable("worldedit.error.unknown-tag", text(input.substring(2)))); } else { return new BlockCategoryMask(context.requireExtent(), category); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BlockStateMaskParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BlockStateMaskParser.java index cc361cb496..dabfb9e3d6 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BlockStateMaskParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/BlockStateMaskParser.java @@ -26,11 +26,12 @@ import com.sk89q.worldedit.function.mask.BlockStateMask; import com.sk89q.worldedit.function.mask.Mask; import com.sk89q.worldedit.internal.registry.InputParser; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class BlockStateMaskParser extends InputParser { public BlockStateMaskParser(WorldEdit worldEdit) { @@ -58,7 +59,7 @@ public Mask parseFromInput(String input, ParserContext context) throws InputPars Splitter.on(',').omitEmptyStrings().trimResults().withKeyValueSeparator('=').split(states), strict); } catch (Exception e) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.bad-state-format", TextComponent.of(states)), e); + throw new InputParseException(translatable("worldedit.error.parser.bad-state-format", text(states)), e); } } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/ExpressionMaskParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/ExpressionMaskParser.java index 269f4c4811..fd2c30a367 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/ExpressionMaskParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/ExpressionMaskParser.java @@ -30,11 +30,12 @@ import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.regions.shape.WorldEditExpressionEnvironment; import com.sk89q.worldedit.session.SessionOwner; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import java.util.function.IntSupplier; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class ExpressionMaskParser extends InputParser { public ExpressionMaskParser(WorldEdit worldEdit) { @@ -67,7 +68,7 @@ public Mask parseFromInput(String input, ParserContext context) throws InputPars } return new ExpressionMask(exp); } catch (ExpressionException e) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.invalid-expression")); + throw new InputParseException(translatable("worldedit.error.parser.invalid-expression")); } } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/NegateMaskParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/NegateMaskParser.java index d27cf86e23..8edc18d353 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/NegateMaskParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/NegateMaskParser.java @@ -25,10 +25,11 @@ import com.sk89q.worldedit.function.mask.Mask; import com.sk89q.worldedit.function.mask.Masks; import com.sk89q.worldedit.internal.registry.InputParser; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class NegateMaskParser extends InputParser { public NegateMaskParser(WorldEdit worldEdit) { @@ -55,7 +56,7 @@ public Mask parseFromInput(String input, ParserContext context) throws InputPars if (input.length() > 1) { return Masks.negate(worldEdit.getMaskFactory().parseFromInput(input.substring(1), context)); } else { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.negate-nothing")); + throw new InputParseException(translatable("worldedit.error.parser.negate-nothing")); } } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/RegionMaskParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/RegionMaskParser.java index 524d8b2cff..9ffecb2ff3 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/RegionMaskParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/mask/RegionMaskParser.java @@ -27,10 +27,11 @@ import com.sk89q.worldedit.function.mask.Mask; import com.sk89q.worldedit.function.mask.RegionMask; import com.sk89q.worldedit.internal.registry.SimpleInputParser; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import java.util.List; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class RegionMaskParser extends SimpleInputParser { private final List aliases = ImmutableList.of("#region", "#selection", "#sel"); @@ -49,7 +50,7 @@ public Mask parseFromSimpleInput(String input, ParserContext context) throws Inp try { return new RegionMask(context.requireSession().getSelection(context.requireWorld()).clone()); } catch (IncompleteRegionException e) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.incomplete-region")); + throw new InputParseException(translatable("worldedit.error.incomplete-region")); } } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/BlockCategoryPatternParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/BlockCategoryPatternParser.java index 1bf16d8aa4..54a9ed0974 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/BlockCategoryPatternParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/BlockCategoryPatternParser.java @@ -27,8 +27,6 @@ import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.function.pattern.RandomPattern; import com.sk89q.worldedit.internal.registry.InputParser; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.block.BlockCategory; import com.sk89q.worldedit.world.block.BlockType; @@ -36,6 +34,9 @@ import java.util.Set; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class BlockCategoryPatternParser extends InputParser { public BlockCategoryPatternParser(WorldEdit worldEdit) { @@ -61,13 +62,13 @@ public Pattern parseFromInput(String input, ParserContext context) throws InputP BlockCategory category = BlockCategory.REGISTRY.get(tag); if (category == null) { - throw new NoMatchException(TranslatableComponent.of("worldedit.error.unknown-tag", TextComponent.of(tag))); + throw new NoMatchException(translatable("worldedit.error.unknown-tag", text(tag))); } RandomPattern randomPattern = new RandomPattern(); Set blocks = category.getAll(); if (blocks.isEmpty()) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.empty-tag", TextComponent.of(category.getId()))); + throw new InputParseException(translatable("worldedit.error.empty-tag", text(category.getId()))); } if (anyState) { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/ClipboardPatternParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/ClipboardPatternParser.java index 5c50c9b73e..43678937ad 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/ClipboardPatternParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/ClipboardPatternParser.java @@ -30,11 +30,12 @@ import com.sk89q.worldedit.internal.registry.InputParser; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.session.ClipboardHolder; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import java.util.Locale; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class ClipboardPatternParser extends InputParser { public ClipboardPatternParser(WorldEdit worldEdit) { @@ -79,11 +80,11 @@ public Pattern parseFromInput(String input, ParserContext context) throws InputP String coords = offsetParts[1]; if (coords.length() < 7 // min length of `[x,y,z]` || coords.charAt(0) != '[' || coords.charAt(coords.length() - 1) != ']') { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.clipboard.missing-offset")); + throw new InputParseException(translatable("worldedit.error.parser.clipboard.missing-offset")); } String[] offsetSplit = coords.substring(1, coords.length() - 1).split(","); if (offsetSplit.length != 3) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.clipboard.missing-coordinates")); + throw new InputParseException(translatable("worldedit.error.parser.clipboard.missing-coordinates")); } offset = BlockVector3.at( Integer.parseInt(offsetSplit[0]), @@ -98,10 +99,10 @@ public Pattern parseFromInput(String input, ParserContext context) throws InputP Clipboard clipboard = holder.getClipboard(); return new ClipboardPattern(clipboard, offset); } catch (EmptyClipboardException e) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.empty-clipboard")); + throw new InputParseException(translatable("worldedit.error.empty-clipboard")); } } else { - throw new InputParseException(TranslatableComponent.of("worldedit.error.missing-session")); + throw new InputParseException(translatable("worldedit.error.missing-session")); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/RandomPatternParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/RandomPatternParser.java index 5c77dacfca..03b0081fac 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/RandomPatternParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/RandomPatternParser.java @@ -26,12 +26,13 @@ import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.function.pattern.RandomPattern; import com.sk89q.worldedit.internal.registry.InputParser; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import java.util.List; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class RandomPatternParser extends InputParser { private final java.util.regex.Pattern regex = java.util.regex.Pattern.compile("[0-9]+(\\.[0-9]*)?%.*"); @@ -78,7 +79,7 @@ public Pattern parseFromInput(String input, ParserContext context) throws InputP String[] p = token.split("%"); if (p.length < 2) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.missing-random-type", TextComponent.of(input))); + throw new InputParseException(translatable("worldedit.error.parser.missing-random-type", text(input))); } else { chance = Double.parseDouble(p[0]); innerPattern = worldEdit.getPatternFactory().parseFromInput(p[1], context); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/TypeOrStateApplyingPatternParser.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/TypeOrStateApplyingPatternParser.java index d2c9a85ec2..9678b75f60 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/TypeOrStateApplyingPatternParser.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/factory/parser/pattern/TypeOrStateApplyingPatternParser.java @@ -30,13 +30,14 @@ import com.sk89q.worldedit.function.pattern.StateApplyingPattern; import com.sk89q.worldedit.function.pattern.TypeApplyingPattern; import com.sk89q.worldedit.internal.registry.InputParser; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import java.util.HashMap; import java.util.Map; import java.util.stream.Stream; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class TypeOrStateApplyingPatternParser extends InputParser { @@ -85,28 +86,28 @@ public Pattern parseFromInput(String input, ParserContext context) throws InputP } else { // states given if (!parts[1].endsWith("]")) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.missing-rbracket")); + throw new InputParseException(translatable("worldedit.error.parser.missing-rbracket")); } final String[] states = parts[1].substring(0, parts[1].length() - 1).split(","); Map statesToSet = new HashMap<>(); for (String state : states) { if (state.isEmpty()) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.empty-state")); + throw new InputParseException(translatable("worldedit.error.parser.empty-state")); } String[] propVal = state.split("=", 2); if (propVal.length != 2) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.missing-equals-separator")); + throw new InputParseException(translatable("worldedit.error.parser.missing-equals-separator")); } final String prop = propVal[0]; if (prop.isEmpty()) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.empty-property")); + throw new InputParseException(translatable("worldedit.error.parser.empty-property")); } final String value = propVal[1]; if (value.isEmpty()) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.empty-value")); + throw new InputParseException(translatable("worldedit.error.parser.empty-value")); } if (statesToSet.put(prop, value) != null) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.parser.duplicate-property", TextComponent.of(prop))); + throw new InputParseException(translatable("worldedit.error.parser.duplicate-property", text(prop))); } } if (type.isEmpty()) { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/input/ParserContext.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/input/ParserContext.java index 20fe0f7b40..cedef7de18 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/input/ParserContext.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/input/ParserContext.java @@ -23,11 +23,12 @@ import com.sk89q.worldedit.extension.factory.MaskFactory; import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.extent.Extent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Contains contextual information that may be useful when constructing * objects from a registry (such as {@link MaskFactory}). @@ -147,7 +148,7 @@ public void setActor(@Nullable Actor actor) { public Extent requireExtent() throws InputParseException { Extent extent = getExtent(); if (extent == null) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.missing-extent")); + throw new InputParseException(translatable("worldedit.error.missing-extent")); } return extent; } @@ -161,7 +162,7 @@ public Extent requireExtent() throws InputParseException { public LocalSession requireSession() throws InputParseException { LocalSession session = getSession(); if (session == null) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.missing-session")); + throw new InputParseException(translatable("worldedit.error.missing-session")); } return session; } @@ -175,7 +176,7 @@ public LocalSession requireSession() throws InputParseException { public World requireWorld() throws InputParseException { World world = getWorld(); if (world == null) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.missing-world")); + throw new InputParseException(translatable("worldedit.error.missing-world")); } return world; } @@ -189,7 +190,7 @@ public World requireWorld() throws InputParseException { public Actor requireActor() throws InputParseException { Actor actor = getActor(); if (actor == null) { - throw new InputParseException(TranslatableComponent.of("worldedit.error.missing-actor")); + throw new InputParseException(translatable("worldedit.error.missing-actor")); } return actor; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractActor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractActor.java index 92fc2d0909..c68e056af2 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractActor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractActor.java @@ -1,12 +1,32 @@ +/* + * WorldEdit, a Minecraft world manipulation toolkit + * Copyright (C) sk89q + * Copyright (C) WorldEdit team and contributors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + package com.sk89q.worldedit.extension.platform; import com.sk89q.worldedit.util.formatting.WorldEditText; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.function.Consumer; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + /** * Base class for implementing an actor. Provides reasonable defaults. */ @@ -22,7 +42,7 @@ protected AbstractActor(Consumer sendMessage) { @Deprecated public void printRaw(String msg) { for (String part : msg.split("\n")) { - print(TextComponent.of(part)); + print(text(part)); } } @@ -30,7 +50,7 @@ public void printRaw(String msg) { @Deprecated public void print(String msg) { for (String part : msg.split("\n")) { - print(TextComponent.of(part, NamedTextColor.LIGHT_PURPLE)); + print(text(part, NamedTextColor.LIGHT_PURPLE)); } } @@ -38,7 +58,7 @@ public void print(String msg) { @Deprecated public void printDebug(String msg) { for (String part : msg.split("\n")) { - print(TextComponent.of(part, NamedTextColor.GRAY)); + print(text(part, NamedTextColor.GRAY)); } } @@ -46,7 +66,7 @@ public void printDebug(String msg) { @Deprecated public void printError(String msg) { for (String part : msg.split("\n")) { - print(TextComponent.of(part, NamedTextColor.RED)); + print(text(part, NamedTextColor.RED)); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractPlayerActor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractPlayerActor.java index a2fbf07b06..19aaf7bca5 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractPlayerActor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/AbstractPlayerActor.java @@ -36,7 +36,6 @@ import com.sk89q.worldedit.util.TargetBlock; import com.sk89q.worldedit.util.auth.AuthorizationException; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BlockCategories; @@ -48,12 +47,13 @@ import com.sk89q.worldedit.world.gamemode.GameModes; import com.sk89q.worldedit.world.item.ItemType; import com.sk89q.worldedit.world.item.ItemTypes; -import net.kyori.adventure.audience.Audience; import java.io.File; import java.util.function.Consumer; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * An abstract implementation of both a {@link Actor} and a {@link Player} * that is intended for implementations of WorldEdit to use to wrap @@ -505,13 +505,13 @@ public boolean trySetPosition(Vector3 pos) { @Override public File openFileOpenDialog(String[] extensions) { - printError(TranslatableComponent.of("worldedit.platform.no-file-dialog")); + printError(translatable("worldedit.platform.no-file-dialog")); return null; } @Override public File openFileSaveDialog(String[] extensions) { - printError(TranslatableComponent.of("worldedit.platform.no-file-dialog")); + printError(translatable("worldedit.platform.no-file-dialog")); return null; } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java index 59d966f40f..4d69043f7f 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/extension/platform/PlatformCommandManager.java @@ -102,9 +102,6 @@ import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.session.request.Request; import com.sk89q.worldedit.util.eventbus.Subscribe; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.logging.DynamicStreamHandler; import com.sk89q.worldedit.util.logging.LogFormat; import com.sk89q.worldedit.world.World; @@ -142,6 +139,8 @@ import java.util.stream.Stream; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Handles the registration and invocation of commands. @@ -284,7 +283,7 @@ private void registerSubCommands(String name, List aliases, String Consumer additionalConfig) { commandManager.register(name, cmd -> { cmd.aliases(aliases); - cmd.description(TextComponent.of(desc)); + cmd.description(text(desc)); cmd.action(Command.Action.NULL_ACTION); CommandManager manager = commandManagerService.newCommandManager(); @@ -296,8 +295,8 @@ private void registerSubCommands(String name, List aliases, String additionalConfig.accept(manager); final List subCommands = manager.getAllCommands().collect(Collectors.toList()); - cmd.addPart(SubCommandPart.builder(TranslatableComponent.of("worldedit.argument.action"), - TextComponent.of("Sub-command to run.")) + cmd.addPart(SubCommandPart.builder(translatable("worldedit.argument.action"), + text("Sub-command to run.")) .withCommands(subCommands) .required() .build()); @@ -505,20 +504,16 @@ public void handleCommand(CommandEvent event) { } } catch (ConditionFailedException e) { if (e.getCondition() instanceof PermissionCondition) { - actor.printError(TranslatableComponent.of("worldedit.command.permissions")); + actor.printError(translatable("worldedit.command.permissions")); } else { actor.print(e.getRichMessage()); } } catch (UsageException e) { - actor.print(TextComponent.builder("") - .color(NamedTextColor.RED) - .append(e.getRichMessage()) - .build()); + actor.printError(e.getRichMessage()); ImmutableList cmd = e.getCommands(); if (!cmd.isEmpty()) { actor.printError( - TranslatableComponent.of("worldedit.error.incorrect-usage", - HelpGenerator.create(e.getCommandParseResult()).getUsage()) + translatable("worldedit.error.incorrect-usage", HelpGenerator.create(e.getCommandParseResult()).getUsage()) ); } } catch (CommandExecutionException e) { @@ -541,12 +536,9 @@ public void handleCommand(CommandEvent event) { double timeS = (time / 1000.0); int changed = editSession.getBlockChangeCount(); double throughput = timeS == 0 ? changed : changed / timeS; - actor.printDebug(TranslatableComponent.of( - "worldedit.command.time-elapsed", - TextComponent.of(timeS), - TextComponent.of(changed), - TextComponent.of(Math.round(throughput)) - )); + actor.printDebug(translatable("worldedit.command.time-elapsed", text(timeS), + text(changed), + text(Math.round(throughput)))); } worldEdit.flushBlockBag(actor, editSession); @@ -565,7 +557,7 @@ private MemoizingValueAccess initializeInjectedValues(Arguments arguments, Actor store.injectValue(Key.of(Player.class, OptionalArg.class), ValueProvider.constant((Player) actor)); } else { store.injectValue(Key.of(Player.class), context -> { - throw new CommandException(TranslatableComponent.of("worldedit.command.player-only"), ImmutableList.of()); + throw new CommandException(translatable("worldedit.command.player-only"), ImmutableList.of()); }); } store.injectValue(Key.of(Arguments.class), ValueProvider.constant(arguments)); @@ -582,8 +574,8 @@ private MemoizingValueAccess initializeInjectedValues(Arguments arguments, Actor } private void handleUnknownException(Actor actor, Throwable t) { - actor.printError(TranslatableComponent.of("worldedit.command.error.report")); - actor.print(TextComponent.of(t.getClass().getName() + ": " + t.getMessage())); + actor.printError(translatable("worldedit.command.error.report")); + actor.print(text(t.getClass().getName() + ": " + t.getMessage())); log.error("An unexpected error while handling a WorldEdit command", t); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/factory/Deform.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/factory/Deform.java index 0f021a1614..4da416e9d0 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/factory/Deform.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/factory/Deform.java @@ -36,12 +36,12 @@ import com.sk89q.worldedit.regions.NullRegion; import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import static com.google.common.base.Preconditions.checkNotNull; import static com.sk89q.worldedit.util.GuavaUtil.firstNonNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; public class Deform implements Contextual { @@ -192,8 +192,7 @@ public void cancel() { @Override public Iterable getStatusMessages() { - return ImmutableList.of(TranslatableComponent.of("worldedit.operation.deform.expression", - TextComponent.of(expression.getSource()).color(NamedTextColor.LIGHT_PURPLE))); + return ImmutableList.of(translatable("worldedit.operation.deform.expression", text(expression.getSource()).color(NamedTextColor.LIGHT_PURPLE))); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/ForwardExtentCopy.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/ForwardExtentCopy.java index 55a250c8b0..ee6e6abac7 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/ForwardExtentCopy.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/ForwardExtentCopy.java @@ -40,14 +40,14 @@ import com.sk89q.worldedit.math.transform.Transform; import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.List; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Makes a copy of a portion of one extent to another extent or another point. @@ -335,12 +335,9 @@ public void cancel() { @Override public Iterable getStatusMessages() { return ImmutableList.of( - TranslatableComponent.of("worldedit.operation.affected.block", - TextComponent.of(affectedBlocks)).color(NamedTextColor.LIGHT_PURPLE), - TranslatableComponent.of("worldedit.operation.affected.biome", - TextComponent.of(affectedBiomeCols)).color(NamedTextColor.LIGHT_PURPLE), - TranslatableComponent.of("worldedit.operation.affected.entity", - TextComponent.of(affectedEntities)).color(NamedTextColor.LIGHT_PURPLE) + translatable("worldedit.operation.affected.block", text(affectedBlocks)).color(NamedTextColor.LIGHT_PURPLE), + translatable("worldedit.operation.affected.biome", text(affectedBiomeCols)).color(NamedTextColor.LIGHT_PURPLE), + translatable("worldedit.operation.affected.entity", text(affectedEntities)).color(NamedTextColor.LIGHT_PURPLE) ); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/Operation.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/Operation.java index 3b2e06959b..05722f0e9d 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/Operation.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/operation/Operation.java @@ -22,7 +22,6 @@ import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.WorldEditException; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import java.util.ArrayList; import java.util.HashSet; @@ -91,6 +90,6 @@ default Iterable getStatusMessages() { warnedDeprecatedClasses.add(className); } } - return oldMessages.stream().map(TextComponent::of).collect(Collectors.toList()); + return oldMessages.stream().map(Component::text).collect(Collectors.toList()); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/BreadthFirstSearch.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/BreadthFirstSearch.java index 04e592eb25..adc32427c5 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/BreadthFirstSearch.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/BreadthFirstSearch.java @@ -27,8 +27,6 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.Direction; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.ArrayDeque; @@ -40,6 +38,8 @@ import java.util.Set; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Performs a breadth-first search starting from points added with @@ -187,10 +187,7 @@ public void cancel() { @Override public Iterable getStatusMessages() { - return ImmutableList.of(TranslatableComponent.of( - "worldedit.operation.affected.block", - TextComponent.of(getAffected()) - ).color(NamedTextColor.LIGHT_PURPLE)); + return ImmutableList.of(translatable("worldedit.operation.affected.block", text(getAffected())).color(NamedTextColor.LIGHT_PURPLE)); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/EntityVisitor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/EntityVisitor.java index 7a0f5f2c72..d080320909 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/EntityVisitor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/EntityVisitor.java @@ -26,13 +26,13 @@ import com.sk89q.worldedit.function.operation.Operation; import com.sk89q.worldedit.function.operation.RunContext; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.Iterator; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Visits entities as provided by an {@code Iterator}. @@ -82,10 +82,7 @@ public void cancel() { @Override public Iterable getStatusMessages() { - return ImmutableList.of(TranslatableComponent.of( - "worldedit.operation.affected.entity", - TextComponent.of(getAffected()) - ).color(NamedTextColor.LIGHT_PURPLE)); + return ImmutableList.of(translatable("worldedit.operation.affected.entity", text(getAffected())).color(NamedTextColor.LIGHT_PURPLE)); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/FlatRegionVisitor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/FlatRegionVisitor.java index 387ec59763..c20a8815b6 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/FlatRegionVisitor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/FlatRegionVisitor.java @@ -27,11 +27,11 @@ import com.sk89q.worldedit.math.BlockVector2; import com.sk89q.worldedit.regions.FlatRegion; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Applies region functions to columns in a {@link FlatRegion}. @@ -82,10 +82,7 @@ public void cancel() { @Override public Iterable getStatusMessages() { - return ImmutableList.of(TranslatableComponent.of( - "worldedit.operation.affected.column", - TextComponent.of(getAffected()) - ).color(NamedTextColor.LIGHT_PURPLE)); + return ImmutableList.of(translatable("worldedit.operation.affected.column", text(getAffected())).color(NamedTextColor.LIGHT_PURPLE)); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/RegionVisitor.java b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/RegionVisitor.java index 2251534a72..de5f5338ef 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/RegionVisitor.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/function/visitor/RegionVisitor.java @@ -27,10 +27,11 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.regions.Region; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Utility class to apply region functions to {@link com.sk89q.worldedit.regions.Region}. */ @@ -71,10 +72,7 @@ public void cancel() { @Override public Iterable getStatusMessages() { - return ImmutableList.of(TranslatableComponent.of( - "worldedit.operation.affected.block", - TextComponent.of(getAffected()) - ).color(NamedTextColor.LIGHT_PURPLE)); + return ImmutableList.of(translatable("worldedit.operation.affected.block", text(getAffected())).color(NamedTextColor.LIGHT_PURPLE)); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/CommandUtil.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/CommandUtil.java index c6b4495497..6c7d1a62d0 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/CommandUtil.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/CommandUtil.java @@ -25,8 +25,6 @@ import com.sk89q.worldedit.extension.platform.PlatformCommandManager; import com.sk89q.worldedit.internal.util.Substring; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.util.formatting.text.format.TextDecoration; import org.enginehub.piston.Command; @@ -46,18 +44,22 @@ import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkState; +import static com.sk89q.worldedit.util.formatting.text.Component.empty; +import static com.sk89q.worldedit.util.formatting.text.Component.newline; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.suggestCommand; import static java.util.stream.Collectors.toList; public class CommandUtil { - private static final Component DEPRECATION_MARKER = TextComponent.of("This command is deprecated."); + private static final Component DEPRECATION_MARKER = text("This command is deprecated."); private static Component makeDeprecatedFooter(String reason, Component replacement) { - return TextComponent.builder() + return text() .append(DEPRECATION_MARKER) - .append(" " + reason + ".") - .append(TextComponent.newline()) - .append(replacement.color(NamedTextColor.GOLD).decoration(TextDecoration.ITALIC, true)) + .append(text(" " + reason + ".")) + .append(newline()) + .append(replacement.color(NamedTextColor.GOLD).decorate(TextDecoration.ITALIC)) .build(); } @@ -85,11 +87,13 @@ static ReplacementMessageGenerator forNewCommand(NewCommandGenerator generator) } public static Component createNewCommandReplacementText(String suggestedCommand) { - return TextComponent.builder("Please use ", NamedTextColor.GOLD) - .append(TextComponent.of(suggestedCommand) - .decoration(TextDecoration.UNDERLINED, true) - .clickEvent(ClickEvent.suggestCommand(suggestedCommand))) - .append(" instead.") + return text() + .content("Please use ") + .color(NamedTextColor.GOLD) + .append(text(suggestedCommand) + .decorate(TextDecoration.UNDERLINED) + .clickEvent(suggestCommand(suggestedCommand))) + .append(text(" instead.")) .build(); } @@ -107,7 +111,7 @@ public static Command deprecate(Command command, String reason, deprecatedCommandWarning(parameters, command, reason, replacementMessageGenerator)) .footer(command.getFooter() .map(existingFooter -> existingFooter - .append(TextComponent.newline()) + .append(newline()) .append(deprecatedWarning)) .orElse(deprecatedWarning)) .build(); @@ -141,7 +145,7 @@ private static boolean anyComponent(Component component, Predicate te private static Component replaceDeprecation(Component component) { if (component.children().stream().anyMatch(Predicate.isEqual(DEPRECATION_MARKER))) { - return TextComponent.empty(); + return empty(); } return component.children( component.children().stream() @@ -183,7 +187,9 @@ private static void sendDeprecationMessage( ) { Component replacement = generator.getReplacement(command, parameters); actor.print( - TextComponent.builder(reason + ". ", NamedTextColor.GOLD) + text() + .content(reason + ". ") + .color(NamedTextColor.GOLD) .append(replacement) .build() ); @@ -269,7 +275,7 @@ private static Optional suggestLast(Substring last, Substring suggestion * @param message the message for failure */ public static void checkCommandArgument(boolean condition, String message) { - checkCommandArgument(condition, TextComponent.of(message)); + checkCommandArgument(condition, text(message)); } /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/exception/WorldEditExceptionConverter.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/exception/WorldEditExceptionConverter.java index 22cc824e00..eeb70752ef 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/exception/WorldEditExceptionConverter.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/command/exception/WorldEditExceptionConverter.java @@ -37,8 +37,6 @@ import com.sk89q.worldedit.internal.expression.ExpressionException; import com.sk89q.worldedit.regions.RegionOperationException; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.io.file.FileSelectionAbortedException; import com.sk89q.worldedit.util.io.file.FilenameResolutionException; import com.sk89q.worldedit.util.io.file.InvalidFilenameException; @@ -49,6 +47,8 @@ import java.util.regex.Pattern; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * converts WorldEdit exceptions and converts them into {@link CommandException}s. @@ -64,7 +64,7 @@ public WorldEditExceptionConverter(WorldEdit worldEdit) { } private CommandException newCommandException(String message, Throwable cause) { - return newCommandException(TextComponent.of(String.valueOf(message)), cause); + return newCommandException(text(String.valueOf(message)), cause); } private CommandException newCommandException(Component message, Throwable cause) { @@ -76,15 +76,15 @@ public void convert(NumberFormatException e) throws CommandException { final Matcher matcher = numberFormat.matcher(e.getMessage()); if (matcher.matches()) { - throw newCommandException(TranslatableComponent.of("worldedit.error.invalid-number.matches", TextComponent.of(matcher.group(1))), e); + throw newCommandException(translatable("worldedit.error.invalid-number.matches", text(matcher.group(1))), e); } else { - throw newCommandException(TranslatableComponent.of("worldedit.error.invalid-number"), e); + throw newCommandException(translatable("worldedit.error.invalid-number"), e); } } @ExceptionMatch public void convert(IncompleteRegionException e) throws CommandException { - throw newCommandException(TranslatableComponent.of("worldedit.error.incomplete-region"), e); + throw newCommandException(translatable("worldedit.error.incomplete-region"), e); } @ExceptionMatch @@ -110,13 +110,13 @@ public void convert(DisallowedUsageException e) throws CommandException { @ExceptionMatch public void convert(MaxChangedBlocksException e) throws CommandException { - throw newCommandException(TranslatableComponent.of("worldedit.error.max-changes", TextComponent.of(e.getBlockLimit())), e); + throw newCommandException(translatable("worldedit.error.max-changes", text(e.getBlockLimit())), e); } @ExceptionMatch public void convert(MaxBrushRadiusException e) throws CommandException { throw newCommandException( - TranslatableComponent.of("worldedit.error.max-brush-radius", TextComponent.of(worldEdit.getConfiguration().maxBrushRadius)), + translatable("worldedit.error.max-brush-radius", text(worldEdit.getConfiguration().maxBrushRadius)), e ); } @@ -124,7 +124,7 @@ public void convert(MaxBrushRadiusException e) throws CommandException { @ExceptionMatch public void convert(MaxRadiusException e) throws CommandException { throw newCommandException( - TranslatableComponent.of("worldedit.error.max-radius", TextComponent.of(worldEdit.getConfiguration().maxRadius)), + translatable("worldedit.error.max-radius", text(worldEdit.getConfiguration().maxRadius)), e ); } @@ -151,13 +151,13 @@ public void convert(ExpressionException e) throws CommandException { @ExceptionMatch public void convert(EmptyClipboardException e) throws CommandException { - throw newCommandException(TranslatableComponent.of("worldedit.error.empty-clipboard"), e); + throw newCommandException(translatable("worldedit.error.empty-clipboard"), e); } @ExceptionMatch public void convert(InvalidFilenameException e) throws CommandException { throw newCommandException( - TranslatableComponent.of("worldedit.error.invalid-filename", TextComponent.of(e.getFilename()), e.getRichMessage()), + translatable("worldedit.error.invalid-filename", text(e.getFilename()), e.getRichMessage()), e ); } @@ -165,7 +165,7 @@ public void convert(InvalidFilenameException e) throws CommandException { @ExceptionMatch public void convert(FilenameResolutionException e) throws CommandException { throw newCommandException( - TranslatableComponent.of("worldedit.error.file-resolution", TextComponent.of(e.getFilename()), e.getRichMessage()), + translatable("worldedit.error.file-resolution", text(e.getFilename()), e.getRichMessage()), e ); } @@ -173,14 +173,14 @@ public void convert(FilenameResolutionException e) throws CommandException { @ExceptionMatch public void convert(InvalidToolBindException e) throws CommandException { throw newCommandException( - TranslatableComponent.of("worldedit.tool.error.cannot-bind", e.getItemType().getRichName(), e.getRichMessage()), + translatable("worldedit.tool.error.cannot-bind", e.getItemType().getRichName(), e.getRichMessage()), e ); } @ExceptionMatch public void convert(FileSelectionAbortedException e) throws CommandException { - throw newCommandException(TranslatableComponent.of("worldedit.error.file-aborted"), e); + throw newCommandException(translatable("worldedit.error.file-aborted"), e); } @ExceptionMatch diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/registry/AbstractFactory.java b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/registry/AbstractFactory.java index f7625de318..8e53d63b03 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/internal/registry/AbstractFactory.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/internal/registry/AbstractFactory.java @@ -23,8 +23,6 @@ import com.sk89q.worldedit.extension.input.InputParseException; import com.sk89q.worldedit.extension.input.NoMatchException; import com.sk89q.worldedit.extension.input.ParserContext; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import java.util.ArrayList; import java.util.Collections; @@ -32,6 +30,8 @@ import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * An abstract implementation of a factory for internal usage. @@ -81,7 +81,7 @@ public E parseFromInput(String input, ParserContext context) throws InputParseEx } } - throw new NoMatchException(TranslatableComponent.of("worldedit.error.no-match", TextComponent.of(input))); + throw new NoMatchException(translatable("worldedit.error.no-match", text(input))); } public List getSuggestions(String input) { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/CylinderRegion.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/CylinderRegion.java index a60ac22d44..7df347b29b 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/CylinderRegion.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/CylinderRegion.java @@ -27,7 +27,6 @@ import com.sk89q.worldedit.math.geom.Polygons; import com.sk89q.worldedit.regions.iterator.FlatRegion3DIterator; import com.sk89q.worldedit.regions.iterator.FlatRegionIterator; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import java.math.BigDecimal; @@ -36,6 +35,7 @@ import java.util.List; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Represents a cylindrical region. @@ -220,7 +220,7 @@ private BlockVector2 calculateDiff2D(BlockVector3... changes) throws RegionOpera } if ((diff.getBlockX() & 1) + (diff.getBlockZ() & 1) != 0) { - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.cylinder.error.even-horizontal")); + throw new RegionOperationException(translatable("worldedit.selection.cylinder.error.even-horizontal")); } return diff.divide(2).floor(); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/EllipsoidRegion.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/EllipsoidRegion.java index 43680f80bb..4327fc83c1 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/EllipsoidRegion.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/EllipsoidRegion.java @@ -22,7 +22,6 @@ import com.sk89q.worldedit.math.BlockVector2; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.Vector3; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.storage.ChunkStore; @@ -31,6 +30,8 @@ import java.util.HashSet; import java.util.Set; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Represents an ellipsoid region. */ @@ -114,7 +115,7 @@ private BlockVector3 calculateDiff(BlockVector3... changes) throws RegionOperati BlockVector3 diff = BlockVector3.ZERO.add(changes); if ((diff.getBlockX() & 1) + (diff.getBlockY() & 1) + (diff.getBlockZ() & 1) != 0) { - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.ellipsoid.error.even-horizontal")); + throw new RegionOperationException(translatable("worldedit.selection.ellipsoid.error.even-horizontal")); } return diff.divide(2).floor(); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/NullRegion.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/NullRegion.java index b3e80ca26e..5f0c8d1378 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/NullRegion.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/NullRegion.java @@ -22,7 +22,6 @@ import com.sk89q.worldedit.math.BlockVector2; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.Vector3; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import java.util.Collections; @@ -31,6 +30,8 @@ import java.util.NoSuchElementException; import java.util.Set; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A region that contains no points. */ @@ -75,17 +76,17 @@ public int getLength() { @Override public void expand(BlockVector3... changes) throws RegionOperationException { - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.null.error.immutable")); + throw new RegionOperationException(translatable("worldedit.selection.null.error.immutable")); } @Override public void contract(BlockVector3... changes) throws RegionOperationException { - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.null.error.immutable")); + throw new RegionOperationException(translatable("worldedit.selection.null.error.immutable")); } @Override public void shift(BlockVector3 change) throws RegionOperationException { - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.null.error.immutable")); + throw new RegionOperationException(translatable("worldedit.selection.null.error.immutable")); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/Polygonal2DRegion.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/Polygonal2DRegion.java index 885920be2f..d8eb3129e1 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/Polygonal2DRegion.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/Polygonal2DRegion.java @@ -23,7 +23,6 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.regions.iterator.FlatRegion3DIterator; import com.sk89q.worldedit.regions.iterator.FlatRegionIterator; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import java.math.BigDecimal; @@ -33,6 +32,8 @@ import java.util.Iterator; import java.util.List; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Represents a 2D polygonal region. */ @@ -246,7 +247,7 @@ public int getLength() { public void expand(BlockVector3... changes) throws RegionOperationException { for (BlockVector3 change : changes) { if (change.getBlockX() != 0 || change.getBlockZ() != 0) { - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.polygon2d.error.expand-only-vertical")); + throw new RegionOperationException(translatable("worldedit.selection.polygon2d.error.expand-only-vertical")); } int changeY = change.getBlockY(); if (changeY > 0) { @@ -262,7 +263,7 @@ public void expand(BlockVector3... changes) throws RegionOperationException { public void contract(BlockVector3... changes) throws RegionOperationException { for (BlockVector3 change : changes) { if (change.getBlockX() != 0 || change.getBlockZ() != 0) { - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.polygon2d.error.contract-only-vertical")); + throw new RegionOperationException(translatable("worldedit.selection.polygon2d.error.contract-only-vertical")); } int changeY = change.getBlockY(); if (changeY > 0) { diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionIntersection.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionIntersection.java index 72af81871e..eba7345a03 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionIntersection.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionIntersection.java @@ -21,7 +21,6 @@ import com.google.common.collect.Iterators; import com.sk89q.worldedit.math.BlockVector3; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import java.util.ArrayList; @@ -31,6 +30,7 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * An intersection of several other regions. Any location that is contained in one @@ -110,13 +110,13 @@ public BlockVector3 getMaximumPoint() { @Override public void expand(BlockVector3... changes) throws RegionOperationException { checkNotNull(changes); - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.intersection.error.cannot-expand")); + throw new RegionOperationException(translatable("worldedit.selection.intersection.error.cannot-expand")); } @Override public void contract(BlockVector3... changes) throws RegionOperationException { checkNotNull(changes); - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.intersection.error.cannot-contract")); + throw new RegionOperationException(translatable("worldedit.selection.intersection.error.cannot-contract")); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java index 404ce6062c..0b1f1ea44c 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionSelector.java @@ -28,7 +28,6 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.regions.selector.limit.SelectorLimits; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import com.sk89q.worldedit.world.World; @@ -36,6 +35,8 @@ import java.util.stream.Collectors; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + /** * Region selectors create {@link Region}s from a series of "selected points." * They are used, for example, to allow users to create a {@link CuboidRegion} @@ -193,7 +194,7 @@ default List getInformationLines() { */ default List getSelectionInfoLines() { return getInformationLines().stream() - .map(line -> TextComponent.of(line, NamedTextColor.LIGHT_PURPLE)) + .map(line -> text(line, NamedTextColor.LIGHT_PURPLE)) .collect(Collectors.toList()); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/TransformRegion.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/TransformRegion.java index 4aa5754f9c..08ab5a2ef6 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/TransformRegion.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/TransformRegion.java @@ -24,7 +24,6 @@ import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.math.transform.Identity; import com.sk89q.worldedit.math.transform.Transform; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import java.util.ArrayList; @@ -33,6 +32,7 @@ import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Transforms another region according to a provided vector {@code Transform}. @@ -134,17 +134,17 @@ public int getLength() { @Override public void expand(BlockVector3... changes) throws RegionOperationException { - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.transform.error.cannot-expand")); + throw new RegionOperationException(translatable("worldedit.selection.transform.error.cannot-expand")); } @Override public void contract(BlockVector3... changes) throws RegionOperationException { - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.transform.error.cannot-contract")); + throw new RegionOperationException(translatable("worldedit.selection.transform.error.cannot-contract")); } @Override public void shift(BlockVector3 change) throws RegionOperationException { - throw new RegionOperationException(TranslatableComponent.of("worldedit.selection.transform.error.cannot-change")); + throw new RegionOperationException(translatable("worldedit.selection.transform.error.cannot-change")); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/ConvexPolyhedralRegionSelector.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/ConvexPolyhedralRegionSelector.java index 011b0bcf27..6971394757 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/ConvexPolyhedralRegionSelector.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/ConvexPolyhedralRegionSelector.java @@ -33,8 +33,6 @@ import com.sk89q.worldedit.regions.polyhedron.Triangle; import com.sk89q.worldedit.regions.selector.limit.SelectorLimits; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import java.util.ArrayList; @@ -46,6 +44,8 @@ import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Creates a {@code ConvexPolyhedralRegion} from a user's selections. @@ -187,8 +187,8 @@ public String getTypeName() { public List getSelectionInfoLines() { List ret = new ArrayList<>(); - ret.add(TranslatableComponent.of("worldedit.selection.convex.info.vertices", TextComponent.of(region.getVertices().size()))); - ret.add(TranslatableComponent.of("worldedit.selection.convex.info.triangles", TextComponent.of(region.getTriangles().size()))); + ret.add(translatable("worldedit.selection.convex.info.vertices", text(region.getVertices().size()))); + ret.add(translatable("worldedit.selection.convex.info.triangles", text(region.getTriangles().size()))); return ret; } @@ -201,7 +201,7 @@ public void explainPrimarySelection(Actor player, LocalSession session, BlockVec session.describeCUI(player); - player.printInfo(TranslatableComponent.of("worldedit.selection.convex.explain.primary", TextComponent.of(pos.toString()))); + player.printInfo(translatable("worldedit.selection.convex.explain.primary", text(pos.toString()))); } @Override @@ -212,7 +212,7 @@ public void explainSecondarySelection(Actor player, LocalSession session, BlockV session.describeCUI(player); - player.printInfo(TranslatableComponent.of("worldedit.selection.convex.explain.secondary", TextComponent.of(pos.toString()))); + player.printInfo(translatable("worldedit.selection.convex.explain.secondary", text(pos.toString()))); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/CuboidRegionSelector.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/CuboidRegionSelector.java index f0398c790e..089cf427ee 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/CuboidRegionSelector.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/CuboidRegionSelector.java @@ -31,8 +31,6 @@ import com.sk89q.worldedit.regions.RegionSelector; import com.sk89q.worldedit.regions.selector.limit.SelectorLimits; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import java.util.ArrayList; @@ -40,6 +38,8 @@ import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Creates a {@code CuboidRegion} from a user's selections. @@ -156,13 +156,10 @@ public void explainPrimarySelection(Actor player, LocalSession session, BlockVec checkNotNull(pos); if (position1 != null && position2 != null) { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.cuboid.explain.primary-area", - TextComponent.of(position1.toString()), - TextComponent.of(region.getVolume()) - )); + player.printInfo(translatable("worldedit.selection.cuboid.explain.primary-area", text(position1.toString()), + text(region.getVolume()))); } else if (position1 != null) { - player.printInfo(TranslatableComponent.of("worldedit.selection.cuboid.explain.primary", TextComponent.of(position1.toString()))); + player.printInfo(translatable("worldedit.selection.cuboid.explain.primary", text(position1.toString()))); } session.dispatchCUIEvent(player, new SelectionPointEvent(0, pos, getVolume())); @@ -175,13 +172,10 @@ public void explainSecondarySelection(Actor player, LocalSession session, BlockV checkNotNull(pos); if (position1 != null && position2 != null) { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.cuboid.explain.secondary-area", - TextComponent.of(position2.toString()), - TextComponent.of(region.getVolume()) - )); + player.printInfo(translatable("worldedit.selection.cuboid.explain.secondary-area", text(position2.toString()), + text(region.getVolume()))); } else if (position2 != null) { - player.printInfo(TranslatableComponent.of("worldedit.selection.cuboid.explain.secondary", TextComponent.of(position2.toString()))); + player.printInfo(translatable("worldedit.selection.cuboid.explain.secondary", text(position2.toString()))); } session.dispatchCUIEvent(player, new SelectionPointEvent(1, pos, getVolume())); @@ -255,11 +249,11 @@ public List getSelectionInfoLines() { final List lines = new ArrayList<>(); if (position1 != null) { - lines.add(TranslatableComponent.of("worldedit.selection.cuboid.info.pos1", TextComponent.of(position1.toString()))); + lines.add(translatable("worldedit.selection.cuboid.info.pos1", text(position1.toString()))); } if (position2 != null) { - lines.add(TranslatableComponent.of("worldedit.selection.cuboid.info.pos2", TextComponent.of(position2.toString()))); + lines.add(translatable("worldedit.selection.cuboid.info.pos2", text(position2.toString()))); } return lines; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/CylinderRegionSelector.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/CylinderRegionSelector.java index 59368998bd..2dd84740ad 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/CylinderRegionSelector.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/CylinderRegionSelector.java @@ -35,8 +35,6 @@ import com.sk89q.worldedit.regions.RegionSelector; import com.sk89q.worldedit.regions.selector.limit.SelectorLimits; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import java.text.NumberFormat; @@ -45,6 +43,8 @@ import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Creates a {@code CylinderRegionSelector} from a user's selections. @@ -168,7 +168,7 @@ public boolean selectSecondary(BlockVector3 position, SelectorLimits limits) { @Override public void explainPrimarySelection(Actor player, LocalSession session, BlockVector3 pos) { - player.printInfo(TranslatableComponent.of("worldedit.selection.cylinder.explain.primary", TextComponent.of(pos.toString()))); + player.printInfo(translatable("worldedit.selection.cylinder.explain.primary", text(pos.toString()))); session.describeCUI(player); } @@ -178,14 +178,11 @@ public void explainSecondarySelection(Actor player, LocalSession session, BlockV Vector3 center = region.getCenter(); if (!center.equals(Vector3.ZERO)) { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.cylinder.explain.secondary", - TextComponent.of(NUMBER_FORMAT.format(region.getRadius().getX())), - TextComponent.of(NUMBER_FORMAT.format(region.getRadius().getZ())), - TextComponent.of(region.getVolume()) - )); + player.printInfo(translatable("worldedit.selection.cylinder.explain.secondary", text(NUMBER_FORMAT.format(region.getRadius().getX())), + text(NUMBER_FORMAT.format(region.getRadius().getZ())), + text(region.getVolume()))); } else { - player.printError(TranslatableComponent.of("worldedit.selection.cylinder.explain.secondary-missing")); + player.printError(translatable("worldedit.selection.cylinder.explain.secondary-missing")); return; } @@ -244,10 +241,10 @@ public List getSelectionInfoLines() { final List lines = new ArrayList<>(); if (!region.getCenter().equals(Vector3.ZERO)) { - lines.add(TranslatableComponent.of("worldedit.selection.cylinder.info.center", TextComponent.of(region.getCenter().toString()))); + lines.add(translatable("worldedit.selection.cylinder.info.center", text(region.getCenter().toString()))); } if (!region.getRadius().equals(Vector2.ZERO)) { - lines.add(TranslatableComponent.of("worldedit.selection.cylinder.info.radius", TextComponent.of(region.getRadius().toString()))); + lines.add(translatable("worldedit.selection.cylinder.info.radius", text(region.getRadius().toString()))); } return lines; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/EllipsoidRegionSelector.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/EllipsoidRegionSelector.java index e16a1f30be..3c3d28c93a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/EllipsoidRegionSelector.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/EllipsoidRegionSelector.java @@ -32,8 +32,6 @@ import com.sk89q.worldedit.regions.RegionSelector; import com.sk89q.worldedit.regions.selector.limit.SelectorLimits; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import java.util.ArrayList; @@ -41,6 +39,8 @@ import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Creates a {@code EllipsoidRegionSelector} from a user's selections. @@ -147,16 +147,10 @@ public boolean selectSecondary(BlockVector3 position, SelectorLimits limits) { @Override public void explainPrimarySelection(Actor player, LocalSession session, BlockVector3 pos) { if (isDefined()) { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.ellipsoid.explain.primary-area", - TextComponent.of(region.getCenter().toString()), - TextComponent.of(region.getVolume()) - )); + player.printInfo(translatable("worldedit.selection.ellipsoid.explain.primary-area", text(region.getCenter().toString()), + text(region.getVolume()))); } else { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.ellipsoid.explain.primary", - TextComponent.of(region.getCenter().toString()) - )); + player.printInfo(translatable("worldedit.selection.ellipsoid.explain.primary", text(region.getCenter().toString()))); } session.describeCUI(player); @@ -165,16 +159,10 @@ public void explainPrimarySelection(Actor player, LocalSession session, BlockVec @Override public void explainSecondarySelection(Actor player, LocalSession session, BlockVector3 pos) { if (isDefined()) { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.ellipsoid.explain.secondary-area", - TextComponent.of(region.getRadius().toString()), - TextComponent.of(region.getVolume()) - )); + player.printInfo(translatable("worldedit.selection.ellipsoid.explain.secondary-area", text(region.getRadius().toString()), + text(region.getVolume()))); } else { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.ellipsoid.explain.secondary", - TextComponent.of(region.getRadius().toString()) - )); + player.printInfo(translatable("worldedit.selection.ellipsoid.explain.secondary", text(region.getRadius().toString()))); } session.describeCUI(player); @@ -225,12 +213,12 @@ public List getSelectionInfoLines() { final Vector3 center = region.getCenter(); if (center.lengthSq() > 0) { - lines.add(TranslatableComponent.of("worldedit.selection.ellipsoid.info.center", TextComponent.of(center.toString()))); + lines.add(translatable("worldedit.selection.ellipsoid.info.center", text(center.toString()))); } final Vector3 radius = region.getRadius(); if (radius.lengthSq() > 0) { - lines.add(TranslatableComponent.of("worldedit.selection.ellipsoid.info.radius", TextComponent.of(radius.toString()))); + lines.add(translatable("worldedit.selection.ellipsoid.info.radius", text(radius.toString()))); } return lines; diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/ExtendingCuboidRegionSelector.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/ExtendingCuboidRegionSelector.java index 82cd540d3f..53a574be4c 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/ExtendingCuboidRegionSelector.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/ExtendingCuboidRegionSelector.java @@ -24,12 +24,13 @@ import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.regions.RegionSelector; import com.sk89q.worldedit.regions.selector.limit.SelectorLimits; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Creates a {@code CuboidRegion} from a user's selections by expanding * the region on every right click. @@ -131,22 +132,16 @@ public boolean selectSecondary(BlockVector3 position, SelectorLimits limits) { @Override public void explainPrimarySelection(Actor player, LocalSession session, BlockVector3 pos) { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.extend.explain.primary", - TextComponent.of(pos.toString()), - TextComponent.of(region.getVolume()) - )); + player.printInfo(translatable("worldedit.selection.extend.explain.primary", text(pos.toString()), + text(region.getVolume()))); explainRegionAdjust(player, session); } @Override public void explainSecondarySelection(Actor player, LocalSession session, BlockVector3 pos) { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.extend.explain.secondary", - TextComponent.of(pos.toString()), - TextComponent.of(region.getVolume()) - )); + player.printInfo(translatable("worldedit.selection.extend.explain.secondary", text(pos.toString()), + text(region.getVolume()))); explainRegionAdjust(player, session); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/Polygonal2DRegionSelector.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/Polygonal2DRegionSelector.java index c959db9247..4fb2695282 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/Polygonal2DRegionSelector.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/Polygonal2DRegionSelector.java @@ -33,8 +33,6 @@ import com.sk89q.worldedit.regions.RegionSelector; import com.sk89q.worldedit.regions.selector.limit.SelectorLimits; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import java.util.Collections; @@ -43,6 +41,8 @@ import javax.annotation.Nullable; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Creates a {@code Polygonal2DRegion} from a user's selections. @@ -165,7 +165,7 @@ public boolean selectSecondary(BlockVector3 position, SelectorLimits limits) { @Override public void explainPrimarySelection(Actor player, LocalSession session, BlockVector3 pos) { - player.printInfo(TranslatableComponent.of("worldedit.selection.polygon2d.explain.primary", TextComponent.of(pos.toString()))); + player.printInfo(translatable("worldedit.selection.polygon2d.explain.primary", text(pos.toString()))); session.dispatchCUIEvent(player, new SelectionShapeEvent(getTypeID())); session.dispatchCUIEvent(player, new SelectionPoint2DEvent(0, pos, getVolume())); @@ -174,11 +174,8 @@ public void explainPrimarySelection(Actor player, LocalSession session, BlockVec @Override public void explainSecondarySelection(Actor player, LocalSession session, BlockVector3 pos) { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.polygon2d.explain.secondary", - TextComponent.of(region.size()), - TextComponent.of(pos.toString()) - )); + player.printInfo(translatable("worldedit.selection.polygon2d.explain.secondary", text(region.size()), + text(pos.toString()))); session.dispatchCUIEvent(player, new SelectionPoint2DEvent(region.size() - 1, pos, getVolume())); session.dispatchCUIEvent(player, new SelectionMinMaxEvent(region.getMinimumY(), region.getMaximumY())); @@ -237,7 +234,7 @@ public String getTypeName() { @Override public List getSelectionInfoLines() { - return Collections.singletonList(TranslatableComponent.of("worldedit.selection.polygon2d.info", TextComponent.of(region.size()))); + return Collections.singletonList(translatable("worldedit.selection.polygon2d.info", text(region.size()))); } @Override diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/SphereRegionSelector.java b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/SphereRegionSelector.java index 3bb99356cf..8e6d741897 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/SphereRegionSelector.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/regions/selector/SphereRegionSelector.java @@ -25,12 +25,13 @@ import com.sk89q.worldedit.math.Vector3; import com.sk89q.worldedit.regions.RegionSelector; import com.sk89q.worldedit.regions.selector.limit.SelectorLimits; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.world.World; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Creates a {@code SphereRegion} from a user's selections. */ @@ -90,13 +91,10 @@ public boolean selectSecondary(BlockVector3 position, SelectorLimits limits) { @Override public void explainSecondarySelection(Actor player, LocalSession session, BlockVector3 pos) { if (isDefined()) { - player.printInfo(TranslatableComponent.of( - "worldedit.selection.sphere.explain.secondary-defined", - TextComponent.of(region.getRadius().getX()), - TextComponent.of(region.getVolume()) - )); + player.printInfo(translatable("worldedit.selection.sphere.explain.secondary-defined", text(region.getRadius().getX()), + text(region.getVolume()))); } else { - player.printInfo(TranslatableComponent.of("worldedit.selection.sphere.explain.secondary", TextComponent.of(region.getRadius().getX()))); + player.printInfo(translatable("worldedit.selection.sphere.explain.secondary", text(region.getRadius().getX()))); } session.describeCUI(player); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/scripting/CraftScriptContext.java b/worldedit-core/src/main/java/com/sk89q/worldedit/scripting/CraftScriptContext.java index d4e4cdf0e1..d70f5b75fa 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/scripting/CraftScriptContext.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/scripting/CraftScriptContext.java @@ -33,8 +33,6 @@ import com.sk89q.worldedit.function.pattern.Pattern; import com.sk89q.worldedit.internal.expression.invoke.ReturnException; import com.sk89q.worldedit.session.request.Request; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.io.file.FilenameException; import com.sk89q.worldedit.world.block.BaseBlock; @@ -44,6 +42,9 @@ import java.util.List; import java.util.Set; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * The context given to scripts. */ @@ -119,7 +120,7 @@ public List getEditSessions() { * @param message a message */ public void print(String message) { - player.printInfo(TextComponent.of(message)); + player.printInfo(text(message)); } /** @@ -128,7 +129,7 @@ public void print(String message) { * @param message a message */ public void error(String message) { - player.printError(TextComponent.of(message)); + player.printError(text(message)); } /** @@ -137,7 +138,7 @@ public void error(String message) { * @param message a message */ public void printRaw(String message) { - player.print(TextComponent.of(message)); + player.print(text(message)); } /** @@ -151,7 +152,7 @@ public void printRaw(String message) { public void checkArgs(int min, int max, String usage) throws InsufficientArgumentsException { if (args.length <= min || (max != -1 && args.length - 1 > max)) { - throw new InsufficientArgumentsException(TranslatableComponent.of("worldedit.error.incorrect-usage", TextComponent.of(usage))); + throw new InsufficientArgumentsException(translatable("worldedit.error.incorrect-usage", text(usage))); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandListBox.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandListBox.java index d67dfa0fd5..923f934626 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandListBox.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandListBox.java @@ -28,6 +28,9 @@ import java.util.List; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.runCommand; + public class CommandListBox extends PaginationBox { private final List commands = Lists.newArrayList(); @@ -60,7 +63,7 @@ public void appendCommand(String alias, Component description) { @Deprecated public void appendCommand(String alias, String description, String insertion) { - appendCommand(alias, TextComponent.of(description), insertion); + appendCommand(alias, text(description), insertion); } public void appendCommand(String alias, Component description, String insertion) { @@ -90,18 +93,18 @@ Component createComponent(boolean hideHelp) { TextComponentProducer line = new TextComponentProducer(); if (!hideHelp) { line.append(SubtleFormat.wrap("? ") - .clickEvent(ClickEvent.of(ClickEvent.Action.RUN_COMMAND, CommandListBox.this.helpCommand + " " + insertion)) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Additional Help")))); + .clickEvent(runCommand(CommandListBox.this.helpCommand + " " + insertion)) + .hoverEvent(text("Additional Help"))); } - TextComponent command = TextComponent.of(alias, NamedTextColor.GOLD); + TextComponent command = text(alias, NamedTextColor.GOLD); if (insertion == null) { line.append(command); } else { line.append(command - .clickEvent(ClickEvent.of(ClickEvent.Action.SUGGEST_COMMAND, insertion)) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Click to select")))); + .clickEvent(runCommand(insertion)) + .hoverEvent(text("Click to select"))); } - return line.append(TextComponent.of(": ")).append(description).create(); + return line.append(text(": ")).append(description).create(); } } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandUsageBox.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandUsageBox.java index 96c9ec2e60..e8b5f7818a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandUsageBox.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/CommandUsageBox.java @@ -20,9 +20,7 @@ package com.sk89q.worldedit.util.formatting.component; import com.google.common.collect.Iterables; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; -import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; +import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.format.TextDecoration; import org.enginehub.piston.Command; import org.enginehub.piston.CommandParameters; @@ -34,6 +32,8 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.sk89q.worldedit.internal.command.CommandUtil.getSubCommands; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.runCommand; /** * A box to describe usage of a command. @@ -71,14 +71,19 @@ private void attachCommandUsage(List commands, String commandString, St TextComponentProducer boxContent = new TextComponentProducer() .append(HelpGenerator.create(commands).getFullHelp()); if (getSubCommands(Iterables.getLast(commands)).size() > 0) { - boxContent.append(TextComponent.newline()) - .append(ColorConfig.helpText().wrap(TextComponent.builder("> ") - .append(ColorConfig.mainText().wrap(TextComponent.builder("List Subcommands") - .decoration(TextDecoration.ITALIC, true) - .clickEvent(ClickEvent.runCommand(helpRootCommand + " -s " + commandString)) - .hoverEvent(HoverEvent.showText(TextComponent.of("List all subcommands of this command"))) - .build())) - .build())); + boxContent.append(Component.newline()) + .append(ColorConfig.helpText().wrap( + text() + .content("> ") + .append(ColorConfig.mainText().wrap( + text() + .content("List Subcommands") + .decorate(TextDecoration.ITALIC) + .clickEvent(runCommand(helpRootCommand + " -s " + commandString)) + .hoverEvent(text("List all subcommands of this command")) + .build())) + .build() + )); } MessageBox box = new MessageBox("Help for " + commandString, boxContent); diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/MessageBox.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/MessageBox.java index 5ebde9b9c3..5978498a63 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/MessageBox.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/MessageBox.java @@ -28,6 +28,8 @@ import com.sk89q.worldedit.util.formatting.text.format.TextDecoration; import static com.google.common.base.Preconditions.checkNotNull; +import static com.sk89q.worldedit.util.formatting.text.Component.space; +import static com.sk89q.worldedit.util.formatting.text.Component.text; /** * Makes for a box with a border above and below. @@ -53,7 +55,7 @@ public MessageBox(String title, TextComponentProducer contents, TextColor border checkNotNull(title); this.borderColor = borderColor; - append(centerAndBorder(TextComponent.of(title))).newline(); + append(centerAndBorder(text(title))).newline(); this.contents = contents; } @@ -65,11 +67,11 @@ protected Component centerAndBorder(TextComponent text) { if (side > 1) { line.append(createBorder(side - 1)); } - line.append(TextComponent.space()); + line.append(space()); } line.append(text); if (side > 0) { - line.append(TextComponent.space()); + line.append(space()); if (side > 1) { line.append(createBorder(side - 1)); } @@ -83,7 +85,7 @@ private static int getLength(TextComponent text) { } private TextComponent createBorder(int count) { - return TextComponent.of(Strings.repeat("-", count), + return text(Strings.repeat("-", count), borderColor, Sets.newHashSet(TextDecoration.STRIKETHROUGH)); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/PaginationBox.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/PaginationBox.java index cde6aefbef..d64e836ba3 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/PaginationBox.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/PaginationBox.java @@ -21,15 +21,16 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; -import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.List; import java.util.stream.Collectors; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.runCommand; + public abstract class PaginationBox extends MessageBox { private static final int IDEAL_ROWS_FOR_PLAYER = 8; @@ -85,7 +86,7 @@ public Component create(int page) throws InvalidComponentException { } int pageCount = (int) Math.ceil(getComponentsSize() / (double) componentsPerPage); if (page < 1 || page > pageCount) { - throw new InvalidComponentException(TranslatableComponent.of("worldedit.error.invalid-page")); + throw new InvalidComponentException(translatable("worldedit.error.invalid-page")); } currentPage = page; final int lastComp = Math.min(page * componentsPerPage, getComponentsSize()); @@ -99,23 +100,23 @@ public Component create(int page) throws InvalidComponentException { return super.create(); } getContents().newline(); - TextComponent pageNumberComponent = TextComponent.of("Page ", NamedTextColor.YELLOW) - .append(TextComponent.of(String.valueOf(page), NamedTextColor.GOLD)) - .append(TextComponent.of(" of ")) - .append(TextComponent.of(String.valueOf(pageCount), NamedTextColor.GOLD)); + TextComponent pageNumberComponent = text("Page ", NamedTextColor.YELLOW) + .append(text(String.valueOf(page), NamedTextColor.GOLD)) + .append(text(" of ")) + .append(text(String.valueOf(pageCount), NamedTextColor.GOLD)); if (pageCommand != null) { TextComponentProducer navProducer = new TextComponentProducer(); if (page > 1) { - TextComponent prevComponent = TextComponent.of("<<< ", NamedTextColor.GOLD) - .clickEvent(ClickEvent.of(ClickEvent.Action.RUN_COMMAND, pageCommand.replace("%page%", String.valueOf(page - 1)))) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Click to navigate"))); + TextComponent prevComponent = text("<<< ", NamedTextColor.GOLD) + .clickEvent(runCommand(pageCommand.replace("%page%", String.valueOf(page - 1)))) + .hoverEvent(text("Click to navigate")); navProducer.append(prevComponent); } navProducer.append(pageNumberComponent); if (page < pageCount) { - TextComponent nextComponent = TextComponent.of(" >>>", NamedTextColor.GOLD) - .clickEvent(ClickEvent.of(ClickEvent.Action.RUN_COMMAND, pageCommand.replace("%page%", String.valueOf(page + 1)))) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Click to navigate"))); + TextComponent nextComponent = text(" >>>", NamedTextColor.GOLD) + .clickEvent(runCommand(pageCommand.replace("%page%", String.valueOf(page + 1)))) + .hoverEvent(text("Click to navigate")); navProducer.append(nextComponent); } getContents().append(centerAndBorder(navProducer.create())); @@ -132,7 +133,7 @@ public TextComponent create() { public static PaginationBox fromStrings(String header, @Nullable String pageCommand, List lines) { return fromComponents(header, pageCommand, lines.stream() - .map(TextComponent::of) + .map(Component::text) .collect(Collectors.toList())); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SideEffectBox.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SideEffectBox.java index 1583d685ec..049a3d9f6a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SideEffectBox.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/SideEffectBox.java @@ -25,10 +25,7 @@ import com.sk89q.worldedit.util.concurrency.LazyReference; import com.sk89q.worldedit.util.formatting.WorldEditText; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; -import com.sk89q.worldedit.util.formatting.text.event.ClickEvent; -import com.sk89q.worldedit.util.formatting.text.event.HoverEvent; import com.sk89q.worldedit.util.formatting.text.format.NamedTextColor; import java.util.Comparator; @@ -36,6 +33,10 @@ import java.util.Locale; import java.util.stream.Collectors; +import static com.sk89q.worldedit.util.formatting.text.Component.space; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; +import static com.sk89q.worldedit.util.formatting.text.event.ClickEvent.runCommand; + public class SideEffectBox extends PaginationBox { private static final LazyReference> SIDE_EFFECTS = LazyReference.from(() -> @@ -43,7 +44,7 @@ public class SideEffectBox extends PaginationBox { .stream() .sorted(Comparator.comparing(effect -> WorldEditText.reduceToText( - TranslatableComponent.of(effect.getDisplayName()), + translatable(effect.getDisplayName()), Locale.US ) )) @@ -69,17 +70,18 @@ public Component getComponent(int number) { SideEffect effect = getSideEffects().get(number); SideEffect.State state = this.sideEffectSet.getState(effect); - TextComponent.Builder builder = TextComponent.builder(); - builder = builder.append(TranslatableComponent.of(effect.getDisplayName(), NamedTextColor.YELLOW) - .hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, TranslatableComponent.of(effect.getDescription())))); + TranslatableComponent.Builder builder = translatable() + .key(effect.getDisplayName()) + .color(NamedTextColor.YELLOW) + .hoverEvent(translatable(effect.getDescription())); for (SideEffect.State uiState : SHOWN_VALUES) { - builder = builder.append(TextComponent.space()); - builder = builder.append(TranslatableComponent.of(uiState.getDisplayName(), uiState == state ? NamedTextColor.WHITE : NamedTextColor.GRAY) - .clickEvent(ClickEvent.runCommand("//perf -h " + effect.name().toLowerCase(Locale.US) + " " + uiState.name().toLowerCase(Locale.US))) - .hoverEvent(HoverEvent.showText(uiState == state - ? TranslatableComponent.of("worldedit.sideeffect.box.current") - : TranslatableComponent.of("worldedit.sideeffect.box.change-to", TranslatableComponent.of(uiState.getDisplayName())) - )) + builder = builder.append(space()); + builder = builder.append(translatable(uiState.getDisplayName(), uiState == state ? NamedTextColor.WHITE : NamedTextColor.GRAY) + .clickEvent(runCommand("//perf -h " + effect.name().toLowerCase(Locale.US) + " " + uiState.name().toLowerCase(Locale.US))) + .hoverEvent(uiState == state + ? translatable("worldedit.sideeffect.box.current") + : translatable("worldedit.sideeffect.box.change-to", translatable(uiState.getDisplayName())) + ) ); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/TextComponentProducer.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/TextComponentProducer.java index e6018fb4e3..44e09c2af6 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/TextComponentProducer.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/TextComponentProducer.java @@ -22,9 +22,11 @@ import com.sk89q.worldedit.util.formatting.text.Component; import com.sk89q.worldedit.util.formatting.text.TextComponent; +import static com.sk89q.worldedit.util.formatting.text.Component.text; + public class TextComponentProducer { - private TextComponent.Builder builder = TextComponent.builder().content(""); + private TextComponent.Builder builder = text(); public TextComponent.Builder getBuilder() { return builder; @@ -48,7 +50,7 @@ public TextComponentProducer append(Component component) { * @return The producer, for chaining */ public TextComponentProducer append(String string) { - getBuilder().append(TextComponent.of(string)); + getBuilder().append(text(string)); return this; } @@ -58,7 +60,7 @@ public TextComponentProducer append(String string) { * @return The producer, for chaining */ public TextComponentProducer newline() { - getBuilder().append(TextComponent.newline()); + getBuilder().append(Component.newline()); return this; } @@ -77,7 +79,7 @@ public TextComponent create() { * @return The producer, for chaining */ public TextComponentProducer reset() { - builder = TextComponent.builder().content(""); + builder = text(); return this; } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/TextUtils.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/TextUtils.java index fdf20b6178..5c72f3840a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/TextUtils.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/formatting/component/TextUtils.java @@ -20,7 +20,7 @@ package com.sk89q.worldedit.util.formatting.component; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; +import com.sk89q.worldedit.util.formatting.text.ComponentLike; import java.util.List; import java.util.Locale; @@ -36,16 +36,11 @@ private TextUtils() { * @param components The components to join * @param joiner The joiner component * @return The joined component + * @deprecated Use {@link Component#join(ComponentLike, Iterable)} instead */ + @Deprecated public static Component join(List components, Component joiner) { - TextComponent.Builder builder = TextComponent.builder(); - for (int i = 0; i < components.size(); i++) { - builder.append(components.get(i)); - if (i < components.size() - 1) { - builder.append(joiner); - } - } - return builder.build(); + return Component.join(joiner, components); } /** diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/util/paste/ActorCallbackPaste.java b/worldedit-core/src/main/java/com/sk89q/worldedit/util/paste/ActorCallbackPaste.java index 9bc55b48aa..a503d8dc7a 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/util/paste/ActorCallbackPaste.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/util/paste/ActorCallbackPaste.java @@ -21,13 +21,15 @@ import com.sk89q.worldedit.command.util.AsyncCommandBuilder; import com.sk89q.worldedit.extension.platform.Actor; -import com.sk89q.worldedit.util.formatting.text.TextComponent; import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.task.Supervisor; import java.net.URL; import java.util.concurrent.Callable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public final class ActorCallbackPaste { private static final Paster paster = new EngineHubPaste(); @@ -71,8 +73,8 @@ public static void pastebin(Supervisor supervisor, final Actor sender, String co AsyncCommandBuilder.wrap(task, sender) .registerWithSupervisor(supervisor, "Submitting content to a pastebin service.") - .setDelayMessage(TranslatableComponent.of("worldedit.pastebin.uploading")) - .onSuccess((String) null, url -> sender.printInfo(successMessage.args(TextComponent.of(url.toString())).build())) + .setDelayMessage(translatable("worldedit.pastebin.uploading")) + .onSuccess((String) null, url -> sender.printInfo(successMessage.args(text(url.toString())).build())) .onFailure("Failed to submit paste", null) .buildAndExec(Pasters.getExecutor()); } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/WorldUnloadedException.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/WorldUnloadedException.java index 01f6023c31..a5687a608e 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/WorldUnloadedException.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/WorldUnloadedException.java @@ -20,7 +20,8 @@ package com.sk89q.worldedit.world; import com.sk89q.worldedit.WorldEditException; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; + +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; /** * Thrown if the world has been unloaded. @@ -31,6 +32,6 @@ public class WorldUnloadedException extends WorldEditException { * Create a new instance. */ public WorldUnloadedException() { - super(TranslatableComponent.of("worldedit.error.world-unloaded")); + super(translatable("worldedit.error.world-unloaded")); } } diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java index 70f96565c9..32733f2241 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledBlockRegistry.java @@ -21,8 +21,6 @@ import com.sk89q.worldedit.registry.state.Property; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.translation.TranslationManager; import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.world.block.BlockType; @@ -32,6 +30,9 @@ import java.util.OptionalInt; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A block registry that uses {@link BundledBlockData} to serve information * about blocks. @@ -46,11 +47,9 @@ public Component getRichName(BlockType blockType) { // Some vanilla MC blocks have overrides so we need this name here // Most platforms should be overriding this anyways, so it likely doesn't matter // too much! - return TextComponent.of(blockEntry.localizedName); + return text(blockEntry.localizedName); } - return TranslatableComponent.of( - TranslationManager.makeTranslationKey("block", blockType.getId()) - ); + return translatable(TranslationManager.makeTranslationKey("block", blockType.getId())); } @Nullable diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledItemRegistry.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledItemRegistry.java index 13e6bb8b06..ceb30b72b0 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledItemRegistry.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/BundledItemRegistry.java @@ -20,13 +20,14 @@ package com.sk89q.worldedit.world.registry; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TextComponent; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.translation.TranslationManager; import com.sk89q.worldedit.world.item.ItemType; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.text; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A item registry that uses {@link BundledItemRegistry} to serve information * about items. @@ -45,11 +46,9 @@ public Component getRichName(ItemType itemType) { // Some vanilla MC items have overrides so we need this name here // Most platforms should be overriding this anyways, so it likely doesn't matter // too much! - return TextComponent.of(itemEntry.localizedName); + return text(itemEntry.localizedName); } - return TranslatableComponent.of( - TranslationManager.makeTranslationKey("item", itemType.getId()) - ); + return translatable(TranslationManager.makeTranslationKey("item", itemType.getId())); } @Nullable diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/NullBiomeRegistry.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/NullBiomeRegistry.java index 7951b25a02..303d1954d1 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/NullBiomeRegistry.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/registry/NullBiomeRegistry.java @@ -20,13 +20,14 @@ package com.sk89q.worldedit.world.registry; import com.sk89q.worldedit.util.formatting.text.Component; -import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.sk89q.worldedit.util.translation.TranslationManager; import com.sk89q.worldedit.world.biome.BiomeData; import com.sk89q.worldedit.world.biome.BiomeType; import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * A biome registry that knows nothing. */ @@ -40,9 +41,7 @@ public NullBiomeRegistry() { @Override public Component getRichName(BiomeType biomeType) { - return TranslatableComponent.of( - TranslationManager.makeTranslationKey("biome", biomeType.getId()) - ); + return translatable(TranslationManager.makeTranslationKey("biome", biomeType.getId())); } @Deprecated diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/FileLegacyChunkStore.java b/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/FileLegacyChunkStore.java index 4d92e1846d..3037d29f25 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/FileLegacyChunkStore.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/world/storage/FileLegacyChunkStore.java @@ -24,7 +24,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.IOException; import java.io.InputStream; /** diff --git a/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricBiomeRegistry.java b/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricBiomeRegistry.java index d78b95bd5a..3283be0629 100644 --- a/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricBiomeRegistry.java +++ b/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricBiomeRegistry.java @@ -27,6 +27,8 @@ import net.minecraft.util.Identifier; import net.minecraft.util.Util; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Provides access to biome data in Fabric. */ @@ -34,7 +36,7 @@ class FabricBiomeRegistry implements BiomeRegistry { @Override public Component getRichName(BiomeType biomeType) { - return TranslatableComponent.of(Util.createTranslationKey("biome", new Identifier(biomeType.getId()))); + return translatable(Util.createTranslationKey("biome", new Identifier(biomeType.getId()))); } @Deprecated diff --git a/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricBlockRegistry.java b/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricBlockRegistry.java index 0c1ff52eb8..6f5cc06759 100644 --- a/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricBlockRegistry.java +++ b/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricBlockRegistry.java @@ -34,13 +34,15 @@ import java.util.OptionalInt; import java.util.TreeMap; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class FabricBlockRegistry extends BundledBlockRegistry { private final Map materialMap = new HashMap<>(); @Override public Component getRichName(BlockType blockType) { - return TranslatableComponent.of(FabricAdapter.adapt(blockType).getTranslationKey()); + return translatable(FabricAdapter.adapt(blockType).getTranslationKey()); } @Override diff --git a/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricItemRegistry.java b/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricItemRegistry.java index 8218b932f7..335b7fa38c 100644 --- a/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricItemRegistry.java +++ b/worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricItemRegistry.java @@ -25,20 +25,18 @@ import com.sk89q.worldedit.world.item.ItemType; import com.sk89q.worldedit.world.registry.BundledItemRegistry; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class FabricItemRegistry extends BundledItemRegistry { @Override public Component getRichName(ItemType itemType) { - return TranslatableComponent.of( - FabricAdapter.adapt(itemType).getTranslationKey() - ); + return translatable(FabricAdapter.adapt(itemType).getTranslationKey()); } @Override public Component getRichName(BaseItemStack itemStack) { - return TranslatableComponent.of( - FabricAdapter.adapt(itemStack).getTranslationKey() - ); + return translatable(FabricAdapter.adapt(itemStack).getTranslationKey()); } } diff --git a/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeBiomeRegistry.java b/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeBiomeRegistry.java index 6ea4d9fa0e..07360c2b55 100644 --- a/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeBiomeRegistry.java +++ b/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeBiomeRegistry.java @@ -27,6 +27,8 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.Util; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Provides access to biome data in Forge. */ @@ -34,7 +36,7 @@ class ForgeBiomeRegistry implements BiomeRegistry { @Override public Component getRichName(BiomeType biomeType) { - return TranslatableComponent.of(Util.makeTranslationKey("biome", new ResourceLocation(biomeType.getId()))); + return translatable(Util.makeTranslationKey("biome", new ResourceLocation(biomeType.getId()))); } @Deprecated diff --git a/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeBlockRegistry.java b/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeBlockRegistry.java index 8b755d5577..561df3abc8 100644 --- a/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeBlockRegistry.java +++ b/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeBlockRegistry.java @@ -34,13 +34,15 @@ import java.util.OptionalInt; import java.util.TreeMap; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class ForgeBlockRegistry extends BundledBlockRegistry { private final Map materialMap = new HashMap<>(); @Override public Component getRichName(BlockType blockType) { - return TranslatableComponent.of(ForgeAdapter.adapt(blockType).getTranslationKey()); + return translatable(ForgeAdapter.adapt(blockType).getTranslationKey()); } @Override diff --git a/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeItemRegistry.java b/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeItemRegistry.java index 873eab3cf0..139c3d001f 100644 --- a/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeItemRegistry.java +++ b/worldedit-forge/src/main/java/com/sk89q/worldedit/forge/ForgeItemRegistry.java @@ -25,20 +25,18 @@ import com.sk89q.worldedit.world.item.ItemType; import com.sk89q.worldedit.world.registry.BundledItemRegistry; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + public class ForgeItemRegistry extends BundledItemRegistry { @Override public Component getRichName(ItemType itemType) { - return TranslatableComponent.of( - ForgeAdapter.adapt(itemType).getTranslationKey() - ); + return translatable(ForgeAdapter.adapt(itemType).getTranslationKey()); } @Override public Component getRichName(BaseItemStack itemStack) { - return TranslatableComponent.of( - ForgeAdapter.adapt(itemStack).getTranslationKey() - ); + return translatable(ForgeAdapter.adapt(itemStack).getTranslationKey()); } } diff --git a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeBiomeRegistry.java b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeBiomeRegistry.java index fd012d2941..6f0ed44e88 100644 --- a/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeBiomeRegistry.java +++ b/worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeBiomeRegistry.java @@ -28,6 +28,8 @@ import javax.annotation.Nullable; +import static com.sk89q.worldedit.util.formatting.text.Component.translatable; + /** * Provides access to biome data in Sponge. */ @@ -35,9 +37,7 @@ class SpongeBiomeRegistry implements BiomeRegistry { @Override public Component getRichName(com.sk89q.worldedit.world.biome.BiomeType biomeType) { - return TranslatableComponent.of( - TranslationManager.makeTranslationKey("biome", biomeType.getId()) - ); + return translatable(TranslationManager.makeTranslationKey("biome", biomeType.getId())); } @Deprecated