diff --git a/Core/src/main/java/com/plotsquared/core/PlotSquared.java b/Core/src/main/java/com/plotsquared/core/PlotSquared.java index 0e4ef5cb4..83ae671a1 100644 --- a/Core/src/main/java/com/plotsquared/core/PlotSquared.java +++ b/Core/src/main/java/com/plotsquared/core/PlotSquared.java @@ -218,14 +218,6 @@ public class PlotSquared { copyFile("town.template", Settings.Paths.TEMPLATES); copyFile("bridge.template", Settings.Paths.TEMPLATES); copyFile("skyblock.template", Settings.Paths.TEMPLATES); - copyFile("de-DE.yml", Settings.Paths.TRANSLATIONS); - copyFile("es-ES.yml", Settings.Paths.TRANSLATIONS); - copyFile("zh-CN.yml", Settings.Paths.TRANSLATIONS); - copyFile("it-IT.yml", Settings.Paths.TRANSLATIONS); - copyFile("ko-KR.yml", Settings.Paths.TRANSLATIONS); - copyFile("hu-HU.yml", Settings.Paths.TRANSLATIONS); - copyFile("pt-BR.yml", Settings.Paths.TRANSLATIONS); - copyFile("fr-FR.yml", Settings.Paths.TRANSLATIONS); showDebug(); } catch (Throwable e) { e.printStackTrace(); @@ -1314,7 +1306,6 @@ public class PlotSquared { * Setup all configuration files
* - Config: settings.yml
* - Storage: storage.yml
- * - Translation: PlotSquared.use_THIS.yml, style.yml
*/ public boolean setupConfigs() { File folder = new File(this.platform.getDirectory(), "config"); diff --git a/Core/src/main/java/com/plotsquared/core/command/Area.java b/Core/src/main/java/com/plotsquared/core/command/Area.java index e918f8daa..283006d07 100644 --- a/Core/src/main/java/com/plotsquared/core/command/Area.java +++ b/Core/src/main/java/com/plotsquared/core/command/Area.java @@ -143,7 +143,8 @@ public class Area extends SubCommand { return false; } if (args.length < 2) { - player.sendMessage(TranslatableCaption.of("single.single_area_needs_name")); + player.sendMessage(TranslatableCaption.of("single.single_area_needs_name"), + Template.of("command", "/plot area single ")); return false; } final PlotArea existingArea = @@ -305,7 +306,8 @@ public class Area extends SubCommand { player.sendMessage(TranslatableCaption.of("set.set_attribute"), Template.of("attribute", "area_pos1"), Template.of("value", location.getX() + "," + location.getZ())); - player.sendMessage(TranslatableCaption.of("area.set_pos2")); + player.sendMessage(TranslatableCaption.of("area.set_pos2"), + Template.of("command", "/plot area create pos2")); return true; } case "pos2": // Set position 2 and finish creation for type=2 (partial) diff --git a/Core/src/main/java/com/plotsquared/core/command/CmdConfirm.java b/Core/src/main/java/com/plotsquared/core/command/CmdConfirm.java index b809b63d7..e0b9bbbb3 100644 --- a/Core/src/main/java/com/plotsquared/core/command/CmdConfirm.java +++ b/Core/src/main/java/com/plotsquared/core/command/CmdConfirm.java @@ -57,7 +57,8 @@ public class CmdConfirm { if (commandStr != null) { player.sendMessage( TranslatableCaption.of("confirm.requires_confirm"), - Template.of("command", commandStr) + Template.of("command", commandStr), + Template.of("value", "/plot confirm") ); } TaskManager.runTaskLater(() -> { diff --git a/Core/src/main/java/com/plotsquared/core/command/Comment.java b/Core/src/main/java/com/plotsquared/core/command/Comment.java index 457483d7c..fe472a543 100644 --- a/Core/src/main/java/com/plotsquared/core/command/Comment.java +++ b/Core/src/main/java/com/plotsquared/core/command/Comment.java @@ -51,6 +51,7 @@ public class Comment extends SubCommand { if (args.length < 2) { player.sendMessage( TranslatableCaption.of("comment.comment_syntax"), + Template.of("command", "/plot comment [X;Z]"), Template.of("list", StringMan.join(CommentManager.inboxes.keySet(), "|")) ); return false; @@ -70,6 +71,7 @@ public class Comment extends SubCommand { if (args.length < 3) { player.sendMessage( TranslatableCaption.of("comment.comment_syntax"), + Template.of("command", "/plot comment [X;Z]"), Template.of("list", StringMan.join(CommentManager.inboxes.keySet(), "|")) ); return false; @@ -81,6 +83,7 @@ public class Comment extends SubCommand { if (inbox == null) { player.sendMessage( TranslatableCaption.of("comment.comment_syntax"), + Template.of("command", "/plot comment [X;Z]"), Template.of("list", StringMan.join(CommentManager.inboxes.keySet(), "|")) ); return false; @@ -100,6 +103,7 @@ public class Comment extends SubCommand { player.sendMessage(TranslatableCaption.of("comment.no_plot_inbox")); player.sendMessage( TranslatableCaption.of("comment.comment_syntax"), + Template.of("command", "/plot comment [X;Z]"), Template.of("list", StringMan.join(CommentManager.inboxes.keySet(), "|")) ); return false; diff --git a/Core/src/main/java/com/plotsquared/core/command/CreateRoadSchematic.java b/Core/src/main/java/com/plotsquared/core/command/CreateRoadSchematic.java index c78ccf630..ebdab6c65 100644 --- a/Core/src/main/java/com/plotsquared/core/command/CreateRoadSchematic.java +++ b/Core/src/main/java/com/plotsquared/core/command/CreateRoadSchematic.java @@ -32,6 +32,7 @@ import com.plotsquared.core.generator.HybridUtils; import com.plotsquared.core.location.Location; import com.plotsquared.core.player.PlotPlayer; import com.plotsquared.core.plot.Plot; +import net.kyori.adventure.text.minimessage.Template; import javax.annotation.Nonnull; @@ -61,7 +62,8 @@ public class CreateRoadSchematic extends SubCommand { player.sendMessage(TranslatableCaption.of("errors.not_in_plot_world")); } this.hybridUtils.setupRoadSchematic(plot); - player.sendMessage(TranslatableCaption.of("schematics.schematic_road_created")); + player.sendMessage(TranslatableCaption.of("schematics.schematic_road_created"), + Template.of("command", "/plot debugroadregen")); return true; } } diff --git a/Core/src/main/java/com/plotsquared/core/command/DebugRoadRegen.java b/Core/src/main/java/com/plotsquared/core/command/DebugRoadRegen.java index 10e8b3f3e..08afc831a 100644 --- a/Core/src/main/java/com/plotsquared/core/command/DebugRoadRegen.java +++ b/Core/src/main/java/com/plotsquared/core/command/DebugRoadRegen.java @@ -143,8 +143,10 @@ public class DebugRoadRegen extends SubCommand { player.sendMessage(TranslatableCaption.of("errors.not_valid_plot_world")); return true; } - player.sendMessage(TranslatableCaption.of("debugroadregen.schematic")); - player.sendMessage(TranslatableCaption.of("debugroadregen.regenallroads")); + player.sendMessage(TranslatableCaption.of("debugroadregen.schematic"), + Template.of("command", "/plot createroadschematic")); + player.sendMessage(TranslatableCaption.of("debugroadregen.regenallroads"), + Template.of("command", "/plot regenallroads")); boolean result = this.hybridUtils.scheduleSingleRegionRoadUpdate(plot, height); if (!result) { player.sendMessage(TranslatableCaption.of("debugexec.mass_schematic_update_in_progress")); diff --git a/Core/src/main/java/com/plotsquared/core/command/Load.java b/Core/src/main/java/com/plotsquared/core/command/Load.java index aeba0a873..3e8ab1b41 100644 --- a/Core/src/main/java/com/plotsquared/core/command/Load.java +++ b/Core/src/main/java/com/plotsquared/core/command/Load.java @@ -100,7 +100,10 @@ public class Load extends SubCommand { List schematics = metaDataAccess.get().orElse(null); if (schematics == null) { // No schematics found: - player.sendMessage(TranslatableCaption.of("web.load_null")); + player.sendMessage( + TranslatableCaption.of("web.load_null"), + Template.of("command", "/plot load") + ); return false; } String schematic; @@ -201,7 +204,10 @@ public class Load extends SubCommand { e.printStackTrace(); } } - player.sendMessage(TranslatableCaption.of("web.load_list")); + player.sendMessage( + TranslatableCaption.of("web.load_list"), + Template.of("command", "/plot load #") + ); } } diff --git a/Core/src/main/java/com/plotsquared/core/command/RegenAllRoads.java b/Core/src/main/java/com/plotsquared/core/command/RegenAllRoads.java index 7a42442f4..478fb29d3 100644 --- a/Core/src/main/java/com/plotsquared/core/command/RegenAllRoads.java +++ b/Core/src/main/java/com/plotsquared/core/command/RegenAllRoads.java @@ -93,9 +93,8 @@ public class RegenAllRoads extends SubCommand { return false; } //Set chunks = ChunkManager.manager.getChunkChunks(name); - player.sendMessage(TranslatableCaption.of("debugroadregen.schematic")); - //MainUtil.sendMessage(player, "&6Potential chunks to update: &7" + (chunks.size() * 1024)); - //MainUtil.sendMessage(player, "&6Estimated time: &7" + chunks.size() + " seconds"); + player.sendMessage(TranslatableCaption.of("debugroadregen.schematic"), + Template.of("command", "/plot createroadschematic")); boolean result = this.hybridUtils.scheduleRoadUpdate(area, height); if (!result) { player.sendMessage(TranslatableCaption.of("debugexec.mass_schematic_update_in_progress")); diff --git a/Core/src/main/java/com/plotsquared/core/configuration/Settings.java b/Core/src/main/java/com/plotsquared/core/configuration/Settings.java index 3aa084655..aeca45577 100644 --- a/Core/src/main/java/com/plotsquared/core/configuration/Settings.java +++ b/Core/src/main/java/com/plotsquared/core/configuration/Settings.java @@ -409,7 +409,6 @@ public class Settings extends Config { public static String SCHEMATICS = "schematics"; public static String SCRIPTS = "scripts"; public static String TEMPLATES = "templates"; - public static String TRANSLATIONS = "translations"; } diff --git a/Core/src/main/java/com/plotsquared/core/listener/WESubscriber.java b/Core/src/main/java/com/plotsquared/core/listener/WESubscriber.java index 7f95ef64e..c0d16753b 100644 --- a/Core/src/main/java/com/plotsquared/core/listener/WESubscriber.java +++ b/Core/src/main/java/com/plotsquared/core/listener/WESubscriber.java @@ -45,6 +45,7 @@ import com.sk89q.worldedit.util.Location; import com.sk89q.worldedit.util.eventbus.EventHandler.Priority; import com.sk89q.worldedit.util.eventbus.Subscribe; import com.sk89q.worldedit.world.World; +import net.kyori.adventure.text.minimessage.Template; import javax.annotation.Nonnull; import java.util.Set; @@ -91,7 +92,8 @@ public class WESubscriber { mask = WEManager.getMask(plotPlayer); if (mask.isEmpty()) { if (Permissions.hasPermission(plotPlayer, "plots.worldedit.bypass")) { - plotPlayer.sendMessage(TranslatableCaption.of("worldedit.worldedit_bypass")); + plotPlayer.sendMessage(TranslatableCaption.of("worldedit.worldedit_bypass"), + Template.of("command", "/plot wea")); } if (this.plotAreaManager.hasPlotArea(world)) { event.setExtent(new NullExtent()); diff --git a/Core/src/main/java/com/plotsquared/core/plot/comment/CommentManager.java b/Core/src/main/java/com/plotsquared/core/plot/comment/CommentManager.java index 76f5009aa..ffda6422c 100644 --- a/Core/src/main/java/com/plotsquared/core/plot/comment/CommentManager.java +++ b/Core/src/main/java/com/plotsquared/core/plot/comment/CommentManager.java @@ -75,7 +75,8 @@ import java.util.concurrent.atomic.AtomicInteger; player.sendTitle( StaticCaption.of(""), TranslatableCaption.of("comment.inbox_notification"), - Template.of("amount", Integer.toString(total)) + Template.of("amount", Integer.toString(total)), + Template.of("command", "/plot inbox") ); } } diff --git a/Core/src/main/resources/lang/messages_en.json b/Core/src/main/resources/lang/messages_en.json index b944d20e0..fd9301af0 100644 --- a/Core/src/main/resources/lang/messages_en.json +++ b/Core/src/main/resources/lang/messages_en.json @@ -1,7 +1,7 @@ { "confirm.expired_confirm": "Confirmation has expired, please run the command again!", "confirm.failed_confirm": "You have no pending actions to confirm!", - "confirm.requires_confirm": "Are you sure you wish to execute: ?\nThis cannot be undone! If you are sure: /plot confirm", + "confirm.requires_confirm": "Are you sure you wish to execute: ?\nThis cannot be undone! If you are sure: ", "move.move_success": "Successfully moved plot.", "move.move_merged": "Merged plots may not be moved. Please unmerge the plot before performing the move.", @@ -21,14 +21,14 @@ "set.set_attribute": "Successfully set to .", - "area.set_pos2": "You will now set pos2: /plot area create pos2. Note: The chosen plot size may result in the created area not exactly matching your second position.", + "area.set_pos2": "You will now set pos2: . Note: The chosen plot size may result in the created area not exactly matching your second position.", "web.generating_link": "Processing plot...", "web.generating_link_failed": "Failed to generate download link!", "web.save_failed": "Failed to save.", - "web.load_null": "Please use /plot load to get a list of schematics.", + "web.load_null": "Please use to get a list of schematics.", "web.load_failed": "Failed to load schematic.", - "web.load_list": "To load a schematic, use /plot load #.", + "web.load_list": "To load a schematic, use .", "web.save_success": "Successfully saved!", "compass.compass_target": "Successfully targeted plot with your compass.", @@ -60,7 +60,7 @@ "border.border": "You are outside the current map border.", - "worldedit.worldedit_bypass": "To bypass your restrictions use /plot wea", + "worldedit.worldedit_bypass": "To bypass your restrictions use ", "worldedit.worldedit_bypassed": "Currently bypassing WorldEdit restriction.", "gamemode.gamemode_was_bypassed": "You bypassed the gamemode () set for .", @@ -74,10 +74,10 @@ "swap.swap_success": "Successfully swapped plots.", "swap.swap_merged": "Merged plots may not be swapped. Please unmerge the plots before performing the swap.", - "comment.inbox_notification": " unread messages. Use /plot inbox.", + "comment.inbox_notification": " unread messages. Use .", "comment.not_valid_inbox_index": "No comment at index .", "comment.inbox_item": " - ", - "comment.comment_syntax": "Use /plot comment [X;Z] <> ", + "comment.comment_syntax": "Use <> ", "comment.invalid_inbox": "That is not a valid inbox.\nAccepted values: ", "comment.no_perm_inbox": "You do not have permission for that inbox.", "comment.no_perm_inbox_modify": "You do not have permission to modify that inbox.", @@ -129,7 +129,6 @@ "setup.setup_not_started": "No setup started.", "setup.setup_init": "Usage: /plot setup ", "setup.setup_step": "[Step ] - Expecting: Default: ", - "setup.setup_invalid_arg": " is not a valid argument for step . To cancel setup use: /plot setup cancel.", "setup.setup_valid_arg": "Value set to .", "setup.setup_finished": "You should have been teleported to the created world. Otherwise you will need to set the generator manually using the bukkit.yml or your chosen world management plugin.", "setup.setup_world_taken": " is already a world. Choose a different name.", @@ -292,9 +291,9 @@ "debugroadregen.regen_done": "Regenerating plot south/east roads: \n - Result: Success!To regen all roads: ", - "schematics.schematic_road_created": "Saved new road schematic. To test the schematic, fly to a few other plots and run /plot debugroadregen.", - "debugroadregen.schematic": "If no schematic is set, the following will not do anything.\n - To set a schematic, stand in a plot and use /plot createroadschematic", - "debugroadregen.regenallroads": "To regenerate all roads: /plot regenallroads", + "schematics.schematic_road_created": "Saved new road schematic. To test the schematic, fly to a few other plots and run .", + "debugroadregen.schematic": "If no schematic is set, the following will not do anything.\n - To set a schematic, stand in a plot and use ", + "debugroadregen.regenallroads": "To regenerate all roads: ", "errors.invalid_player": "Player not found: .", "errors.invalid_player_offline": " must be online.", @@ -462,13 +461,11 @@ "events.event_denied": " Cancelled by external plugin.", - "backups.backup_usage": "Usage: /plot backup save/list/load", "backups.backup_impossible": "Backups are not enabled for this plot: .", "backups.backup_save_success": "The backup was created successfully.", "backups.backup_save_failed": "The backup could not be created: ", "backups.backup_load_success": "The backup was restored successfully.", "backups.backup_load_failure": "The backup could not be restored: ", - "backups.backup_load_usage": "Usage: /plot backup load [#]", "backups.backup_list_header": "Available backups for plot ", "backups.backup_list_entry": "- # ", "backups.backup_list_failed": "Backup listing failed: ", @@ -489,7 +486,7 @@ "single.single_area_missing_selection": "Error! You need to select a square region.", "single.single_area_not_square": "Error! Your selection needs to be a square.", "single.single_area_overlapping": "Error! Your selection overlaps with an existing plot area.", - "single.single_area_needs_name": "Error! Please specify a plot name: /plot area single ", + "single.single_area_needs_name": "Error! Please specify a plot name: ", "single.single_area_name_taken": "Error! The plot name is already taken.", "single.single_area_failed_to_save": "Error! Failed to save the area schematic.", "single.single_area_could_not_make_directories": "Error! Failed to create the schematic directory.", @@ -632,7 +629,6 @@ "flags.flag_error_gamemode": "Flag value must be a gamemode: 'survival', 'creative', 'adventure' or 'spectator.", "flags.flag_error_integer": "Flag value must be a whole number.", "flags.flag_error_integer_list": "Flag value must be an integer list.", - "flags.flag_error_internal": "Value(s) must be numeric. /plot set flag [amount].", "flags.flag_error_keep": "Flag value must be a timestamp or a boolean.", "flags.flag_error_long": "Flag value must be a whole number (large numbers allowed).", "flags.flag_error_plotblocklist": "Flag value must be a block list.",