diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 48a0371a3..0df3521c6 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -53,4 +53,5 @@ dependencies { // implementation("net.minecraftforge.gradle:ForgeGradle:3.0.143") // implementation("net.fabricmc:fabric-loom:$loomVersion") // implementation("net.fabricmc:sponge-mixin:$mixinVersion") -} \ No newline at end of file + implementation("gradle.plugin.com.mendhak.gradlecrowdin:plugin:0.1.0") +} diff --git a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/BukkitCommand.java b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/BukkitCommand.java index 8044b4829..ae622c7b6 100644 --- a/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/BukkitCommand.java +++ b/worldedit-bukkit/src/main/java/com/boydti/fawe/bukkit/BukkitCommand.java @@ -1,6 +1,7 @@ package com.boydti.fawe.bukkit; import com.boydti.fawe.config.BBC; +import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.boydti.fawe.object.FaweCommand; import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldedit.bukkit.BukkitBlockCommandSender; 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 36d5c5795..053edcfad 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 @@ -21,6 +21,8 @@ package com.sk89q.worldedit.bukkit; import static com.google.common.base.Preconditions.checkNotNull; +import com.sk89q.worldedit.WorldEdit; + import com.sk89q.worldedit.extension.platform.AbstractNonPlayerActor; import com.sk89q.worldedit.extension.platform.Locatable; import com.sk89q.worldedit.extent.Extent; @@ -33,10 +35,13 @@ 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 java.util.UUID; +import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.command.BlockCommandSender; + +import java.util.Locale; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -72,7 +77,7 @@ public class BukkitBlockCommandSender extends AbstractNonPlayerActor implements @Override public void print(String msg) { for (String part : msg.split("\n")) { - print(TextComponent.of(part, TextColor.LIGHT_PURPLE)); + print(TextComponent.of(part, TextColor.GRAY)); } } @@ -92,7 +97,12 @@ public class BukkitBlockCommandSender extends AbstractNonPlayerActor implements @Override public void print(Component component) { - TextAdapter.sendComponent(sender, WorldEditText.format(component)); + TextAdapter.sendComponent(sender, WorldEditText.format(component, getLocale())); + } + + @Override + public Locale getLocale() { + return WorldEdit.getInstance().getConfiguration().defaultLocale; } @Override diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandInspector.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandInspector.java index d229188ef..458d1330d 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandInspector.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitCommandInspector.java @@ -23,6 +23,7 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.sk89q.worldedit.util.formatting.WorldEditText.reduceToText; import com.sk89q.bukkit.util.CommandInspector; +import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.extension.platform.Actor; import java.util.Optional; import org.bukkit.command.Command; @@ -32,6 +33,8 @@ import org.enginehub.piston.inject.InjectedValueStore; import org.enginehub.piston.inject.Key; import org.enginehub.piston.inject.MapBackedValueStore; import org.slf4j.Logger; + +import java.util.Locale; import org.slf4j.LoggerFactory; class BukkitCommandInspector implements CommandInspector { @@ -51,7 +54,7 @@ class BukkitCommandInspector implements CommandInspector { public String getShortText(Command command) { Optional mapping = dispatcher.getCommand(command.getName()); if (mapping.isPresent()) { - return reduceToText(mapping.get().getDescription()); + return reduceToText(mapping.get().getDescription(), WorldEdit.getInstance().getConfiguration().defaultLocale); } else { logger.warn("BukkitCommandInspector doesn't know how about the command '" + command + "'"); return "Help text not available"; @@ -62,7 +65,7 @@ class BukkitCommandInspector implements CommandInspector { public String getFullText(Command command) { Optional mapping = dispatcher.getCommand(command.getName()); if (mapping.isPresent()) { - return reduceToText(mapping.get().getFullHelp()); + return reduceToText(mapping.get().getFullHelp(), WorldEdit.getInstance().getConfiguration().defaultLocale); } else { logger.warn("BukkitCommandInspector doesn't know how about the command '" + command + "'"); return "Help text not available"; 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 f1422b95c..a8127e986 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,6 +22,8 @@ package com.sk89q.worldedit.bukkit; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; +import com.sk89q.worldedit.WorldEdit; + import com.sk89q.worldedit.extension.platform.AbstractNonPlayerActor; import com.sk89q.worldedit.session.SessionKey; import com.sk89q.worldedit.util.auth.AuthorizationException; @@ -29,6 +31,8 @@ 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 java.util.UUID; + +import java.util.Locale; import javax.annotation.Nullable; import org.bukkit.command.CommandSender; import org.bukkit.entity.Entity; @@ -93,7 +97,7 @@ public class BukkitCommandSender extends AbstractNonPlayerActor { @Override public void print(Component component) { - TextAdapter.sendComponent(sender, WorldEditText.format(component)); + TextAdapter.sendComponent(sender, WorldEditText.format(component, getLocale())); } @Override @@ -113,6 +117,11 @@ public class BukkitCommandSender extends AbstractNonPlayerActor { public void checkPermission(String permission) throws AuthorizationException { } + @Override + public Locale getLocale() { + return WorldEdit.getInstance().getConfiguration().defaultLocale; + } + @Override public SessionKey getSessionKey() { return new SessionKey() { 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 c04b34203..3da921251 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 @@ -21,6 +21,8 @@ package com.sk89q.worldedit.bukkit; import com.boydti.fawe.Fawe; import com.boydti.fawe.bukkit.FaweBukkit; +import com.boydti.fawe.config.BBC; +import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.boydti.fawe.config.Settings; import com.boydti.fawe.object.RunnableVal; import com.boydti.fawe.util.TaskManager; @@ -40,11 +42,17 @@ 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.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.serializer.gson.GsonComponentSerializer; +import com.sk89q.worldedit.util.formatting.text.serializer.legacy.LegacyComponentSerializer; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BaseBlock; import com.sk89q.worldedit.world.block.BlockStateHolder; +import java.util.ArrayList; +import java.util.List; import java.util.Locale; import com.sk89q.worldedit.world.block.BlockTypes; import com.sk89q.worldedit.world.gamemode.GameMode; @@ -167,28 +175,25 @@ public class BukkitPlayer extends AbstractPlayerActor { @Override public void print(String msg) { - for (String part : msg.split("\n")) { - player.sendMessage("\u00A7d" + part); - } + print(LegacyComponentSerializer.legacy().deserialize("&7" + msg, '&')); } @Override public void printDebug(String msg) { - for (String part : msg.split("\n")) { - player.sendMessage("\u00A77" + part); - } + print(LegacyComponentSerializer.legacy().deserialize("&3" + msg, '&')); } @Override public void printError(String msg) { - for (String part : msg.split("\n")) { - player.sendMessage("\u00A7c" + part); - } + print(LegacyComponentSerializer.legacy().deserialize("&c" + msg, '&')); } @Override public void print(Component component) { - TextAdapter.sendComponent(player, WorldEditText.format(component)); + Component prefix = TranslatableComponent.of("fawe.prefix"); + component = TextComponent.builder().append(prefix).append(component).build(); + component = BBC.color(component, getLocale()); + TextAdapter.sendComponent(player, component); } @Override @@ -292,6 +297,11 @@ public class BukkitPlayer extends AbstractPlayerActor { return player.teleport(BukkitAdapter.adapt(location)); } + @Override + public Locale getLocale() { + return Locale.forLanguageTag(player.getLocale().replace('_', '-')); + } + @Nullable @Override public T getFacet(Class cls) { @@ -361,10 +371,10 @@ public class BukkitPlayer extends AbstractPlayerActor { } @Override - public void sendTitle(String title, String sub) { - player.sendTitle(ChatColor.GOLD + title, ChatColor.GOLD + sub, 0, 70, 20); - Bukkit.getServer().dispatchCommand(player, "title " + getName() + " subtitle [{\"text\":\"" + sub + "\",\"color\":\"gold\"}]"); - Bukkit.getServer().dispatchCommand(player, "title " + getName() + " title [{\"text\":\"" + title + "\",\"color\":\"gold\"}]"); + public void sendTitle(Component title, Component sub) { + String titleStr = WorldEditText.reduceToText(title, getLocale()); + String subStr = WorldEditText.reduceToText(sub, getLocale()); + player.sendTitle(titleStr, subStr, 0, 70, 20); } @Override diff --git a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitServerInterface.java b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitServerInterface.java index a5a60dc93..d26bb36df 100644 --- a/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitServerInterface.java +++ b/worldedit-bukkit/src/main/java/com/sk89q/worldedit/bukkit/BukkitServerInterface.java @@ -24,6 +24,7 @@ import static com.sk89q.worldedit.util.formatting.WorldEditText.reduceToText; import com.sk89q.bukkit.util.CommandInfo; import com.sk89q.bukkit.util.CommandRegistration; import com.sk89q.worldedit.LocalConfiguration; +import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.command.util.PermissionCondition; import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.extension.platform.Actor; @@ -38,6 +39,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.EnumMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -167,8 +169,9 @@ public class BukkitServerInterface implements MultiUserPlatform { Stream.of(command.getName()), command.getAliases().stream() ).toArray(String[]::new); - return new CommandInfo(reduceToText(command.getUsage()), - reduceToText(command.getDescription()), aliases, + // TODO Handle localisation correctly + return new CommandInfo(reduceToText(command.getUsage(), WorldEdit.getInstance().getConfiguration().defaultLocale), + reduceToText(command.getDescription(), WorldEdit.getInstance().getConfiguration().defaultLocale), aliases, inspector, permissionsArray); }).collect(Collectors.toList())); } 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 970c11df5..93b52f6ae 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 @@ -21,6 +21,7 @@ package com.sk89q.worldedit.cli; import static com.google.common.base.Preconditions.checkNotNull; +import com.sk89q.worldedit.WorldEdit; import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.internal.cui.CUIEvent; import com.sk89q.worldedit.session.SessionKey; @@ -32,6 +33,7 @@ import com.sk89q.worldedit.util.formatting.text.serializer.plain.PlainComponentS import org.slf4j.Logger; import java.io.File; +import java.util.Locale; import java.util.UUID; public class CLICommandSender implements Actor { @@ -97,7 +99,7 @@ public class CLICommandSender implements Actor { @Override public void print(Component component) { - print(PlainComponentSerializer.INSTANCE.serialize(WorldEditText.format(component))); + print(PlainComponentSerializer.INSTANCE.serialize(WorldEditText.format(component, getLocale()))); } @Override @@ -138,6 +140,11 @@ public class CLICommandSender implements Actor { public void dispatchCUIEvent(CUIEvent event) { } + @Override + public Locale getLocale() { + return WorldEdit.getInstance().getConfiguration().defaultLocale; + } + @Override public SessionKey getSessionKey() { return new SessionKey() { 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 ba77fb1f2..56853ffe3 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,6 +32,7 @@ import com.sk89q.worldedit.extent.clipboard.io.ClipboardFormat; 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; @@ -237,13 +238,13 @@ public class CLIWorldEdit { while (scanner.hasNextLine()) { String line = scanner.nextLine(); if (line.equals("stop")) { - commandSender.print("Stopping!"); + commandSender.printInfo(TranslatableComponent.of("worldedit.cli.stopping")); break; } CommandEvent event = new CommandEvent(commandSender, line); WorldEdit.getInstance().getEventBus().post(event); if (!event.isCancelled()) { - commandSender.printError("Unknown command!"); + commandSender.printError(TranslatableComponent.of("worldedit.cli.unknown-command")); } else { saveAllWorlds(false); } diff --git a/worldedit-core/build.gradle.kts b/worldedit-core/build.gradle.kts index 645bf6fbe..a3bb707d5 100644 --- a/worldedit-core/build.gradle.kts +++ b/worldedit-core/build.gradle.kts @@ -1,11 +1,14 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import org.gradle.plugins.ide.idea.model.IdeaModel +import com.mendhak.gradlecrowdin.DownloadTranslationsTask +import com.mendhak.gradlecrowdin.UploadSourceFileTask plugins { id("java-library") id("net.ltgt.apt-eclipse") id("net.ltgt.apt-idea") id("antlr") + id("com.mendhak.gradlecrowdin") } repositories { @@ -101,3 +104,28 @@ tasks.named("shadowJar") { } } + +val crowdinApiKey = "crowdin_apikey" + +if (project.hasProperty(crowdinApiKey)) { + tasks.named("crowdinUpload") { + apiKey = "${project.property(crowdinApiKey)}" + projectId = "worldedit-core" + files = arrayOf( + object { + var name = "strings.json" + var source = "${file("src/main/resources/lang/strings.json")}" + } + ) + } + + tasks.named("crowdinDownload") { + apiKey = "${project.property(crowdinApiKey)}" + destination = "${file("build/resources/main/lang")}" + projectId = "worldedit-core" + } + + tasks.named("classes").configure { + dependsOn("crowdinDownload") + } +} diff --git a/worldedit-core/doctools/src/main/kotlin/com/sk89q/worldedit/internal/util/RstWorldEditText.kt b/worldedit-core/doctools/src/main/kotlin/com/sk89q/worldedit/internal/util/RstWorldEditText.kt index 2b37700f6..04adb822e 100644 --- a/worldedit-core/doctools/src/main/kotlin/com/sk89q/worldedit/internal/util/RstWorldEditText.kt +++ b/worldedit-core/doctools/src/main/kotlin/com/sk89q/worldedit/internal/util/RstWorldEditText.kt @@ -7,9 +7,10 @@ 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.TextDecoration import org.enginehub.piston.util.TextHelper +import java.util.Locale fun reduceToRst(component: Component): String { - val formatted = WorldEditText.format(component) + val formatted = WorldEditText.format(component, Locale.US) return formatAsRst(formatted).toString() } diff --git a/worldedit-core/src/main/java/com/boydti/fawe/Fawe.java b/worldedit-core/src/main/java/com/boydti/fawe/Fawe.java index 69754c103..820696abe 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/Fawe.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/Fawe.java @@ -2,6 +2,7 @@ package com.boydti.fawe; import com.boydti.fawe.beta.implementation.queue.QueueHandler; import com.boydti.fawe.config.BBC; +import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.boydti.fawe.config.Settings; import com.boydti.fawe.object.brush.visualization.VisualQueue; import com.boydti.fawe.regions.general.integrations.plotquared.PlotSquaredFeature; diff --git a/worldedit-core/src/main/java/com/boydti/fawe/FaweAPI.java b/worldedit-core/src/main/java/com/boydti/fawe/FaweAPI.java index 62bce6fea..d513718e1 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/FaweAPI.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/FaweAPI.java @@ -2,6 +2,8 @@ package com.boydti.fawe; import com.boydti.fawe.beta.IQueueExtent; import com.boydti.fawe.config.BBC; +import com.sk89q.worldedit.util.formatting.text.Component; +import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.boydti.fawe.config.Settings; import com.boydti.fawe.object.RegionWrapper; import com.boydti.fawe.object.changeset.DiskStorageHistory; @@ -232,7 +234,7 @@ public class FaweAPI { * @param reason * @see EditSession#getRegionExtent() To get the FaweExtent for an EditSession */ - public static void cancelEdit(Extent extent, BBC reason) { + public static void cancelEdit(Extent extent, Component reason) { try { WEManager.IMP.cancelEdit(extent, new FaweException(reason)); } catch (WorldEditException ignore) { diff --git a/worldedit-core/src/main/java/com/boydti/fawe/FaweCache.java b/worldedit-core/src/main/java/com/boydti/fawe/FaweCache.java index 658a45046..e15476b1f 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/FaweCache.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/FaweCache.java @@ -5,6 +5,7 @@ import static org.slf4j.LoggerFactory.getLogger; import com.boydti.fawe.beta.Trimable; import com.boydti.fawe.config.BBC; +import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.boydti.fawe.config.Settings; import com.boydti.fawe.object.collection.BitArray4096; import com.boydti.fawe.object.collection.CleanableThreadLocal; @@ -199,15 +200,15 @@ public enum FaweCache implements Trimable { */ public static final FaweChunkLoadException CHUNK = new FaweChunkLoadException(); public static final FaweBlockBagException BLOCK_BAG = new FaweBlockBagException(); - public static final FaweException MANUAL = new FaweException(BBC.WORLDEDIT_CANCEL_REASON_MANUAL); - public static final FaweException NO_REGION = new FaweException(BBC.WORLDEDIT_CANCEL_REASON_NO_REGION); - public static final FaweException OUTSIDE_REGION = new FaweException(BBC.WORLDEDIT_CANCEL_REASON_OUTSIDE_REGION); - public static final FaweException MAX_CHECKS = new FaweException(BBC.WORLDEDIT_CANCEL_REASON_MAX_CHECKS); - public static final FaweException MAX_CHANGES = new FaweException(BBC.WORLDEDIT_CANCEL_REASON_MAX_CHANGES); - public static final FaweException LOW_MEMORY = new FaweException(BBC.WORLDEDIT_CANCEL_REASON_LOW_MEMORY); - public static final FaweException MAX_ENTITIES = new FaweException(BBC.WORLDEDIT_CANCEL_REASON_MAX_ENTITIES); - public static final FaweException MAX_TILES = new FaweException(BBC.WORLDEDIT_CANCEL_REASON_MAX_TILES); - public static final FaweException MAX_ITERATIONS = new FaweException(BBC.WORLDEDIT_CANCEL_REASON_MAX_ITERATIONS); + public static final FaweException MANUAL = new FaweException(TranslatableComponent.of("fawe.cancel.worldedit.cancel.reason.manual")); + public static final FaweException NO_REGION = new FaweException(TranslatableComponent.of("fawe.cancel.worldedit.cancel.reason.no.region")); + public static final FaweException OUTSIDE_REGION = new FaweException(TranslatableComponent.of("fawe.cancel.worldedit.cancel.reason.outside.region")); + public static final FaweException MAX_CHECKS = new FaweException(TranslatableComponent.of("fawe.cancel.worldedit.cancel.reason.max.checks")); + public static final FaweException MAX_CHANGES = new FaweException(TranslatableComponent.of("fawe.cancel.worldedit.cancel.reason.max.changes")); + public static final FaweException LOW_MEMORY = new FaweException(TranslatableComponent.of("fawe.cancel.worldedit.cancel.reason.low.memory")); + public static final FaweException MAX_ENTITIES = new FaweException(TranslatableComponent.of("fawe.cancel.worldedit.cancel.reason.max.entities")); + public static final FaweException MAX_TILES = new FaweException(TranslatableComponent.of("fawe.cancel.worldedit.cancel.reason.max.tiles")); + public static final FaweException MAX_ITERATIONS = new FaweException(TranslatableComponent.of("fawe.cancel.worldedit.cancel.reason.max.iterations")); /* thread cache diff --git a/worldedit-core/src/main/java/com/boydti/fawe/command/AnvilCommands.java b/worldedit-core/src/main/java/com/boydti/fawe/command/AnvilCommands.java index 950237b4f..295ff09be 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/command/AnvilCommands.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/command/AnvilCommands.java @@ -52,7 +52,7 @@ public class AnvilCommands { // boolean copy = false; // if (FaweAPI.getWorld(folder) != null) { // if (!force) { -// BBC.WORLD_IS_LOADED.send(player); +// player.print(TranslatableComponent.of("fawe.worldedit.anvil.world.is.loaded")) // return null; // } // copy = true; @@ -80,7 +80,7 @@ public class AnvilCommands { // @Deprecated // public static > T runWithSelection(Player player, EditSession editSession, Region selection, T filter) { // if (!(selection instanceof CuboidRegion)) { -// BBC.NO_REGION.send(player); +// player.print(TranslatableComponent.of("fawe.error.no.region")) // return null; // } // CuboidRegion cuboid = (CuboidRegion) selection; @@ -131,7 +131,7 @@ public class AnvilCommands { // final FaweBlockMatcher matchTo = FaweBlockMatcher.setBlocks(worldEdit.getBlocks(player, to, true)); // ReplaceSimpleFilter filter = new ReplaceSimpleFilter(matchFrom, matchTo); // ReplaceSimpleFilter result = runWithWorld(player, folder, filter, true); -// if (result != null) player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// if (result != null) player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); } @Command( @@ -148,7 +148,7 @@ public class AnvilCommands { // RemapFilter filter = new RemapFilter(from, to); // RemapFilter result = runWithWorld(player, folder, filter, true); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -167,7 +167,7 @@ public class AnvilCommands { // DeleteUninhabitedFilter filter = new DeleteUninhabitedFilter(fileDurationMillis, inhabitedTicks, fileDurationMillis); TODO NOT IMPLEMENTED // DeleteUninhabitedFilter result = runWithWorld(player, folder, filter, true); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -190,7 +190,7 @@ public class AnvilCommands { // } // DeleteUnclaimedFilter result = runWithWorld(player, folder, filter, true); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -212,7 +212,7 @@ public class AnvilCommands { // } // DeleteUnclaimedFilter result = runWithSelection(player, editSession, selection, filter); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -229,7 +229,7 @@ public class AnvilCommands { // DeleteOldFilter filter = new DeleteOldFilter(duration); // DeleteOldFilter result = runWithWorld(player, folder, filter, true); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -249,7 +249,7 @@ public class AnvilCommands { // MCAQueue queue = new MCAQueue(defaultQueue); // PlotTrimFilter result = queue.filterWorld(filter); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -262,7 +262,7 @@ public class AnvilCommands { // DeleteBiomeFilterSimple filter = new DeleteBiomeFilterSimple(biome); TODO NOT IMPLEMENTED // DeleteBiomeFilterSimple result = runWithWorld(player, folder, filter, true, unsafe); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -275,7 +275,7 @@ public class AnvilCommands { // TrimAirFilter filter = new TrimAirFilter(); TODO NOT IMPLEMENTED // TrimAirFilter result = runWithWorld(player, folder, filter, true, unsafe); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -289,7 +289,7 @@ public class AnvilCommands { // DebugFixP2Roads filter = new DebugFixP2Roads(); TODO NOT IMPLEMENTED // DebugFixP2Roads result = runWithWorld(player, folder, filter, true, true); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -319,7 +319,7 @@ public class AnvilCommands { // filter = new ReplacePatternFilter(matchFrom, to); // } // MCAFilterCounter result = runWithWorld(player, folder, filter, true); -// if (result != null) player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// if (result != null) player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); } // @@ -341,7 +341,7 @@ public class AnvilCommands { // filter = counter; // } // MCAFilterCounter result = runWithWorld(player, folder, filter, true); -// if (result != null) player.print(BBC.SELECTION_COUNT.format(result.getTotal())); +// if (result != null) player.print(TranslatableComponent.of("fawe.worldedit.selection.selection.count", (result.getTotal()))); } @Command( @@ -393,7 +393,7 @@ public class AnvilCommands { // }; // MCAFilterCounter result = runWithSelection(player, editSession, selection, filter); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -415,7 +415,7 @@ public class AnvilCommands { // filter = counter; // } // MCAFilterCounter result = runWithSelection(player, editSession, selection, filter); -// if (result != null) player.print(BBC.SELECTION_COUNT.format(result.getTotal())); +// if (result != null) player.print(TranslatableComponent.of("fawe.worldedit.selection.selection.count", (result.getTotal()))); } // @@ -514,7 +514,7 @@ public class AnvilCommands { // ReplaceSimpleFilter filter = new ReplaceSimpleFilter(matchFrom, matchTo); // MCAFilterCounter result = runWithSelection(player, editSession, selection, filter); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -546,7 +546,7 @@ public class AnvilCommands { // } // MCAFilterCounter result = runWithSelection(player, editSession, selection, filter); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -560,7 +560,7 @@ public class AnvilCommands { // MCAFilterCounter filter = new SetPatternFilter(to); TODO NOT IMPLEMENTED // MCAFilterCounter result = runWithSelection(player, editSession, selection, filter); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -578,7 +578,7 @@ public class AnvilCommands { // RemoveLayerFilter filter = new RemoveLayerFilter(minY, maxY, id); // MCAFilterCounter result = runWithSelection(player, editSession, selection, filter); // if (result != null) { -// player.print(BBC.VISITOR_BLOCK.format(result.getTotal())); +// player.print(TranslatableComponent.of("fawe.worldedit.visitor.visitor.block", (result.getTotal()))); // } } @@ -590,7 +590,7 @@ public class AnvilCommands { @CommandPermissions("worldedit.anvil.copychunks") public void copy(Player player, LocalSession session, EditSession editSession, @Selection Region selection) throws WorldEditException { // if (!(selection instanceof CuboidRegion)) { TODO NOT IMPLEMENTED -// BBC.NO_REGION.send(player); +// player.print(TranslatableComponent.of("fawe.error.no.region")) // return; // } // CuboidRegion cuboid = (CuboidRegion) selection; @@ -601,7 +601,7 @@ public class AnvilCommands { // MCAClipboard clipboard = new MCAClipboard(queue, cuboid, origin); // FawePlayer fp = FawePlayer.wrap(player); // fp.setMeta(FawePlayer.METADATA_KEYS.ANVIL_CLIPBOARD, clipboard); -// BBC.COMMAND_COPY.send(player, selection.getArea()); +// player.print(TranslatableComponent.of("fawe.worldedit.copy.command.copy" , selection.getArea())); } @Command( @@ -638,6 +638,6 @@ public class AnvilCommands { // pasteQueue.pasteRegion(copyQueue, copyRegion, offset, iAnvilHistory); // } catch (IOException e) { throw new RuntimeException(e); } // }); -// BBC.COMMAND_PASTE.send(player, player.getPosition().toBlockVector()); +// player.print(TranslatableComponent.of("fawe.worldedit.paste.command.paste" , player.getPosition().toBlockVector())); } } diff --git a/worldedit-core/src/main/java/com/boydti/fawe/command/CFICommands.java b/worldedit-core/src/main/java/com/boydti/fawe/command/CFICommands.java index 6ec3e86e2..0cec178df 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/command/CFICommands.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/command/CFICommands.java @@ -8,6 +8,7 @@ import com.boydti.fawe.Fawe; import com.boydti.fawe.FaweAPI; import com.boydti.fawe.beta.implementation.filter.block.SingleFilterBlock; import com.boydti.fawe.config.BBC; +import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.boydti.fawe.object.RunnableVal; import com.boydti.fawe.object.brush.visualization.cfi.HeightMapMCAGenerator; import com.boydti.fawe.object.clipboard.MultiClipboardHolder; @@ -949,7 +950,7 @@ public class CFICommands { JsonObject data1 = obj.get("data").getAsJsonObject(); String link = data1.get("link").getAsString(); URL url = new URL(link); - BBC.DOWNLOAD_LINK.send(player, url); + player.print(TranslatableComponent.of("fawe.web.download.link" , url)); } @Command( diff --git a/worldedit-core/src/main/java/com/boydti/fawe/command/Rollback.java b/worldedit-core/src/main/java/com/boydti/fawe/command/Rollback.java index 9beca2402..2ed1d0f54 100644 --- a/worldedit-core/src/main/java/com/boydti/fawe/command/Rollback.java +++ b/worldedit-core/src/main/java/com/boydti/fawe/command/Rollback.java @@ -3,6 +3,7 @@ package com.boydti.fawe.command; import com.boydti.fawe.Fawe; import com.boydti.fawe.FaweAPI; import com.boydti.fawe.config.BBC; +import com.sk89q.worldedit.util.formatting.text.TranslatableComponent; import com.boydti.fawe.config.Settings; import com.boydti.fawe.object.FaweCommand; import com.boydti.fawe.object.RegionWrapper; @@ -34,11 +35,11 @@ public class Rollback extends FaweCommand { } Player player = (Player) actor; if (!Settings.IMP.HISTORY.USE_DATABASE) { - BBC.SETTING_DISABLE.send(player, "history.use-database (Import with /frb #import )"); + player.print(TranslatableComponent.of("fawe.error.setting.disable" , "history.use-database (Import with /frb #import )")); return false; } if (args.length != 3) { - BBC.COMMAND_SYNTAX.send(player, "/frb u: r: t: