diff --git a/build.gradle b/build.gradle index b0c8147..6fb252f 100644 --- a/build.gradle +++ b/build.gradle @@ -25,7 +25,7 @@ dependencies { compile 'com.zaxxer:HikariCP:3.2.0' compile 'com.googlecode.json-simple:json-simple:1.1.1' shadow 'org.xerial:sqlite-jdbc:3.23.1' - shadow 'org.spigotmc:spigot-api:1.14.3-R0.1-SNAPSHOT' + shadow 'org.spigotmc:spigot-api:1.15-R0.1-SNAPSHOT' } shadowJar { diff --git a/changelog.txt b/changelog.txt index a621022..a9c085e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -9,6 +9,19 @@ * The command '/pp fixed clear ' now accepts an optional location/world as '/pp fixed clear [ [world]]' + Added support for 1.15 particles, the future is now + Added support for 1.8.8 for those who refuse to accept the future (this is the only version of 1.8.x that will be supported, I will eventually drop support for it again in the future) +=== v6.6 === ++ Added support for Minecraft 1.15 ++ Added 1.15 effects: 'dripping_honey', 'falling_honey', 'falling_nectar', and 'landing_honey' ++ Added new lang file de_DE.lang (German) +* Fixed an issue where the 'arrows' style wouldn't load properly with preset groups +* Fixed an issue where shooting an arrow into a portal would throw errors +=== v6.5 === ++ Added Russian translation file ru_RU.lang ++ Added slightly better vanish plugin support +* Players no longer need an effect permission to open the GUI when gui-presets-only is true in the config.yml +* Fixed error with the celebration style +* Fixed error with the arrows style in 1.14+ +* Fixed '/pp reload' not being allowed from console === v6.4 === + Added support for Minecraft 1.14 + Added 1.14 effects: 'campfire_cosy_smoke', 'campfire_signal_smoke', 'composter', 'falling_lava', 'falling_water', 'landing_lava', 'sneeze' diff --git a/src/main/java/dev/esophose/playerparticles/gui/GuiInventoryLoadPresetGroups.java b/src/main/java/dev/esophose/playerparticles/gui/GuiInventoryLoadPresetGroups.java index 8439505..76d1685 100644 --- a/src/main/java/dev/esophose/playerparticles/gui/GuiInventoryLoadPresetGroups.java +++ b/src/main/java/dev/esophose/playerparticles/gui/GuiInventoryLoadPresetGroups.java @@ -53,8 +53,11 @@ public class GuiInventoryLoadPresetGroups extends GuiInventory { GuiActionButton groupButton = new GuiActionButton(index, group.getGuiIcon(), LangManager.getText(Lang.GUI_COLOR_ICON_NAME) + group.getDisplayName(), lore, (button, isShiftClick) -> { ParticleGroup activeGroup = pplayer.getActiveParticleGroup(); activeGroup.getParticles().clear(); - for (ParticlePair particle : particles) - activeGroup.getParticles().add(particle.clone()); + for (ParticlePair particle : particles) { + ParticlePair clonedParticle = particle.clone(); + clonedParticle.setOwner(pplayer); + activeGroup.getParticles().add(clonedParticle); + } dataManager.saveParticleGroup(pplayer.getUniqueId(), activeGroup); if (Setting.GUI_CLOSE_AFTER_GROUP_SELECTED.getBoolean()) { diff --git a/src/main/java/dev/esophose/playerparticles/locale/EnglishLocale.java b/src/main/java/dev/esophose/playerparticles/locale/EnglishLocale.java index 489cc6a..a46ff43 100644 --- a/src/main/java/dev/esophose/playerparticles/locale/EnglishLocale.java +++ b/src/main/java/dev/esophose/playerparticles/locale/EnglishLocale.java @@ -27,9 +27,9 @@ public class EnglishLocale implements Locale { // Command Descriptions this.put("command-descriptions", "&eThe following commands are available:"); - this.put("command-descriptions-usage", "&e/pp {0} {1}"); - this.put("command-descriptions-help-1", "&7> &b/pp {0} &e- {1}"); - this.put("command-descriptions-help-2", "&7> &b/pp {0} {1} &e- {2}"); + this.put("command-descriptions-usage", "&e/pp %cmd% %args%"); + this.put("command-descriptions-help-1", "&7> &b/pp %cmd% &e- %desc%"); + this.put("command-descriptions-help-2", "&7> &b/pp %cmd% %args% &e- %desc%"); this.put("command-descriptions-help-other", "&7> &b/ppo &e- Run a /pp command as a player"); this.put("command-description-add", "Add a new particle"); this.put("command-description-data", "Check what type of data an effect uses"); @@ -63,48 +63,48 @@ public class EnglishLocale implements Locale { this.put("command-description-group-list", "&e/pp group list - List all particle groups you have saved"); this.put("command-description-group-info", "&e/pp group info - List the particles saved in the group"); - // ID Lookup + // Command ID Lookup this.put("id-invalid", "&cThe ID you entered is invalid, it must be a positive whole number!"); - this.put("id-unknown", "&cYou do not have a particle applied with the ID &b{0}&c!"); + this.put("id-unknown", "&cYou do not have a particle applied with the ID &b%id%&c!"); // Other Command this.put("other-no-permission", "&cYou do not have permission to execute PlayerParticles commands for other players!"); this.put("other-missing-args", "&cYou are missing some arguments. &b/ppo "); - this.put("other-unknown-player", "&cThe player &b{0} &cwas not found. They must be online."); - this.put("other-unknown-command", "&cThe command &b/pp {0} &cdoes not exist."); - this.put("other-success", "&eExecuted /pp command for &b{0}&e. Output:"); + this.put("other-unknown-player", "&cThe player &b%player% &cwas not found. They must be online."); + this.put("other-unknown-command", "&cThe command &b/pp %cmd% &cdoes not exist."); + this.put("other-success", "&eExecuted /pp command for &b%player%&e. Output:"); // Add Command - this.put("add-reached-max", "&cUnable to apply particle, you have reached the maximum amount of &b{0} &callowed!"); - this.put("add-particle-applied", "&aA new particle has been applied with the effect &b{0}&a, style &b{1}&a, and data &b{2}&a!"); + this.put("add-reached-max", "&cUnable to apply particle, you have reached the maximum amount of &b%amount% &callowed!"); + this.put("add-particle-applied", "&aA new particle has been applied with the effect &b%effect%&a, style &b%style%&a, and data &b%data%&a!"); // Data Command this.put("data-no-args", "&cMissing argument for effect! Command usage: &b/pp data "); // Edit Command - this.put("edit-invalid-property", "&cAn invalid property &b{0} &cwas provided. Valid properties: &beffect&c, &bstyle&c, &bdata"); - this.put("edit-success-effect", "&aYour particle with an ID of &b{0} &ahas had its effect changed to &b{1}&a!"); - this.put("edit-success-style", "&aYour particle with an ID of &b{0} &ahas had its style changed to &b{1}&a!"); - this.put("edit-success-data", "&aYour particle with an ID of &b{0} &ahas had its data changed to &b{1}&a!"); + this.put("edit-invalid-property", "&cAn invalid property &b%prop% &cwas provided. Valid properties: &beffect&c, &bstyle&c, &bdata"); + this.put("edit-success-effect", "&aYour particle with an ID of &b%id% &ahas had its effect changed to &b%effect%&a!"); + this.put("edit-success-style", "&aYour particle with an ID of &b%id% &ahas had its style changed to &b%style%&a!"); + this.put("edit-success-data", "&aYour particle with an ID of &b%id% &ahas had its data changed to &b%data%&a!"); // Group Command - this.put("group-invalid", "&cA saved group or preset group does not exist with the name &b{0}&c!"); - this.put("group-no-permission", "&cYou are missing permission for an effect or style to use the group &b{0}&c!"); - this.put("group-preset-no-permission", "&cYou are missing permission for an effect or style to use the preset group &b{0}&c!"); + this.put("group-invalid", "&cA saved group or preset group does not exist with the name &b%name%&c!"); + this.put("group-no-permission", "&cYou are missing permission for an effect or style to use the group &b%group%&c!"); + this.put("group-preset-no-permission", "&cYou are missing permission for an effect or style to use the preset group &b%group%&c!"); this.put("group-reserved", "&cThe group name &bactive &cis reserved and cannot be used!"); - this.put("group-no-name", "&cYou did not provide a group name! &b/pp {0} "); + this.put("group-no-name", "&cYou did not provide a group name! &b/pp %cmd% "); this.put("group-save-reached-max", "&cUnable to save group, you have reached the max number of groups!"); this.put("group-save-no-particles", "&cUnable to save group, you do not have any particles applied!"); - this.put("group-save-success", "&aYour current particles have been saved under the group named &b{0}&a!"); - this.put("group-save-success-overwrite", "&aThe group named &b{0} &ahas been updated with your current particles!"); - this.put("group-load-success", "&aApplied &b{0} &aparticle(s) from your saved group named &b{1}&a!"); - this.put("group-load-preset-success", "&aApplied &b{0} &aparticle(s) from the preset group named &b{1}&a!"); + this.put("group-save-success", "&aYour current particles have been saved under the group named &b%name%&a!"); + this.put("group-save-success-overwrite", "&aThe group named &b%name% &ahas been updated with your current particles!"); + this.put("group-load-success", "&aApplied &b%amount% &aparticle(s) from your saved group named &b%name%&a!"); + this.put("group-load-preset-success", "&aApplied &b%amount% &aparticle(s) from the preset group named &b%name%&a!"); this.put("group-remove-preset", "&cYou cannot remove a preset group!"); - this.put("group-remove-success", "&aRemoved the particle group named &b{0}&a!"); - this.put("group-info-header", "&eThe group &b{0} &ehas the following particles:"); + this.put("group-remove-success", "&aRemoved the particle group named &b%name%&a!"); + this.put("group-info-header", "&eThe group &b%group% &ehas the following particles:"); this.put("group-list-none", "&eYou do not have any particle groups saved!"); - this.put("group-list-output", "&eYou have the following groups saved: &b{0}"); - this.put("group-list-presets", "&eThe following preset groups are available: &b{0}"); + this.put("group-list-output", "&eYou have the following groups saved: &b%info%"); + this.put("group-list-presets", "&eThe following preset groups are available: &b%info%"); // Reload Command this.put("reload-success", "&aThe plugin has been reloaded!"); @@ -112,17 +112,17 @@ public class EnglishLocale implements Locale { // Remove Command this.put("remove-no-args", "&cYou did not specify an ID to remove! &b/pp remove "); - this.put("remove-id-success", "&aYour particle with the ID &b{0} &ahas been removed!"); - this.put("remove-effect-success", "&aRemoved &b{0} &aof your particles with the effect of &b{1}&a!"); - this.put("remove-effect-none", "&cYou do not have any particles applied with the effect &b{0}&c!"); - this.put("remove-style-success", "&aRemoved &b{0} &aof your particles with the style of &b{1}&a!"); - this.put("remove-style-none", "&cYou do not have any particles applied with the style &b{0}&c!"); - this.put("remove-unknown", "&cAn effect or style with the name of &b{0} &cdoes not exist!"); + this.put("remove-id-success", "&aYour particle with the ID &b%id% &ahas been removed!"); + this.put("remove-effect-success", "&aRemoved &b%amount% &aof your particles with the effect of &b%effect%&a!"); + this.put("remove-effect-none", "&cYou do not have any particles applied with the effect &b%effect%&c!"); + this.put("remove-style-success", "&aRemoved &b%amount% &aof your particles with the style of &b%style%&a!"); + this.put("remove-style-none", "&cYou do not have any particles applied with the style &b%style%&c!"); + this.put("remove-unknown", "&cAn effect or style with the name of &b%name% &cdoes not exist!"); // List Command this.put("list-none", "&eYou do not have any active particles!"); this.put("list-you-have", "&eYou have the following particles applied:"); - this.put("list-output", "&eID: &b{0} &eEffect: &b{1} &eStyle: &b{2} &eData: &b{3}"); + this.put("list-output", "&eID: &b%id% &eEffect: &b%effect% &eStyle: &b%style% &eData: &b%data%"); // Toggle Command this.put("toggle-on", "&eParticles have been toggled &aON&e!"); @@ -135,49 +135,49 @@ public class EnglishLocale implements Locale { this.put("random", "Random"); // Effects - this.put("effect-no-permission", "&cYou do not have permission to use the effect &b{0} &c!"); - this.put("effect-invalid", "&cThe effect &b{0} &cdoes not exist! Use &b/pp effects &cfor a list of effects you can use."); - this.put("effect-list", "&eYou can use the following effects: &b{0}"); + this.put("effect-no-permission", "&cYou do not have permission to use the effect &b%effect%&c!"); + this.put("effect-invalid", "&cThe effect &b%effect% &cdoes not exist! Use &b/pp effects &cfor a list of effects you can use."); + this.put("effect-list", "&eYou can use the following effects: &b%effects%"); this.put("effect-list-empty", "&cYou do not have permission to use any effects!"); // Styles - this.put("style-no-permission", "&cYou do not have permission to use the style &b{0} &c!"); - this.put("style-event-spawning-info", "&eNote: The style &b{0} &espawns particles based on an event."); - this.put("style-invalid", "&cThe style &b{0} &cdoes not exist! Use &b/pp styles &cfor a list of styles you can use."); - this.put("style-list", "&eYou can use the following styles: &b{0}"); + this.put("style-no-permission", "&cYou do not have permission to use the style &b%style%&c!"); + this.put("style-event-spawning-info", "&eNote: The style &b%style% &espawns particles based on an event."); + this.put("style-invalid", "&cThe style &b%style% &cdoes not exist! Use &b/pp styles &cfor a list of styles you can use."); + this.put("style-list", "&eYou can use the following styles: &b%styles%"); // Data - this.put("data-usage-none", "&eThe effect &b{0} &edoes not use any data!"); - this.put("data-usage-block", "&eThe effect &b{0} &erequires &bblock &edata! &bFormat: "); - this.put("data-usage-item", "&eThe effect &b{0} &erequires &bitem &edata! &bFormat: "); - this.put("data-usage-color", "&eThe effect &b{0} &erequires &bcolor &edata! &bFormat: <<0-255> <0-255> <0-255>>||"); - this.put("data-usage-note", "&eThe effect &b{0} &erequires &bnote &edata! &bFormat: <0-24>||"); + this.put("data-usage-none", "&eThe effect &b%effect% &edoes not use any data!"); + this.put("data-usage-block", "&eThe effect &b%effect% &erequires &bblock &edata! &bFormat: "); + this.put("data-usage-item", "&eThe effect &b%effect% &erequires &bitem &edata! &bFormat: "); + this.put("data-usage-color", "&eThe effect &b%effect% &erequires &bcolor &edata! &bFormat: <<0-255> <0-255> <0-255>>||"); + this.put("data-usage-note", "&eThe effect &b%effect% &erequires &bnote &edata! &bFormat: <0-24>||"); this.put("data-invalid-block", "&cThe &bblock &cdata you entered is invalid! &bFormat: "); this.put("data-invalid-item", "&cThe &bitem &cdata you entered is invalid! &bFormat: "); this.put("data-invalid-color", "&cThe &bcolor &cdata you entered is invalid! &bFormat: <<0-255> <0-255> <0-255>>||"); this.put("data-invalid-note", "&cThe &bnote &cdata you entered is invalid! &bFormat: <0-24>||"); - this.put("data-invalid-material-not-item", "&cThe &bitem &cmaterial &b{0} &cyou entered is not an item!"); - this.put("data-invalid-material-not-block", "&cThe &bblock &cmaterial &b{0} &cyou entered is not a block!"); - this.put("data-invalid-material-item", "&cThe &bitem &cmaterial &b{0} you entered does not exist!"); - this.put("data-invalid-material-block", "&cThe &bblock &cmaterial &b{0} you entered does not exist!"); + this.put("data-invalid-material-not-item", "&cThe &bitem &cmaterial &b%material% &cyou entered is not an item!"); + this.put("data-invalid-material-not-block", "&cThe &bblock &cmaterial &b%material% &cyou entered is not a block!"); + this.put("data-invalid-material-item", "&cThe &bitem &cmaterial &b%material% you entered does not exist!"); + this.put("data-invalid-material-block", "&cThe &bblock &cmaterial &b%material% you entered does not exist!"); // Worlds - this.put("disabled-worlds", "&eParticles are disabled in these worlds: &b{0}"); + this.put("disabled-worlds", "&eParticles are disabled in these worlds: &b%worlds%"); this.put("disabled-worlds-none", "&eParticles are not disabled in any worlds."); // Reset - this.put("reset-success", "&aRemoved &b{0} &aactive particle(s)!"); + this.put("reset-success", "&aRemoved &b%amount% &aactive particle(s)!"); // Fixed Effects - this.put("fixed-create-missing-args", "&cUnable to create fixed effect, you are missing &b{0} &crequired arguments!"); + this.put("fixed-create-missing-args", "&cUnable to create fixed effect, you are missing &b%amount% &crequired arguments!"); this.put("fixed-create-invalid-coords", "&cUnable to create fixed effect, one or more coordinates you entered is invalid!"); - this.put("fixed-create-out-of-range", "&cUnable to create fixed effect, you must be within &b{0} &cblocks of your desired location!"); + this.put("fixed-create-out-of-range", "&cUnable to create fixed effect, you must be within &b%range% &cblocks of your desired location!"); this.put("fixed-create-looking-too-far", "&cUnable to create fixed effect, you are standing too far away from the block you are looking at!"); - this.put("fixed-create-effect-invalid", "&cUnable to create fixed effect, an effect with the name &b{0} &cdoes not exist!"); - this.put("fixed-create-effect-no-permission", "&cUnable to create fixed effect, you do not have permission to use the effect &b{0}&c!"); - this.put("fixed-create-style-invalid", "&cUnable to create fixed effect, a style with the name &b{0} &cdoes not exist!"); - this.put("fixed-create-style-no-permission", "&cUnable to create fixed effect, you do not have permission to use the style &b{0}&c!"); - this.put("fixed-create-style-non-fixable", "&cUnable to create fixed effect, the style &b{0} &ccan not be used in fixed effects!"); + this.put("fixed-create-effect-invalid", "&cUnable to create fixed effect, an effect with the name &b%effect% &cdoes not exist!"); + this.put("fixed-create-effect-no-permission", "&cUnable to create fixed effect, you do not have permission to use the effect &b%effect%&c!"); + this.put("fixed-create-style-invalid", "&cUnable to create fixed effect, a style with the name &b%style% &cdoes not exist!"); + this.put("fixed-create-style-no-permission", "&cUnable to create fixed effect, you do not have permission to use the style &b%style%&c!"); + this.put("fixed-create-style-non-fixable", "&cUnable to create fixed effect, the style &b%style% &ccan not be used in fixed effects!"); this.put("fixed-create-data-error", "&cUnable to create fixed effect, the data provided is not correct! Use &b/pp data &cto find the correct data format!"); this.put("fixed-create-success", "&aYour fixed effect has been created!"); @@ -185,41 +185,41 @@ public class EnglishLocale implements Locale { this.put("fixed-edit-invalid-id", "&cUnable to edit fixed effect, the ID specified is invalid or does not exist!"); this.put("fixed-edit-invalid-property", "&cUnable to edit fixed effect, an invalid property was specified! Only &blocation&c, &beffect&c, &bstyle&c, and &bdata &care valid."); this.put("fixed-edit-invalid-coords", "&cUnable to edit fixed effect, one or more coordinates you entered is invalid!"); - this.put("fixed-edit-out-of-range", "&cUnable to edit fixed effect, you must be within &b{0} &cblocks of your desired location!"); + this.put("fixed-edit-out-of-range", "&cUnable to edit fixed effect, you must be within &b%range% &cblocks of your desired location!"); this.put("fixed-edit-looking-too-far", "&cUnable to edit fixed effect, you are standing too far away from the block you are looking at!"); - this.put("fixed-edit-effect-invalid", "&cUnable to edit fixed effect, an effect with the name &b{0} &cdoes not exist!"); - this.put("fixed-edit-effect-no-permission", "&cUnable to edit fixed effect, you do not have permission to use the effect &b{0}&c!"); - this.put("fixed-edit-style-invalid", "&cUnable to edit fixed effect, a style with the name &b{0} &cdoes not exist!"); - this.put("fixed-edit-style-no-permission", "&cUnable to edit fixed effect, you do not have permission to use the style &b{0}&c!"); - this.put("fixed-edit-style-non-fixable", "&cUnable to edit fixed effect, the style &b{0} &ccan not be used in fixed effects!"); + this.put("fixed-edit-effect-invalid", "&cUnable to edit fixed effect, an effect with the name &b%effect% &cdoes not exist!"); + this.put("fixed-edit-effect-no-permission", "&cUnable to edit fixed effect, you do not have permission to use the effect &b%effect%&c!"); + this.put("fixed-edit-style-invalid", "&cUnable to edit fixed effect, a style with the name &b%style% &cdoes not exist!"); + this.put("fixed-edit-style-no-permission", "&cUnable to edit fixed effect, you do not have permission to use the style &b%style%&c!"); + this.put("fixed-edit-style-non-fixable", "&cUnable to edit fixed effect, the style &b%style% &ccan not be used in fixed effects!"); this.put("fixed-edit-data-error", "&cUnable to edit fixed effect, the data provided is not correct! Use &b/pp data &cto find the correct data format!"); this.put("fixed-edit-data-none", "&cUnable to edit fixed effect, the effect does not require any data!"); - this.put("fixed-edit-success", "&aUpdated the &b{0} &aof the fixed effect with an ID of &b{1}&a!"); + this.put("fixed-edit-success", "&aUpdated the &b%property% &aof the fixed effect with an ID of &b%id%&a!"); - this.put("fixed-remove-invalid", "&cUnable to remove fixed effect, you do not have a fixed effect with the ID of &b{0}&c!"); + this.put("fixed-remove-invalid", "&cUnable to remove fixed effect, you do not have a fixed effect with the ID of &b%id%&c!"); this.put("fixed-remove-no-args", "&cYou did not specify an ID to remove!"); this.put("fixed-remove-args-invalid", "&cUnable to remove, the ID specified must be a number!"); - this.put("fixed-remove-success", "&aYour fixed effect with the ID &b{0} &ahas been removed!"); + this.put("fixed-remove-success", "&aYour fixed effect with the ID &b%id% &ahas been removed!"); this.put("fixed-list-none", "&eYou do not have any fixed effects!"); - this.put("fixed-list-success", "&eYou have fixed effects with these IDs: &b{0}"); + this.put("fixed-list-success", "&eYou have fixed effects with these IDs: &b%ids%"); - this.put("fixed-info-invalid", "&cUnable to get info, you do not have a fixed effect with the ID of &b{0}&c!"); + this.put("fixed-info-invalid", "&cUnable to get info, you do not have a fixed effect with the ID of &b%id%&c!"); this.put("fixed-info-no-args", "&cYou did not specify an ID to display info for!"); this.put("fixed-info-invalid-args", "&cUnable to get info, the ID specified must be a number!"); - this.put("fixed-info-success", "&eID: &b{0} &eWorld: &b{1} &eX: &b{2} &eY: &b{3} &eZ: &b{4} &eEffect: &b{5} &eStyle: &b{6} &eData: &b{7}"); + this.put("fixed-info-success", "&eID: &b%id% &eWorld: &b%world% &eX: &b%x% &eY: &b%y% &eZ: &b%z% &eEffect: &b%effect% &eStyle: &b%style% &eData: &b%data%"); this.put("fixed-clear-no-permission", "&cYou do not have permission to clear nearby fixed effects!"); this.put("fixed-clear-no-args", "&cYou did not provide a radius to clear fixed effects for!"); this.put("fixed-clear-invalid-args", "&cThe radius you provided is invalid, it must be a positive whole number!"); - this.put("fixed-clear-success", "&aCleared &b{0} &afixed effects within &b{1} &ablocks of your location!"); + this.put("fixed-clear-success", "&aCleared &b%amount% &afixed effects within &b%range% &ablocks of your location!"); this.put("fixed-no-permission", "&cYou do not have permission to use fixed effects!"); this.put("fixed-max-reached", "&cYou have reached the maximum allowed fixed effects!"); this.put("fixed-invalid-command", "&cInvalid sub-command for &b/pp fixed&c!"); // Update Available - this.put("update-available", "&eAn update (&b{0}&e) is available! You are running &bv{1}&e. https://www.spigotmc.org/resources/playerparticles.40261/"); + this.put("update-available", "&eAn update (&b%new%&e) is available! You are running &bv%current%&e. https://www.spigotmc.org/resources/playerparticles.40261/"); // GUI this.put("gui-disabled", "&cThe server administrator has disabled the GUI!"); @@ -229,15 +229,15 @@ public class EnglishLocale implements Locale { this.put("gui-color-unavailable", "&c"); this.put("gui-commands-info", "Find info about commands with &b/pp help"); this.put("gui-back-button", "Go Back"); - this.put("gui-next-page-button", "Next Page ({0}/{1})"); - this.put("gui-previous-page-button", "Previous Page ({0}/{1})"); - this.put("gui-click-to-load", "Click to load the following {0} particle(s):"); + this.put("gui-next-page-button", "Next Page (%start%/%end%)"); + this.put("gui-previous-page-button", "Previous Page (%start%/%end%)"); + this.put("gui-click-to-load", "Click to load the following %amount% particle(s):"); this.put("gui-shift-click-to-delete", "Shift click to delete"); - this.put("gui-particle-info", " - ID: &b{0} &eEffect: &b{1} &eStyle: &b{2} &eData: &b{3}"); + this.put("gui-particle-info", " - ID: &b%id% &eEffect: &b%effect% &eStyle: &b%style% &eData: &b%data%"); this.put("gui-playerparticles", "PlayerParticles"); - this.put("gui-active-particles", "Active Particles: &b{0}"); - this.put("gui-saved-groups", "Saved Groups: &b{0}"); - this.put("gui-fixed-effects", "Fixed Effects: &b{0}"); + this.put("gui-active-particles", "Active Particles: &b%amount%"); + this.put("gui-saved-groups", "Saved Groups: &b%amount%"); + this.put("gui-fixed-effects", "Fixed Effects: &b%amount%"); this.put("gui-edit-primary-effect", "Edit Primary Effect"); this.put("gui-edit-primary-effect-description", "Edit the effect of your primary particle"); this.put("gui-edit-primary-style", "Edit Primary Style"); @@ -257,12 +257,12 @@ public class EnglishLocale implements Locale { this.put("gui-save-group-description", "Click to save a new group. You will be prompted\nto enter the new group name in chat."); this.put("gui-save-group-full", "You have reached the max number of groups"); this.put("gui-save-group-no-particles", "You do not have any particles applied"); - this.put("gui-save-group-hotbar-message", "&eType &b1 &eword in chat for the new group name. Type &ccancel&e to cancel. (&b{0}&es left)"); + this.put("gui-save-group-hotbar-message", "&eType &b1 &eword in chat for the new group name. Type &ccancel&e to cancel. (&b%seconds%&es left)"); this.put("gui-reset-particles", "Reset Your Particles"); this.put("gui-reset-particles-description", "Deletes all your active particles"); - this.put("gui-particle-name", "Particle #{0}"); + this.put("gui-particle-name", "Particle #%id%"); this.put("gui-click-to-edit-particle", "Click to edit the effect, style, or data of this particle"); - this.put("gui-editing-particle", "Editing Particle #{0}"); + this.put("gui-editing-particle", "Editing Particle #%id%"); this.put("gui-edit-effect", "Edit Effect"); this.put("gui-edit-effect-description", "Click to edit the effect of this particle"); this.put("gui-edit-style", "Edit Style"); @@ -275,12 +275,12 @@ public class EnglishLocale implements Locale { this.put("gui-create-particle-description", "Create a new particle with an effect, style, and data"); this.put("gui-create-particle-unavailable", "You have reached the maximum amount of particles you can create"); this.put("gui-select-effect", "Select Particle Effect"); - this.put("gui-select-effect-description", "Sets the particle effect to &b{0}"); + this.put("gui-select-effect-description", "Sets the particle effect to &b%effect%"); this.put("gui-select-style", "Select Particle Style"); - this.put("gui-select-style-description", "Sets the particle style to &b{0}"); + this.put("gui-select-style-description", "Sets the particle style to &b%style%"); this.put("gui-select-data", "Select Particle Data"); - this.put("gui-select-data-description", "Sets the particle data to &b{0}"); - this.put("gui-select-data-note", "note #{0}"); + this.put("gui-select-data-description", "Sets the particle data to &b%data%"); + this.put("gui-select-data-note", "note #%note%"); this.put("gui-edit-data-color-red", "&cred"); this.put("gui-edit-data-color-orange", "&6orange"); this.put("gui-edit-data-color-yellow", "&eyellow"); diff --git a/src/main/java/dev/esophose/playerparticles/locale/FrenchLocale.java b/src/main/java/dev/esophose/playerparticles/locale/FrenchLocale.java index b2459b8..510c6a6 100644 --- a/src/main/java/dev/esophose/playerparticles/locale/FrenchLocale.java +++ b/src/main/java/dev/esophose/playerparticles/locale/FrenchLocale.java @@ -27,9 +27,9 @@ public class FrenchLocale implements Locale { // Command Descriptions this.put("command-descriptions", "&eLes commandes suivantes sont disponibles :"); - this.put("command-descriptions-usage", "&e/pp {0} {1}"); - this.put("command-descriptions-help-1", "&7> &b/pp {0} &e- {1}"); - this.put("command-descriptions-help-2", "&7> &b/pp {0} {1} &e- {2}"); + this.put("command-descriptions-usage", "&e/pp %cmd% %args%"); + this.put("command-descriptions-help-1", "&7> &b/pp %cmd% &e- %desc%"); + this.put("command-descriptions-help-2", "&7> &b/pp %cmd% %args% &e- %desc%"); this.put("command-descriptions-help-other", "&7> &b/ppo &e- Exécute une commande /pp en tant qu'un autre joueur."); this.put("command-description-add", "Ajoutez une nouvelle particule"); this.put("command-description-data", "Voir les paramètres utilisées par la particule"); @@ -65,46 +65,46 @@ public class FrenchLocale implements Locale { // Command ID Lookup this.put("id-invalid", "&cL'ID rentrée n'est pas valide, il doit être un nombre entier positif"); - this.put("id-unknown", "&cVous n'avez pas de particules appliquées avec : &b{0} &c!"); + this.put("id-unknown", "&cVous n'avez pas de particules appliquées avec : &b%id% &c!"); // Other Command this.put("other-no-permission", "&cVous n'avez pas la permission pour exécuter une commande /pp en tant qu'un autre joueur."); this.put("other-missing-args", "&cVous oubliez des arguments dans votre commande. &b/ppo "); - this.put("other-unknown-player", "&cLe joueur &b{0} &cn'a pas été trouvé. Il doit être en ligne."); - this.put("other-unknown-command", "&cLa commande &b/pp {0} &cn existe pas."); - this.put("other-success", "&Commande /pp exécutée. &b{0}&e. Retour de la commande :"); + this.put("other-unknown-player", "&cLe joueur &b%player% &cn'a pas été trouvé. Il doit être en ligne."); + this.put("other-unknown-command", "&cLa commande &b/pp %cmd% &cn existe pas."); + this.put("other-success", "&Commande /pp exécutée. &b%player%&e. Retour de la commande :"); // Add Command - this.put("add-reached-max", "Impossible d'appliquer la particule, vous avez atteint la limite de particules qui est de &b{0} &c!"); - this.put("add-particle-applied", "&aUne nouvelle particule est appliquée avec l'effet &b{0}&a, le style &b{1}&a, et les paramètres &b{2} &a!"); + this.put("add-reached-max", "Impossible d'appliquer la particule, vous avez atteint la limite de particules qui est de &b%amount% &c!"); + this.put("add-particle-applied", "&aUne nouvelle particule est appliquée avec l'effet &b%effect%&a, le style &b%style%&a, et les paramètres &b%data% &a!"); // Data Command this.put("data-no-args", "&cVous oubliez des arguments dans l'effet. Utilisation de la commande: &b/pp data "); // Edit Command - this.put("edit-invalid-property", "cLa propriété &b{0} &cest interdite. Propriétés valides : &beffect&c, &bstyle&c, &bdata"); - this.put("edit-success-effect", "&aVotre particule avec l'ID de &b{0} &aa son effet changé à &b{1} &a!"); - this.put("edit-success-style", "&aVotre particule avec l'ID de &b{0} &aa son style changé à &b{1} &a!"); - this.put("edit-success-data", "&aVotre particule avec l'ID de &b{0} &aa ses paramètres changés à &b{1} &a!"); + this.put("edit-invalid-property", "cLa propriété &b%prop% &cest interdite. Propriétés valides : &beffect&c, &bstyle&c, &bdata"); + this.put("edit-success-effect", "&aVotre particule avec l'ID de &b%id% &aa son effet changé à &b%effect% &a!"); + this.put("edit-success-style", "&aVotre particule avec l'ID de &b%id% &aa son style changé à &b%style% &a!"); + this.put("edit-success-data", "&aVotre particule avec l'ID de &b%id% &aa ses paramètres changés à &b%data% &a!"); // Group Command - this.put("group-invalid", "&cUn groupe ou un preset de groupe sauvegardé n'existe pas avec le nom &b{0} &c!"); - this.put("group-no-permission", "&cVous oubliez une permission pour un style ou un effet afin d'utiliser les groupe &b{0} &c!"); - this.put("group-preset-no-permission", "&cVous oubliez une permission pour un style ou un effet afin d'utiliser les presets du groupe &b{0} &c!"); + this.put("group-invalid", "&cUn groupe ou un preset de groupe sauvegardé n'existe pas avec le nom &b%name% &c!"); + this.put("group-no-permission", "&cVous oubliez une permission pour un style ou un effet afin d'utiliser les groupe &b%group% &c!"); + this.put("group-preset-no-permission", "&cVous oubliez une permission pour un style ou un effet afin d'utiliser les presets du groupe &b%group% &c!"); this.put("group-reserved", "&cLe nom de groupe &bactive &cest réservé et ne peut pas être utiliser !"); - this.put("group-no-name", "&cVous n'avez pas rentré de nom de groupe ! &b/pp {0} "); + this.put("group-no-name", "&cVous n'avez pas rentré de nom de groupe ! &b/pp %cmd% "); this.put("group-save-reached-max", "&cImpossible de sauvegarder le groupe, vous avez atteint le nombre maximun de groupes !"); this.put("group-save-no-particles", "&cImpossible de sauvegarder le groupe, vous n'avez pas appliqué de particules !"); - this.put("group-save-success", "&aVos particules actuelles ont été sauvegardées sous le nom de groupe &b{0} &a!"); - this.put("group-save-success-overwrite", "&aLe groupe &b{0} &aa été mis à jour avec vos particules actuelle !"); - this.put("group-load-success", "&b{0} &aparticule(s) appliqués venant du groupe sauvegardé nommé &b{1} &a!"); - this.put("group-load-preset-success", "&b{0} &aparticule(s) appliqués venant du preset sauvegardé nommé &b{1} &a!"); + this.put("group-save-success", "&aVos particules actuelles ont été sauvegardées sous le nom de groupe &b%name% &a!"); + this.put("group-save-success-overwrite", "&aLe groupe &b%name% &aa été mis à jour avec vos particules actuelle !"); + this.put("group-load-success", "&b%amount% &aparticule(s) appliqués venant du groupe sauvegardé nommé &b%name% &a!"); + this.put("group-load-preset-success", "&b%amount% &aparticule(s) appliqués venant du preset sauvegardé nommé &b%name% &a!"); this.put("group-remove-preset", "&cVous ne pouvez pas supprimer un groupe de presets !"); - this.put("group-remove-success", "&aGroupe de particules &b{0} &asupprimé !"); - this.put("group-info-header", "&eLe groupe &b{0} &eposséde les particules suivantes :"); + this.put("group-remove-success", "&aGroupe de particules &b%name% &asupprimé !"); + this.put("group-info-header", "&eLe groupe &b%group% &eposséde les particules suivantes :"); this.put("group-list-none", "&eVous n'avez pas de groupes de particules sauvegardés !"); - this.put("group-list-output", "&eVous avez ces groupes suivants sauvegardés : &b{0}"); - this.put("group-list-presets", "&eCes presets de groupes suivants sont disponibles : &b{0}"); + this.put("group-list-output", "&eVous avez ces groupes suivants sauvegardés : &b%info%"); + this.put("group-list-presets", "&eCes presets de groupes suivants sont disponibles : &b%info%"); // Reload Command this.put("reload-success", "&aLe plugin a été rechargé..."); @@ -112,17 +112,17 @@ public class FrenchLocale implements Locale { // Remove Command this.put("remove-no-args", "&cVous n'avez pas rentrer d'ID à supprimer ! &b/pp remove "); - this.put("remove-id-success", "&aVotre particule avec l'ID &b{0} &aa été supprimée !"); - this.put("remove-effect-success", "&aSuppression de &b{0} &ade votre particule avec l'effet &b{1} &a!"); - this.put("remove-effect-none", "&cVous n'avez pas de particules appliquées avec l'effet &b{0} &c!"); - this.put("remove-style-success", "&aSuppression &b{0} &ade votre particule avec le style &b{1} &a!"); - this.put("remove-style-none", "&cVous n'avez pas de particules appliquées avec le style &b{0} &c!"); - this.put("remove-unknown", "&cL'effect avec le nom ou le style &b{0} &cn'existe pas !"); + this.put("remove-id-success", "&aVotre particule avec l'ID &b%id% &aa été supprimée !"); + this.put("remove-effect-success", "&aSuppression de &b%amount% &ade votre particule avec l'effet &b%effect% &a!"); + this.put("remove-effect-none", "&cVous n'avez pas de particules appliquées avec l'effet &b%effect% &c!"); + this.put("remove-style-success", "&aSuppression &b%amount% &ade votre particule avec le style &b%style% &a!"); + this.put("remove-style-none", "&cVous n'avez pas de particules appliquées avec le style &b%style% &c!"); + this.put("remove-unknown", "&cL'effect avec le nom ou le style &b%name% &cn'existe pas !"); // List Command this.put("list-none", "&eVous n'avez pas de particules actives."); this.put("list-you-have", "&eVous avez les particules suivantes appliquées :"); - this.put("list-output", "&eID: &b{0} &eEffet: &b{1} &eStyle: &b{2} &eParamètre: &b{3}"); + this.put("list-output", "&eID: &b%id% &eEffet: &b%effect% &eStyle: &b%style% &eParamètre: &b%data%"); // Toggle Command this.put("toggle-on", "&eLes particules sont maintenant en mode &aON &e!"); @@ -135,49 +135,49 @@ public class FrenchLocale implements Locale { this.put("random", "aléatoire"); // Effects - this.put("effect-no-permission", "&cVous n'avez pas la permission pour utiliser la particule &b{0} &c!"); - this.put("effect-invalid", "&cL'effet &b{0} &cn existe pas ! Utilisez &b/pp effects &cpour afficher les effets disponibles."); - this.put("effect-list", "&eVous pouvez utiliser les effets suivants : &b{0}"); + this.put("effect-no-permission", "&cVous n'avez pas la permission pour utiliser la particule &b%effect% &c!"); + this.put("effect-invalid", "&cL'effet &b%effect% &cn existe pas ! Utilisez &b/pp effects &cpour afficher les effets disponibles."); + this.put("effect-list", "&eVous pouvez utiliser les effets suivants : &b%effects%"); this.put("effect-list-empty", "&cVous n'avez pas la permission pour utiliser des effets !"); // Styles - this.put("style-no-permission", "&cVous n'avez pas la permission pour utiliser le style &b{0} &c!"); - this.put("style-event-spawning-info", "&eNote: Le style &b{0} &efait apparaitre des particules seulement lors d'évènements spécifiques."); - this.put("style-invalid", "&cLe style &b{0} &cn'existe pas ! Utilisez &b/pp styles &cpour afficher les styles disponibles."); - this.put("style-list", "&eVous pouvez utiliser les styles suivants : &b{0}"); + this.put("style-no-permission", "&cVous n'avez pas la permission pour utiliser le style &b%style% &c!"); + this.put("style-event-spawning-info", "&eNote: Le style &b%style% &efait apparaitre des particules seulement lors d'évènements spécifiques."); + this.put("style-invalid", "&cLe style &b%style% &cn'existe pas ! Utilisez &b/pp styles &cpour afficher les styles disponibles."); + this.put("style-list", "&eVous pouvez utiliser les styles suivants : &b%styles%"); // Data - this.put("data-usage-none", "&eL'effet &b{0} &en'est pas paramétrable."); - this.put("data-usage-block", "&eL'effet &b{0} &erequière l'ID du bloc ! &bFormat: "); - this.put("data-usage-item", "&eL'effet &b{0} &erequière l'ID de l'item ! &bFormat: "); - this.put("data-usage-color", "&eL'effet &b{0} &erequière l'ID de la couleur ! &bFormat: <<0-255> <0-255> <0-255>>||"); - this.put("data-usage-note", "&eL'effet&b{0} &erequière l'ID de la note ! &bFormat: <0-24>||"); + this.put("data-usage-none", "&eL'effet &b%effect% &en'est pas paramétrable."); + this.put("data-usage-block", "&eL'effet &b%effect% &erequière l'ID du bloc ! &bFormat: "); + this.put("data-usage-item", "&eL'effet &b%effect% &erequière l'ID de l'item ! &bFormat: "); + this.put("data-usage-color", "&eL'effet &b%effect% &erequière l'ID de la couleur ! &bFormat: <<0-255> <0-255> <0-255>>||"); + this.put("data-usage-note", "&eL'effet&b%effect% &erequière l'ID de la note ! &bFormat: <0-24>||"); this.put("data-invalid-block", "&cL'ID du bloc que vous avez rentré n'est pas valide ! &bFormat: "); this.put("data-invalid-item", "&cL'ID de l'item que vous avez rentré n'est pas valide ! &bFormat: "); this.put("data-invalid-color", "&cL'ID de la couleur que vous avez rentré n'est pas valide ! &bFormat: <<0-255> <0-255> <0-255>>||"); this.put("data-invalid-note", "&cL'ID du bloc que vous avez rentré n'est pas valide ! &bFormat: <0-24>||"); - this.put("data-invalid-material-not-item", "&cL'ID &b{0} &cne correspond pas à un item !"); - this.put("data-invalid-material-not-block", "&cL'ID &b{0} &cne correspond pas à un bloc !"); - this.put("data-invalid-material-item", "&cL'ID &b{0} n'existe pas !"); - this.put("data-invalid-material-block", "&cL'ID&b{0} n'existe pas !"); + this.put("data-invalid-material-not-item", "&cL'ID &b%material% &cne correspond pas à un item !"); + this.put("data-invalid-material-not-block", "&cL'ID &b%material% &cne correspond pas à un bloc !"); + this.put("data-invalid-material-item", "&cL'ID &b%material% n'existe pas !"); + this.put("data-invalid-material-block", "&cL'ID&b%material% n'existe pas !"); // Worlds - this.put("disabled-worlds", "&eLes particules sont désactivées dans ces mondes : &b{0}"); + this.put("disabled-worlds", "&eLes particules sont désactivées dans ces mondes : &b%worlds%"); this.put("disabled-worlds-none", "&Les particules sont désactivées dans aucuns mondes."); // Reset - this.put("reset-success", "&b{0} &aparticule(s) actives supprimées !"); + this.put("reset-success", "&b%amount% &aparticule(s) actives supprimées !"); // Fixed Effects - this.put("fixed-create-missing-args", "&cImpossible de créer un effet fixe, vous oubliez des arguments : &b{0}"); + this.put("fixed-create-missing-args", "&cImpossible de créer un effet fixe, vous oubliez des arguments : &b%amount%"); this.put("fixed-create-invalid-coords", "&cImpossible de créer un effet fixe, coordonnées invalides !"); - this.put("fixed-create-out-of-range", "&cImpossible de créer un effet fixe, Vous devez être à &b{0} &cblocs de la position rentrée !"); + this.put("fixed-create-out-of-range", "&cImpossible de créer un effet fixe, Vous devez être à &b%range% &cblocs de la position rentrée !"); this.put("fixed-create-looking-too-far", "&cImpossible de créer un effet fixe, vous êtes trop loin du bloc que vous regardez !"); - this.put("fixed-create-effect-invalid", "&cImpossible de créer un effet fixe, l effet &b{0} &cn'existe pas !"); - this.put("fixed-create-effect-no-permission", "&cImpossible de créer un effet fixe, vous n'avez pas la permission pour utiliser le style &b{0} &c!"); - this.put("fixed-create-style-invalid", "&cImpossible de créer un effet fixe, le style &b{0} &cn'existe pas!"); - this.put("fixed-create-style-no-permission", "&cImpossible de créer un effet fixe, vous n'avez pas la permission pour utiliser le style &b{0} &c!"); - this.put("fixed-create-style-non-fixable", "&cImpossible de créer un effet fixe, le style &b{0} &cne peut pas être utilisé en tant qu'effet fixe !"); + this.put("fixed-create-effect-invalid", "&cImpossible de créer un effet fixe, l effet &b%effect% &cn'existe pas !"); + this.put("fixed-create-effect-no-permission", "&cImpossible de créer un effet fixe, vous n'avez pas la permission pour utiliser le style &b%effect% &c!"); + this.put("fixed-create-style-invalid", "&cImpossible de créer un effet fixe, le style &b%style% &cn'existe pas!"); + this.put("fixed-create-style-no-permission", "&cImpossible de créer un effet fixe, vous n'avez pas la permission pour utiliser le style &b%style% &c!"); + this.put("fixed-create-style-non-fixable", "&cImpossible de créer un effet fixe, le style &b%style% &cne peut pas être utilisé en tant qu'effet fixe !"); this.put("fixed-create-data-error", "&cImpossible de créer un effet fixe, l'ID rentrée n'est pas valide ! Utilisez &b/pp data &cpour afficher les IDs valides."); this.put("fixed-create-success", "&aL'effet fixe à été créer."); @@ -185,41 +185,41 @@ public class FrenchLocale implements Locale { this.put("fixed-edit-invalid-id", "&cImpossible de modifier l'effet fixe, ID incorrecte !"); this.put("fixed-edit-invalid-property", "&cImpossible de modifier l'effet fixe, argument incorrect ! Seuls localisation, effet, style, et paramètre sont valides."); this.put("fixed-edit-invalid-coords", "&cImpossible de modifier l'effet fixe, coordonnée incorrecte !"); - this.put("fixed-edit-out-of-range", "&cImpossible de modifier l'effet fixe, vous devez être à &b{0} &cblocs de l'emplacement désiré !"); + this.put("fixed-edit-out-of-range", "&cImpossible de modifier l'effet fixe, vous devez être à &b%range% &cblocs de l'emplacement désiré !"); this.put("fixed-edit-looking-too-far", "&cImpossible de modifier l'effet fixe, vous êtes trop loin du bloc que vous regardez !"); - this.put("fixed-edit-effect-invalid", "&cImpossible de modifier l'effet fixe, l'effet &b{0} &cn'existe pas !"); - this.put("fixed-edit-effect-no-permission", "&cImpossible de modifier l'effet fixe, vous n'avez pas la permission pour utiliser l'effet &b{0} &c!"); - this.put("fixed-edit-style-invalid", "&cImpossible de modifier l'effet fixe, le style &b{0} &cn'existe pas !"); - this.put("fixed-edit-style-no-permission", "&cImpossible de modifier l'effet fixe, vous n'avez pas la permission pour utiliser le style &b{0} &c!"); - this.put("fixed-edit-style-non-fixable", "&cImpossible de modifier l'effet fixe, the style &b{0} &cne peut pas être utilisé dans des effets fixes !"); + this.put("fixed-edit-effect-invalid", "&cImpossible de modifier l'effet fixe, l'effet &b%effect% &cn'existe pas !"); + this.put("fixed-edit-effect-no-permission", "&cImpossible de modifier l'effet fixe, vous n'avez pas la permission pour utiliser l'effet &b%effect% &c!"); + this.put("fixed-edit-style-invalid", "&cImpossible de modifier l'effet fixe, le style &b%style% &cn'existe pas !"); + this.put("fixed-edit-style-no-permission", "&cImpossible de modifier l'effet fixe, vous n'avez pas la permission pour utiliser le style &b%style% &c!"); + this.put("fixed-edit-style-non-fixable", "&cImpossible de modifier l'effet fixe, the style &b%style% &cne peut pas être utilisé dans des effets fixes !"); this.put("fixed-edit-data-error", "&cImpossible de modifier l'effet fixe, paramètre incorrect ! Utilisez &b/pp data pour afficher les paramètres valides."); this.put("fixed-edit-data-none", "&cImpossible de modifier l'effet fixe, l'effet ne requière pas de paramètres !"); - this.put("fixed-edit-success", "&aMise à jour de &b{0} &ade l'effet fixe avec l'ID &b{1} &a!"); + this.put("fixed-edit-success", "&aMise à jour de &b%property% &ade l'effet fixe avec l'ID &b%id% &a!"); - this.put("fixed-remove-invalid", "&cImpossible de supprimer l'effet fixe, vous n'avez pas d effets fixes avec l'ID &b{0} &c!"); + this.put("fixed-remove-invalid", "&cImpossible de supprimer l'effet fixe, vous n'avez pas d effets fixes avec l'ID &b%id% &c!"); this.put("fixed-remove-no-args", "&cVous n'avez pas rentrer d'ID à supprimer !"); this.put("fixed-remove-args-invalid", "&cImpossible de supprimer, l'ID doit être un nombre !"); - this.put("fixed-remove-success", "&aTous vos effets fixes avec l'ID &b{0} &aont été supprimés !"); + this.put("fixed-remove-success", "&aTous vos effets fixes avec l'ID &b%id% &aont été supprimés !"); this.put("fixed-list-none", "&eVous n'avez pas d'effets fixes !"); - this.put("fixed-list-success", "&eVous avez des effets fixes avec ces IDs :&b{0}"); + this.put("fixed-list-success", "&eVous avez des effets fixes avec ces IDs :&b%ids%"); - this.put("fixed-info-invalid", "&cImpossible d'obtenir l'information, vous n'avez pas de particules fixes avec l'ID &b{0}& c!"); + this.put("fixed-info-invalid", "&cImpossible d'obtenir l'information, vous n'avez pas de particules fixes avec l'ID &b%id%& c!"); this.put("fixed-info-no-args", "&cVous n'avez pas rentrée d'ID pour obtenir d'infomations !"); this.put("fixed-info-invalid-args", "&cImpossible d'obtenir l'information, vous n'avez pas de particules fixes avec l'ID, l'ID spécifiée doit être un nombre !"); - this.put("fixed-info-success", "&eID: &b{0} &eWorld: &b{1} &eX: &b{2} &eY: &b{3} &eZ: &b{4} &eEffect: &b{5} &eStyle: &b{6} &eData: &b{7}"); + this.put("fixed-info-success", "&eID: &b%id% &eWorld: &b%world% &eX: &b%x% &eY: &b%y% &eZ: &b%z% &eEffect: &b%effect% &eStyle: &b%style% &eData: &b%data%"); this.put("fixed-clear-no-permission", "&cVous n'avez la permission pour supprimer les effets proches !"); this.put("fixed-clear-no-args", "&cVous n'avez pas rentré de rayon !"); this.put("fixed-clear-invalid-args", "&cLe rayon rentré n'est pas valide, il doit être un nombre rond !"); - this.put("fixed-clear-success", "&b{0} &aeffets ont été supprimés dans un rayon &b{1} &cblocs !"); + this.put("fixed-clear-success", "&b%amount% &aeffets ont été supprimés dans un rayon &b%range% &cblocs !"); this.put("fixed-no-permission", "&cVous n'avez pas la permission d'ajouter des effets fixes !"); this.put("fixed-max-reached", "&cVous avez atteint le nombre maximum de particules fixes !"); this.put("fixed-invalid-command", "&cArguments invalides pour la commande &b/pp fixed&c!"); // Update Available - this.put("update-available", "&eLa version (&b{0}&e) est disponible ! vous utilisez la version &bv{1}&d. https://www.spigotmc.org/resources/playerparticles.40261/"); + this.put("update-available", "&eLa version (&b%new%&e) est disponible ! vous utilisez la version &bv%current%&d. https://www.spigotmc.org/resources/playerparticles.40261/"); // GUI this.put("gui-disabled", "&cL'interface du plugin à été désactivée !"); @@ -229,15 +229,15 @@ public class FrenchLocale implements Locale { this.put("gui-color-unavailable", "&c"); this.put("gui-commands-info", "Affichez des informations avec &b/pp help"); this.put("gui-back-button", "Retour en arrière"); - this.put("gui-next-page-button", "Page Suivante ({0}/{1})"); - this.put("gui-previous-page-button", "Page Précédente ({0}/{1})"); - this.put("gui-click-to-load", "Cliquez pour charger : {0}"); + this.put("gui-next-page-button", "Page Suivante (%start%/%end%)"); + this.put("gui-previous-page-button", "Page Précédente (%start%/%end%)"); + this.put("gui-click-to-load", "Cliquez pour charger : %amount%"); this.put("gui-shift-click-to-delete", "Touche SHIFT + clic-gauche pour effacer un effet"); - this.put("gui-particle-info", " - ID: &b{0} &eEffet: &b{1} &eStyle: &b{2} &eParamètre: &b{3}"); + this.put("gui-particle-info", " - ID: &b%id% &eEffet: &b%effect% &eStyle: &b%style% &eParamètre: &b%data%"); this.put("gui-playerparticles", "PlayerParticles"); - this.put("gui-active-particles", "Particules actives: &b{0}"); - this.put("gui-saved-groups", "Groupes sauvegardés: &b{0}"); - this.put("gui-fixed-effects", "Effets fixes: &b{0}"); + this.put("gui-active-particles", "Particules actives: &b%amount%"); + this.put("gui-saved-groups", "Groupes sauvegardés: &b%amount%"); + this.put("gui-fixed-effects", "Effets fixes: &b%amount%"); this.put("gui-edit-primary-effect", "Editez l'effet primaire"); this.put("gui-edit-primary-effect-description", "Editez l effet d une de vos particules primaire"); this.put("gui-edit-primary-style", "Editez le style primaire"); @@ -257,12 +257,12 @@ public class FrenchLocale implements Locale { this.put("gui-save-group-description", "Cliquez pour sauvegardez un nouveau groupe. Vous allez être invité\nà écrire un nouveau nom dans le tchat."); this.put("gui-save-group-full", "Vous avez atteint le nombre maximal de groupe !"); this.put("gui-save-group-no-particles", "Vous avez aucunes particules appliquées"); - this.put("gui-save-group-hotbar-message", "&eTapez &b1 &enom dans le tchat pour le nouveau nom du groupe. Tapez &ccancel&e pour annuler. (&b{0}&es restants)"); + this.put("gui-save-group-hotbar-message", "&eTapez &b1 &enom dans le tchat pour le nouveau nom du groupe. Tapez &ccancel&e pour annuler. (&b%seconds%&es restants)"); this.put("gui-reset-particles", "Réinitialisez vos particules"); this.put("gui-reset-particles-description", "Supprimez vos particules actives"); - this.put("gui-particle-name", "Particule #{0}"); + this.put("gui-particle-name", "Particule #%id%"); this.put("gui-click-to-edit-particle", "Cliquez pour éditer cette particule"); - this.put("gui-editing-particle", "Edition particule #{0}"); + this.put("gui-editing-particle", "Edition particule #%id%"); this.put("gui-edit-effect", "Editez l'effet"); this.put("gui-edit-effect-description", "Cliquez pour éditer l'effet de cette particule"); this.put("gui-edit-style", "Editez le style"); @@ -275,12 +275,12 @@ public class FrenchLocale implements Locale { this.put("gui-create-particle-description", "Créez une nouvelle particule"); this.put("gui-create-particle-unavailable", "Vous avez atteint le nombre maximum de particules que vous pouvez créer"); this.put("gui-select-effect", "Sélectionnez les effets"); - this.put("gui-select-effect-description", "Mettez les effets de la particules à &b{0}"); + this.put("gui-select-effect-description", "Mettez les effets de la particules à &b%effect%"); this.put("gui-select-style", "Sélectionnez le style"); - this.put("gui-select-style-description", "Mets le style de la particule à &b{0}"); + this.put("gui-select-style-description", "Mets le style de la particule à &b%style%"); this.put("gui-select-data", "Sélectionnez les paramètres"); - this.put("gui-select-data-description", "Mets les paramètres de la particule à &b{0}"); - this.put("gui-select-data-note", "note #{0}"); + this.put("gui-select-data-description", "Mets les paramètres de la particule à &b%data%"); + this.put("gui-select-data-note", "note #%note%"); this.put("gui-edit-data-color-red", "&crouge"); this.put("gui-edit-data-color-orange", "&6orange"); this.put("gui-edit-data-color-yellow", "&ejaune"); diff --git a/src/main/java/dev/esophose/playerparticles/locale/GermanLocale.java b/src/main/java/dev/esophose/playerparticles/locale/GermanLocale.java index b0c279a..cce935d 100644 --- a/src/main/java/dev/esophose/playerparticles/locale/GermanLocale.java +++ b/src/main/java/dev/esophose/playerparticles/locale/GermanLocale.java @@ -27,9 +27,9 @@ public class GermanLocale implements Locale { // Command Descriptions this.put("command-descriptions", "Die folgenden Befehle stehen zur Auswahl:"); - this.put("command-descriptions-usage", "&e/pp {0} {1}"); - this.put("command-descriptions-help-1", "&7> &b/pp {0} &e- {1}"); - this.put("command-descriptions-help-2", "&7> &b/pp {0} {1} &e- {2}"); + this.put("command-descriptions-usage", "&e/pp %cmd% %args%"); + this.put("command-descriptions-help-1", "&7> &b/pp %cmd% &e- %desc%"); + this.put("command-descriptions-help-2", "&7> &b/pp %cmd% %args% &e- %desc%"); this.put("command-descriptions-help-other", "&7> &b/ppo &e- Führe /pp als einen Spieler aus"); this.put("command-description-add", "Fügen Sie einen neuen Partikel hinzu"); this.put("command-description-data", "Üprüfen Sie, welche Art von Daten ein Effekt verwendet"); @@ -65,46 +65,46 @@ public class GermanLocale implements Locale { // Command ID Lookup this.put("id-invalid", "&cDie eingegebene ID ist ungültig, es muss eine positive ganze Zahl sein!"); - this.put("id-unknown", "&cSie haben kein Partikel mit der ID &b{0}&cangelegt!"); + this.put("id-unknown", "&cSie haben kein Partikel mit der ID &b%id%&cangelegt!"); // Other Command this.put("other-no-permission", "&cSie haben keine Berechtigung, PlayerParticles-Befehle für andere Spieler auszuführen!"); this.put("other-missing-args", "&cEs fehlen einige Argumente. &b/ppo "); - this.put("other-unknown-player", "&cDer Spieler &b{0} &cwurde nicht gefunden. Der Spieler mussen online sein."); - this.put("other-unknown-command", "&cDer Befehl &b/pp {0} &cexistiert nicht."); - this.put("other-success", "&eBefehl /pp command für &b{0}&eausgeführt. Ausgabe:"); + this.put("other-unknown-player", "&cDer Spieler &b%player% &cwurde nicht gefunden. Der Spieler mussen online sein."); + this.put("other-unknown-command", "&cDer Befehl &b/pp %cmd% &cexistiert nicht."); + this.put("other-success", "&eBefehl /pp command für &b%player%&eausgeführt. Ausgabe:"); // Add Command - this.put("add-reached-max", "&cPartikel kann nicht angewendet werden, Sie haben die maximal zulässige Menge von &b{0} &cerreicht!"); - this.put("add-particle-applied", "&aEs wurde ein neues Partikel mit dem Effekt &b{0}&a, dem Stil &b{1}&aund den Daten &b{2}&aangewendet!"); + this.put("add-reached-max", "&cPartikel kann nicht angewendet werden, Sie haben die maximal zulässige Menge von &b%amount% &cerreicht!"); + this.put("add-particle-applied", "&aEs wurde ein neues Partikel mit dem Effekt &b%effect%&a, dem Stil &b%style%&aund den Daten &b%data%&aangewendet!"); // Data Command this.put("data-no-args", "&cFehlendes Argument für die Wirkung! Befehlsverwendung: &b/pp data "); // Edit Command - this.put("edit-invalid-property", "&cEine ungültige Eigenschaft &b{0} &cwurde angegeben. Gültige Eigenschaften: &beffect&c, &bstyle&c, &bdata"); - this.put("edit-success-effect", "&aDer Effekt Ihres Partikels mit der ID &b{0} &awurde in &b{1}&ageändert!"); - this.put("edit-success-style", "&aDer Stil Ihres Partikels mit der ID &b{0} &awurde in &b{1}&ageändert!"); - this.put("edit-success-data", "&aDie Daten Ihres Partikels mit der ID &b{0} &awurden in &b{1}&ageändert!"); + this.put("edit-invalid-property", "&cEine ungültige Eigenschaft &b%prop% &cwurde angegeben. Gültige Eigenschaften: &beffect&c, &bstyle&c, &bdata"); + this.put("edit-success-effect", "&aDer Effekt Ihres Partikels mit der ID &b%id% &awurde in &b%effect%&ageändert!"); + this.put("edit-success-style", "&aDer Stil Ihres Partikels mit der ID &b%id% &awurde in &b%style%&ageändert!"); + this.put("edit-success-data", "&aDie Daten Ihres Partikels mit der ID &b%id% &awurden in &b%data%&ageändert!"); // Group Command - this.put("group-invalid", "&cEs existiert keine gespeicherte Gruppe oder Voreinstellungsgruppe mit dem Namen &b{0}&c!"); - this.put("group-no-permission", "&cSie haben keine Berechtigung für einen Effekt oder Stil, um die Gruppe &b{0}&czu verwenden!"); - this.put("group-preset-no-permission", "&cEs fehlt die Berechtigung für einen Effekt oder Stil, um die voreingestellte Gruppe &b{0}&czu verwenden!"); + this.put("group-invalid", "&cEs existiert keine gespeicherte Gruppe oder Voreinstellungsgruppe mit dem Namen &b%name%&c!"); + this.put("group-no-permission", "&cSie haben keine Berechtigung für einen Effekt oder Stil, um die Gruppe &b%group%&czu verwenden!"); + this.put("group-preset-no-permission", "&cEs fehlt die Berechtigung für einen Effekt oder Stil, um die voreingestellte Gruppe &b%group%&czu verwenden!"); this.put("group-reserved", "&cDer Gruppenname &bactive &cist reserviert und kann nicht verwendet werden!"); - this.put("group-no-name", "&cSie haben keinen Gruppennamen angegeben! &b/pp {0} "); + this.put("group-no-name", "&cSie haben keinen Gruppennamen angegeben! &b/pp %cmd% "); this.put("group-save-reached-max", "&cDie Gruppe kann nicht gespeichert werden, Sie haben die maximale Anzahl von Gruppen erreicht!"); this.put("group-save-no-particles", "&cGruppe kann nicht gespeichert werden, es wurden keine Partikel angewendet!"); - this.put("group-save-success", "&aIhre aktuellen Partikel wurden unter der Gruppe &b{0}&agespeichert!"); - this.put("group-save-success-overwrite", "&aDie Gruppe mit dem Namen &b{0} &awurde mit Ihren aktuellen Partikeln aktualisiert!"); - this.put("group-load-success", "&aAngewendete &b{0} &aPartikel aus Ihrer gespeicherten Gruppe mit dem Namen &b{1}&a!"); - this.put("group-load-preset-success", "&aAngewendete &b{0} &aPartikel aus der voreingestellten Gruppe mit dem Namen &b{1}&a!"); + this.put("group-save-success", "&aIhre aktuellen Partikel wurden unter der Gruppe &b%name%&agespeichert!"); + this.put("group-save-success-overwrite", "&aDie Gruppe mit dem Namen &b%name% &awurde mit Ihren aktuellen Partikeln aktualisiert!"); + this.put("group-load-success", "&aAngewendete &b%amount% &aPartikel aus Ihrer gespeicherten Gruppe mit dem Namen &b%name%&a!"); + this.put("group-load-preset-success", "&aAngewendete &b%amount% &aPartikel aus der voreingestellten Gruppe mit dem Namen &b%name%&a!"); this.put("group-remove-preset", "&cSie können keine voreingestellte Gruppe entfernen!"); - this.put("group-remove-success", "&aDie Partikelgruppe mit dem Namen &b{0}&awurde entfernt!"); - this.put("group-info-header", "&eDie Gruppe &b{0} &eenthält die folgenden Partikel:"); + this.put("group-remove-success", "&aDie Partikelgruppe mit dem Namen &b%name%&awurde entfernt!"); + this.put("group-info-header", "&eDie Gruppe &b%group% &eenthält die folgenden Partikel:"); this.put("group-list-none", "&eSie haben keine Partikelgruppen gespeichert!"); - this.put("group-list-output", "&eFolgende Gruppen wurden gespeichert: &b{0}"); - this.put("group-list-presets", "&eDie folgenden voreingestellten Gruppen sind verfügbar: &b{0}"); + this.put("group-list-output", "&eFolgende Gruppen wurden gespeichert: &b%info%"); + this.put("group-list-presets", "&eDie folgenden voreingestellten Gruppen sind verfügbar: &b%info%"); // Reload Command this.put("reload-success", "&aDas Plugin wurde neu geladen!"); @@ -112,17 +112,17 @@ public class GermanLocale implements Locale { // Remove Command this.put("remove-no-args", "&cSie haben keine ID zum Entfernen angegeben! &b/pp remove "); - this.put("remove-id-success", "&aDein Partikel mit der ID &b{0} &awurde entfernt!"); - this.put("remove-effect-success", "&aEntferne &b{0} &adeiner Partikel mit dem Effekt von &b{1}&a!"); - this.put("remove-effect-none", "&cSie haben keine Partikel mit dem Effekt &b{0}&cangelegt!"); - this.put("remove-style-success", "&b{0} &adeiner Partikel im Stil von &b{1} &aentfernt!"); - this.put("remove-style-none", "&cSie haben keine Partikel mit dem Stil &b{0}&cangelegt!"); - this.put("remove-unknown", "&cEs existiert kein Effekt oder Stil mit dem Namen &b{0}&c!"); + this.put("remove-id-success", "&aDein Partikel mit der ID &b%id% &awurde entfernt!"); + this.put("remove-effect-success", "&aEntferne &b%amount% &adeiner Partikel mit dem Effekt von &b%effect%&a!"); + this.put("remove-effect-none", "&cSie haben keine Partikel mit dem Effekt &b%effect%&cangelegt!"); + this.put("remove-style-success", "&b%amount% &adeiner Partikel im Stil von &b%style% &aentfernt!"); + this.put("remove-style-none", "&cSie haben keine Partikel mit dem Stil &b%style%&cangelegt!"); + this.put("remove-unknown", "&cEs existiert kein Effekt oder Stil mit dem Namen &b%name%&c!"); // List Command this.put("list-none", "&eSie haben keine aktiven Partikel!"); this.put("list-you-have", "&eSie haben die folgenden Partikel angewendet:"); - this.put("list-output", "&eID: &b{0} &eEffekt: &b{1} &eStil: &b{2} &eDaten: &b{3}"); + this.put("list-output", "&eID: &b%id% &eEffekt: &b%effect% &eStil: &b%style% &eDaten: &b%data%"); // Toggle Command this.put("toggle-on", "&ePartikel wurden umgeschaltet &aAN&e!"); @@ -135,49 +135,49 @@ public class GermanLocale implements Locale { this.put("random", "Zufällig"); // Effects - this.put("effect-no-permission", "&cSie haben keine Berechtigung, den Effekt &b{0} &czu verwenden!"); - this.put("effect-invalid", "&cDer Effekt &b{0} &cexistiert nicht! Verwenden Sie &b/pp effects &c, um eine Liste der Effekte anzuzeigen, die Sie verwenden können."); - this.put("effect-list", "&eSie können die folgenden Effekte verwenden: &b{0}"); + this.put("effect-no-permission", "&cSie haben keine Berechtigung, den Effekt &b%effect% &czu verwenden!"); + this.put("effect-invalid", "&cDer Effekt &b%effect% &cexistiert nicht! Verwenden Sie &b/pp effects &c, um eine Liste der Effekte anzuzeigen, die Sie verwenden können."); + this.put("effect-list", "&eSie können die folgenden Effekte verwenden: &b%effects%"); this.put("effect-list-empty", "&cSie haben keine Berechtigung, Effekte zu verwenden!"); // Styles - this.put("style-no-permission", "&cSie haben keine Berechtigung, den Stil &b{0} &czu verwenden!"); - this.put("style-event-spawning-info", "&eHinweis: Der Stil &b{0} &eerzeugt Partikel basierend auf einem Ereignis."); - this.put("style-invalid", "&cDer Stil &b{0} &cexistiert nicht! Verwenden Sie &b/pp styles &cfür eine Liste der Stile, die Sie verwenden können."); - this.put("style-list", "&eSie können die folgenden Stile verwenden: &b{0}"); + this.put("style-no-permission", "&cSie haben keine Berechtigung, den Stil &b%style% &czu verwenden!"); + this.put("style-event-spawning-info", "&eHinweis: Der Stil &b%style% &eerzeugt Partikel basierend auf einem Ereignis."); + this.put("style-invalid", "&cDer Stil &b%style% &cexistiert nicht! Verwenden Sie &b/pp styles &cfür eine Liste der Stile, die Sie verwenden können."); + this.put("style-list", "&eSie können die folgenden Stile verwenden: &b%styles%"); // Data - this.put("data-usage-none", "&eDer Effekt &b{0} &everwendet keine Daten!"); - this.put("data-usage-block", "&eFür den Effekt &b{0} &ewerden &bBlockdaten &ebenötigt! &bFormat: "); - this.put("data-usage-item", "&eFür den Effekt &b{0} &esind &bItem &eDaten erforderlich! &bFormat: "); - this.put("data-usage-color", "&eFür den Effekt &b{0} &esind &bFarbdaten &eerforderlich! &bFormat: <<0-255> <0-255> <0-255>>||"); - this.put("data-usage-note", "&eFür den Effekt &b{0} &esind &bAnmeldedaten &eerforderlich! &bFormat: <0-24>||"); + this.put("data-usage-none", "&eDer Effekt &b%effect% &everwendet keine Daten!"); + this.put("data-usage-block", "&eFür den Effekt &b%effect% &ewerden &bBlockdaten &ebenötigt! &bFormat: "); + this.put("data-usage-item", "&eFür den Effekt &b%effect% &esind &bItem &eDaten erforderlich! &bFormat: "); + this.put("data-usage-color", "&eFür den Effekt &b%effect% &esind &bFarbdaten &eerforderlich! &bFormat: <<0-255> <0-255> <0-255>>||"); + this.put("data-usage-note", "&eFür den Effekt &b%effect% &esind &bAnmeldedaten &eerforderlich! &bFormat: <0-24>||"); this.put("data-invalid-block", "&cDie von Ihnen eingegebenen &bBlock &cDaten sind ungültig! &bFormat: "); this.put("data-invalid-item", "&cDie von Ihnen eingegebenen &bItem &cDaten sind ungültig! &bFormat: "); this.put("data-invalid-color", "&cDie von Ihnen eingegebenen &bFarbdaten &csind ungültig! &bFormat: <<0-255> <0-255> <0-255>>||"); this.put("data-invalid-note", "&cDie von Ihnen eingegebenen &bNotizdaten &csind ungültig! &bFormat: <0-24>||"); - this.put("data-invalid-material-not-item", "&cDas von Ihnen eingegebene &bItem &cMaterial &b{0} &cist kein Item!"); - this.put("data-invalid-material-not-block", "&cDas von Ihnen eingegebene &bBlock &cMaterial &b{0} &cist kein Block!"); - this.put("data-invalid-material-item", "&cDas von Ihnen eingegebene &bItem &cMaterial &b{0} &cexistiert nicht!"); - this.put("data-invalid-material-block", "&cDas von Ihnen eingegebene &bBlock &cMaterial &b{0} &cexistiert nicht!"); + this.put("data-invalid-material-not-item", "&cDas von Ihnen eingegebene &bItem &cMaterial &b%material% &cist kein Item!"); + this.put("data-invalid-material-not-block", "&cDas von Ihnen eingegebene &bBlock &cMaterial &b%material% &cist kein Block!"); + this.put("data-invalid-material-item", "&cDas von Ihnen eingegebene &bItem &cMaterial &b%material% &cexistiert nicht!"); + this.put("data-invalid-material-block", "&cDas von Ihnen eingegebene &bBlock &cMaterial &b%material% &cexistiert nicht!"); // Worlds - this.put("disabled-worlds", "&ePartikel sind in diesen Welten deaktiviert: &b{0}"); + this.put("disabled-worlds", "&ePartikel sind in diesen Welten deaktiviert: &b%worlds%"); this.put("disabled-worlds-none", "&ePartikel sind in keiner Welt deaktiviert."); // Reset - this.put("reset-success", "&b{0} &aaktive Partikel entfernt!"); + this.put("reset-success", "&b%amount% &aaktive Partikel entfernt!"); // Fixed Effects - this.put("fixed-create-missing-args", "&cFixer Effekt kann nicht erstellt werden, es fehlen &b{0} &cerforderliche Argumente!"); + this.put("fixed-create-missing-args", "&cFixer Effekt kann nicht erstellt werden, es fehlen &b%amount% &cerforderliche Argumente!"); this.put("fixed-create-invalid-coords", "&cEin fester Effekt kann nicht erstellt werden, eine oder mehrere von Ihnen eingegebene Koordinaten sind ungültig!"); - this.put("fixed-create-out-of-range", "&cSie können keinen festen Effekt erstellen. Sie müssen sich innerhalb von &b{0} &cBlöcken von Ihrem gewünschten Standort befinden."); + this.put("fixed-create-out-of-range", "&cSie können keinen festen Effekt erstellen. Sie müssen sich innerhalb von &b%range% &cBlöcken von Ihrem gewünschten Standort befinden."); this.put("fixed-create-looking-too-far", "&cSie können keinen festen Effekt erzielen, da Sie zu weit von dem Block entfernt sind, den Sie gerade betrachten."); - this.put("fixed-create-effect-invalid", "&cEs kann kein fester Effekt erstellt werden, ein Effekt mit dem Namen &b{0} &cist nicht vorhanden!"); - this.put("fixed-create-effect-no-permission", "&cSie können keinen festen Effekt erstellen. Sie haben keine Berechtigung, den Effekt zu verwenden. &b{0}&c!"); - this.put("fixed-create-style-invalid", "&cEs kann kein fester Effekt erstellt werden. Ein Stil mit dem Namen &b{0} &cist nicht vorhanden."); - this.put("fixed-create-style-no-permission", "&cEs kann kein fester Effekt erstellt werden. Sie haben keine Berechtigung, den Stil &b{0}&czu verwenden."); - this.put("fixed-create-style-non-fixable", "&cFeste Effekte können nicht erstellt werden. Der Stil &b{0} &ckann nicht für feste Effekte verwendet werden!"); + this.put("fixed-create-effect-invalid", "&cEs kann kein fester Effekt erstellt werden, ein Effekt mit dem Namen &b%effect% &cist nicht vorhanden!"); + this.put("fixed-create-effect-no-permission", "&cSie können keinen festen Effekt erstellen. Sie haben keine Berechtigung, den Effekt zu verwenden. &b%effect%&c!"); + this.put("fixed-create-style-invalid", "&cEs kann kein fester Effekt erstellt werden. Ein Stil mit dem Namen &b%style% &cist nicht vorhanden."); + this.put("fixed-create-style-no-permission", "&cEs kann kein fester Effekt erstellt werden. Sie haben keine Berechtigung, den Stil &b%style%&czu verwenden."); + this.put("fixed-create-style-non-fixable", "&cFeste Effekte können nicht erstellt werden. Der Stil &b%style% &ckann nicht für feste Effekte verwendet werden!"); this.put("fixed-create-data-error", "&cEs kann kein fester Effekt erstellt werden, die angegebenen Daten sind nicht korrekt! Verwenden Sie &b/pp data &c, um das richtige Datenformat zu finden!"); this.put("fixed-create-success", "&aDein fester Effekt wurde erstellt!"); @@ -185,41 +185,41 @@ public class GermanLocale implements Locale { this.put("fixed-edit-invalid-id", "&cDer festgelegte Effekt kann nicht bearbeitet werden, die angegebene ID ist ungültig oder existiert nicht!"); this.put("fixed-edit-invalid-property", "&cFixeffekt kann nicht bearbeitet werden, es wurde eine ungültige Eigenschaft angegeben! Es sind nur &bPositionsdaten&c, &bEffektdaten&c, &bStildaten&cund &bDaten &cgültig."); this.put("fixed-edit-invalid-coords", "&cFixer Effekt kann nicht bearbeitet werden, eine oder mehrere von Ihnen eingegebene Koordinaten sind ungültig!"); - this.put("fixed-edit-out-of-range", "&cFixierter Effekt kann nicht bearbeitet werden. Sie müssen sich innerhalb von &b{0} &cBlöcken von Ihrem gewünschten Standort befinden!"); + this.put("fixed-edit-out-of-range", "&cFixierter Effekt kann nicht bearbeitet werden. Sie müssen sich innerhalb von &b%range% &cBlöcken von Ihrem gewünschten Standort befinden!"); this.put("fixed-edit-looking-too-far", "&cEin fester Effekt kann nicht bearbeitet werden. Sie befinden sich zu weit entfernt von dem Block, den Sie gerade ansehen."); - this.put("fixed-edit-effect-invalid", "&cFixer Effekt kann nicht bearbeitet werden, ein Effekt mit dem Namen &b{0} &cist nicht vorhanden!"); - this.put("fixed-edit-effect-no-permission", "&cFixierter Effekt kann nicht bearbeitet werden. Sie haben keine Berechtigung, den Effekt zu verwenden. &b{0}&c!"); - this.put("fixed-edit-style-invalid", "&cEin fester Effekt kann nicht bearbeitet werden, ein Stil mit dem Namen &b{0} &cist nicht vorhanden!"); - this.put("fixed-edit-style-no-permission", "&cFixierter Effekt kann nicht bearbeitet werden. Sie haben keine Berechtigung, den Stil &b{0}&czu verwenden."); - this.put("fixed-edit-style-non-fixable", "&cFixer Effekt kann nicht bearbeitet werden. Der Stil &b{0} &ckann nicht für fixe Effekte verwendet werden!"); + this.put("fixed-edit-effect-invalid", "&cFixer Effekt kann nicht bearbeitet werden, ein Effekt mit dem Namen &b%effect% &cist nicht vorhanden!"); + this.put("fixed-edit-effect-no-permission", "&cFixierter Effekt kann nicht bearbeitet werden. Sie haben keine Berechtigung, den Effekt zu verwenden. &b%effect%&c!"); + this.put("fixed-edit-style-invalid", "&cEin fester Effekt kann nicht bearbeitet werden, ein Stil mit dem Namen &b%style% &cist nicht vorhanden!"); + this.put("fixed-edit-style-no-permission", "&cFixierter Effekt kann nicht bearbeitet werden. Sie haben keine Berechtigung, den Stil &b%style%&czu verwenden."); + this.put("fixed-edit-style-non-fixable", "&cFixer Effekt kann nicht bearbeitet werden. Der Stil &b%style% &ckann nicht für fixe Effekte verwendet werden!"); this.put("fixed-edit-data-error", "&cFixeffekt kann nicht bearbeitet werden, die angegebenen Daten sind nicht korrekt! Verwenden Sie &b/pp data &c, um das richtige Datenformat zu finden!"); this.put("fixed-edit-data-none", "&cFixierter Effekt kann nicht bearbeitet werden, für den Effekt sind keine Daten erforderlich!"); - this.put("fixed-edit-success", "&aAktualisiert die &b{0} &ades festen Effekts mit einer ID von &b{1}&a!"); + this.put("fixed-edit-success", "&aAktualisiert die &b%property% &ades festen Effekts mit einer ID von &b%id%&a!"); - this.put("fixed-remove-invalid", "&cFixierter Effekt kann nicht entfernt werden, Sie haben keinen Fixierten Effekt mit der ID &b{0}&c!"); + this.put("fixed-remove-invalid", "&cFixierter Effekt kann nicht entfernt werden, Sie haben keinen Fixierten Effekt mit der ID &b%id%&c!"); this.put("fixed-remove-no-args", "&cSie haben keine ID zum Entfernen angegeben!"); this.put("fixed-remove-args-invalid", "&cKann nicht entfernt werden, die angegebene ID muss eine Zahl sein!"); - this.put("fixed-remove-success", "&aDein fester Effekt mit der ID &b{0} &awurde entfernt!"); + this.put("fixed-remove-success", "&aDein fester Effekt mit der ID &b%id% &awurde entfernt!"); this.put("fixed-list-none", "&eDu hast keine festen Effekte!"); - this.put("fixed-list-success", "&eSie haben feste Effekte mit der ID: &b{0}"); + this.put("fixed-list-success", "&eSie haben feste Effekte mit der ID: &b%ids%"); - this.put("fixed-info-invalid", "&cInformationen können nicht abgerufen werden. Sie haben keinen festen Effekt mit der ID &b{0}&c."); + this.put("fixed-info-invalid", "&cInformationen können nicht abgerufen werden. Sie haben keinen festen Effekt mit der ID &b%id%&c."); this.put("fixed-info-no-args", "&cSie haben keine ID angegeben, für die Informationen angezeigt werden sollen!"); this.put("fixed-info-invalid-args", "&cInformationen können nicht abgerufen werden, die angegebene ID muss eine Zahl sein!"); - this.put("fixed-info-success", "&eID: &b{0} &eWelt: &b{1} &eX: &b{2} &eY: &b{3} &eZ: {4} &b &eEffekt: &b{5} &eStil: &b{6} &eDaten: &b{7}"); + this.put("fixed-info-success", "&eID: &b%id% &eWelt: &b%world% &eX: &b%x% &eY: &b%y% &eZ: %z% &b &eEffekt: &b%effect% &eStil: &b%style% &eDaten: &b%data%"); this.put("fixed-clear-no-permission", "&cSie haben keine Berechtigung, in der Nähe befindliche Fixeffekte zu löschen!"); this.put("fixed-clear-no-args", "&cSie haben keinen Radius zum Löschen fester Effekte für angegeben!"); this.put("fixed-clear-invalid-args", "&cDer von Ihnen angegebene Radius ist ungültig. Es muss sich um eine positive ganze Zahl handeln."); - this.put("fixed-clear-success", "&aEntfernte &b{0} &aEffekte in &b{1} &aBlöcken von Ihrem Standort entfernt!"); + this.put("fixed-clear-success", "&aEntfernte &b%amount% &aEffekte in &b%range% &aBlöcken von Ihrem Standort entfernt!"); this.put("fixed-no-permission", "&cSie haben keine Berechtigung, Fixeffekte zu verwenden!"); this.put("fixed-max-reached", "&cSie haben die maximal zulässigen festen Effekte erreicht!"); this.put("fixed-invalid-command", "&cUngültiger Parameter für &b/pp fixed&c!"); // Update Available - this.put("update-available", "&eEin Update (&b{0}&e) ist verfügbar! Aktuelle Version: &bv{1}&e. https://www.spigotmc.org/resources/playerparticles.40261/"); + this.put("update-available", "&eEin Update (&b%new%&e) ist verfügbar! Aktuelle Version: &bv%current%&e. https://www.spigotmc.org/resources/playerparticles.40261/"); // GUI this.put("gui-disabled", "&cDer Serveradministrator hat die GUI deaktiviert!"); @@ -229,15 +229,15 @@ public class GermanLocale implements Locale { this.put("gui-color-unavailable", "&c"); this.put("gui-commands-info", "Informationen zu Befehlen finden Sie mit Hilfe von &b/pp help"); this.put("gui-back-button", "Zurück"); - this.put("gui-next-page-button", "Nächste Seite ({0}/{1})"); - this.put("gui-previous-page-button", "Vorherige Seite ({0}/{1})"); - this.put("gui-click-to-load", "Klicken Sie, um die folgenden {0} Partikel zu laden:"); + this.put("gui-next-page-button", "Nächste Seite (%start%/%end%)"); + this.put("gui-previous-page-button", "Vorherige Seite (%start%/%end%)"); + this.put("gui-click-to-load", "Klicken Sie, um die folgenden %amount% Partikel zu laden:"); this.put("gui-shift-click-to-delete", "Umschaltklick zum Löschen"); - this.put("gui-particle-info", "- ID: &b{0} &eEffekt: &b{1} &eStil: &b{2} &eDaten: &b{3}"); + this.put("gui-particle-info", "- ID: &b%id% &eEffekt: &b%effect% &eStil: &b%style% &eDaten: &b%data%"); this.put("gui-playerparticles", "PlayerParticles"); - this.put("gui-active-particles", "Aktive Partikel: &b{0}"); - this.put("gui-saved-groups", "Gespeicherte Gruppen: &b{0}"); - this.put("gui-fixed-effects", "feste Effekte: &b{0}"); + this.put("gui-active-particles", "Aktive Partikel: &b%amount%"); + this.put("gui-saved-groups", "Gespeicherte Gruppen: &b%amount%"); + this.put("gui-fixed-effects", "feste Effekte: &b%amount%"); this.put("gui-edit-primary-effect", "Primäreffekt bearbeiten"); this.put("gui-edit-primary-effect-description", "Bearbeiten Sie den Effekt Ihres Primärpartikel"); this.put("gui-edit-primary-style", "Primärer Stil"); @@ -257,12 +257,12 @@ public class GermanLocale implements Locale { this.put("gui-save-group-description", "Klicken Sie hier, um eine neue Gruppe zu speichern. Sie werden aufgefordert, den neuen Gruppennamen im Chat einzugeben."); this.put("gui-save-group-full", "Sie haben die maximale Anzahl von Gruppen erreicht"); this.put("gui-save-group-no-particles", "Sie haben keine Partikel"); - this.put("gui-save-group-hotbar-message", "&eGeben Sie im Chat &b1 &eWort für den neuen Gruppennamen ein. Geben Sie &ccancel&e ein, um den Vorgang abzubrechen. (Noch&b{0}&e)"); + this.put("gui-save-group-hotbar-message", "&eGeben Sie im Chat &b1 &eWort für den neuen Gruppennamen ein. Geben Sie &ccancel&e ein, um den Vorgang abzubrechen. (Noch&b%seconds%&e)"); this.put("gui-reset-particles", "Setzen Sie Ihre Partikel zurück"); this.put("gui-reset-particles-description", "Löscht alle Ihre aktiven Partikel"); this.put("gui-particle-name", "Partikel"); this.put("gui-click-to-edit-particle", "Klicken Sie hier, um den Effekt, den Stil oder die Daten dieses Partikels zu bearbeiten"); - this.put("gui-editing-particle", "Partikel #{0} bearbeiten"); + this.put("gui-editing-particle", "Partikel #%id% bearbeiten"); this.put("gui-edit-effect", "Effekt bearbeiten"); this.put("gui-edit-effect-description", "Klicken Sie, um den Effekt dieses Partikels zu bearbeiten"); this.put("gui-edit-style", "Stil bearbeiten"); @@ -275,12 +275,12 @@ public class GermanLocale implements Locale { this.put("gui-create-particle-description", "Erstellen Sie ein neues Partikel mit einem Effekt, einem Stil und Daten"); this.put("gui-create-particle-unavailable", "Sie haben die maximale Partikelmenge erreicht, die Sie erstellen können"); this.put("gui-select-effect", "Wählen Sie Partikeleffekt"); - this.put("gui-select-effect-description", "Setzt den Partikeleffekt auf &b{0}"); + this.put("gui-select-effect-description", "Setzt den Partikeleffekt auf &b%effect%"); this.put("gui-select-style", "Wählen Sie Partikelstil"); - this.put("gui-select-style-description", "Legt den Partikelstil auf &b{0} fest"); + this.put("gui-select-style-description", "Legt den Partikelstil auf &b%style% fest"); this.put("gui-select-data", "Wählen Sie Partikeldaten"); - this.put("gui-select-data-description", "Setzt die Partikeldaten auf &b{0}"); - this.put("gui-select-data-note", "Hinweis #{0}"); + this.put("gui-select-data-description", "Setzt die Partikeldaten auf &b%data%"); + this.put("gui-select-data-note", "Hinweis #%note%"); this.put("gui-edit-data-color-red", "Rot"); this.put("gui-edit-data-color-orange", "Orange"); this.put("gui-edit-data-color-yellow", "Gelb"); diff --git a/src/main/java/dev/esophose/playerparticles/locale/RussianLocale.java b/src/main/java/dev/esophose/playerparticles/locale/RussianLocale.java index 84eedc9..41bd5a0 100644 --- a/src/main/java/dev/esophose/playerparticles/locale/RussianLocale.java +++ b/src/main/java/dev/esophose/playerparticles/locale/RussianLocale.java @@ -27,9 +27,9 @@ public class RussianLocale implements Locale { // Command Descriptions this.put("command-descriptions", "&eВам доступны команды ниже:"); - this.put("command-descriptions-usage", "&e/pp {0} {1}"); - this.put("command-descriptions-help-1", "&7> &b/pp {0} &e- {1}"); - this.put("command-descriptions-help-2", "&7> &b/pp {0} {1} &e- {2}"); + this.put("command-descriptions-usage", "&e/pp %cmd% %args%"); + this.put("command-descriptions-help-1", "&7> &b/pp %cmd% &e- %desc%"); + this.put("command-descriptions-help-2", "&7> &b/pp %cmd% %args% &e- %desc%"); this.put("command-descriptions-help-other", "&7> &b/ppo <Игрок> <Команда> &e- Посмотреть командны /pp от лица другого игрока."); this.put("command-description-add", "Добавить новые частицы."); this.put("command-description-data", "Проверить, какой тип данных использует эффект."); @@ -66,46 +66,46 @@ public class RussianLocale implements Locale { // Command ID Lookup this.put("id-invalid", "&cID, который Вы ввели, недействительный, это должно быть целое число!"); - this.put("id-unknown", "&cВы не имеете частиц с ID &b{0}&c!"); + this.put("id-unknown", "&cВы не имеете частиц с ID &b%id%&c!"); // Other Command this.put("other-no-permission", "&cВы не имеете права, чтобы выполнять команды от других игроков!"); this.put("other-missing-args", "&cВы не ввели некоторые аргументы. &b/ppo <Игрок> <Команда>"); - this.put("other-unknown-player", "&cИгрок &b{0} &cwas не найден. Скорее всего игрок оффлайн."); - this.put("other-unknown-command", "&cКоманды &b/pp {0} &cне существует."); - this.put("other-success", "&eВыполнена команда /pp от лица &b{0}&e. Результат:"); + this.put("other-unknown-player", "&cИгрок &b%player% &cwas не найден. Скорее всего игрок оффлайн."); + this.put("other-unknown-command", "&cКоманды &b/pp %cmd% &cне существует."); + this.put("other-success", "&eВыполнена команда /pp от лица &b%player%&e. Результат:"); // Add Command - this.put("add-reached-max", "&cНевозможно применить частицу, Вы использовали &b{0} &c, максимум допустимых!"); - this.put("add-particle-applied", "&aНовая частица была приложена к эффекту &b{0}&a, стилю &b{1}&a и данным &b{2}&a!"); + this.put("add-reached-max", "&cНевозможно применить частицу, Вы использовали &b%amount% &c, максимум допустимых!"); + this.put("add-particle-applied", "&aНовая частица была приложена к эффекту &b%effect%&a, стилю &b%style%&a и данным &b%data%&a!"); // Data Command this.put("data-no-args", "&cВы не ввели аргумент для эффекта! Используйте &b/pp data <Эффект>"); // Edit Command - this.put("edit-invalid-property", "&cНедействительное свойство &b{0} &cпредусмотрено. Действительные свойства: &bЭффект&c, &bСтиль&c, &bДанные."); - this.put("edit-success-effect", "&aЭффект Ваших частиц под ID &b{0} &aбыл изменён на &b{1}&a!"); - this.put("edit-success-style", "&aСтиль Ваших частиц под ID &b{0} &aбыл изменён на &b{1}&a!"); - this.put("edit-success-data", "&aДанные Ваших частиц под ID &b{0} &aбыли изменены на &b{1}&a!"); + this.put("edit-invalid-property", "&cНедействительное свойство &b%prop% &cпредусмотрено. Действительные свойства: &bЭффект&c, &bСтиль&c, &bДанные."); + this.put("edit-success-effect", "&aЭффект Ваших частиц под ID &b%id% &aбыл изменён на &b%effect%&a!"); + this.put("edit-success-style", "&aСтиль Ваших частиц под ID &b%id% &aбыл изменён на &b%style%&a!"); + this.put("edit-success-data", "&aДанные Ваших частиц под ID &b%id% &aбыли изменены на &b%data%&a!"); // Group Command - this.put("group-invalid", "&cСохранённая или заданная группа под названием &b{0}&cне существует!"); - this.put("group-no-permission", "&cВы потеряли право использовать эффект или стиль в группе &b{0}&c!"); - this.put("group-preset-no-permission", "&cВы потеряли право использовать эффект или стиль в заданной группе &b{0}&c!"); + this.put("group-invalid", "&cСохранённая или заданная группа под названием &b%name%&cне существует!"); + this.put("group-no-permission", "&cВы потеряли право использовать эффект или стиль в группе &b%group%&c!"); + this.put("group-preset-no-permission", "&cВы потеряли право использовать эффект или стиль в заданной группе &b%group%&c!"); this.put("group-reserved", "&cНазвание группы &bактивно &cи не может быть использованно!"); - this.put("group-no-name", "&cВы не ввели название группы! &b/pp {0} <названиеГруппы>"); + this.put("group-no-name", "&cВы не ввели название группы! &b/pp %cmd% <названиеГруппы>"); this.put("group-save-reached-max", "&cНевозможно сохранить группу, Вы превысили максимальное количество групп!"); this.put("group-save-no-particles", "&cНевозможно сохранить группу, у Вас нет никаких приложенных частиц!"); - this.put("group-save-success", "&aВаши эффекты были сохранены в группе под названием &b{0}&a!"); - this.put("group-save-success-overwrite", "&aГруппа &b{0} &aбыла обновлена с Вашими частицами!"); - this.put("group-load-success", "&aИз группы &b{1}&a прикреплено частиц - &b{0}!"); - this.put("group-load-preset-success", "&aИз группы &b{1}&a прикреплено частиц - &b{0}"); + this.put("group-save-success", "&aВаши эффекты были сохранены в группе под названием &b%name%&a!"); + this.put("group-save-success-overwrite", "&aГруппа &b%name% &aбыла обновлена с Вашими частицами!"); + this.put("group-load-success", "&aИз группы &b%name%&a прикреплено частиц - &b%amount%!"); + this.put("group-load-preset-success", "&aИз группы &b%name%&a прикреплено частиц - &b%amount%"); this.put("group-remove-preset", "&cВы не можете удалить заданную группу!"); - this.put("group-remove-success", "&aУдалена группа под названием &b{0}&a!"); - this.put("group-info-header", "&eГруппа &b{0} &eимеет следующие частицы:"); + this.put("group-remove-success", "&aУдалена группа под названием &b%name%&a!"); + this.put("group-info-header", "&eГруппа &b%group% &eимеет следующие частицы:"); this.put("group-list-none", "&eУ Вас нет никаких сохранённых групп с частицами!"); - this.put("group-list-output", "&eУ Вас есть следующие сохранённые группы: &b{0}"); - this.put("group-list-presets", "&eДоступны следующие заданные группы: &b{0}"); + this.put("group-list-output", "&eУ Вас есть следующие сохранённые группы: &b%info%"); + this.put("group-list-presets", "&eДоступны следующие заданные группы: &b%info%"); // Reload Command this.put("reload-success", "&aКонфигурация перезагружена!"); @@ -113,17 +113,17 @@ public class RussianLocale implements Locale { // Remove Command this.put("remove-no-args", "&cВы не ввели ID для удаления! &b/pp remove "); - this.put("remove-id-success", "&aВаши частицы под ID &b{0} &aбыли успешно удалены!"); - this.put("remove-effect-success", "&aКоличество удалённых частиц - &b{0} &a, эффектов - &b{1}&a!"); - this.put("remove-effect-none", "&cУ Вас нет каких-либо частиц с эффектом &b{0}&c!"); - this.put("remove-style-success", "&aКоличество удалённых частиц - &b{0} &a, стилей - &b{1}&a!"); - this.put("remove-style-none", "&cУ Вас нет каких-либо частиц со стилем &b{0}&c!"); - this.put("remove-unknown", "&cЭффект или стиль под названием &b{0} &cне существует!"); + this.put("remove-id-success", "&aВаши частицы под ID &b%id% &aбыли успешно удалены!"); + this.put("remove-effect-success", "&aКоличество удалённых частиц - &b%amount% &a, эффектов - &b%effect%&a!"); + this.put("remove-effect-none", "&cУ Вас нет каких-либо частиц с эффектом &b%effect%&c!"); + this.put("remove-style-success", "&aКоличество удалённых частиц - &b%amount% &a, стилей - &b%style%&a!"); + this.put("remove-style-none", "&cУ Вас нет каких-либо частиц со стилем &b%style%&c!"); + this.put("remove-unknown", "&cЭффект или стиль под названием &b%name% &cне существует!"); // List Command this.put("list-none", "&eУ вас нет каких-либо активных частиц!"); this.put("list-you-have", "&eУ Вас есть следующие частицы:"); - this.put("list-output", "&eID: &b{0} &eЭффект: &b{1} &eСтиль: &b{2} &eДанные: &b{3}"); + this.put("list-output", "&eID: &b%id% &eЭффект: &b%effect% &eСтиль: &b%style% &eДанные: &b%data%"); // Toggle Command this.put("toggle-on", "&eЧастицы были &aВКЛЮЧЕНЫ&e!"); @@ -136,49 +136,49 @@ public class RussianLocale implements Locale { this.put("random", "Random"); // Effects - this.put("effect-no-permission", "&cУ Вас нет прав использовать эффект &b{0} &c!"); - this.put("effect-invalid", "&cЭффект &b{0} &cне существует! Введите &b/pp effects, &cчтобы узнать доступные Вам эффекты."); - this.put("effect-list", "&eВы можете использовать следующие эффекты: &b{0}"); + this.put("effect-no-permission", "&cУ Вас нет прав использовать эффект &b%effect% &c!"); + this.put("effect-invalid", "&cЭффект &b%effect% &cне существует! Введите &b/pp effects, &cчтобы узнать доступные Вам эффекты."); + this.put("effect-list", "&eВы можете использовать следующие эффекты: &b%effects%"); this.put("effect-list-empty", "&cУ Вас нет права использовать какие-либо эффекты!"); // Styles - this.put("style-no-permission", "&cУ Вас нет прав использовать стиль &b{0} &c!"); - this.put("style-event-spawning-info", "&eЗаписка: стиль &b{0} &eспавнит частицы во время Ивента."); - this.put("style-invalid", "&cСтиль &b{0} &cне существует! Введите &b/pp styles &cчтобы узнать доступные Вам стили."); - this.put("style-list", "&eВы можете использовать следующие стили: &b{0}"); + this.put("style-no-permission", "&cУ Вас нет прав использовать стиль &b%style% &c!"); + this.put("style-event-spawning-info", "&eЗаписка: стиль &b%style% &eспавнит частицы во время Ивента."); + this.put("style-invalid", "&cСтиль &b%style% &cне существует! Введите &b/pp styles &cчтобы узнать доступные Вам стили."); + this.put("style-list", "&eВы можете использовать следующие стили: &b%styles%"); // Data - this.put("data-usage-none", "&eЭффект &b{0} &eне использует какие-либо данные!"); - this.put("data-usage-block", "&eЭффект &b{0} &eзапрашивает &bблок &eданных! &bФормат: <названиеБлока>"); - this.put("data-usage-item", "&eЭффект &b{0} &eзапрашивает &bпредмет &eданных! &bФормат: <названиеПредмета>"); - this.put("data-usage-color", "&eЭффект &b{0} &eзапрашивает &bцвет &eданных! &bФормат: «0-255> <0-255> <0-255»||"); - this.put("data-usage-note", "&eЭффект &b{0} &eзапрашивает &bноту &eданных! &bФормат: <0-24>||"); + this.put("data-usage-none", "&eЭффект &b%effect% &eне использует какие-либо данные!"); + this.put("data-usage-block", "&eЭффект &b%effect% &eзапрашивает &bблок &eданных! &bФормат: <названиеБлока>"); + this.put("data-usage-item", "&eЭффект &b%effect% &eзапрашивает &bпредмет &eданных! &bФормат: <названиеПредмета>"); + this.put("data-usage-color", "&eЭффект &b%effect% &eзапрашивает &bцвет &eданных! &bФормат: «0-255> <0-255> <0-255»||"); + this.put("data-usage-note", "&eЭффект &b%effect% &eзапрашивает &bноту &eданных! &bФормат: <0-24>||"); this.put("data-invalid-block", "&bБлок &cданных, который Вы ввели, недействителен! &bФормат: <названиеБлока>"); this.put("data-invalid-item", "&bПредмет &cданных, который Вы ввели, недействителен! &bФормат: <названиеПредмета>"); this.put("data-invalid-color", "&bЦвет &cданных, который Вы ввели, недействителен! &bФормат: «0-255> <0-255> <0-255»||"); this.put("data-invalid-note", "&bНота &cданных, которую Вы ввели, недействительна! &bФормат: <0-24>||"); - this.put("data-invalid-material-not-item", "&bМатериал &cпредмета&b{0}&c, который Вы ввели, не является предметом!"); - this.put("data-invalid-material-not-block", "&bМатериал &cблока&b{0}&c, который Вы ввели, не является блоком!"); - this.put("data-invalid-material-item", "&bМатериал &cпредмета&b{0}, который Вы ввели, не существует!"); - this.put("ata-invalid-material-block", "&bМатериал &cблока&b{0}, который Вы ввели, не существует!"); + this.put("data-invalid-material-not-item", "&bМатериал &cпредмета&b%material%&c, который Вы ввели, не является предметом!"); + this.put("data-invalid-material-not-block", "&bМатериал &cблока&b%material%&c, который Вы ввели, не является блоком!"); + this.put("data-invalid-material-item", "&bМатериал &cпредмета&b%material%, который Вы ввели, не существует!"); + this.put("data-invalid-material-block", "&bМатериал &cблока&b%material%, который Вы ввели, не существует!"); // Worlds - this.put("disabled-worlds", "&b{0} &eне поддерживает данные частицы."); + this.put("disabled-worlds", "&b%worlds% &eне поддерживает данные частицы."); this.put("disabled-worlds-none", "&eЧастицы не поддерживаются ни в каком мире."); // Reset - this.put("reset-success", "&aУдалено &aактивных частиц - &b{0}!"); + this.put("reset-success", "&aУдалено &aактивных частиц - &b%amount%!"); // Fixed Effects - this.put("fixed-create-missing-args", "&cНевозможно создать эффект, не введено запрашиваемых аргументов - &b{0}!"); + this.put("fixed-create-missing-args", "&cНевозможно создать эффект, не введено запрашиваемых аргументов - &b%amount%!"); this.put("fixed-create-invalid-coords", "&cНевозможно создать эффект, одни или несколько координат, которые Вы ввели, неверны!"); - this.put("fixed-create-out-of-range", "&cНевозможно создать эффект, Вы должны быть в &b{0} &cблоках от желаемой локации!"); + this.put("fixed-create-out-of-range", "&cНевозможно создать эффект, Вы должны быть в &b%range% &cблоках от желаемой локации!"); this.put("fixed-create-looking-too-far", "&cНевозможно создать эффект, Вы стоите слишком далеко от блока, на который смотрите!"); - this.put("fixed-create-effect-invalid", "&cНевозможно создать эффект, эффект под названием &b{0} &cне существует!"); - this.put("fixed-create-effect-no-permission", "&cНевозможно создать эффект, у Вас нет права использовать эффект &b{0}&c!"); - this.put("fixed-create-style-invalid", "&cНевозможно создать эффект, стиль под названием &b{0} &cне существует!"); - this.put("fixed-create-style-no-permission", "&cНевозможно создать эффект, у Вас нет права использовать стиль &b{0}&c!"); - this.put("fixed-create-style-non-fixable", "&cНевозможно создать эффект, стиль &b{0} &cне может быть использован!"); + this.put("fixed-create-effect-invalid", "&cНевозможно создать эффект, эффект под названием &b%effect% &cне существует!"); + this.put("fixed-create-effect-no-permission", "&cНевозможно создать эффект, у Вас нет права использовать эффект &b%effect%&c!"); + this.put("fixed-create-style-invalid", "&cНевозможно создать эффект, стиль под названием &b%style% &cне существует!"); + this.put("fixed-create-style-no-permission", "&cНевозможно создать эффект, у Вас нет права использовать стиль &b%style%&c!"); + this.put("fixed-create-style-non-fixable", "&cНевозможно создать эффект, стиль &b%style% &cне может быть использован!"); this.put("fixed-create-data-error", "&cНевозможно создать эффект, введённые данные неверны! Введите &b/pp data <Эффект>&c, чтобы найти правильный формат данных!"); this.put("fixed-create-success", "&aВаш эффект был создан!"); @@ -186,41 +186,41 @@ public class RussianLocale implements Locale { this.put("fixed-edit-invalid-id", "&cНевозможно изменить эффект, введённый ID недействителен или не существует!"); this.put("fixed-edit-invalid-property", "&cНевозможно изменить эффект, указано недействительное свойство! Только &bлокация&c, &bэффект&c, &bстиль&c, и &bданные &cдействительны."); this.put("fixed-edit-invalid-coords", "&cНевозможно изменить эффект, одни или несколько координат, которые Вы ввели, недействительны!"); - this.put("fixed-edit-out-of-range", "&cНевозможно изменить эффект, Вы должны быть в &b{0} &cблоках от желаемой локации!"); + this.put("fixed-edit-out-of-range", "&cНевозможно изменить эффект, Вы должны быть в &b%range% &cблоках от желаемой локации!"); this.put("fixed-edit-looking-too-far", "&cНевозможно изменить эффект, Вы стоите слишком далеко от блока, на который смотрите!"); - this.put("fixed-edit-effect-invalid", "&cНевозможно изменить эффект, эффект под названием &b{0} &cне существует!"); - this.put("fixed-edit-effect-no-permission", "&cНевозможно создать эффект, у Вас нет права использовать эффект &b{0}&c!"); - this.put("fixed-edit-style-invalid", "&cНевозможно изменить эффект, стиль под названием &b{0} &cне существует!"); - this.put("fixed-edit-style-no-permission", "&cНевозможно изменить эффект, у Вас нет права использовать стиль &b{0}&c!"); - this.put("fixed-edit-style-non-fixable", "&cНевозможно изменить эффект, стиль &b{0} &cне может быть использован!"); + this.put("fixed-edit-effect-invalid", "&cНевозможно изменить эффект, эффект под названием &b%effect% &cне существует!"); + this.put("fixed-edit-effect-no-permission", "&cНевозможно создать эффект, у Вас нет права использовать эффект &b%effect%&c!"); + this.put("fixed-edit-style-invalid", "&cНевозможно изменить эффект, стиль под названием &b%style% &cне существует!"); + this.put("fixed-edit-style-no-permission", "&cНевозможно изменить эффект, у Вас нет права использовать стиль &b%style%&c!"); + this.put("fixed-edit-style-non-fixable", "&cНевозможно изменить эффект, стиль &b%style% &cне может быть использован!"); this.put("fixed-edit-data-error", "&cНевозможно создать эффект, введённые данные неверны! Введите &b/pp data <Эффект>&c, чтобы найти правильный формат данных!"); this.put("fixed-edit-data-none", "&cНевозможно изменить эффект, эффект не запрашивает какие-либо данные!"); - this.put("fixed-edit-success", "&aОбновлено эффектов под ID &b{1}&a - &b{0}&a!"); + this.put("fixed-edit-success", "&aОбновлено эффектов под ID &b%id%&a - &b%property%&a!"); - this.put("fixed-remove-invalid", "&cНевозможно удалить эффект, у Вас нет эффекта под ID &b{0}&c!"); + this.put("fixed-remove-invalid", "&cНевозможно удалить эффект, у Вас нет эффекта под ID &b%id%&c!"); this.put("fixed-remove-no-args", "&cYou did not specify an ID to remove!"); this.put("fixed-remove-args-invalid", "&cНевозможно удалить, введённый ID должен состоять из чисел!"); - this.put("fixed-remove-success", "&aВаш эффект под ID &b{0} &aбыл удалён!"); + this.put("fixed-remove-success", "&aВаш эффект под ID &b%id% &aбыл удалён!"); this.put("fixed-list-none", "&eУ Вас нет каких-либо эффектов!"); - this.put("fixed-list-success", "&eУ Вас есть эффекты с этими ID: &b{0}"); + this.put("fixed-list-success", "&eУ Вас есть эффекты с этими ID: &b%ids%"); - this.put("fixed-info-invalid", "&cНевозможно получить информацию, у Вас нет эффекта под ID &b{0}&c!"); + this.put("fixed-info-invalid", "&cНевозможно получить информацию, у Вас нет эффекта под ID &b%id%&c!"); this.put("fixed-info-no-args", "&cВы не ввели ID, по которому нужно узнать информацию!"); this.put("fixed-info-invalid-args", "&cНевозможно получить информацию, введённый ID должен состоять из чисел!"); - this.put("fixed-info-success", "&eID: &b{0} &eМир: &b{1} &eX: &b{2} &eY: &b{3} &eZ: &b{4} &eЭффект: &b{5} &eСтиль: &b{6} &eДанные: &b{7}"); + this.put("fixed-info-success", "&eID: &b%id% &eМир: &b%world% &eX: &b%x% &eY: &b%y% &eZ: &b%z% &eЭффект: &b%effect% &eСтиль: &b%style% &eДанные: &b%data%"); this.put("fixed-clear-no-permission", "&cУ Вас нет права, чтобы убрать ближайшие эффекты!"); this.put("fixed-clear-no-args", "&cВы не ввели радиус, на котором необходимо убрать эффекты!"); this.put("fixed-clear-invalid-args", "&cВведённый радиус недействителен, это должно быть целое число!"); - this.put("fixed-clear-success", "&aУбрано эффектов - &b{0}&a!"); + this.put("fixed-clear-success", "&aУбрано эффектов - &b%amount%&a!"); this.put("fixed-no-permission", "&cУ Вас нет права, чтобы использовать этот эффект!"); this.put("fixed-max-reached", "&cВы достигли максимального количества эффектов!"); this.put("fixed-invalid-command", "&cНедействительная команда для &b/pp fixed&c!"); // Update Available - this.put("update-available", "&eОбновление (&b{0}&e) доступно! Ваша версия - &bv{1}&e. https://www.spigotmc.org/resources/playerparticles.40261/"); + this.put("update-available", "&eОбновление (&b%new%&e) доступно! Ваша версия - &bv%current%&e. https://www.spigotmc.org/resources/playerparticles.40261/"); // GUI this.put("gui-disabled", "&cАдминистратор отключил интерфейс!"); @@ -230,15 +230,15 @@ public class RussianLocale implements Locale { this.put("gui-color-unavailable", "&c"); this.put("gui-commands-info", "Узнать подробнее о командах - &b/pp help"); this.put("gui-back-button", "Назад"); - this.put("gui-next-page-button", "Следующая страница ({0}/{1})"); - this.put("gui-previous-page-button", "Предыдущая страница ({0}/{1})"); - this.put("gui-click-to-load", "Доступны {0} частицы для загрузки:"); + this.put("gui-next-page-button", "Следующая страница (%start%/%end%)"); + this.put("gui-previous-page-button", "Предыдущая страница (%start%/%end%)"); + this.put("gui-click-to-load", "Доступны %amount% частицы для загрузки:"); this.put("gui-shift-click-to-delete", "Shift+ЛКМ для удаления"); - this.put("gui-particle-info", " - ID: &b{0} &eЭффект: &b{1} &eСтиль: &b{2} &eДанные: &b{3}"); + this.put("gui-particle-info", " - ID: &b%id% &eЭффект: &b%effect% &eСтиль: &b%style% &eДанные: &b%data%"); this.put("gui-playerparticles", "Выбор частиц"); - this.put("gui-active-particles", "Активные частицы - &b{0}"); - this.put("gui-saved-groups", "Сохранённые группы - &b{0}"); - this.put("gui-fixed-effects", "Эффекты - &b{0}"); + this.put("gui-active-particles", "Активные частицы - &b%amount%"); + this.put("gui-saved-groups", "Сохранённые группы - &b%amount%"); + this.put("gui-fixed-effects", "Эффекты - &b%amount%"); this.put("gui-edit-primary-effect", "Изменить эффект"); this.put("gui-edit-primary-effect-description", "Изменение эффекта Ваших частиц"); this.put("gui-edit-primary-style", "Изменить стиль"); @@ -261,9 +261,9 @@ public class RussianLocale implements Locale { this.put("gui-save-group-hotbar-message", "&eВведите &b1 &eслово в чат, которое будет названием группы. Введите &cотмена&e для отмены."); this.put("gui-reset-particles", "Удалить ваши частицы"); this.put("gui-reset-particles-description", "Убирает все Ваши активные частицы"); - this.put("gui-particle-name", "Частицы #{0}"); + this.put("gui-particle-name", "Частицы #%id%"); this.put("gui-click-to-edit-particle", "Нажмите, чтобы изменить эффект, стиль или данные частиц"); - this.put("gui-editing-particle", "Изменение частиц #{0}"); + this.put("gui-editing-particle", "Изменение частиц #%id%"); this.put("gui-edit-effect", "Изменить эффект"); this.put("gui-edit-effect-description", "Нажмите, чтобы изменить эффект частиц"); this.put("gui-edit-style", "Изменить стиль"); @@ -276,12 +276,12 @@ public class RussianLocale implements Locale { this.put("gui-create-particle-description", "Создать новые частицы с эффектом, стилем и данными"); this.put("gui-create-particle-unavailable", "Вы достигли максимального числа частиц, которые можно создать"); this.put("gui-select-effect", "Выбор эффекта частиц"); - this.put("gui-select-effect-description", "Выбрать эффект для частиц &b{0}"); + this.put("gui-select-effect-description", "Выбрать эффект для частиц &b%effect%"); this.put("gui-select-style", "Выбор стиля частиц"); - this.put("gui-select-style-description", "Выбрать стиль для частиц &b{0}"); + this.put("gui-select-style-description", "Выбрать стиль для частиц &b%style%"); this.put("gui-select-data", "Выбор данных частиц"); - this.put("gui-select-data-description", "Выбрать данные для частиц &b{0}"); - this.put("gui-select-data-note", "записка #{0}"); + this.put("gui-select-data-description", "Выбрать данные для частиц &b%data%"); + this.put("gui-select-data-note", "записка #%note%"); }}; } } diff --git a/src/main/java/dev/esophose/playerparticles/locale/SimplifiedChineseLocale.java b/src/main/java/dev/esophose/playerparticles/locale/SimplifiedChineseLocale.java new file mode 100644 index 0000000..a09b301 --- /dev/null +++ b/src/main/java/dev/esophose/playerparticles/locale/SimplifiedChineseLocale.java @@ -0,0 +1,303 @@ +package dev.esophose.playerparticles.locale; + +import java.util.LinkedHashMap; +import java.util.Map; + +public class SimplifiedChineseLocale implements Locale { + + @Override + public String getLocaleName() { + return "zh_CN"; + } + + @Override + public String getTranslatorName() { + return "qsefthuopq"; + } + + @Override + public Map getDefaultLocaleStrings() { + return new LinkedHashMap() {{ + // Plugin Prefix + this.put("prefix", "&7[&3PlayerParticles&7] "); + + // 指令出错 + this.put("command-error-no-effects", "&c你必须有权限使用特效才能使用这个指令!"); + this.put("command-error-unknown", "&c未知的指令, 请使用 &b/pp help &c查看指令列表。"); + + // Command Descriptions + this.put("command-descriptions", "&e你可以使用以下指令:"); + this.put("command-descriptions-usage", "&e/pp %cmd% %args%"); + this.put("command-descriptions-help-1", "&7> &b/pp %cmd% &e- %desc%"); + this.put("command-descriptions-help-2", "&7> &b/pp %cmd% %args% &e- %desc%"); + this.put("command-descriptions-help-other", "&7> &b/ppo &e- 以玩家身份输入 /pp "); + this.put("command-description-add", "添加新的粒子特效"); + this.put("command-description-data", "查看粒子特效使用的数据"); + this.put("command-description-default", "主指令,默认打开菜单"); + this.put("command-description-edit", "编辑粒子"); + this.put("command-description-effects", "显示你可以使用的粒子效果"); + this.put("command-description-fixed", "管理你的定点特效"); + this.put("command-description-group", "管理你的特效组"); + this.put("command-description-gui", "打开粒子特效编辑菜单"); + this.put("command-description-help", "显示帮助... 就是这里"); + this.put("command-description-info", "查看你使用的粒子特效的描述"); + this.put("command-description-list", "你使用的粒子特效的id"); + this.put("command-description-reload", "重载配置和语言文件"); + this.put("command-description-remove", "删除一些粒子特效"); + this.put("command-description-reset", "删除你身上所有特效"); + this.put("command-description-styles", "显示你可以使用的粒子风格"); + this.put("command-description-toggle", "开启或关闭粒子效果显示"); + this.put("command-description-version", "显示插件版本和作者"); + this.put("command-description-worlds", "查看禁用粒子特效的世界"); + + // 子指令用法 + this.put("command-description-fixed-create", "&e/pp fixed create < |> <特效名> <风格名> [数据名] - 创建新的定点特效"); + this.put("command-description-fixed-edit", "&e/pp fixed edit <特效名|风格名|数据名> <参数> - 根据ID编辑定点特效"); + this.put("command-description-fixed-remove", "&e/pp fixed remove - 根据ID删除定点特效"); + this.put("command-description-fixed-list", "&e/pp fixed list - 列出所有定点特效的ID"); + this.put("command-description-fixed-info", "&e/pp fixed info - 获取定点特效的详细信息"); + this.put("command-description-fixed-clear", "&e/pp fixed clear <半径> - 清空指定范围内的所有定点特效"); + this.put("command-description-group-save", "&e/pp group save <组名> - 保存所有你使用的特效到新的组内"); + this.put("command-description-group-load", "&e/pp group load <组名> - 加载所有你保存组内的特效"); + this.put("command-description-group-remove", "&e/pp group remove <组名> - 删除一组你保存的特效"); + this.put("command-description-group-list", "&e/pp group list <组名> - 列出所有你保存的特效组"); + this.put("command-description-group-info", "&e/pp group info <组名> - 列出组内的特效信息"); + + // 查询ID指令 + this.put("id-invalid", "&c你输入的ID无效, 必须是正整数!"); + this.put("id-unknown", "&c你没有ID为&b%id%&c的特效!"); + + // 其他指令 + this.put("other-no-permission", "&c你没有权限对其他玩家使用PlayerParticles的指令!"); + this.put("other-missing-args", "&c缺少参数。 &b/ppo "); + this.put("other-unknown-player", "&c找不到玩家&b%player%&c。玩家必须在线。"); + this.put("other-unknown-command", "&c指令&b/pp %cmd% &c不存在。"); + this.put("other-success", "&e已为&b%player%&e执行指令 /pp 。 输出:"); + + // 添加指令 + this.put("add-reached-max", "&c无法使用粒子效果,你已达到上限:&b%amount%&c!"); + this.put("add-particle-applied", "&a成功添加新的粒子特效: &b%effect%&a, 风格: &b%style%&a,数据: &b%data%&a!"); + + // 数据指令 + this.put("data-no-args", "&c该特效缺失参数! 指令用法: &b/pp data "); + + // 编辑指令 + this.put("edit-invalid-property", "&c您输入的参数&b%prop%&c无效。 有效参数为: &beffect&c, &bstyle&c, &bdata"); + this.put("edit-success-effect", "&aID为&b%id%&a的粒子的特效已更改为&b%effect%&a!"); + this.put("edit-success-style", "&aID为&b%id%&a的粒子的风格已更改为&b%style%&a!"); + this.put("edit-success-data", "&aID为&b%id%&a的粒子的数据已更改为&b%data%&a!"); + + // 粒子组指令 + this.put("group-invalid", "&c名为&b%name%&c的粒子组不存在!"); + this.put("group-no-permission", "&c你没有使用&b%group%&c的权限!"); + this.put("group-preset-no-permission", "&c你没有使用预设粒子组&b%group%&c的权限!"); + this.put("group-reserved", "&c该组名&b&c无法使用!"); + this.put("group-no-name", "&c你没有输入组名! &b/pp %cmd% <组名>"); + this.put("group-save-reached-max", "&c无法保存粒子组,你已达到可使用粒子组的上限!"); + this.put("group-save-no-particles", "&c无法保存粒子组,你没有添加任何粒子!"); + this.put("group-save-success", "&a你当前使用的粒子特效已成功保存入粒子组&b%name%&a内!"); + this.put("group-save-success-overwrite", "&a已将你当前使用的粒子特效加入到粒子组&b%name%&a内!"); + this.put("group-load-success", "&a已将&b%amount%&a个粒子特效加入你已保存的粒子组&b%name%&a内!"); + this.put("group-load-preset-success", "&a已使用&b%name%&a预设组内的&b%amount%&a个粒子特效!"); + this.put("group-remove-preset", "&c你无法删除预设粒子组!"); + this.put("group-remove-success", "&a成功删除粒子组&b%name%&a!"); + this.put("group-info-header", "&e粒子组&b%group%&e拥有以下粒子特效:"); + this.put("group-list-none", "&e你没有保存任何粒子组!"); + this.put("group-list-output", "&e你已成功保存以下粒子组: &b%info%"); + this.put("group-list-presets", "&e可使用以下预设粒子组: &b%info%"); + + // 重载指令 + this.put("reload-success", "&a插件已重载!"); + this.put("reload-no-permission", "&c你没有重载插件配置的指令!"); + + // 删除指令 + this.put("remove-no-args", "&c你没有指定要删除的ID! &b/pp remove "); + this.put("remove-id-success", "&a你已成功删除ID为&b%id%&a的粒子特效!"); + this.put("remove-effect-success", "&a成功删除&b%amount%&a个&b%effect%&a特效的粒子!"); + this.put("remove-effect-none", "&c你没有使用特效&b%effect%&c的粒子!"); + this.put("remove-style-success", "&已成功删除&b%amount%&a个使用了风格&b%style%&a的粒子!"); + this.put("remove-style-none", "&c你没有已使用风格&b%style%&c的粒子!"); + this.put("remove-unknown", "&c名为&b%name%&c的特效或风格不存在!"); + + // 列白指令 + this.put("list-none", "&e你没有任何激活的特效!"); + this.put("list-you-have", "&e你使用了以下粒子特效:"); + this.put("list-output", "&eID: &b%id% &e特效: &b%effect% &e风格: &b%style% &e数据: &b%data%"); + + // 开关指令 + this.put("toggle-on", "&e粒子特效已&a开启&e!"); + this.put("toggle-off", "&e粒子特效已&c关闭&e!"); + + // 彩虹 + this.put("rainbow", "&c彩&6虹"); + + // 随机 + this.put("random", "随机"); + + // 特效 + this.put("effect-no-permission", "&c你没有使用特效&b%effect%的权限&c!"); + this.put("effect-invalid", "&c特效&b%effect% &c不存在! 请输入&b/pp effects &c查看你可以使用的特效。"); + this.put("effect-list", "&e你可以使用以下特效: &b%effects%"); + this.put("effect-list-empty", "&c你没有使用任何特效的权限!"); + + // 风格 + this.put("style-no-permission", "&c你没有权限使用&b%style%这一风格&c!"); + this.put("style-event-spawning-info", "&e提醒: 风格&b%style%&e基于事件生成。"); + this.put("style-invalid", "&c风格&b%style%&c不存在! 请输入&b/pp styles &c查看你可以使用的风格。"); + this.put("style-list", "&e你可以使用以下风格: &b%styles%"); + + // 数据 + this.put("data-usage-none", "&e粒子特效&b%effect%&e不使用任何数据!"); + this.put("data-usage-block", "&e粒子特效&b%effect%&e需要设置&b方块&e数据! &b格式: <方块ID>"); + this.put("data-usage-item", "&e粒子特效&b%effect%&e需要设置&b物品&e数据! &b格式: <物品ID>"); + this.put("data-usage-color", "&e粒子特效&b%effect%&e需要设置&b颜色&e数据! &b格式: <<0-255> <0-255> <0-255>>||"); + this.put("data-usage-note", "&e粒子特效&b%effect%&e需要设置&b音符&e数据! &b格式: <0-24>||"); + this.put("data-invalid-block", "&c你输入的&b方块&c数据 无效! &b格式: <方块ID>"); + this.put("data-invalid-item", "&c你输入的&b物品&c数据 无效! &b格式: <物品ID>"); + this.put("data-invalid-color", "&c你输入的&b颜色&c数据 无效! &b格式: <<0-255> <0-255> <0-255>>||"); + this.put("data-invalid-note", "&c你输入的&b音符&c数据 无效! &b格式: <0-24>||"); + this.put("data-invalid-material-not-item", "&c你输入的&b物品&c材料名 &b%material%&c不是一件物品!"); + this.put("data-invalid-material-not-block", "&c你输入的&b方块&c材料名&b%material%&c不是一个方块!"); + this.put("data-invalid-material-item", "&c你输入的&b物品&c材料&b%material%不存在!"); + this.put("data-invalid-material-block", "&c你输入的&b方块&c材料&b%material%!"); + + // 世界 + this.put("disabled-worlds", "&e这些世界禁用粒子特效: &b%worlds%"); + this.put("disabled-worlds-none", "&e所有世界都禁用粒子特效。"); + + // 删除 + this.put("reset-success", "&a已删除&b%amount%个&a激活的粒子特效!"); + + // 定点特效 + this.put("fixed-create-missing-args", "&c无法创建定点特效, 缺少 &b%amount% &c必要参数!"); + this.put("fixed-create-invalid-coords", "&c无法创建定点特效, 你输入的坐标无效!"); + this.put("fixed-create-out-of-range", "&c无法创建定点特效,你必须在目标地点&b%range%&c格内!"); + this.put("fixed-create-looking-too-far", "&c无法创建定点特效, 你离目标方块太远了!"); + this.put("fixed-create-effect-invalid", "&c无法创建定点特效,名为&b%effect%&c的特效不存在!"); + this.put("fixed-create-effect-no-permission", "&c无法创建定点特效, 你没有权限使用特效&b%effect%&c!"); + this.put("fixed-create-style-invalid", "&c无法创建定点特效, 名为&b%style%&c的风格不存在!"); + this.put("fixed-create-style-no-permission", "&c无法创建定点特效, 你没有权限使用风格&b%style%&c!"); + this.put("fixed-create-style-non-fixable", "&c无法创建定点特效, 风格&b%style%&c无法用于定点特效!"); + this.put("fixed-create-data-error", "&c无法创建定点特效, 你所给出的数据有误! 请输入 &b/pp data &c查看正确的数据格式!"); + this.put("fixed-create-success", "&a成功创建定点特效!"); + + this.put("fixed-edit-missing-args", "&c无法编辑定点特效, 缺失参数!"); + this.put("fixed-edit-invalid-id", "&c无法编辑定点特效, ID无效或不存在!"); + this.put("fixed-edit-invalid-property", "&c无法编辑定点特效, 参数无效! 只有&blocation&c、&beffect&c、&bstyle&c和&bdata &c才有效。"); + this.put("fixed-edit-invalid-coords", "&c无法编辑定点特效, 你输入的一个或多个坐标无效!"); + this.put("fixed-edit-out-of-range", "&c无法编辑定点特效,你必须在目标地点&b%range%&c格内才能进行编辑!"); + this.put("fixed-edit-looking-too-far", "&c无法编辑定点特效, 你离目标地点太远了!"); + this.put("fixed-edit-effect-invalid", "&c无法编辑定点特效, 名为&b%effect%&c的特效不存在!"); + this.put("fixed-edit-effect-no-permission", "&c无法编辑定点特效, 你没有权限使用特效&b%effect%&c!"); + this.put("fixed-edit-style-invalid", "&c无法编辑定点特效, 名为&b%style%&c的风格不存在!"); + this.put("fixed-edit-style-no-permission", "&c无法编辑定点特效, 你没有权限使用风格&b%style%&c!"); + this.put("fixed-edit-style-non-fixable", "&c无法编辑定点特效, 风格 &b%style% &c无法用于定点特效!"); + this.put("fixed-edit-data-error", "&c无法编辑定点特效, 数据有误! 请输入 &b/pp data &cto 来获取正确的数据格式!"); + this.put("fixed-edit-data-none", "&c无法编辑定点特效, 该特效无需数据!"); + this.put("fixed-edit-success", "&a已更新&b%property%&a个ID为&b%id%&a的定点特效!"); + + this.put("fixed-remove-invalid", "&c无法删除定点特效, 你没有ID为&b%id%&c的定点特效!"); + this.put("fixed-remove-no-args", "&c你没有指定要删除的ID!"); + this.put("fixed-remove-args-invalid", "&c无法删除,ID必须是数字!"); + this.put("fixed-remove-success", "&a已删除ID为&b%id%&a的定点特效!"); + + this.put("fixed-list-none", "&e你没有定点特效!"); + this.put("fixed-list-success", "&e你的定点特效ID为: &b%ids%"); + + this.put("fixed-info-invalid", "&c无法获取信息, 你没有ID为&b%id%&c的定点特效!"); + this.put("fixed-info-no-args", "&c你未指定ID!"); + this.put("fixed-info-invalid-args", "&c无法获取信息, ID必须是数字!"); + this.put("fixed-info-success", "&eID: &b%id% &e世界: &b%world% &eX: &b%x% &eY: &b%y% &eZ: &b%z% &e特效: &b%effect% &e风格: &b%style% &e数据: &b%data%"); + + this.put("fixed-clear-no-permission", "&c你没有清空附近定点特效的权限!"); + this.put("fixed-clear-no-args", "&c你没有给出清空定点特效的范围!"); + this.put("fixed-clear-invalid-args", "&c你输入的范围无效,范围必须是正整数!"); + this.put("fixed-clear-success", "&a已清除&b%amount%&a个&b%range%&a格内的定点特效!"); + + this.put("fixed-no-permission", "&c你没有使用定点特效的权限!"); + this.put("fixed-max-reached", "&c你已达到可使用定点特效的数量上限!"); + this.put("fixed-invalid-command", "&c你输入了无效的子指令!"); + + // 更新提醒 + this.put("update-available", "&e有新版本更新:(&b%new%&e)!你使用的版本为&bv%current%&e。 https://songoda.com/marketplace/product/32"); + + // GUI + this.put("gui-disabled", "&c服务器管理员已关闭菜单!"); + this.put("gui-color-icon-name", "&a"); + this.put("gui-color-info", "&e"); + this.put("gui-color-subtext", "&b"); + this.put("gui-color-unavailable", "&c"); + this.put("gui-commands-info", "商人 &b/pp help 查看指令帮助"); + this.put("gui-back-button", "返回"); + this.put("gui-next-page-button", "下一页 (%start%/%end%)"); + this.put("gui-previous-page-button", "上一页 (%start%/%end%)"); + this.put("gui-click-to-load", "点击加载%amount% 个粒子特效:"); + this.put("gui-shift-click-to-delete", "Shift+点击 删除"); + this.put("gui-particle-info", " - ID: &b%id% &e特效: &b%effect% &e风格: &b%style% &e数据: &b%data%"); + this.put("gui-playerparticles", "粒子特效"); + this.put("gui-active-particles", "激活的粒子: &b%amount%"); + this.put("gui-saved-groups", "已保存的粒子组: &b%amount%"); + this.put("gui-fixed-effects", "定点特效: &b%amount%"); + this.put("gui-edit-primary-effect", "编辑之前使用的粒子的特效"); + this.put("gui-edit-primary-effect-description", "编辑之前使用的粒子的特效"); + this.put("gui-edit-primary-style", "编辑之前使用粒子的风格"); + this.put("gui-edit-primary-style-missing-effect", "你必须先选择一个特效"); + this.put("gui-edit-primary-style-description", "编辑之前使用粒子的风格"); + this.put("gui-edit-primary-data", "编辑之前使用粒子的数据"); + this.put("gui-edit-primary-data-missing-effect", "你必须先选择一个特效"); + this.put("gui-edit-primary-data-unavailable", "你之前使用的特效没有使用任何数据"); + this.put("gui-edit-primary-data-description", "编辑之前使用的特效的数据"); + this.put("gui-manage-your-particles", "管理你的粒子特效"); + this.put("gui-manage-your-particles-description", "创建、编辑和删除你的粒子特效"); + this.put("gui-manage-your-groups", "管理你的特效组"); + this.put("gui-manage-your-groups-description", "创建、删除和加载你的粒子组"); + this.put("gui-load-a-preset-group", "加载预设粒子组"); + this.put("gui-load-a-preset-group-description", "加载预设粒子组"); + this.put("gui-save-group", "保存新的粒子组"); + this.put("gui-save-group-description", "点击保存为新的粒子组。你需要\n在聊天框内输入名称。"); + this.put("gui-save-group-full", "你已达到粒子组上限"); + this.put("gui-save-group-no-particles", "你没有使用粒子特效"); + this.put("gui-save-group-hotbar-message", "&e请在聊天框内输入&b1 &e新的粒子组名。 输入 &ccancel&e 取消。 (剩余&b%seconds%&e秒)"); + this.put("gui-reset-particles", "重置你的粒子特效"); + this.put("gui-reset-particles-description", "删除你激活的所有粒子特效"); + this.put("gui-particle-name", "粒子 #%id%"); + this.put("gui-click-to-edit-particle", "点击编辑粒子特效、风格或数据"); + this.put("gui-editing-particle", "编辑粒子#%id%中"); + this.put("gui-edit-effect", "编辑特效"); + this.put("gui-edit-effect-description", "点击编辑粒子特效"); + this.put("gui-edit-style", "编辑风格"); + this.put("gui-edit-style-description", "点击编辑粒子风格"); + this.put("gui-edit-data", "编辑数据"); + this.put("gui-edit-data-description", "点击编辑粒子数据"); + this.put("gui-edit-data-unavailable", "这个粒子特效不使用数据"); + this.put("gui-data-none", "无"); + this.put("gui-create-particle", "创建新的粒子特效"); + this.put("gui-create-particle-description", "创建新的粒子特效"); + this.put("gui-create-particle-unavailable", "你不能创建更多的粒子特效"); + this.put("gui-select-effect", "选择粒子特效"); + this.put("gui-select-effect-description", "将粒子特效设置为 &b%effect%"); + this.put("gui-select-style", "选择粒子风格"); + this.put("gui-select-style-description", "将粒子风格设置为 &b%style%"); + this.put("gui-select-data", "选择粒子数据"); + this.put("gui-select-data-description", "将粒子数据设置为&b%data%"); + this.put("gui-select-data-note", "note #%note%"); + this.put("gui-edit-data-color-red", "&c红色"); + this.put("gui-edit-data-color-orange", "&6橙黄"); + this.put("gui-edit-data-color-yellow", "&e黄色"); + this.put("gui-edit-data-color-lime-green", "&a淡绿"); + this.put("gui-edit-data-color-green", "&2绿色"); + this.put("gui-edit-data-color-blue", "&1蓝色"); + this.put("gui-edit-data-color-cyan", "&3青色"); + this.put("gui-edit-data-color-light-blue", "&b淡蓝色"); + this.put("gui-edit-data-color-purple", "&5紫色"); + this.put("gui-edit-data-color-magenta", "&d洋红"); + this.put("gui-edit-data-color-pink", "&d粉色"); + this.put("gui-edit-data-color-brown", "&6棕色"); + this.put("gui-edit-data-color-black", "&8黑色"); + this.put("gui-edit-data-color-gray", "&8灰色"); + this.put("gui-edit-data-color-light-gray", "&7淡灰"); + this.put("gui-edit-data-color-white", "&f白色"); + }}; + } + +} diff --git a/src/main/java/dev/esophose/playerparticles/locale/VietnameseLocale.java b/src/main/java/dev/esophose/playerparticles/locale/VietnameseLocale.java index 5cbeb7e..327f4dd 100644 --- a/src/main/java/dev/esophose/playerparticles/locale/VietnameseLocale.java +++ b/src/main/java/dev/esophose/playerparticles/locale/VietnameseLocale.java @@ -27,9 +27,9 @@ public class VietnameseLocale implements Locale { // Command Descriptions this.put("command-descriptions", "&eCác lệnh có sẵn:"); - this.put("command-descriptions-usage", "&e/pp {0} {1}"); - this.put("command-descriptions-help-1", "&7> &b/pp {0} &e- {1}"); - this.put("command-descriptions-help-2", "&7> &b/pp {0} {1} &e- {2}"); + this.put("command-descriptions-usage", "&e/pp %cmd% %args%"); + this.put("command-descriptions-help-1", "&7> &b/pp %cmd% &e- %desc%"); + this.put("command-descriptions-help-2", "&7> &b/pp %cmd% %args% &e- %desc%"); this.put("command-descriptions-help-other", "&7> &b/ppo &e- Chạy lệnh /pp bằng player"); this.put("command-description-add", "Thêm một hiệu ứng mới"); this.put("command-description-data", "Kiểm tra laoị dữ liệu mà hiệu ứng sử dụng"); @@ -65,46 +65,46 @@ public class VietnameseLocale implements Locale { // Command ID Lookup this.put("id-invalid", "&cID bạn nhập không tồn tại, nó phải là một số nguyên dương!"); - this.put("id-unknown", "&cBạn không có hiệu ứng nào được áp dụng với ID &b{0}&c!"); + this.put("id-unknown", "&cBạn không có hiệu ứng nào được áp dụng với ID &b%id%&c!"); // Other Command this.put("other-no-permission", "&cbạn không có quyền để thi hành lệnh của plugins cho người chơi khác!"); this.put("other-missing-args", "&cBạn đã quên một vài đối số. &b/ppo "); - this.put("other-unknown-player", "&cKhông thể tìm thấy người chơi &b{0} &c. Người chơi được chỉ định phải Online."); - this.put("other-unknown-command", "&cLệnh &b/pp {0} &ckhông tồn tại."); - this.put("other-success", "&eThi hành lệnh /pp command cho &b{0}&e. Output:"); + this.put("other-unknown-player", "&cKhông thể tìm thấy người chơi &b%player% &c. Người chơi được chỉ định phải Online."); + this.put("other-unknown-command", "&cLệnh &b/pp %cmd% &ckhông tồn tại."); + this.put("other-success", "&eThi hành lệnh /pp command cho &b%player%&e. Output:"); // Add Command - this.put("add-reached-max", "&Không thể áp dụng hiệu ứng, Bạn đã đạt tới số lượng giới hạn của&b{0} &cđược cho phép!"); - this.put("add-particle-applied", "&aHạt (Particle) mới đã được áp dụng với effect &b{0}&a, style &b{1}&a, và data &b{2}&a!"); + this.put("add-reached-max", "&Không thể áp dụng hiệu ứng, Bạn đã đạt tới số lượng giới hạn của&b%amount% &cđược cho phép!"); + this.put("add-particle-applied", "&aHạt (Particle) mới đã được áp dụng với effect &b%effect%&a, style &b%style%&a, và data &b%data%&a!"); // Data Command this.put("data-no-args", "&cĐã quên một đối số cho effect! Lệnh đúng: &b/pp data "); // Edit Command - this.put("edit-invalid-property", "&cMột property không hợp lệ &b{0} &cwđã được cung cấp. properties hợp lệ: &beffect&c, &bstyle&c, &bdata"); - this.put("edit-success-effect", "&aHạt hiệu ứng của bạn với ID &b{0} &ađã thanh đổi Hiệu ứng thành &b{1}&a!"); - this.put("edit-success-style", "&aHạt hiệu ứng của bạn với ID &b{0} &ađã thanh đổi Kiểu hiệu ứng thành &b{1}&a!"); - this.put("edit-success-data", "&aHạt hiệu ứng của bạn với ID &b{0} &ađã thanh đổi Dữ liệu thành &b{1}&a!"); + this.put("edit-invalid-property", "&cMột property không hợp lệ &b%prop% &cwđã được cung cấp. properties hợp lệ: &beffect&c, &bstyle&c, &bdata"); + this.put("edit-success-effect", "&aHạt hiệu ứng của bạn với ID &b%id% &ađã thanh đổi Hiệu ứng thành &b%effect%&a!"); + this.put("edit-success-style", "&aHạt hiệu ứng của bạn với ID &b%id% &ađã thanh đổi Kiểu hiệu ứng thành &b%style%&a!"); + this.put("edit-success-data", "&aHạt hiệu ứng của bạn với ID &b%id% &ađã thanh đổi Dữ liệu thành &b%data%&a!"); // Group Command - this.put("group-invalid", "&cMột Group đã lưu hoặc Preset Group không được tìm thấy với tên &b{0}&c!"); - this.put("group-no-permission", "&cBạn không có quyền for 1 effect, style để sử dụng nhóm sẵn &b{0}&c!"); - this.put("group-preset-no-permission", "&cBạn không có quyền for 1 effect, style để sử dụng nhóm cài sẵn &b{0}&c!"); + this.put("group-invalid", "&cMột Group đã lưu hoặc Preset Group không được tìm thấy với tên &b%name%&c!"); + this.put("group-no-permission", "&cBạn không có quyền for 1 effect, style để sử dụng nhóm sẵn &b%group%&c!"); + this.put("group-preset-no-permission", "&cBạn không có quyền for 1 effect, style để sử dụng nhóm cài sẵn &b%group%&c!"); this.put("group-reserved", "&cGroup tên &bactive &ckhông thể được sử dụng!"); - this.put("group-no-name", "&cBạn đã không cung cấp tên group! &b/pp {0} "); + this.put("group-no-name", "&cBạn đã không cung cấp tên group! &b/pp %cmd% "); this.put("group-save-reached-max", "&cKhông thể lưu Group , bạn đã đạt giới hạn số lượng group có thể tạo!"); this.put("group-save-no-particles", "&cKhông thể lưu group, bạn không có bất kì *hạt được được áp dụng nào!"); - this.put("group-save-success", "&aHạt hiệu ứng của bạn đã được lưu dưới tên của group &b{0}&a!"); - this.put("group-save-success-overwrite", "&aGroup tên&b{0} &ađã được cập nhật với hạt hiệu ứng hiện tại của bạn!"); - this.put("group-load-success", "&aĐã áp dụng &b{0} &ahạt hiệu ứng từ group được lưu với tên &b{1}&a!"); - this.put("group-load-preset-success", "&aĐã áp dụng &b{0} &ahạt hiệu ứng tự presen group với tên &b{1}&a!"); + this.put("group-save-success", "&aHạt hiệu ứng của bạn đã được lưu dưới tên của group &b%name%&a!"); + this.put("group-save-success-overwrite", "&aGroup tên&b%name% &ađã được cập nhật với hạt hiệu ứng hiện tại của bạn!"); + this.put("group-load-success", "&aĐã áp dụng &b%amount% &ahạt hiệu ứng từ group được lưu với tên &b%name%&a!"); + this.put("group-load-preset-success", "&aĐã áp dụng &b%amount% &ahạt hiệu ứng tự presen group với tên &b%name%&a!"); this.put("group-remove-preset", "&cBạn không thể xóa một preset group!"); - this.put("group-remove-success", "&aĐã xóa một Nhóm hạt hiệu ứng với tên &b{0}&a!"); - this.put("group-info-header", "&eGroup &b{0} &eđang có những hạt hiệu ứng sau:"); + this.put("group-remove-success", "&aĐã xóa một Nhóm hạt hiệu ứng với tên &b%name%&a!"); + this.put("group-info-header", "&eGroup &b%group% &eđang có những hạt hiệu ứng sau:"); this.put("group-list-none", "&eBạn không có bất kì nhóm hạt hiệuứng nào được lưu!"); - this.put("group-list-output", "&eBạn đã lưu các Group sau: &b{0}"); - this.put("group-list-presets", "&eCác preset group có sẵn: &b{0}"); + this.put("group-list-output", "&eBạn đã lưu các Group sau: &b%info%"); + this.put("group-list-presets", "&eCác preset group có sẵn: &b%info%"); // Reload Command this.put("reload-success", "&aĐã tải lại plugins!"); @@ -112,17 +112,17 @@ public class VietnameseLocale implements Locale { // Remove Command this.put("remove-no-args", "&cBạn không chỉ định IDs để xóa! &b/pp remove "); - this.put("remove-id-success", "&aHạt hiệu ứng của bạ với IDs &b{0} &ađã bị xóa!"); - this.put("remove-effect-success", "&aĐã xóa &b{0} &ahạt hiệu ứng của bạn với hiệu ứng &b{1}&a!"); - this.put("remove-effect-none", "&cBạn không có bất kì Hạt hiệu ứng nào để áp dụng hiệu ứng &b{0}&c!"); - this.put("remove-style-success", "&aĐã xóa &b{0} &aHạt hiệu ứng của bạn với style &b{1}&a!"); - this.put("remove-style-none", "&cBạn không có bất kì Hạt hiệu ứng nào để áp dụng style &b{0}&c!"); - this.put("remove-unknown", "&cEffect hoặc Style với tên &b{0} &ckhông tồn tại!"); + this.put("remove-id-success", "&aHạt hiệu ứng của bạ với IDs &b%id% &ađã bị xóa!"); + this.put("remove-effect-success", "&aĐã xóa &b%amount% &ahạt hiệu ứng của bạn với hiệu ứng &b%effect%&a!"); + this.put("remove-effect-none", "&cBạn không có bất kì Hạt hiệu ứng nào để áp dụng hiệu ứng &b%effect%&c!"); + this.put("remove-style-success", "&aĐã xóa &b%amount% &aHạt hiệu ứng của bạn với style &b%style%&a!"); + this.put("remove-style-none", "&cBạn không có bất kì Hạt hiệu ứng nào để áp dụng style &b%style%&c!"); + this.put("remove-unknown", "&cEffect hoặc Style với tên &b%name% &ckhông tồn tại!"); // List Command this.put("list-none", "&eBạn không có bất kì Hạt hiệu ứng hoạt động nào!"); this.put("list-you-have", "&eCác hạt hiệu ứng bạn đã áp dụng:"); - this.put("list-output", "&eID: &b{0} &eEffect: &b{1} &eStyle: &b{2} &eData: &b{3}"); + this.put("list-output", "&eID: &b%id% &eEffect: &b%effect% &eStyle: &b%style% &eData: &b%data%"); // Toggle Command this.put("toggle-on", "&eHạt hiệu ứng : &aON&e!"); @@ -135,49 +135,49 @@ public class VietnameseLocale implements Locale { this.put("random", "Ngẫu nhiên"); // Effects - this.put("effect-no-permission", "&cBạn không có quyền để sử dụng Hiệu ứng &b{0} &c!"); - this.put("effect-invalid", "&cHiệu ứng &b{0} &ckhông tồn tại! Sử dụng &b/pp effects &cđể hiển thị danh sách hiệu ứng bạn có thể dùng."); - this.put("effect-list", "&eBạn có thể sử dụng các hiệu ứng sau: &b{0}"); + this.put("effect-no-permission", "&cBạn không có quyền để sử dụng Hiệu ứng &b%effect% &c!"); + this.put("effect-invalid", "&cHiệu ứng &b%effect% &ckhông tồn tại! Sử dụng &b/pp effects &cđể hiển thị danh sách hiệu ứng bạn có thể dùng."); + this.put("effect-list", "&eBạn có thể sử dụng các hiệu ứng sau: &b%effects%"); this.put("effect-list-empty", "&cBạn không có quyền để sử dụng bất kì hiệu ứng nào!"); // Styles - this.put("style-no-permission", "&cbạn không có quyền để sử dụng Kiểu hiệu ứng &b{0} &c!"); - this.put("style-event-spawning-info", "&eNhắc nhở: Kiểu hiệu ứng &b{0} &esinh ra dựa trên sự kiện nhất định được xảy ra."); - this.put("style-invalid", "&cKiểu hiệu ứng &b{0} &ckhông tồn tại! Use &b/pp styles &cđể hiển thị danh sách Kiểu hiệu ứng bạn có thể dùng."); - this.put("style-list", "&eBạn có thể sử dụng các Kiểu hiệu ứng sau: &b{0}"); + this.put("style-no-permission", "&cbạn không có quyền để sử dụng Kiểu hiệu ứng &b%style% &c!"); + this.put("style-event-spawning-info", "&eNhắc nhở: Kiểu hiệu ứng &b%style% &esinh ra dựa trên sự kiện nhất định được xảy ra."); + this.put("style-invalid", "&cKiểu hiệu ứng &b%style% &ckhông tồn tại! Use &b/pp styles &cđể hiển thị danh sách Kiểu hiệu ứng bạn có thể dùng."); + this.put("style-list", "&eBạn có thể sử dụng các Kiểu hiệu ứng sau: &b%styles%"); // Data - this.put("data-usage-none", "&eHiệu ứng &b{0} &ekhông sử dụng bất kì Dữ liệu nào!"); - this.put("data-usage-block", "&eHiệu ứng &b{0} &eyêu cầu dữ liệu &bblock ! &bĐịnh dạng: "); - this.put("data-usage-item", "&eHiệu ứng &b{0} &eyêu cầu dữ liệu &bitem! &bĐịnh dạng: "); - this.put("data-usage-color", "&eHiệu ứng &b{0} &eyêu cầu dữ liệu &bcolor! &bĐịnh dạng: <<0-255> <0-255> <0-255>>||"); - this.put("data-usage-note", "&eHiệu ứng &b{0} &eyêu cầu dữ liệu &bnote! &bĐịnh dạng: <0-24>||"); + this.put("data-usage-none", "&eHiệu ứng &b%effect% &ekhông sử dụng bất kì Dữ liệu nào!"); + this.put("data-usage-block", "&eHiệu ứng &b%effect% &eyêu cầu dữ liệu &bblock ! &bĐịnh dạng: "); + this.put("data-usage-item", "&eHiệu ứng &b%effect% &eyêu cầu dữ liệu &bitem! &bĐịnh dạng: "); + this.put("data-usage-color", "&eHiệu ứng &b%effect% &eyêu cầu dữ liệu &bcolor! &bĐịnh dạng: <<0-255> <0-255> <0-255>>||"); + this.put("data-usage-note", "&eHiệu ứng &b%effect% &eyêu cầu dữ liệu &bnote! &bĐịnh dạng: <0-24>||"); this.put("data-invalid-block", "&cDữ liệu &bblock &cbạn đã nhập không hợp lệ! &bĐịnh dạng: "); this.put("data-invalid-item", "&cDữ liệu &bitem &cbạn đã nhập không hợp lệ! &bĐịnh dạng: "); this.put("data-invalid-color", "&cDữ liệu &bcolor &cbạn đã nhập không hợp lệ! &bĐịnh dạng: <<0-255> <0-255> <0-255>>||"); this.put("data-invalid-note", "&cDữ liệu &bnote &cbạn đã nhập không hợp lệ! &bĐịnh dạng: <0-24>||"); - this.put("data-invalid-material-not-item", "&cDữ liệu &bitem &c: Vật phẩm &b{0} &cbạn đã nhập không phải là một vật phẩm!"); - this.put("data-invalid-material-not-block", "&cDữ liệu &bblock &c: Vật phẩm &b{0} &cbạn đã nhập không phải là một khối!"); - this.put("data-invalid-material-item", "&cDữ liệu &bitem &c: Vật phẩm &b{0} bạn đã nhập không tồn tại!"); - this.put("data-invalid-material-block", "&cDữ liệu &bblock &c: Vật phẩm &b{0} bạn đã nhập không tồn tại!"); + this.put("data-invalid-material-not-item", "&cDữ liệu &bitem &c: Vật phẩm &b%material% &cbạn đã nhập không phải là một vật phẩm!"); + this.put("data-invalid-material-not-block", "&cDữ liệu &bblock &c: Vật phẩm &b%material% &cbạn đã nhập không phải là một khối!"); + this.put("data-invalid-material-item", "&cDữ liệu &bitem &c: Vật phẩm &b%material% bạn đã nhập không tồn tại!"); + this.put("data-invalid-material-block", "&cDữ liệu &bblock &c: Vật phẩm &b%material% bạn đã nhập không tồn tại!"); // Worlds - this.put("disabled-worlds", "&eCác Hạt hiệu ứng bị cấm tại thế giới này: &b{0}"); + this.put("disabled-worlds", "&eCác Hạt hiệu ứng bị cấm tại thế giới này: &b%worlds%"); this.put("disabled-worlds-none", "&eKhông có thể giới nào cấm Hạt hiệu ứng."); // Reset - this.put("reset-success", "&aĐã xóa &b{0} &aHạt hiệu ứng hoạt động!"); + this.put("reset-success", "&aĐã xóa &b%amount% &aHạt hiệu ứng hoạt động!"); // Fixed Effects - this.put("fixed-create-missing-args", "&cKhông thể tạo Hiệu ứng cố định, bạn đã quên &b{0} &cđối số yêu cầu!"); + this.put("fixed-create-missing-args", "&cKhông thể tạo Hiệu ứng cố định, bạn đã quên &b%amount% &cđối số yêu cầu!"); this.put("fixed-create-invalid-coords", "&cKhông thể tạo Hiệu ứng cố định, một hoặc nhiều tọa độ bạn đã nhập không hợp lệ!"); - this.put("fixed-create-out-of-range", "&cKhông thể tạo Hiệu ứng cố định, bạn phải ở trong bán kính &b{0} &ckhối tại vị trí mong muốn của bạn!"); + this.put("fixed-create-out-of-range", "&cKhông thể tạo Hiệu ứng cố định, bạn phải ở trong bán kính &b%range% &ckhối tại vị trí mong muốn của bạn!"); this.put("fixed-create-looking-too-far", "&cKhông thể tạo Hiệu ứng cố định, bạn đang đứng quá xa khối bạn nhìn!"); - this.put("fixed-create-effect-invalid", "&cKhông thể tạo Hiệu ứng cố định, Hiệu ứng với tên &b{0} &ckhông tồn tại!"); - this.put("fixed-create-effect-no-permission", "&cKhông thể tạo Hiệu ứng cố định, bạn không có quyền để sử dụng Hiệu ứng &b{0}&c!"); - this.put("fixed-create-style-invalid", "&cKhông thể tạo Hiệu ứng cố định, Kiểu hiệu ứng với tên &b{0} &ckhông tồn tại!"); - this.put("fixed-create-style-no-permission", "&cKhông thể tạo Hiệu ứng cố định, bạn không có quyền để sử dụng Kiểu hiệu ứng &b{0}&c!"); - this.put("fixed-create-style-non-fixable", "&cKhông thể tạo Hiệu ứng cố định, Kiểu hiệu ứng &b{0} &ckhông thể được sử dụng trong Hiệu ứng cố định!"); + this.put("fixed-create-effect-invalid", "&cKhông thể tạo Hiệu ứng cố định, Hiệu ứng với tên &b%effect% &ckhông tồn tại!"); + this.put("fixed-create-effect-no-permission", "&cKhông thể tạo Hiệu ứng cố định, bạn không có quyền để sử dụng Hiệu ứng &b%effect%&c!"); + this.put("fixed-create-style-invalid", "&cKhông thể tạo Hiệu ứng cố định, Kiểu hiệu ứng với tên &b%style% &ckhông tồn tại!"); + this.put("fixed-create-style-no-permission", "&cKhông thể tạo Hiệu ứng cố định, bạn không có quyền để sử dụng Kiểu hiệu ứng &b%style%&c!"); + this.put("fixed-create-style-non-fixable", "&cKhông thể tạo Hiệu ứng cố định, Kiểu hiệu ứng &b%style% &ckhông thể được sử dụng trong Hiệu ứng cố định!"); this.put("fixed-create-data-error", "&cKhông thể tạo Hiệu ứng cố định, Dữ liệu bạn đã cung cấp không đúng! Sử dụng &b/pp data &cđể xem định dạng dữ liệu đúng!"); this.put("fixed-create-success", "&aHiệu ứng cố định của bạn đã được tạo!"); @@ -185,41 +185,41 @@ public class VietnameseLocale implements Locale { this.put("fixed-edit-invalid-id", "&cKhông thể điều chỉnh Hiệu ứng cố định, IDs bạn chỉ định không hợp lệ hoặc không tồn tại!"); this.put("fixed-edit-invalid-property", "&cKhông thể điều chỉnh Hiệu ứng cố định, một property không hợp lệ đã được chỉ định! Chỉ có &blocation&c, &beffect&c, &bstyle&c, và &bdata &là hợp lệ."); this.put("fixed-edit-invalid-coords", "&cKhông thể điều chỉnh Hiệu ứng cố định, một hoặc nhiều tọa độ bạn đã nhập không hợp lệ!"); - this.put("fixed-edit-out-of-range", "&cKhông thể điều chỉnh Hiệu ứng cố định, Bạn phải ở trong bán kính &b{0} &ckhối tại vị trí mong muốn của bạn!"); + this.put("fixed-edit-out-of-range", "&cKhông thể điều chỉnh Hiệu ứng cố định, Bạn phải ở trong bán kính &b%range% &ckhối tại vị trí mong muốn của bạn!"); this.put("fixed-edit-looking-too-far", "&cKhông thể điều chỉnh Hiệu ứng cố định, Bạn đang đứng quá xa so với khối bạn nhìn!"); - this.put("fixed-edit-effect-invalid", "&cKhông thể điều chỉnh Hiệu ứng cố định, một Hiệu ứng với tên &b{0} &ckhông tồn tại!"); - this.put("fixed-edit-effect-no-permission", "&cKhông thể điều chỉnh Hiệu ứng cố định, bạn không có quyền để sử dụng hiệu ứng &b{0}&c!"); - this.put("fixed-edit-style-invalid", "&cKhông thể điều chỉnh Hiệu ứng cố định, Kiểu hiệu ứng &b{0} &ckhông tồn tại!"); - this.put("fixed-edit-style-no-permission", "&cKhông thể điều chỉnh Hiệu ứng cố định, bạn không có quyền để sử dụng kiểu hiệu ứng &b{0}&c!"); - this.put("fixed-edit-style-non-fixable", "&cKhông thể điều chỉnh Hiệu ứng cố định, Kiểu hiệu ứng &b{0} &ckhông thể được sử dụng trong Hiệu ứng cố định!"); + this.put("fixed-edit-effect-invalid", "&cKhông thể điều chỉnh Hiệu ứng cố định, một Hiệu ứng với tên &b%effect% &ckhông tồn tại!"); + this.put("fixed-edit-effect-no-permission", "&cKhông thể điều chỉnh Hiệu ứng cố định, bạn không có quyền để sử dụng hiệu ứng &b%effect%&c!"); + this.put("fixed-edit-style-invalid", "&cKhông thể điều chỉnh Hiệu ứng cố định, Kiểu hiệu ứng &b%style% &ckhông tồn tại!"); + this.put("fixed-edit-style-no-permission", "&cKhông thể điều chỉnh Hiệu ứng cố định, bạn không có quyền để sử dụng kiểu hiệu ứng &b%style%&c!"); + this.put("fixed-edit-style-non-fixable", "&cKhông thể điều chỉnh Hiệu ứng cố định, Kiểu hiệu ứng &b%style% &ckhông thể được sử dụng trong Hiệu ứng cố định!"); this.put("fixed-edit-data-error", "&cKhông thể điều chỉnh Hiệu ứng cố định, Dữ liệu bạn đã cung cấp không đúng! Sử dụng &b/pp data &cđể xem định dạng dữ liệu đúng!"); this.put("fixed-edit-data-none", "&cKhông thể điều chỉnh Hiệu ứng cố định, Hiệu ứng không yêu cầu bất cứ Dữ liệu nào!"); - this.put("fixed-edit-success", "&aĐã cập nhật &b{0} &acủa Hiệu ứng cố định với một ID của &b{1}&a!"); + this.put("fixed-edit-success", "&aĐã cập nhật &b%property% &acủa Hiệu ứng cố định với một ID của &b%id%&a!"); - this.put("fixed-remove-invalid", "&cKhông thể xóa Hiệu ứng cố định, bạn không có hiệu ứng cố định nào với ID &b{0}&c!"); + this.put("fixed-remove-invalid", "&cKhông thể xóa Hiệu ứng cố định, bạn không có hiệu ứng cố định nào với ID &b%id%&c!"); this.put("fixed-remove-no-args", "&cbạn không chỉ định ID để xóa!"); this.put("fixed-remove-args-invalid", "&cKhông thể xóa, ID được chỉ định phải là số"); - this.put("fixed-remove-success", "&aHiệu ứng cố định của bạn với ID &b{0} &ađã bị xóa!"); + this.put("fixed-remove-success", "&aHiệu ứng cố định của bạn với ID &b%id% &ađã bị xóa!"); this.put("fixed-list-none", "&eBạn không có bất kì Hiệu ứng cố định nào!"); - this.put("fixed-list-success", "&eBạn có các Hiệu ứng cố định với IDs: &b{0}"); + this.put("fixed-list-success", "&eBạn có các Hiệu ứng cố định với IDs: &b%ids%"); - this.put("fixed-info-invalid", "&cKhông thể lấy thông tin, bạn không có bất kì Hiệu ứng cố định nào với ID &b{0}&c!"); + this.put("fixed-info-invalid", "&cKhông thể lấy thông tin, bạn không có bất kì Hiệu ứng cố định nào với ID &b%id%&c!"); this.put("fixed-info-no-args", "&cBạn không chỉ định ID để hiển thị thông tin Hiệu ứng có định!"); this.put("fixed-info-invalid-args", "&cKhông thể hiển thị Hiệu ứng cố định, ID được chỉ định phải là một con số!"); - this.put("fixed-info-success", "&eID: &b{0} &eWorld: &b{1} &eX: &b{2} &eY: &b{3} &eZ: &b{4} &eEffect: &b{5} &eStyle: &b{6} &eData: &b{7}"); + this.put("fixed-info-success", "&eID: &b%id% &eWorld: &b%world% &eX: &b%x% &eY: &b%y% &eZ: &b%z% &eEffect: &b%effect% &eStyle: &b%style% &eData: &b%data%"); this.put("fixed-clear-no-permission", "&cBạn không có quyền để làm điều này!"); this.put("fixed-clear-no-args", "&cBạn không cung cấp bán kính để xóa các Hiệu ứng cố định!"); this.put("fixed-clear-invalid-args", "&cbán kính được cung cấp không hợp lệ, nó phải là một số nguyên dương!"); - this.put("fixed-clear-success", "&aĐã xóa &b{0} &aHiệu ứng cố định trong bán kính &b{1} &akhối từ vị trí của bạn!"); + this.put("fixed-clear-success", "&aĐã xóa &b%amount% &aHiệu ứng cố định trong bán kính &b%range% &akhối từ vị trí của bạn!"); this.put("fixed-no-permission", "&cBạn không có quyền để làm điều này!"); this.put("fixed-max-reached", "&cBạn đã đạt tới giới hạn số Hiệu ứng cố định có thể sử dụng!"); this.put("fixed-invalid-command", "&cLệnh phụ không hợp lệ, &b/pp fixed&c!"); // Update Available - this.put("update-available", "&eĐã có bản cập nhật (&b{0}&e)! bạn đang sử dụng &bv{1}&e. https://www.spigotmc.org/resources/playerparticles.40261/"); + this.put("update-available", "&eĐã có bản cập nhật (&b%new%&e)! bạn đang sử dụng &bv%current%&e. https://www.spigotmc.org/resources/playerparticles.40261/"); // GUI this.put("gui-disabled", "&cAmdinistrator đã cấm GUI!"); @@ -229,15 +229,15 @@ public class VietnameseLocale implements Locale { this.put("gui-color-unavailable", "&c"); this.put("gui-commands-info", "Hiển thị thêm các lệnh bằng cách gõ &b/pp help"); this.put("gui-back-button", "Quay trở về"); - this.put("gui-next-page-button", "Trang tiếp theo ({0}/{1})"); - this.put("gui-previous-page-button", "Trang trước ({0}/{1})"); - this.put("gui-click-to-load", "Nhấn để tải {0} Hạt hiệu ứng sau:"); + this.put("gui-next-page-button", "Trang tiếp theo (%start%/%end%)"); + this.put("gui-previous-page-button", "Trang trước (%start%/%end%)"); + this.put("gui-click-to-load", "Nhấn để tải %amount% Hạt hiệu ứng sau:"); this.put("gui-shift-click-to-delete", "Shift Click để xóa"); - this.put("gui-particle-info", " - ID: &b{0} &eEffect: &b{1} &eStyle: &b{2} &eData: &b{3}"); + this.put("gui-particle-info", " - ID: &b%id% &eEffect: &b%effect% &eStyle: &b%style% &eData: &b%data%"); this.put("gui-playerparticles", "HIỆU ỨNG"); - this.put("gui-active-particles", "Hạt hiệu ứng đang hoạt động: &b{0}"); - this.put("gui-saved-groups", "Groups đã lưu: &b{0}"); - this.put("gui-fixed-effects", "Hiệu ứng cố định: &b{0}"); + this.put("gui-active-particles", "Hạt hiệu ứng đang hoạt động: &b%amount%"); + this.put("gui-saved-groups", "Groups đã lưu: &b%amount%"); + this.put("gui-fixed-effects", "Hiệu ứng cố định: &b%amount%"); this.put("gui-edit-primary-effect", "Chỉnh sửa hiệu ứng chính (primary effect)"); this.put("gui-edit-primary-effect-description", "Chỉnh sửa Hiệu ứng Hạt hiệu ứng chính của bạn"); this.put("gui-edit-primary-style", "Chỉnh sửa Kiểu hiệu ứng chính"); @@ -257,12 +257,12 @@ public class VietnameseLocale implements Locale { this.put("gui-save-group-description", "Nhấn để lưu Group mới. Bạn sẽ nhận được lời nhắc nhập tên Group ở chat."); this.put("gui-save-group-full", "Bạn đã đạt đến giới hạn số lượng group có thể tạo"); this.put("gui-save-group-no-particles", "Bạn không có bất kì Hhạt hiệu ứng nào được áp dụng"); - this.put("gui-save-group-hotbar-message", "&eNhập &b1 &etên group trong chat. Nhập &ccancel&e để hủy. (&b{0}&es left)"); + this.put("gui-save-group-hotbar-message", "&eNhập &b1 &etên group trong chat. Nhập &ccancel&e để hủy. (&b%seconds%&es left)"); this.put("gui-reset-particles", "Làm mới Hạt hiệu ứng của bạn"); this.put("gui-reset-particles-description", "Xóa tất cả Hạt hiệu ứng đang hoạt động của bạn"); - this.put("gui-particle-name", "Hạt hiệu ứng #{0}"); + this.put("gui-particle-name", "Hạt hiệu ứng #%id%"); this.put("gui-click-to-edit-particle", "Nhấn để chỉnh sửa Hiệu ứng, Kiểu hiệu ứng, hoặc Dữ liệu của Hạt hiệu ứng này"); - this.put("gui-editing-particle", "Đang chỉnh sửa Hạt hiệu ứng #{0}"); + this.put("gui-editing-particle", "Đang chỉnh sửa Hạt hiệu ứng #%id%"); this.put("gui-edit-effect", "Chỉnh sửa Hiệu ứng"); this.put("gui-edit-effect-description", "Nhấn để chỉnh sửa Hiệu ứng của Hạt hiệu ứng này"); this.put("gui-edit-style", "Chỉnh sửa Kiểu hiệu ứng"); @@ -275,12 +275,12 @@ public class VietnameseLocale implements Locale { this.put("gui-create-particle-description", "Tạo mới một Hạt hiệu ứng với Hiệu ứng, Kiểu hiệu ứng, và Dữ liệu"); this.put("gui-create-particle-unavailable", "bạn đã đạt giới hạn số lượng Hạt hiệu ứng có thể tạo"); this.put("gui-select-effect", "Chọn Hạt hiệu ứng"); - this.put("gui-select-effect-description", "Thiết lập hiệu ứng của Hạt thành &b{0}"); + this.put("gui-select-effect-description", "Thiết lập hiệu ứng của Hạt thành &b%effect%"); this.put("gui-select-style", "Chọn Kiểu hiệu ứng của Hạt"); - this.put("gui-select-style-description", "Thiết lập Kiểu hiệu ứng của Hạt thành &b{0}"); + this.put("gui-select-style-description", "Thiết lập Kiểu hiệu ứng của Hạt thành &b%style%"); this.put("gui-select-data", "Chọn Dữ liệu của Hạt"); - this.put("gui-select-data-description", "Thiết lập DỮ liệu của Hạt thành &b{0}"); - this.put("gui-select-data-note", "note #{0}"); + this.put("gui-select-data-description", "Thiết lập DỮ liệu của Hạt thành &b%data%"); + this.put("gui-select-data-note", "note #%note%"); this.put("gui-edit-data-color-red", "&cĐỏ mạnh mẽ"); this.put("gui-edit-data-color-orange", "&6Cam dịu dàng"); this.put("gui-edit-data-color-yellow", "&eVàng yêu thương"); diff --git a/src/main/java/dev/esophose/playerparticles/particles/ParticleEffect.java b/src/main/java/dev/esophose/playerparticles/particles/ParticleEffect.java index d19207a..9b19011 100644 --- a/src/main/java/dev/esophose/playerparticles/particles/ParticleEffect.java +++ b/src/main/java/dev/esophose/playerparticles/particles/ParticleEffect.java @@ -44,6 +44,7 @@ public enum ParticleEffect { DAMAGE_INDICATOR("DAMAGE_INDICATOR", "DAMAGE_INDICATOR"), DOLPHIN("DOLPHIN", null), DRAGON_BREATH("DRAGON_BREATH", "DRAGON_BREATH"), + DRIPPING_HONEY("DRIPPING_HONEY", null), DRIPPING_LAVA("DRIP_LAVA", "DRIP_LAVA"), DRIPPING_WATER("DRIP_WATER", "DRIP_WATER"), DUST("REDSTONE", "REDSTONE", ParticleProperty.COLORABLE), @@ -55,7 +56,9 @@ public enum ParticleEffect { EXPLOSION("EXPLOSION_LARGE", "EXPLOSION_LARGE"), EXPLOSION_EMITTER("EXPLOSION_HUGE", "EXPLOSION_HUGE"), FALLING_DUST("FALLING_DUST", "FALLING_DUST", ParticleProperty.REQUIRES_MATERIAL_DATA), + FALLING_HONEY("FALLING_HONEY", null), FALLING_LAVA("FALLING_LAVA", null), + FALLING_NECTAR("FALLING_NECTAR", null), FALLING_WATER("FALLING_WATER", null), FIREWORK("FIREWORKS_SPARK", "FIREWORKS_SPARK"), FISHING("WATER_WAKE", "WATER_WAKE"), @@ -68,6 +71,7 @@ public enum ParticleEffect { ITEM("ITEM_CRACK", "ITEM_CRACK", ParticleProperty.REQUIRES_MATERIAL_DATA), ITEM_SLIME("SLIME", "SLIME"), ITEM_SNOWBALL("SNOWBALL", "SNOWBALL"), + LANDING_HONEY("LANDING_HONEY", null), LANDING_LAVA("LANDING_LAVA", null), LARGE_SMOKE("SMOKE_LARGE", "SMOKE_LARGE"), LAVA("LAVA", "LAVA"), diff --git a/src/main/java/dev/esophose/playerparticles/particles/ParticlePair.java b/src/main/java/dev/esophose/playerparticles/particles/ParticlePair.java index 03b7873..b1e456b 100644 --- a/src/main/java/dev/esophose/playerparticles/particles/ParticlePair.java +++ b/src/main/java/dev/esophose/playerparticles/particles/ParticlePair.java @@ -45,6 +45,16 @@ public class ParticlePair { this.setNoteColor(noteColor); } + /** + * Updates the particle's owner if it hasn't been set yet + * + * @param pplayer The new owner + */ + public void setOwner(PPlayer pplayer) { + if (this.ownerUUID == null) + this.ownerUUID = pplayer.getUniqueId(); + } + /** * Sets the player's particle effect * diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 4d42d7c..57f66fd 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -224,6 +224,8 @@ gui-icon: dragon_breath: - DRAGON_BREATH - DRAGONS_BREATH + dripping_honey: + - BEE_NEST dripping_lava: - LAVA_BUCKET dripping_water: @@ -246,8 +248,12 @@ gui-icon: - TNT falling_dust: - SAND + falling_honey: + - HONEY_BOTTLE falling_lava: - RED_DYE + falling_nectar: + - HONEYCOMB falling_water: - BLUE_DYE firework: @@ -277,6 +283,8 @@ gui-icon: large_smoke: - COBWEB - WEB + landing_honey: + - HONEY_BLOCK landing_lava: - ORANGE_DYE lava: diff --git a/src/main/resources/lang/en_US.lang b/src/main/resources/lang/en_US.lang index b6c8aee..515a716 100644 --- a/src/main/resources/lang/en_US.lang +++ b/src/main/resources/lang/en_US.lang @@ -124,13 +124,13 @@ rainbow: "&cR&6a&ei&an&bb&9o&dw" random: "Random" # Effects -effect-no-permission: "&cYou do not have permission to use the effect &b{0} &c!" +effect-no-permission: "&cYou do not have permission to use the effect &b{0}&c!" effect-invalid: "&cThe effect &b{0} &cdoes not exist! Use &b/pp effects &cfor a list of effects you can use." effect-list: "&eYou can use the following effects: &b{0}" effect-list-empty: "&cYou do not have permission to use any effects!" # Styles -style-no-permission: "&cYou do not have permission to use the style &b{0} &c!" +style-no-permission: "&cYou do not have permission to use the style &b{0}&c!" style-event-spawning-info: "&eNote: The style &b{0} &espawns particles based on an event." style-invalid: "&cThe style &b{0} &cdoes not exist! Use &b/pp styles &cfor a list of styles you can use." style-list: "&eYou can use the following styles: &b{0}" diff --git a/src/main/resources/lang/ru_RU.lang b/src/main/resources/lang/ru_RU.lang index 367bdcf..1fe61e4 100644 --- a/src/main/resources/lang/ru_RU.lang +++ b/src/main/resources/lang/ru_RU.lang @@ -149,7 +149,7 @@ data-invalid-note: "&bНота &cданных, которую Вы ввели, data-invalid-material-not-item: "&bМатериал &cпредмета&b{0}&c, который Вы ввели, не является предметом!" data-invalid-material-not-block: "&bМатериал &cблока&b{0}&c, который Вы ввели, не является блоком!" data-invalid-material-item: "&bМатериал &cпредмета&b{0}, который Вы ввели, не существует!" -ata-invalid-material-block: "&bМатериал &cблока&b{0}, который Вы ввели, не существует!" +data-invalid-material-block: "&bМатериал &cблока&b{0}, который Вы ввели, не существует!" # Worlds disabled-worlds: "&b{0} &eне поддерживает данные частицы." @@ -271,12 +271,3 @@ gui-select-style-description: "Выбрать стиль для частиц &b{ gui-select-data: "Выбор данных частиц" gui-select-data-description: "Выбрать данные для частиц &b{0}" gui-select-data-note: "записка #{0}" -gui-create-particle: "Создать новые частицы" -gui-create-particle-description: "Создание новых частиц с эффектом, стилем и данными" -gui-create-particle-unavailable: "Вы достигли максимального числа частиц" -gui-select-effect: "Выбор эффекта частиц" -gui-select-effect-description: "Выбрать эффект частиц &b{0}" -gui-select-style: "Выбор стиля частиц" -gui-select-style-description: "Выберите стиль частиц до &b{0}" -gui-select-data: "Выбор данных частиц" -gui-select-data-description: "Выберите данные частиц до &b{0}" diff --git a/src/main/resources/lang/zh_CN.lang b/src/main/resources/lang/zh_CN.lang new file mode 100644 index 0000000..18151a4 --- /dev/null +++ b/src/main/resources/lang/zh_CN.lang @@ -0,0 +1,288 @@ +# ================================================================ # +# zh_CN简体中文语言文件 # +# 提醒: # +# * 你可以使用 & 符号 给消息上色 # +# * 插件会自动替换 {#} 为对应的消息,请勿翻译括号内的内容 # +# * \n 可在 菜单部分分隔出新一行 # +# * 请勿在消息内使用双引号!( " ) # +# * 你可以在这里翻译插件相关消息 # +# * 插件更新时该文件经常会被覆盖! # +# ================================================================ # +# Translator: qsefthuopq + +# 指令出错 +command-error-no-effects: "&c你必须有权限使用特效才能使用这个指令!" +command-error-unknown: "&c未知的指令, 请使用 &b/pp help &c查看指令列表。" + +# Command Descriptions +command-descriptions: "&e你可以使用以下指令:" +command-descriptions-usage: "&e/pp {0} {1}" +command-descriptions-help-1: "&7> &b/pp {0} &e- {1}" +command-descriptions-help-2: "&7> &b/pp {0} {1} &e- {2}" +command-descriptions-help-other: "&7> &b/ppo &e- 以玩家身份输入 /pp " +command-description-add: "添加新的粒子特效" +command-description-data: "查看粒子特效使用的数据" +command-description-default: "主指令,默认打开菜单" +command-description-edit: "编辑粒子" +command-description-effects: "显示你可以使用的粒子效果" +command-description-fixed: "管理你的定点特效" +command-description-group: "管理你的特效组" +command-description-gui: "打开粒子特效编辑菜单" +command-description-help: "显示帮助... 就是这里" +command-description-info: "查看你使用的粒子特效的描述" +command-description-list: "你使用的粒子特效的id" +command-description-reload: "重载配置和语言文件" +command-description-remove: "删除一些粒子特效" +command-description-reset: "删除你身上所有特效" +command-description-styles: "显示你可以使用的粒子风格" +command-description-toggle: "开启或关闭粒子效果显示" +command-description-version: "显示插件版本和作者" +command-description-worlds: "查看禁用粒子特效的世界" + +# 子指令用法 +command-description-fixed-create: "&e/pp fixed create < |> <特效名> <风格名> [数据名] - 创建新的定点特效" +command-description-fixed-edit: "&e/pp fixed edit <特效名|风格名|数据名> <参数> - 根据ID编辑定点特效" +command-description-fixed-remove: "&e/pp fixed remove - 根据ID删除定点特效" +command-description-fixed-list: "&e/pp fixed list - 列出所有定点特效的ID" +command-description-fixed-info: "&e/pp fixed info - 获取定点特效的详细信息" +command-description-fixed-clear: "&e/pp fixed clear <半径> - 清空指定范围内的所有定点特效" +command-description-group-save: "&e/pp group save <组名> - 保存所有你使用的特效到新的组内" +command-description-group-load: "&e/pp group load <组名> - 加载所有你保存组内的特效" +command-description-group-remove: "&e/pp group remove <组名> - 删除一组你保存的特效" +command-description-group-list: "&e/pp group list <组名> - 列出所有你保存的特效组" +command-description-group-info: "&e/pp group info <组名> - 列出组内的特效信息" + +# 查询ID指令 +id-invalid: "&c你输入的ID无效, 必须是正整数!" +id-unknown: "&c你没有ID为&b{0}&c的特效!" + +# 其他指令 +other-no-permission: "&c你没有权限对其他玩家使用PlayerParticles的指令!" +other-missing-args: "&c缺少参数。 &b/ppo " +other-unknown-player: "&c找不到玩家&b{0}&c。玩家必须在线。" +other-unknown-command: "&c指令&b/pp {0} &c不存在。" +other-success: "&e已为&b{0}&e执行指令 /pp 。 输出:" + +# 添加指令 +add-reached-max: "&c无法使用粒子效果,你已达到上限:&b{0}&c!" +add-particle-applied: "&a成功添加新的粒子特效: &b{0}&a, 风格: &b{1}&a,数据: &b{2}&a!" + +# 数据指令 +data-no-args: "&c该特效缺失参数! 指令用法: &b/pp data " + +# 编辑指令 +edit-invalid-property: "&c您输入的参数&b{0}&c无效。 有效参数为: &beffect&c, &bstyle&c, &bdata" +edit-success-effect: "&aID为&b{0}&a的粒子的特效已更改为&b{1}&a!" +edit-success-style: "&aID为&b{0}&a的粒子的风格已更改为&b{1}&a!" +edit-success-data: "&aID为&b{0}&a的粒子的数据已更改为&b{1}&a!" + +# 粒子组指令 +group-invalid: "&c名为&b{0}&c的粒子组不存在!" +group-no-permission: "&c你没有使用&b{0}&c的权限!" +group-preset-no-permission: "&c你没有使用预设粒子组&b{0}&c的权限!" +group-reserved: "&c该组名&b&c无法使用!" +group-no-name: "&c你没有输入组名! &b/pp {0} <组名>" +group-save-reached-max: "&c无法保存粒子组,你已达到可使用粒子组的上限!" +group-save-no-particles: "&c无法保存粒子组,你没有添加任何粒子!" +group-save-success: "&a你当前使用的粒子特效已成功保存入粒子组&b{0}&a内!" +group-save-success-overwrite: "&a已将你当前使用的粒子特效加入到粒子组&b{0}&a内!" +group-load-success: "&a已将&b{0}&a个粒子特效加入你已保存的粒子组&b{1}&a内!" +group-load-preset-success: "&a已使用&b{1}&a预设组内的&b{0}&a个粒子特效!" +group-remove-preset: "&c你无法删除预设粒子组!" +group-remove-success: "&a成功删除粒子组&b{0}&a!" +group-info-header: "&e粒子组&b{0}&e拥有以下粒子特效:" +group-list-none: "&e你没有保存任何粒子组!" +group-list-output: "&e你已成功保存以下粒子组: &b{0}" +group-list-presets: "&e可使用以下预设粒子组: &b{0}" + +# 重载指令 +reload-success: "&a插件已重载!" +reload-no-permission: "&c你没有重载插件配置的指令!" + +# 删除指令 +remove-no-args: "&c你没有指定要删除的ID! &b/pp remove " +remove-id-success: "&a你已成功删除ID为&b{0}&a的粒子特效!" +remove-effect-success: "&a成功删除&b{0}&a个&b{1}&a特效的粒子!" +remove-effect-none: "&c你没有使用特效&b{0}&c的粒子!" +remove-style-success: "&已成功删除&b{0}&a个使用了风格&b{1}&a的粒子!" +remove-style-none: "&c你没有已使用风格&b{0}&c的粒子!" +remove-unknown: "&c名为&b{0}&c的特效或风格不存在!" + +# 列白指令 +list-none: "&e你没有任何激活的特效!" +list-you-have: "&e你使用了以下粒子特效:" +list-output: "&eID: &b{0} &e特效: &b{1} &e风格: &b{2} &e数据: &b{3}" + +# 开关指令 +toggle-on: "&e粒子特效已&a开启&e!" +toggle-off: "&e粒子特效已&c关闭&e!" + +# 彩虹 +rainbow: "&c彩&6虹" + +# 随机 +random: "随机" + +# 特效 +effect-no-permission: "&c你没有使用特效&b{0}的权限&c!" +effect-invalid: "&c特效&b{0} &c不存在! 请输入&b/pp effects &c查看你可以使用的特效。" +effect-list: "&e你可以使用以下特效: &b{0}" +effect-list-empty: "&c你没有使用任何特效的权限!" + +# 风格 +style-no-permission: "&c你没有权限使用&b{0}这一风格&c!" +style-event-spawning-info: "&e提醒: 风格&b{0}&e基于事件生成。" +style-invalid: "&c风格&b{0}&c不存在! 请输入&b/pp styles &c查看你可以使用的风格。" +style-list: "&e你可以使用以下风格: &b{0}" + +# 数据 +data-usage-none: "&e粒子特效&b{0}&e不使用任何数据!" +data-usage-block: "&e粒子特效&b{0}&e需要设置&b方块&e数据! &b格式: <方块ID>" +data-usage-item: "&e粒子特效&b{0}&e需要设置&b物品&e数据! &b格式: <物品ID>" +data-usage-color: "&e粒子特效&b{0}&e需要设置&b颜色&e数据! &b格式: <<0-255> <0-255> <0-255>>||" +data-usage-note: "&e粒子特效&b{0}&e需要设置&b音符&e数据! &b格式: <0-24>||" +data-invalid-block: "&c你输入的&b方块&c数据 无效! &b格式: <方块ID>" +data-invalid-item: "&c你输入的&b物品&c数据 无效! &b格式: <物品ID>" +data-invalid-color: "&c你输入的&b颜色&c数据 无效! &b格式: <<0-255> <0-255> <0-255>>||" +data-invalid-note: "&c你输入的&b音符&c数据 无效! &b格式: <0-24>||" +data-invalid-material-not-item: "&c你输入的&b物品&c材料名 &b{0}&c不是一件物品!" +data-invalid-material-not-block: "&c你输入的&b方块&c材料名&b{0}&c不是一个方块!" +data-invalid-material-item: "&c你输入的&b物品&c材料&b{0}不存在!" +data-invalid-material-block: "&c你输入的&b方块&c材料&b{0}!" + +# 世界 +disabled-worlds: "&e这些世界禁用粒子特效: &b{0}" +disabled-worlds-none: "&e所有世界都禁用粒子特效。" + +# 删除 +reset-success: "&a已删除&b{0}个&a激活的粒子特效!" + +# 定点特效 +fixed-create-missing-args: "&c无法创建定点特效, 缺少 &b{0} &c必要参数!" +fixed-create-invalid-coords: "&c无法创建定点特效, 你输入的坐标无效!" +fixed-create-out-of-range: "&c无法创建定点特效,你必须在目标地点&b{0}&c格内!" +fixed-create-looking-too-far: "&c无法创建定点特效, 你离目标方块太远了!" +fixed-create-effect-invalid: "&c无法创建定点特效,名为&b{0}&c的特效不存在!" +fixed-create-effect-no-permission: "&c无法创建定点特效, 你没有权限使用特效&b{0}&c!" +fixed-create-style-invalid: "&c无法创建定点特效, 名为&b{0}&c的风格不存在!" +fixed-create-style-no-permission: "&c无法创建定点特效, 你没有权限使用风格&b{0}&c!" +fixed-create-style-non-fixable: "&c无法创建定点特效, 风格&b{0}&c无法用于定点特效!" +fixed-create-data-error: "&c无法创建定点特效, 你所给出的数据有误! 请输入 &b/pp data &c查看正确的数据格式!" +fixed-create-success: "&a成功创建定点特效!" + +fixed-edit-missing-args: "&c无法编辑定点特效, 缺失参数!" +fixed-edit-invalid-id: "&c无法编辑定点特效, ID无效或不存在!" +fixed-edit-invalid-property: "&c无法编辑定点特效, 参数无效! 只有&blocation&c、&beffect&c、&bstyle&c和&bdata &c才有效。" +fixed-edit-invalid-coords: "&c无法编辑定点特效, 你输入的一个或多个坐标无效!" +fixed-edit-out-of-range: "&c无法编辑定点特效,你必须在目标地点&b{0}&c格内才能进行编辑!" +fixed-edit-looking-too-far: "&c无法编辑定点特效, 你离目标地点太远了!" +fixed-edit-effect-invalid: "&c无法编辑定点特效, 名为&b{0}&c的特效不存在!" +fixed-edit-effect-no-permission: "&c无法编辑定点特效, 你没有权限使用特效&b{0}&c!" +fixed-edit-style-invalid: "&c无法编辑定点特效, 名为&b{0}&c的风格不存在!" +fixed-edit-style-no-permission: "&c无法编辑定点特效, 你没有权限使用风格&b{0}&c!" +fixed-edit-style-non-fixable: "&c无法编辑定点特效, 风格 &b{0} &c无法用于定点特效!" +fixed-edit-data-error: "&c无法编辑定点特效, 数据有误! 请输入 &b/pp data &cto 来获取正确的数据格式!" +fixed-edit-data-none: "&c无法编辑定点特效, 该特效无需数据!" +fixed-edit-success: "&a已更新&b{0}&a个ID为&b{1}&a的定点特效!" + +fixed-remove-invalid: "&c无法删除定点特效, 你没有ID为&b{0}&c的定点特效!" +fixed-remove-no-args: "&c你没有指定要删除的ID!" +fixed-remove-args-invalid: "&c无法删除,ID必须是数字!" +fixed-remove-success: "&a已删除ID为&b{0}&a的定点特效!" + +fixed-list-none: "&e你没有定点特效!" +fixed-list-success: "&e你的定点特效ID为: &b{0}" + +fixed-info-invalid: "&c无法获取信息, 你没有ID为&b{0}&c的定点特效!" +fixed-info-no-args: "&c你未指定ID!" +fixed-info-invalid-args: "&c无法获取信息, ID必须是数字!" +fixed-info-success: "&eID: &b{0} &e世界: &b{1} &eX: &b{2} &eY: &b{3} &eZ: &b{4} &e特效: &b{5} &e风格: &b{6} &e数据: &b{7}" + +fixed-clear-no-permission: "&c你没有清空附近定点特效的权限!" +fixed-clear-no-args: "&c你没有给出清空定点特效的范围!" +fixed-clear-invalid-args: "&c你输入的范围无效,范围必须是正整数!" +fixed-clear-success: "&a已清除&b{0}&a个&b{1}&a格内的定点特效!" + +fixed-no-permission: "&c你没有使用定点特效的权限!" +fixed-max-reached: "&c你已达到可使用定点特效的数量上限!" +fixed-invalid-command: "&c你输入了无效的子指令!" + +# 更新提醒 +update-available: "&e有新版本更新:(&b{0}&e)!你使用的版本为&bv{1}&e。 https://songoda.com/marketplace/product/32" + +# GUI +gui-disabled: "&c服务器管理员已关闭菜单!" +gui-color-icon-name: "&a" +gui-color-info: "&e" +gui-color-subtext: "&b" +gui-color-unavailable: "&c" +gui-commands-info: "商人 &b/pp help 查看指令帮助" +gui-back-button: "返回" +gui-next-page-button: "下一页 ({0}/{1})" +gui-previous-page-button: "上一页 ({0}/{1})" +gui-click-to-load: "点击加载{0} 个粒子特效:" +gui-shift-click-to-delete: "Shift+点击 删除" +gui-particle-info: " - ID: &b{0} &e特效: &b{1} &e风格: &b{2} &e数据: &b{3}" +gui-playerparticles: "粒子特效" +gui-active-particles: "激活的粒子: &b{0}" +gui-saved-groups: "已保存的粒子组: &b{0}" +gui-fixed-effects: "定点特效: &b{0}" +gui-edit-primary-effect: "编辑之前使用的粒子的特效" +gui-edit-primary-effect-description: "编辑之前使用的粒子的特效" +gui-edit-primary-style: "编辑之前使用粒子的风格" +gui-edit-primary-style-missing-effect: "你必须先选择一个特效" +gui-edit-primary-style-description: "编辑之前使用粒子的风格" +gui-edit-primary-data: "编辑之前使用粒子的数据" +gui-edit-primary-data-missing-effect: "你必须先选择一个特效" +gui-edit-primary-data-unavailable: "你之前使用的特效没有使用任何数据" +gui-edit-primary-data-description: "编辑之前使用的特效的数据" +gui-manage-your-particles: "管理你的粒子特效" +gui-manage-your-particles-description: "创建、编辑和删除你的粒子特效" +gui-manage-your-groups: "管理你的特效组" +gui-manage-your-groups-description: "创建、删除和加载你的粒子组" +gui-load-a-preset-group: "加载预设粒子组" +gui-load-a-preset-group-description: "加载预设粒子组" +gui-save-group: "保存新的粒子组" +gui-save-group-description: "点击保存为新的粒子组。你需要\n在聊天框内输入名称。" +gui-save-group-full: "你已达到粒子组上限" +gui-save-group-no-particles: "你没有使用粒子特效" +gui-save-group-hotbar-message: "&e请在聊天框内输入&b1 &e新的粒子组名。 输入 &ccancel&e 取消。 (剩余&b{0}&e秒)" +gui-reset-particles: "重置你的粒子特效" +gui-reset-particles-description: "删除你激活的所有粒子特效" +gui-particle-name: "粒子 #{0}" +gui-click-to-edit-particle: "点击编辑粒子特效、风格或数据" +gui-editing-particle: "编辑粒子#{0}中" +gui-edit-effect: "编辑特效" +gui-edit-effect-description: "点击编辑粒子特效" +gui-edit-style: "编辑风格" +gui-edit-style-description: "点击编辑粒子风格" +gui-edit-data: "编辑数据" +gui-edit-data-description: "点击编辑粒子数据" +gui-edit-data-unavailable: "这个粒子特效不使用数据" +gui-data-none: "无" +gui-create-particle: "创建新的粒子特效" +gui-create-particle-description: "创建新的粒子特效" +gui-create-particle-unavailable: "你不能创建更多的粒子特效" +gui-select-effect: "选择粒子特效" +gui-select-effect-description: "将粒子特效设置为 &b{0}" +gui-select-style: "选择粒子风格" +gui-select-style-description: "将粒子风格设置为 &b{0}" +gui-select-data: "选择粒子数据" +gui-select-data-description: "将粒子数据设置为&b{0}" +gui-select-data-note: "note #{0}" +gui-edit-data-color-red: "&c红色" +gui-edit-data-color-orange: "&6橙黄" +gui-edit-data-color-yellow: "&e黄色" +gui-edit-data-color-lime-green: "&a淡绿" +gui-edit-data-color-green: "&2绿色" +gui-edit-data-color-blue: "&1蓝色" +gui-edit-data-color-cyan: "&3青色" +gui-edit-data-color-light-blue: "&b淡蓝色" +gui-edit-data-color-purple: "&5紫色" +gui-edit-data-color-magenta: "&d洋红" +gui-edit-data-color-pink: "&d粉色" +gui-edit-data-color-brown: "&6棕色" +gui-edit-data-color-black: "&8黑色" +gui-edit-data-color-gray: "&8灰色" +gui-edit-data-color-light-gray: "&7淡灰" +gui-edit-data-color-white: "&f白色" \ No newline at end of file