From 573a957446ebeee3b5e075058252974b50575fc3 Mon Sep 17 00:00:00 2001 From: Jules Date: Wed, 25 Jan 2023 21:24:26 +0100 Subject: [PATCH] Crowdin support --- .../net/Indyuce/mmoitems/api/ConfigFile.java | 137 +++++++------ .../net/Indyuce/mmoitems/api/TypeSet.java | 2 +- .../interaction/weapon/untargeted/Lute.java | 2 +- .../interaction/weapon/untargeted/Musket.java | 2 +- .../interaction/weapon/untargeted/Staff.java | 2 +- .../interaction/weapon/untargeted/Whip.java | 2 +- .../untargeted/lute/BruteLuteAttack.java | 2 +- .../untargeted/lute/CircularLuteAttack.java | 2 +- .../untargeted/lute/SimpleLuteAttack.java | 2 +- .../untargeted/lute/SlashLuteAttack.java | 2 +- .../untargeted/lute/WaveLuteAttack.java | 2 +- .../untargeted/staff/LightningSpirit.java | 2 +- .../weapon/untargeted/staff/ManaSpirit.java | 2 +- .../weapon/untargeted/staff/NetherSpirit.java | 2 +- .../untargeted/staff/SunfireSpirit.java | 2 +- .../untargeted/staff/ThunderSpirit.java | 2 +- .../weapon/untargeted/staff/XRaySpirit.java | 2 +- .../mmoitems/api/util/message/Message.java | 193 +++++++++--------- .../Indyuce/mmoitems/listener/ItemUse.java | 2 +- .../mmoitems/manager/ConfigManager.java | 171 +++++++--------- .../mmoitems/skill/ShulkerMissile.java | 2 +- .../mmoitems/stat/LuteAttackEffectStat.java | 16 +- .../mmoitems/stat/StaffSpiritStat.java | 129 ++++++------ .../Indyuce/mmoitems/util/LanguageFile.java | 42 ++++ .../net/Indyuce/mmoitems/util/Provider.java | 6 + .../resources/default/language/abilities.yml | 23 +++ .../default/language/crafting-stations.yml | 41 ++++ .../main/resources/default/language/items.yml | 55 +++++ .../resources/default/language/messages.yml | 53 +++++ .../default/language/potion-effects.yml | 33 +++ .../resources/language/chinese/abilities.yml | 97 --------- .../language/chinese/crafting-stations.yml | 23 --- .../main/resources/language/chinese/items.yml | 20 -- .../resources/language/chinese/messages.yml | 42 ---- .../language/chinese/potion-effects.yml | 30 --- .../main/resources/language/chinese/stats.yml | 151 -------------- .../resources/language/french/abilities.yml | 105 ---------- .../language/french/attack-effects.yml | 14 -- .../language/french/crafting-stations.yml | 23 --- .../main/resources/language/french/items.yml | 54 ----- .../resources/language/french/messages.yml | 40 ---- .../language/french/potion-effects.yml | 30 --- .../main/resources/language/french/stats.yml | 151 -------------- .../resources/language/polish/abilities.yml | 105 ---------- .../language/polish/attack-effects.yml | 14 -- .../language/polish/crafting-stations.yml | 23 --- .../main/resources/language/polish/items.yml | 30 --- .../resources/language/polish/messages.yml | 49 ----- .../language/polish/potion-effects.yml | 32 --- .../main/resources/language/polish/stats.yml | 151 -------------- .../resources/language/russian/abilities.yml | 105 ---------- .../language/russian/attack-effects.yml | 14 -- .../language/russian/crafting-stations.yml | 23 --- .../main/resources/language/russian/items.yml | 60 ------ .../resources/language/russian/messages.yml | 48 ----- .../language/russian/potion-effects.yml | 30 --- .../main/resources/language/russian/stats.yml | 151 -------------- .../resources/language/spanish/abilities.yml | 76 ------- .../language/spanish/attack-effects.yml | 15 -- .../language/spanish/crafting-stations.yml | 23 --- .../main/resources/language/spanish/items.yml | 21 -- .../resources/language/spanish/messages.yml | 33 --- .../language/spanish/potion-effects.yml | 27 --- .../main/resources/language/spanish/stats.yml | 151 -------------- 64 files changed, 604 insertions(+), 2292 deletions(-) create mode 100644 MMOItems-API/src/main/java/net/Indyuce/mmoitems/util/LanguageFile.java create mode 100644 MMOItems-API/src/main/java/net/Indyuce/mmoitems/util/Provider.java create mode 100644 MMOItems-Dist/src/main/resources/default/language/abilities.yml create mode 100644 MMOItems-Dist/src/main/resources/default/language/crafting-stations.yml create mode 100644 MMOItems-Dist/src/main/resources/default/language/items.yml create mode 100644 MMOItems-Dist/src/main/resources/default/language/messages.yml create mode 100644 MMOItems-Dist/src/main/resources/default/language/potion-effects.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/chinese/abilities.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/chinese/crafting-stations.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/chinese/items.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/chinese/messages.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/chinese/potion-effects.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/chinese/stats.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/french/abilities.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/french/attack-effects.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/french/crafting-stations.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/french/items.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/french/messages.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/french/potion-effects.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/french/stats.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/polish/abilities.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/polish/attack-effects.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/polish/crafting-stations.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/polish/items.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/polish/messages.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/polish/potion-effects.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/polish/stats.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/russian/abilities.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/russian/attack-effects.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/russian/crafting-stations.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/russian/items.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/russian/messages.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/russian/potion-effects.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/russian/stats.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/spanish/abilities.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/spanish/attack-effects.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/spanish/crafting-stations.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/spanish/items.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/spanish/messages.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/spanish/potion-effects.yml delete mode 100644 MMOItems-Dist/src/main/resources/language/spanish/stats.yml diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/ConfigFile.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/ConfigFile.java index 00716fe1..c09675e5 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/ConfigFile.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/ConfigFile.java @@ -1,90 +1,97 @@ package net.Indyuce.mmoitems.api; +import net.Indyuce.mmoitems.MMOItems; +import net.Indyuce.mmoitems.api.item.ItemReference; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.plugin.Plugin; +import org.jetbrains.annotations.NotNull; + import java.io.File; import java.io.IOException; import java.util.logging.Level; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.plugin.Plugin; - -import net.Indyuce.mmoitems.MMOItems; -import net.Indyuce.mmoitems.api.item.ItemReference; - public class ConfigFile { - private final Plugin plugin; - private final String path, name; - private final boolean exists; + private final Plugin plugin; + private final String path, name; + private final boolean exists; + private final FileConfiguration config; - private final FileConfiguration config; + public ConfigFile(String name) { + this(MMOItems.plugin, "", name); + } - public ConfigFile(String name) { - this(MMOItems.plugin, "", name); - } + public ConfigFile(Plugin plugin, String name) { + this(plugin, "", name); + } - public ConfigFile(Plugin plugin, String name) { - this(plugin, "", name); - } + public ConfigFile(String path, String name) { + this(MMOItems.plugin, path, name); + } - public ConfigFile(String path, String name) { - this(MMOItems.plugin, path, name); - } + /** + * Configuration file path is /server_root/plugins/plugin_name/path/name + * + * @param plugin Plugin owning config file + * @param path Folder path + * @param name Config file name + */ + public ConfigFile(Plugin plugin, String path, String name) { + this.plugin = plugin; + this.path = path; + this.name = name; - public ConfigFile(Plugin plugin, String path, String name) { - this.plugin = plugin; - this.path = path; - this.name = name; + final File file = new File(plugin.getDataFolder() + path, name + ".yml"); + exists = file.exists(); + config = YamlConfiguration.loadConfiguration(file); + } - File file = new File(plugin.getDataFolder() + path, name + ".yml"); - exists = file.exists(); - config = YamlConfiguration.loadConfiguration(file); - } + @NotNull + public FileConfiguration getConfig() { + return config; + } - public FileConfiguration getConfig() { - return config; - } + public boolean exists() { + return exists; + } - public boolean exists() { - return exists; - } + public void save() { + try { + config.save(new File(plugin.getDataFolder() + path, name + ".yml")); + } catch (IOException exception) { + MMOItems.plugin.getLogger().log(Level.SEVERE, "Could not save " + name + ".yml: " + exception.getMessage()); + } + } - public void save() { - try { - config.save(new File(plugin.getDataFolder() + path, name + ".yml")); - } catch (IOException exception) { - MMOItems.plugin.getLogger().log(Level.SEVERE, "Could not save " + name + ".yml: " + exception.getMessage()); - } - } + @SuppressWarnings("ResultOfMethodCallIgnored") + public void setup() { + try { + if (!new File(plugin.getDataFolder() + path).exists()) + new File(plugin.getDataFolder() + path).mkdir(); - @SuppressWarnings("ResultOfMethodCallIgnored") - public void setup() { - try { - if (!new File(plugin.getDataFolder() + path).exists()) - new File(plugin.getDataFolder() + path).mkdir(); + if (!new File(plugin.getDataFolder() + path, name + ".yml").exists()) { + new File(plugin.getDataFolder() + path, name + ".yml").createNewFile(); + } + } catch (IOException exception) { + MMOItems.plugin.getLogger().log(Level.SEVERE, "Could not generate " + name + ".yml: " + exception.getMessage()); + } + } - if (!new File(plugin.getDataFolder() + path, name + ".yml").exists()) { - new File(plugin.getDataFolder() + path, name + ".yml").createNewFile(); - } - } catch (IOException exception) { - MMOItems.plugin.getLogger().log(Level.SEVERE, "Could not generate " + name + ".yml: " + exception.getMessage()); - } - } + public void registerTemplateEdition(ItemReference ref) { - public void registerTemplateEdition(ItemReference ref) { + /* + * saves the changes before asking for a template update + */ + save(); - /* - * saves the changes before asking for a template update - */ - save(); - - /* - * goes for a template update once the change has been saved. this - * simply unloads the currently saved template and reloads it - */ - MMOItems.plugin.getTemplates().requestTemplateUpdate(ref.getType(), ref.getId()); + /* + * goes for a template update once the change has been saved. this + * simply unloads the currently saved template and reloads it + */ + MMOItems.plugin.getTemplates().requestTemplateUpdate(ref.getType(), ref.getId()); /* update the database UUID for the dynamic item updater if (MMOItems.plugin.getUpdater().hasData(ref)) MMOItems.plugin.getUpdater().getData(ref).setUniqueId(UUID.randomUUID());*/ - } + } } \ No newline at end of file diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/TypeSet.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/TypeSet.java index e3d03c5e..2bf9cc48 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/TypeSet.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/TypeSet.java @@ -1,7 +1,7 @@ package net.Indyuce.mmoitems.api; import io.lumine.mythic.lib.UtilityMethods; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.AttackMetadata; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.version.VersionSound; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Lute.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Lute.java index 2a9c04d8..450811e3 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Lute.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Lute.java @@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import io.lumine.mythic.lib.version.VersionSound; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Musket.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Musket.java index 808ab0de..f00f7821 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Musket.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Musket.java @@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import io.lumine.mythic.lib.util.RayTrace; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Staff.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Staff.java index c8adef3a..84e7709f 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Staff.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Staff.java @@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import io.lumine.mythic.lib.util.RayTrace; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Whip.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Whip.java index 0b3a9ace..6badb296 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Whip.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/Whip.java @@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import io.lumine.mythic.lib.util.RayTrace; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/BruteLuteAttack.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/BruteLuteAttack.java index 21e9800e..2f2e969f 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/BruteLuteAttack.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/BruteLuteAttack.java @@ -2,7 +2,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.lute; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import net.Indyuce.mmoitems.MMOItems; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/CircularLuteAttack.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/CircularLuteAttack.java index 4860ac85..a4e72f7d 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/CircularLuteAttack.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/CircularLuteAttack.java @@ -2,7 +2,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.lute; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import net.Indyuce.mmoitems.MMOItems; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/SimpleLuteAttack.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/SimpleLuteAttack.java index 2c7aa8f0..cf4e80f2 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/SimpleLuteAttack.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/SimpleLuteAttack.java @@ -2,7 +2,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.lute; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import net.Indyuce.mmoitems.MMOItems; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/SlashLuteAttack.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/SlashLuteAttack.java index f11ccf63..30961ccb 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/SlashLuteAttack.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/SlashLuteAttack.java @@ -2,7 +2,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.lute; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import net.Indyuce.mmoitems.MMOItems; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/WaveLuteAttack.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/WaveLuteAttack.java index 9dbc79d6..c14862c1 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/WaveLuteAttack.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/lute/WaveLuteAttack.java @@ -2,7 +2,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.lute; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import net.Indyuce.mmoitems.MMOItems; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/LightningSpirit.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/LightningSpirit.java index 11c5f441..3aa546b5 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/LightningSpirit.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/LightningSpirit.java @@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.staff; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import io.lumine.mythic.lib.util.RayTrace; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ManaSpirit.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ManaSpirit.java index 4b8c23a8..57873c67 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ManaSpirit.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ManaSpirit.java @@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.staff; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import net.Indyuce.mmoitems.MMOItems; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/NetherSpirit.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/NetherSpirit.java index 7890235f..fd3db017 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/NetherSpirit.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/NetherSpirit.java @@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.staff; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import net.Indyuce.mmoitems.MMOItems; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/SunfireSpirit.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/SunfireSpirit.java index 4509f193..e8827857 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/SunfireSpirit.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/SunfireSpirit.java @@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.staff; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import io.lumine.mythic.lib.version.VersionSound; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ThunderSpirit.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ThunderSpirit.java index c451c9df..7bd73d95 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ThunderSpirit.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/ThunderSpirit.java @@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.staff; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import io.lumine.mythic.lib.version.VersionSound; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/XRaySpirit.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/XRaySpirit.java index 20840c34..982973d7 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/XRaySpirit.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/interaction/weapon/untargeted/staff/XRaySpirit.java @@ -3,7 +3,7 @@ package net.Indyuce.mmoitems.api.interaction.weapon.untargeted.staff; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; import io.lumine.mythic.lib.util.RayTrace; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/util/message/Message.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/util/message/Message.java index 26173aea..60f5a459 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/util/message/Message.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/api/util/message/Message.java @@ -1,114 +1,125 @@ package net.Indyuce.mmoitems.api.util.message; -import net.Indyuce.mmoitems.MMOItems; +import io.lumine.mythic.lib.MythicLib; import org.bukkit.ChatColor; +import org.jetbrains.annotations.NotNull; + +import java.util.Objects; public enum Message { - RECEIVED_ITEM("You received &6#item#&e#amount#."), + RECEIVED_ITEM("You received &6#item#&e#amount#."), - // General restrictions - HANDS_TOO_CHARGED("You can't do anything, your hands are too charged.", "two-handed"), - SPELL_ON_COOLDOWN("#progress# &eYou must wait #left# second#s# before casting this spell.", "ability-cooldown"), - ITEM_ON_COOLDOWN("This item is on cooldown! Please wait #left# second#s#.", "item-cooldown"), - NOT_ENOUGH_PERMS_COMMAND("You don't have enough permissions."), + // General restrictions + HANDS_TOO_CHARGED("You can't do anything, your hands are too charged.", "two-handed"), + SPELL_ON_COOLDOWN("#progress# &eYou must wait #left# second#s# before casting this spell.", "ability-cooldown"), + ITEM_ON_COOLDOWN("This item is on cooldown! Please wait #left# second#s#.", "item-cooldown"), + NOT_ENOUGH_PERMS_COMMAND("You don't have enough permissions."), - // Item restrictions - NOT_ENOUGH_LEVELS("You don't have enough levels to use this item!", "cant-use-item"), - SOULBOUND_RESTRICTION("This item is linked to another player, you can't use it!", "cant-use-item"), - NOT_ENOUGH_PERMS("You don't have enough permissions to use this.", "cant-use-item"), - WRONG_CLASS("You don't have the right class!", "cant-use-item"), - NOT_ENOUGH_MANA("You don't have enough mana!", "not-enough-mana"), - NOT_ENOUGH_STAMINA("You don't have enough stamina!", "not-enough-stamina"), - NOT_ENOUGH_ATTRIBUTE("You don't have enough #attribute#!", "cant-use-item"), - NOT_ENOUGH_PROFESSION("You don't have enough levels in #profession#!", "cant-use-item"), - UNIDENTIFIED_ITEM("You can't use an unidentified item!", "cant-use-item"), + // Item restrictions + NOT_ENOUGH_LEVELS("You don't have enough levels to use this item!", "cant-use-item"), + SOULBOUND_RESTRICTION("This item is linked to another player, you can't use it!", "cant-use-item"), + NOT_ENOUGH_PERMS("You don't have enough permissions to use this.", "cant-use-item"), + WRONG_CLASS("You don't have the right class!", "cant-use-item"), + NOT_ENOUGH_MANA("You don't have enough mana!", "not-enough-mana"), + NOT_ENOUGH_STAMINA("You don't have enough stamina!", "not-enough-stamina"), + NOT_ENOUGH_ATTRIBUTE("You don't have enough #attribute#!", "cant-use-item"), + NOT_ENOUGH_PROFESSION("You don't have enough levels in #profession#!", "cant-use-item"), + UNIDENTIFIED_ITEM("You can't use an unidentified item!", "cant-use-item"), - // Sustom durability - // ITEM_BROKE("Your #item#&c broke."), - ZERO_DURABILITY("This item is broken, you first need to repair it.", "item-break"), + // Sustom durability + // ITEM_BROKE("Your #item#&c broke."), + ZERO_DURABILITY("This item is broken, you first need to repair it.", "item-break"), - // Consumables & Gem stones - CANNOT_IDENTIFY_STACKED_ITEMS("You may only identify one item at a time."), - SUCCESSFULLY_IDENTIFIED("You successfully identified &6#item#&e."), - SUCCESSFULLY_DECONSTRUCTED("You successfully deconstructed &6#item#&e."), - GEM_STONE_APPLIED("You successfully applied &6#gem#&e onto your &6#item#&e."), - GEM_STONE_BROKE("Your gem stone &6#gem#&c broke while trying to apply it onto &6#item#&c."), - REPAIRED_ITEM("You successfully repaired &6#item#&e for &6#amount# &euses."), - SKIN_APPLIED("You successfully applied the skin onto your &6#item#&e!"), - SKIN_REMOVED("You successfully removed the skin from your &6#item#&e!"), - SKIN_BROKE("Your skin broke while trying to apply it onto your &6#item#&c."), - SKIN_REJECTED("A skin has already been applied onto your &6#item#&c!"), - SKIN_INCOMPATIBLE("This skin is not compatible with your &6#item#&c!"), - RANDOM_UNSOCKET_GEM_TOO_OLD("The gems have bonded strongly with your item. Cannot remove."), - RANDOM_UNSOCKET_SUCCESS("&aYou removed &3#gem# &afrom your &6#item#&a!"), + // Consumables & Gem stones + CANNOT_IDENTIFY_STACKED_ITEMS("You may only identify one item at a time."), + SUCCESSFULLY_IDENTIFIED("You successfully identified &6#item#&e."), + SUCCESSFULLY_DECONSTRUCTED("You successfully deconstructed &6#item#&e."), + GEM_STONE_APPLIED("You successfully applied &6#gem#&e onto your &6#item#&e."), + GEM_STONE_BROKE("Your gem stone &6#gem#&c broke while trying to apply it onto &6#item#&c."), + REPAIRED_ITEM("You successfully repaired &6#item#&e for &6#amount# &euses."), + SKIN_APPLIED("You successfully applied the skin onto your &6#item#&e!"), + SKIN_REMOVED("You successfully removed the skin from your &6#item#&e!"), + SKIN_BROKE("Your skin broke while trying to apply it onto your &6#item#&c."), + SKIN_REJECTED("A skin has already been applied onto your &6#item#&c!"), + SKIN_INCOMPATIBLE("This skin is not compatible with your &6#item#&c!"), + RANDOM_UNSOCKET_GEM_TOO_OLD("The gems have bonded strongly with your item. Cannot remove."), + RANDOM_UNSOCKET_SUCCESS("&aYou removed &3#gem# &afrom your &6#item#&a!"), - // Soulbound - CANT_BIND_ITEM("This item is currently linked to #player# by a Lvl #level# soulbound. You will have to break this soulbound first."), - NO_SOULBOUND("This item is not bound to anyone."), - CANT_BIND_STACKED("You can't bind stacked items."), - UNSUCCESSFUL_SOULBOUND("Your soulbound failed."), - UNSUCCESSFUL_SOULBOUND_BREAK("You couldn't break the soulbound."), - LOW_SOULBOUND_LEVEL("This item soulbound is Lvl #level#. You will need a higher soulbound level on your consumable to break this soulbound."), - SUCCESSFULLY_BIND_ITEM("You successfully applied a Lvl &6#level# &esoulbound to your &6#item#&e."), - SUCCESSFULLY_BREAK_BIND("You successfully broke the Lvl &6#level# &eitem soulbound!"), - SOULBOUND_ITEM_LORE("&4Linked to #player#//&4Lvl #level# Soulbound"), + // Soulbound + CANT_BIND_ITEM("This item is currently linked to #player# by a Lvl #level# soulbound. You will have to break this soulbound first."), + NO_SOULBOUND("This item is not bound to anyone."), + CANT_BIND_STACKED("You can't bind stacked items."), + UNSUCCESSFUL_SOULBOUND("Your soulbound failed."), + UNSUCCESSFUL_SOULBOUND_BREAK("You couldn't break the soulbound."), + LOW_SOULBOUND_LEVEL("This item soulbound is Lvl #level#. You will need a higher soulbound level on your consumable to break this soulbound."), + SUCCESSFULLY_BIND_ITEM("You successfully applied a Lvl &6#level# &esoulbound to your &6#item#&e."), + SUCCESSFULLY_BREAK_BIND("You successfully broke the Lvl &6#level# &eitem soulbound!"), + SOULBOUND_ITEM_LORE("&4Linked to #player#//&4Lvl #level# Soulbound"), - // Upgrade - CANT_UPGRADED_STACK("You can't upgrade stacked items."), - MAX_UPGRADES_HIT("This item cannot be upgraded anymore."), - UPGRADE_FAIL("Your upgrade failed and you lost your consumable."), - UPGRADE_FAIL_STATION("Your upgrade failed and you lost your materials."), - WRONG_UPGRADE_REFERENCE("You cannot upgrade this item with this consumable."), - UPGRADE_SUCCESS("You successfully upgraded your &6#item#&e!"), - NOT_HAVE_ITEM_UPGRADE("You don't have the item to upgrade!"), - UPGRADE_REQUIREMENT_SAFE_CHECK("You would not meet the upgraded item requirements."), - DEATH_DOWNGRADING("&cYour &6#item#&c got severely damaged that fight..."), + // Upgrade + CANT_UPGRADED_STACK("You can't upgrade stacked items."), + MAX_UPGRADES_HIT("This item cannot be upgraded anymore."), + UPGRADE_FAIL("Your upgrade failed and you lost your consumable."), + UPGRADE_FAIL_STATION("Your upgrade failed and you lost your materials."), + WRONG_UPGRADE_REFERENCE("You cannot upgrade this item with this consumable."), + UPGRADE_SUCCESS("You successfully upgraded your &6#item#&e!"), + NOT_HAVE_ITEM_UPGRADE("You don't have the item to upgrade!"), + UPGRADE_REQUIREMENT_SAFE_CHECK("You would not meet the upgraded item requirements."), + DEATH_DOWNGRADING("&cYour &6#item#&c got severely damaged that fight..."), - // Crafting stations - NOT_ENOUGH_MATERIALS("You do not have enough materials to craft this item."), - CONDITIONS_NOT_MET("You cannot craft this item."), - CRAFTING_CANCELED("You cancelled a crafting recipe."), - CRAFTING_QUEUE_FULL("The crafting queue is currently full."), - STATION_BIG_STACK("Amount Crafted: #size#"), - RECIPE_PREVIEW("Recipe Preview"), - UNABLE_TO_REPAIR("This item can't be repaired by this consumable!"), - ; + // Crafting stations + NOT_ENOUGH_MATERIALS("You do not have enough materials to craft this item."), + CONDITIONS_NOT_MET("You cannot craft this item."), + CRAFTING_CANCELED("You cancelled a crafting recipe."), + CRAFTING_QUEUE_FULL("The crafting queue is currently full."), + STATION_BIG_STACK("Amount Crafted: #size#"), + RECIPE_PREVIEW("Recipe Preview"), + UNABLE_TO_REPAIR("This item can't be repaired by this consumable!"), + ; - private final String defaultMessage, path, actionBarConfigPath; + private final String defaultMessage, path, actionBarConfigPath; - private Message(String defaultMessage, String actionBarConfigPath) { - this.defaultMessage = defaultMessage; - this.path = name().toLowerCase().replace("_", "-"); - this.actionBarConfigPath = actionBarConfigPath; - } + @NotNull + private String current; - private Message(String defaultMessage) { - this(defaultMessage, null); - } + private Message(String defaultMessage, String actionBarConfigPath) { + this.defaultMessage = defaultMessage; + this.current = defaultMessage; + this.path = name().toLowerCase().replace("_", "-"); + this.actionBarConfigPath = actionBarConfigPath; + } - public String getDefault() { - return defaultMessage; - } + private Message(String defaultMessage) { + this(defaultMessage, null); + } - public String getUpdated() { - return MMOItems.plugin.getLanguage().getMessage(path); - } + public String getDefault() { + return defaultMessage; + } - public boolean isActionBarMessage() { - return actionBarConfigPath != null; - } + public String getUpdated() { + return MythicLib.plugin.parseColors(current); + } - public String getActionBarConfigPath() { - return actionBarConfigPath; - } + public void setCurrent(@NotNull String str) { + this.current = Objects.requireNonNull(str); + } - @Deprecated - public String formatRaw(ChatColor prefix, String... toReplace) { - return format(prefix, toReplace).toString(); - } + public boolean isActionBarMessage() { + return actionBarConfigPath != null; + } - public FormattedMessage format(ChatColor prefix, String... toReplace) { - return new FormattedMessage(this).format(prefix, toReplace); - } + public String getActionBarConfigPath() { + return actionBarConfigPath; + } + + @Deprecated + public String formatRaw(ChatColor prefix, String... toReplace) { + return format(prefix, toReplace).toString(); + } + + public FormattedMessage format(ChatColor prefix, String... toReplace) { + return new FormattedMessage(this).format(prefix, toReplace); + } } \ No newline at end of file diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/listener/ItemUse.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/listener/ItemUse.java index 03f341ce..1ef9a575 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/listener/ItemUse.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/listener/ItemUse.java @@ -5,7 +5,7 @@ import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.event.PlayerAttackEvent; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.api.player.EquipmentSlot; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.MeleeAttackMetadata; import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.api.Type; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/manager/ConfigManager.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/manager/ConfigManager.java index 074d818b..438a8f54 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/manager/ConfigManager.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/manager/ConfigManager.java @@ -1,8 +1,6 @@ package net.Indyuce.mmoitems.manager; -import io.lumine.mythic.lib.MythicLib; import io.lumine.mythic.lib.UtilityMethods; -import io.lumine.mythic.lib.api.util.AltChar; import io.lumine.mythic.lib.skill.trigger.TriggerType; import net.Indyuce.mmoitems.MMOItems; import net.Indyuce.mmoitems.api.ConfigFile; @@ -11,13 +9,13 @@ import net.Indyuce.mmoitems.api.item.util.ConfigItem; import net.Indyuce.mmoitems.api.item.util.ConfigItems; import net.Indyuce.mmoitems.api.util.NumericStatFormula; import net.Indyuce.mmoitems.api.util.message.Message; -import net.Indyuce.mmoitems.skill.RegisteredSkill; import net.Indyuce.mmoitems.stat.GemUpgradeScaling; import net.Indyuce.mmoitems.stat.LuteAttackEffectStat.LuteAttackEffect; import net.Indyuce.mmoitems.stat.StaffSpiritStat.StaffSpirit; -import net.Indyuce.mmoitems.util.MMOUtils; +import net.Indyuce.mmoitems.util.LanguageFile; import org.bukkit.Material; import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.potion.PotionEffectType; import org.jetbrains.annotations.NotNull; @@ -25,18 +23,23 @@ import org.jetbrains.annotations.NotNull; import java.io.File; import java.io.IOException; import java.nio.file.Files; -import java.nio.file.StandardCopyOption; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; +import java.util.*; import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.logging.Level; +/** + * Handles configuration options and language. Since MMOItems 6.9+ + * language is handled by Crowdin which automatically pushes commits. + */ public class ConfigManager implements Reloadable { // cached config files - private ConfigFile abilities, loreFormat, messages, potionEffects, stats, attackEffects, dynLore; + private ConfigFile loreFormat, stats, dynLore; + + // Language + private final Map triggerTypeNames = new HashMap<>(); + private final Map potionNames = new HashMap<>(); // Cached config options public boolean replaceMushroomDrops, worldGenEnabled, upgradeRequirementsCheck, keepSoulboundOnDeath, rerollOnItemUpdate, opStatsEnabled; @@ -46,9 +49,6 @@ public class ConfigManager implements Reloadable { public ReforgeOptions revisionOptions, phatLootsOptions; public final List opStats = new ArrayList<>(); - private static final String[] fileNames = {"abilities", "messages", "potion-effects", "stats", "items", "attack-effects"}; - private static final String[] languages = {"french", "chinese", "spanish", "russian", "polish"}; - public ConfigManager() { mkdir("layouts"); mkdir("item"); @@ -74,24 +74,6 @@ public class ConfigManager implements Reloadable { } else MMOItems.plugin.getLogger().log(Level.WARNING, "Could not create directory!"); } - // Setup non existing language files - for (String language : languages) { - File languageFolder = new File(MMOItems.plugin.getDataFolder() + "/language/" + language); - if (!languageFolder.exists()) - if (languageFolder.mkdir()) { - for (String fileName : fileNames) - if (!new File(MMOItems.plugin.getDataFolder() + "/language/" + language, fileName + ".yml").exists()) { - try { - Files.copy(MMOItems.plugin.getResource("language/" + language + "/" + fileName + ".yml"), - new File(MMOItems.plugin.getDataFolder() + "/language/" + language, fileName + ".yml").getAbsoluteFile().toPath(), - StandardCopyOption.REPLACE_EXISTING); - } catch (IOException e) { - e.printStackTrace(); - } - } - } else MMOItems.plugin.getLogger().log(Level.WARNING, "Could not load default crafting stations."); - } - // Load files with default configuration for (DefaultFile file : DefaultFile.values()) if (file.isAutomatic()) @@ -103,6 +85,24 @@ public class ConfigManager implements Reloadable { */ MMOItems.plugin.getTypes().getAll().forEach(type -> type.getConfigFile().setup()); + /* + * Only load config files after they have been initialized (above) so + * they do not crash the first time they generate and so we do not have + * to restart the server + */ + reload(); + } + + /** + * This does both: + * - check that all fields are input in the config file + * - loads fields that it could find into MMOItems + *

+ * These two steps are necessary for smooth language updates + */ + private void loadTranslations() { + + // TODO items ConfigFile items = new ConfigFile("/language", "items"); for (ConfigItem item : ConfigItems.values) { if (!items.getConfig().contains(item.getId())) { @@ -113,74 +113,51 @@ public class ConfigManager implements Reloadable { } items.save(); - ConfigFile messages = new ConfigFile("/language", "messages"); + // TODO messages + final LanguageFile messages = new LanguageFile("messages"); for (Message message : Message.values()) { String path = message.name().toLowerCase().replace("_", "-"); if (!messages.getConfig().contains(path)) messages.getConfig().set(path, message.getDefault()); + } messages.save(); - ConfigFile abilities = new ConfigFile("/language", "abilities"); - for (RegisteredSkill ability : MMOItems.plugin.getSkills().getAll()) { - String path = ability.getHandler().getLowerCaseId(); - if (!abilities.getConfig().getKeys(true).contains("ability." + path)) - abilities.getConfig().set("ability." + path, ability.getName()); - - for (String modifier : ability.getHandler().getModifiers()) - if (!abilities.getConfig().getKeys(true).contains("modifier." + modifier)) - abilities.getConfig().set("modifier." + modifier, MMOUtils.caseOnWords(modifier.replace("-", " "))); - } - for (TriggerType mode : TriggerType.values()) - if (!abilities.getConfig().contains("cast-mode." + mode.getLowerCaseId())) - abilities.getConfig().set("cast-mode." + mode.getLowerCaseId(), mode.getName()); - abilities.save(); - - ConfigFile potionEffects = new ConfigFile("/language", "potion-effects"); - for (PotionEffectType effect : PotionEffectType.values()) { - if (effect == null) - continue; - - String path = effect.getName().toLowerCase().replace("_", "-"); - if (!potionEffects.getConfig().contains(path)) - potionEffects.getConfig().set(path, MMOUtils.caseOnWords(effect.getName().toLowerCase().replace("_", " "))); - } - + // Potion effects + final LanguageFile potionEffects = new LanguageFile("potion-effects"); + for (PotionEffectType effect : PotionEffectType.values()) + potionNames.put(effect, potionEffects.computeTranslation(effect.getName().toLowerCase().replace("_", "-"), + () -> UtilityMethods.caseOnWords(effect.getName().toLowerCase().replace("_", " ")))); potionEffects.save(); - ConfigFile attackEffects = new ConfigFile("/language", "attack-effects"); - for (StaffSpirit spirit : StaffSpirit.values()) { - String path = spirit.name().toLowerCase().replace("_", "-"); - if (!attackEffects.getConfig().contains("staff-spirit." + path)) - attackEffects.getConfig().set("staff-spirit." + path, "&7" + AltChar.listSquare + " " + spirit.getDefaultName()); - } + // Staff spirits + final LanguageFile attackEffects = new LanguageFile("attack-effects"); + for (StaffSpirit sp : StaffSpirit.values()) + sp.setName(attackEffects.computeTranslation("staff-spirit." + sp.name().toLowerCase().replace("_", "-"), + () -> UtilityMethods.caseOnWords(sp.name().toLowerCase().replace("_", " ")))); - for (LuteAttackEffect effect : LuteAttackEffect.values()) { - String path = effect.name().toLowerCase().replace("_", "-"); - if (!attackEffects.getConfig().contains("lute-attack." + path)) - attackEffects.getConfig().set("lute-attack." + path, "&7" + AltChar.listSquare + " " + effect.getDefaultName() + " Attacks"); - } + // Lute attack effects + for (LuteAttackEffect eff : LuteAttackEffect.values()) + eff.setName(attackEffects.computeTranslation("lute-attack." + eff.name().toLowerCase().replace("_", "-"), + () -> UtilityMethods.caseOnWords(eff.name().toLowerCase().replace("_", " ")))); attackEffects.save(); - /* - * Only load config files after they have been initialized (above) so - * they do not crash the first time they generate and so we do not have - * to restart the server - */ - reload(); + // Trigger types + triggerTypeNames.clear(); + final FileConfiguration abilities = new ConfigFile("/language", "abilities").getConfig(); + for (TriggerType type : TriggerType.values()) + triggerTypeNames.put(type, abilities.getString("cast-mode." + type.getLowerCaseId(), type.getName())); } public void reload() { MMOItems.plugin.reloadConfig(); - abilities = new ConfigFile("/language", "abilities"); loreFormat = new ConfigFile("/language", "lore-format"); - messages = new ConfigFile("/language", "messages"); - potionEffects = new ConfigFile("/language", "potion-effects"); stats = new ConfigFile("/language", "stats"); - attackEffects = new ConfigFile("/language", "attack-effects"); dynLore = new ConfigFile("/language", "dynamic-lore"); + loadTranslations(); + /* * Reload cached config options for quicker access - these options are * used in runnables, it is thus better to cache them @@ -221,7 +198,7 @@ public class ConfigManager implements Reloadable { + exception.getMessage()); } - ConfigFile items = new ConfigFile("/language", "items"); + final ConfigFile items = new ConfigFile("/language", "items"); for (ConfigItem item : ConfigItems.values) item.update(items.getConfig().getConfigurationSection(item.getId())); } @@ -240,38 +217,39 @@ public class ConfigManager implements Reloadable { return found == null ? "" : found; } - @NotNull + @Deprecated public String getMessage(String path) { - String found = messages.getConfig().getString(path); - return MythicLib.plugin.parseColors(found == null ? "" : found); + return Message.valueOf(UtilityMethods.enumName(path)).getUpdated(); } @NotNull - public String getCastingModeName(@NotNull TriggerType mode) { - return abilities.getConfig().getString("cast-mode." + mode.getLowerCaseId(), mode.name()); + public String getCastingModeName(@NotNull TriggerType triggerType) { + return Objects.requireNonNull(triggerTypeNames.get(triggerType), "Trigger type name for '" + triggerType.name() + "' not found"); } - - @Deprecated public String getModifierName(String path) { - return abilities.getConfig().getString("modifier." + path); + return UtilityMethods.caseOnWords(path.toLowerCase().replace("-", " ").replace("_", " ")); } + @NotNull public List getDefaultLoreFormat() { return loreFormat.getConfig().getStringList("lore-format"); } + @NotNull public String getPotionEffectName(PotionEffectType type) { - return potionEffects.getConfig().getString(type.getName().toLowerCase().replace("_", "-")); + return Objects.requireNonNull(potionNames.get(type), "Potion effect name for '" + type.getName() + "' not found"); } + @Deprecated public String getLuteAttackEffectName(LuteAttackEffect effect) { - return attackEffects.getConfig().getString("lute-attack." + effect.name().toLowerCase().replace("_", "-")); + return effect.getName(); } + @Deprecated public String getStaffSpiritName(StaffSpirit spirit) { - return attackEffects.getConfig().getString("staff-spirit." + spirit.name().toLowerCase().replace("_", "-")); + return spirit.getName(); } /** @@ -295,9 +273,10 @@ public class ConfigManager implements Reloadable { MMOItems.plugin.getLogger().log(Level.WARNING, "Could not create directory!"); } - /* - * All config files that have a default configuration are stored here, they - * get copied into the plugin folder when the plugin enables + /** + * All config files that have a default configuration + * are stored here, they get copied into the plugin + * folder when the plugin enables. */ public enum DefaultFile { @@ -311,8 +290,14 @@ public class ConfigManager implements Reloadable { EXAMPLE_MODIFIERS("modifiers", "example-modifiers"), CUSTOM_STATS("", "custom-stats"), - // Default language files -> /MMOItems/language + // Default EN language files + ABILITIES("language", "abilities"), + ATTACK_EFFECTS("language", "attack-effects"), + CRAFTING_STATIONS("language", "crafting-stations"), + ITEMS("language", "items"), LORE_FORMAT("language", "lore-format"), + MESSAGES("language", "messages"), + POTION_EFFECTS("language", "potion-effects"), STATS("language", "stats"), // Station layouts diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/skill/ShulkerMissile.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/skill/ShulkerMissile.java index fa916056..ed71d4d7 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/skill/ShulkerMissile.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/skill/ShulkerMissile.java @@ -2,7 +2,7 @@ package net.Indyuce.mmoitems.skill; import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.NBTItem; -import io.lumine.mythic.lib.comp.target.InteractionType; +import io.lumine.mythic.lib.comp.interaction.InteractionType; import io.lumine.mythic.lib.damage.DamageMetadata; import io.lumine.mythic.lib.damage.DamageType; import io.lumine.mythic.lib.player.PlayerMetadata; diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/stat/LuteAttackEffectStat.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/stat/LuteAttackEffectStat.java index ad6d5a1d..edbaf806 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/stat/LuteAttackEffectStat.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/stat/LuteAttackEffectStat.java @@ -1,5 +1,6 @@ package net.Indyuce.mmoitems.stat; +import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.ItemTag; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.version.VersionMaterial; @@ -12,10 +13,13 @@ import net.Indyuce.mmoitems.stat.data.StringData; import net.Indyuce.mmoitems.stat.data.type.StatData; import net.Indyuce.mmoitems.stat.type.GemStoneStat; import net.Indyuce.mmoitems.stat.type.StringStat; +import org.bukkit.configuration.ConfigurationSection; import org.bukkit.event.inventory.InventoryAction; import org.bukkit.event.inventory.InventoryClickEvent; import org.jetbrains.annotations.NotNull; +import java.util.Objects; + public class LuteAttackEffectStat extends StringStat implements GemStoneStat { public LuteAttackEffectStat() { super("LUTE_ATTACK_EFFECT", VersionMaterial.DIAMOND_HORSE_ARMOR.toMaterial(), "Lute Attack Effect", @@ -37,7 +41,7 @@ public class LuteAttackEffectStat extends StringStat implements GemStoneStat { LuteAttackEffect effect = LuteAttackEffect.valueOf(message.toUpperCase().replace(" ", "_").replace("-", "_")); inv.getEditedSection().set("lute-attack-effect", effect.name()); inv.registerTemplateEdition(); - inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Lute attack effect successfully changed to " + effect.getDefaultName() + "."); + inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Lute attack effect successfully changed to " + effect.getName() + "."); } @Override @@ -56,6 +60,9 @@ public class LuteAttackEffectStat extends StringStat implements GemStoneStat { private final LuteAttackHandler handler; + @NotNull + private String name = UtilityMethods.caseOnWords(name().toLowerCase().replace("_", " ")); + LuteAttackEffect(LuteAttackHandler handler) { this.handler = handler; } @@ -64,12 +71,17 @@ public class LuteAttackEffectStat extends StringStat implements GemStoneStat { return handler; } + @Deprecated public String getDefaultName() { return name().charAt(0) + name().substring(1).toLowerCase(); } public String getName() { - return MMOItems.plugin.getLanguage().getLuteAttackEffectName(this); + return name; + } + + public void setName(@NotNull String str) { + this.name = Objects.requireNonNull(str); } public static LuteAttackEffect get(NBTItem item) { diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/stat/StaffSpiritStat.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/stat/StaffSpiritStat.java index f32c00df..04d2ffa7 100644 --- a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/stat/StaffSpiritStat.java +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/stat/StaffSpiritStat.java @@ -1,5 +1,6 @@ package net.Indyuce.mmoitems.stat; +import io.lumine.mythic.lib.UtilityMethods; import io.lumine.mythic.lib.api.item.ItemTag; import io.lumine.mythic.lib.api.item.NBTItem; import io.lumine.mythic.lib.version.VersionMaterial; @@ -10,80 +11,84 @@ import net.Indyuce.mmoitems.gui.edition.EditionInventory; import net.Indyuce.mmoitems.stat.data.StringData; import net.Indyuce.mmoitems.stat.type.StringStat; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class StaffSpiritStat extends StringStat { - public StaffSpiritStat() { - super("STAFF_SPIRIT", VersionMaterial.BONE_MEAL.toMaterial(), "Staff Spirit", - new String[] { "Spirit changes the texture", "of the magic attack.", "&9Tip: /mi list spirit" }, new String[] { "staff", "wand" }); - } + public StaffSpiritStat() { + super("STAFF_SPIRIT", VersionMaterial.BONE_MEAL.toMaterial(), "Staff Spirit", + new String[]{"Spirit changes the texture", "of the magic attack.", "&9Tip: /mi list spirit"}, new String[]{"staff", "wand"}); + } - @Override - public void whenInput(@NotNull EditionInventory inv, @NotNull String message, Object... info) { - try { - StaffSpirit spirit = StaffSpirit.valueOf(message.toUpperCase().replace(" ", "_").replace("-", "_")); - inv.getEditedSection().set("staff-spirit", spirit.name()); - inv.registerTemplateEdition(); - inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Staff Spirit successfully changed to " + spirit.getName() + "."); - } catch (IllegalArgumentException exception) { - throw new IllegalArgumentException(exception.getMessage() + " (See all Staff Spirits here: /mi list spirit)."); - } - } + @Override + public void whenInput(@NotNull EditionInventory inv, @NotNull String message, Object... info) { + try { + StaffSpirit spirit = StaffSpirit.valueOf(message.toUpperCase().replace(" ", "_").replace("-", "_")); + inv.getEditedSection().set("staff-spirit", spirit.name()); + inv.registerTemplateEdition(); + inv.getPlayer().sendMessage(MMOItems.plugin.getPrefix() + "Staff Spirit successfully changed to " + spirit.getName() + "."); + } catch (IllegalArgumentException exception) { + throw new IllegalArgumentException(exception.getMessage() + " (See all Staff Spirits here: /mi list spirit)."); + } + } - @Override - public void whenApplied(@NotNull ItemStackBuilder item, @NotNull StringData data) { - StaffSpirit staffSpirit = StaffSpirit.valueOf(data.toString().toUpperCase().replace(" ", "_").replace("-", "_")); - item.addItemTag(new ItemTag("MMOITEMS_STAFF_SPIRIT", staffSpirit.name())); - item.getLore().insert("staff-spirit", staffSpirit.getName()); - } + @Override + public void whenApplied(@NotNull ItemStackBuilder item, @NotNull StringData data) { + StaffSpirit staffSpirit = StaffSpirit.valueOf(data.toString().toUpperCase().replace(" ", "_").replace("-", "_")); + item.addItemTag(new ItemTag("MMOITEMS_STAFF_SPIRIT", staffSpirit.name())); + item.getLore().insert("staff-spirit", staffSpirit.getName()); + } - public enum StaffSpirit { - NETHER_SPIRIT("Nether Spirit", "Shoots fire beams.", new NetherSpirit()), - VOID_SPIRIT("Void Spirit", "Shoots shulker missiles.", new VoidSpirit()), - MANA_SPIRIT("Mana Spirit", "Summons mana bolts.", new ManaSpirit()), - LIGHTNING_SPIRIT("Lightning Spirit", "Summons lightning bolts.", new LightningSpirit()), - XRAY_SPIRIT("X-Ray Spirit", "Fires piercing & powerful X-rays.", new XRaySpirit()), - THUNDER_SPIRIT("Thunder Spirit", "Fires AoE damaging thunder strikes.", new ThunderSpirit()), - SUNFIRE_SPIRIT("Sunfire Spirit", "Fires AoE damaging fire comets.", new SunfireSpirit()), - // CURSED_SPIRIT(ChatColor.DARK_PURPLE, "Cursed Spirit", "Fires a - // targeted cursed projectile."), new CursedSpirit()), - ; + public enum StaffSpirit { + NETHER_SPIRIT("Shoots fire beams.", new NetherSpirit()), + VOID_SPIRIT("Shoots shulker missiles.", new VoidSpirit()), + MANA_SPIRIT("Summons mana bolts.", new ManaSpirit()), + LIGHTNING_SPIRIT("Summons lightning bolts.", new LightningSpirit()), + XRAY_SPIRIT("Fires piercing & powerful X-rays.", new XRaySpirit()), + THUNDER_SPIRIT("Fires AoE damaging thunder strikes.", new ThunderSpirit()), + SUNFIRE_SPIRIT("Fires AoE damaging fire comets.", new SunfireSpirit()), + // CURSED_SPIRIT(ChatColor.DARK_PURPLE, "Cursed Spirit", "Fires a + // targeted cursed projectile."), new CursedSpirit()), + ; - private final String name, defaultLore; - private final StaffAttackHandler handler; + private final String defaultLore; + private final StaffAttackHandler handler; - StaffSpirit(String name, String defaultLore, StaffAttackHandler handler) { - this.name = name; - this.defaultLore = defaultLore; - this.handler = handler; - } + @NotNull + private String name = UtilityMethods.caseOnWords(name().toLowerCase().replace("_", " ")); - public static StaffSpirit get(NBTItem item) { - try { - return StaffSpirit.valueOf(item.getString("MMOITEMS_STAFF_SPIRIT")); - } catch (Exception e) { - return null; - } - } + StaffSpirit(String description, StaffAttackHandler handler) { + this.defaultLore = description; + this.handler = handler; + } - public String getDefaultName() { - return name; - } + @Nullable + public static StaffSpirit get(NBTItem item) { + try { + return StaffSpirit.valueOf(item.getString("MMOITEMS_STAFF_SPIRIT")); + } catch (Exception e) { + return null; + } + } - public String getName() { - return MMOItems.plugin.getLanguage().getStaffSpiritName(this); - } + public String getName() { + return name; + } - public boolean hasLore() { - return defaultLore != null; - } + public boolean hasLore() { + return defaultLore != null; + } - public String getDefaultLore() { - return defaultLore; - } + public String getDefaultLore() { + return defaultLore; + } - public StaffAttackHandler getAttack() { - return handler; - } - } + public StaffAttackHandler getAttack() { + return handler; + } + + public void setName(String str) { + this.name = str; + } + } } diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/util/LanguageFile.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/util/LanguageFile.java new file mode 100644 index 00000000..2324850e --- /dev/null +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/util/LanguageFile.java @@ -0,0 +1,42 @@ +package net.Indyuce.mmoitems.util; + +import net.Indyuce.mmoitems.MMOItems; +import net.Indyuce.mmoitems.api.ConfigFile; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.logging.Level; + +/** + * Util class to make sure language files are up to date + * + * @author jules + */ +public class LanguageFile extends ConfigFile { + private boolean change; + + public LanguageFile(String name) { + super(MMOItems.plugin, "/language", name); + } + + @NotNull + public String computeTranslation(String path, Provider defaultTranslation) { + @Nullable String found = getConfig().getString(path); + if (found == null) { + change = true; + getConfig().set(path, found = defaultTranslation.get()); + MMOItems.plugin.getLogger().log(Level.INFO, "Could not find translation for '" + path + "', generating it"); + } + + return found; + } + + /** + * Only saves if changes have been detected. + */ + @Override + public void save() { + if (change) + super.save(); + } +} diff --git a/MMOItems-API/src/main/java/net/Indyuce/mmoitems/util/Provider.java b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/util/Provider.java new file mode 100644 index 00000000..ba74cddb --- /dev/null +++ b/MMOItems-API/src/main/java/net/Indyuce/mmoitems/util/Provider.java @@ -0,0 +1,6 @@ +package net.Indyuce.mmoitems.util; + +@FunctionalInterface +public interface Provider { + T get(); +} diff --git a/MMOItems-Dist/src/main/resources/default/language/abilities.yml b/MMOItems-Dist/src/main/resources/default/language/abilities.yml new file mode 100644 index 00000000..ef8efc9b --- /dev/null +++ b/MMOItems-Dist/src/main/resources/default/language/abilities.yml @@ -0,0 +1,23 @@ +cast-mode: + cast: Cast + shoot-bow: Shoot Bow + shoot-trident: Shoot Trident + sneak: Sneak + shift-left-click: Shift Left Click + arrow-tick: Arrow Tick + timer: Timer + death: Death + trident-land: Trident Land + arrow-land: Arrow Land + trident-tick: Trident Tick + kill-entity: Kill Entity + right-click: Right Click + attack: Attack + arrow-hit: Arrow Hit + login: Login + api: Api + damaged: Damaged + left-click: Left Click + trident-hit: Trident Hit + damaged-by-entity: Damaged By Entity + shift-right-click: Shift Right Click diff --git a/MMOItems-Dist/src/main/resources/default/language/crafting-stations.yml b/MMOItems-Dist/src/main/resources/default/language/crafting-stations.yml new file mode 100644 index 00000000..58b423ff --- /dev/null +++ b/MMOItems-Dist/src/main/resources/default/language/crafting-stations.yml @@ -0,0 +1,41 @@ +condition: + profession: + positive: '&a✔ Requires #level# in #profession#' + negative: '&c✖ Requires #level# in #profession#' + mana: + positive: '&a✔ Requires #mana# Mana' + negative: '&c✖ Requires #mana# Mana' + money: + positive: '&a✔ Requires $#money#' + negative: '&c✖ Requires $#money#' + level: + positive: '&a✔ Requires Level #level#' + negative: '&c✖ Requires Level #level#' + stellium: + positive: '&a✔ Requires #stellium# Stellium' + negative: '&c✖ Requires #stellium# Stellium' + stamina: + positive: '&a✔ Requires #stamina# Stamina' + negative: '&c✖ Requires #stamina# Stamina' + permission: + positive: '&a✔ #display#' + negative: '&c✖ #display#' + placeholder: + positive: '&a✔ #display#' + negative: '&c✖ #display#' + attribute: + positive: '&a✔ Requires #points# #attribute#' + negative: '&c✖ Requires #points# #attribute#' + class: + positive: '&a✔ Required Class: #class#' + negative: '&c✖ Required Class: #class#' + food: + positive: '&a✔ Requires #food# Food' + negative: '&c✖ Requires #food# Food' +ingredient: + mmoitem: + positive: '&8✔ &7#amount# #level##item#' + negative: '&c✖ &7#amount# #level##item#' + vanilla: + positive: '&8✔ &7#amount# #item#' + negative: '&c✖ &7#amount# #item#' diff --git a/MMOItems-Dist/src/main/resources/default/language/items.yml b/MMOItems-Dist/src/main/resources/default/language/items.yml new file mode 100644 index 00000000..8d5c9acb --- /dev/null +++ b/MMOItems-Dist/src/main/resources/default/language/items.yml @@ -0,0 +1,55 @@ +CONFIRM: + name: '&aConfirm' + lore: [] +FILL: + name: '&8' + lore: [] +PREVIOUS_PAGE: + name: '&aPrevious Page' + lore: [] +NEXT_PAGE: + name: '&aNext Page' + lore: [] +PREVIOUS_IN_QUEUE: + name: '&aPrevious' + lore: [] +NEXT_IN_QUEUE: + name: '&aNext' + lore: [] +BACK: + name: '&aBack' + lore: [] +CRAFTING_RECIPE_DISPLAY: + name: '&a&lCraft&f #name#' + lore: + - '{conditions}' + - '{conditions}&8Conditions:' + - '{crafting_time}' + - '{crafting_time}&7Crafting Time: &c#crafting-time#&7s' + - '' + - '&8Ingredients:' + - '#ingredients#' + - '' + - '&eLeft-Click to craft!' + - '&eRight-Click to preview!' +UPGRADING_RECIPE_DISPLAY: + name: '&e&lUpgrade&f #name#' + lore: + - '{conditions}' + - '{conditions}&8Conditions:' + - '' + - '&8Ingredients:' + - '#ingredients#' + - '' + - '&eLeft-Click to craft!' + - '&eRight-Click to preview!' +QUEUE_ITEM_DISPLAY: + name: '&6&lQueue&f #name#' + lore: + - '{ready}&7&oThis item was successfully crafted.' + - '{queue}&7&oThis item is in the crafting queue.' + - '{queue}' + - '{queue}&7Time Left: &c#left#' + - '' + - '{ready}&eClick to claim!' + - '{queue}&eClick to cancel.' diff --git a/MMOItems-Dist/src/main/resources/default/language/messages.yml b/MMOItems-Dist/src/main/resources/default/language/messages.yml new file mode 100644 index 00000000..19912bc7 --- /dev/null +++ b/MMOItems-Dist/src/main/resources/default/language/messages.yml @@ -0,0 +1,53 @@ +received-item: 'You received &6#item#&e#amount#.' +hands-too-charged: 'You can''t do anything, your hands are too charged.' +spell-on-cooldown: '#progress# &eYou must wait #left# second#s# before casting this spell.' +item-on-cooldown: 'This item is on cooldown! Please wait #left# second#s#.' +not-enough-perms-command: 'You don''t have enough permissions.' +not-enough-levels: 'You don''t have enough levels to use this item!' +soulbound-restriction: 'This item is linked to another player, you can''t use it!' +not-enough-perms: 'You don''t have enough permissions to use this.' +wrong-class: 'You don''t have the right class!' +not-enough-mana: 'You don''t have enough mana!' +not-enough-stamina: 'You don''t have enough stamina!' +not-enough-attribute: 'You don''t have enough #attribute#!' +not-enough-profession: 'You don''t have enough levels in #profession#!' +unidentified-item: 'You can''t use an unidentified item!' +zero-durability: 'This item is broken, you first need to repair it.' +cannot-identify-stacked-items: 'You may only identify one item at a time.' +successfully-identified: 'You successfully identified &6#item#&e.' +successfully-deconstructed: 'You successfully deconstructed &6#item#&e.' +gem-stone-applied: 'You successfully applied &6#gem#&e onto your &6#item#&e.' +gem-stone-broke: 'Your gem stone &6#gem#&c broke while trying to apply it onto &6#item#&c.' +repaired-item: 'You successfully repaired &6#item#&e for &6#amount# &euses.' +skin-applied: 'You successfully applied the skin onto your &6#item#&e!' +skin-removed: 'You successfully removed the skin from your &6#item#&e!' +skin-broke: 'Your skin broke while trying to apply it onto your &6#item#&c.' +skin-rejected: 'A skin has already been applied onto your &6#item#&c!' +skin-incompatible: 'This skin is not compatible with your &6#item#&c!' +random-unsocket-gem-too-old: 'The gems have bonded strongly with your item. Cannot remove.' +random-unsocket-success: '&aYou removed &3#gem# &afrom your &6#item#&a!' +cant-bind-item: 'This item is currently linked to #player# by a Lvl #level# soulbound. You will have to break this soulbound first.' +no-soulbound: 'This item is not bound to anyone.' +cant-bind-stacked: 'You can''t bind stacked items.' +unsuccessful-soulbound: 'Your soulbound failed.' +unsuccessful-soulbound-break: 'You couldn''t break the soulbound.' +low-soulbound-level: 'This item soulbound is Lvl #level#. You will need a higher soulbound level on your consumable to break this soulbound.' +successfully-bind-item: 'You successfully applied a Lvl &6#level# &esoulbound to your &6#item#&e.' +successfully-break-bind: 'You successfully broke the Lvl &6#level# &eitem soulbound!' +soulbound-item-lore: '&4Linked to #player#//&4Lvl #level# Soulbound' +cant-upgraded-stack: 'You can''t upgrade stacked items.' +max-upgrades-hit: 'This item cannot be upgraded anymore.' +upgrade-fail: 'Your upgrade failed and you lost your consumable.' +upgrade-fail-station: 'Your upgrade failed and you lost your materials.' +wrong-upgrade-reference: 'You cannot upgrade this item with this consumable.' +upgrade-success: 'You successfully upgraded your &6#item#&e!' +not-have-item-upgrade: 'You don''t have the item to upgrade!' +upgrade-requirement-safe-check: 'You would not meet the upgraded item requirements.' +death-downgrading: '&cYour &6#item#&c got severely damaged that fight...' +not-enough-materials: 'You do not have enough materials to craft this item.' +conditions-not-met: 'You cannot craft this item.' +crafting-canceled: 'You cancelled a crafting recipe.' +crafting-queue-full: 'The crafting queue is currently full.' +station-big-stack: 'Amount Crafted: #size#' +recipe-preview: 'Recipe Preview' +unable-to-repair: 'This item can''t be repaired by this consumable!' diff --git a/MMOItems-Dist/src/main/resources/default/language/potion-effects.yml b/MMOItems-Dist/src/main/resources/default/language/potion-effects.yml new file mode 100644 index 00000000..8f623a06 --- /dev/null +++ b/MMOItems-Dist/src/main/resources/default/language/potion-effects.yml @@ -0,0 +1,33 @@ +speed: Speed +slow: Slow +fast-digging: Fast Digging +slow-digging: Slow Digging +increase-damage: Increase Damage +heal: Heal +harm: Harm +jump: Jump +confusion: Confusion +regeneration: Regeneration +damage-resistance: Damage Resistance +fire-resistance: Fire Resistance +water-breathing: Water Breathing +invisibility: Invisibility +blindness: Blindness +night-vision: Night Vision +hunger: Hunger +weakness: Weakness +poison: Poison +wither: Wither +health-boost: Health Boost +absorption: Absorption +saturation: Saturation +glowing: Glowing +levitation: Levitation +luck: Luck +unluck: Unluck +slow-falling: Slow Falling +conduit-power: Conduit Power +dolphins-grace: Dolphins Grace +bad-omen: Bad Omen +hero-of-the-village: Hero Of The Village +darkness: Darkness diff --git a/MMOItems-Dist/src/main/resources/language/chinese/abilities.yml b/MMOItems-Dist/src/main/resources/language/chinese/abilities.yml deleted file mode 100644 index 62ad55ca..00000000 --- a/MMOItems-Dist/src/main/resources/language/chinese/abilities.yml +++ /dev/null @@ -1,97 +0,0 @@ -# Translated by TUCAOEVER -# Data: 10-13-2018 - -ability: - shulker-missile: 武装导弹 - overload: 强制过载 - magical-shield: 法力护盾 - heal: 细胞再生 - fire-meteor: 火球术 - leap: 撤离 - light-dash: 急袭 - burn: 点燃 - starfall: 流星陨落 - wither: 凋零 - vampirism: 吸血 - shockwave: 震荡 - sparkle: 神明之力 - smite: 重击 - corrupt: 腐蚀 - tnt-throw: TNT 投掷 - arcane-hail: 绝对领域 - grand-heal: 生命之树 - firebolt: 烈焰光束 - magical-path: 法术之翼 - earthquake: 地震 - stun: 昏迷 - swiftness: 迅捷 - holy-missile: 上帝审判 - black-hole: 黑洞 - slow: 减速 - circular-slash: 死亡之眼 - cursed-beam: 诅咒光束 - thrust: 穿透 - heavy-charge: 无畏冲锋 - item-throw: 物品投掷 - corrupted-fangs: 腐蚀之牙 - ice-crystal: 冰霜结晶 - blind: 失明 - shock: 震撼 - shadow-veil: 铁幕 - poison: 中毒 - lightning-beam: 祝福光束 - blink: 闪现 - sky-smash: 击飞 - bloodbath: 血祭 - confuse: 眩晕 - bouncy-fireball: 弹射火球 - burning-hands: 烈焰护符 - throw-up: 投掷 - frog-mode: 青蛙模式 - death-mark: 死亡标记 - life-ender: 生命伴侣 - freezing-curse: 寒冰诅咒 - firefly: 萤火 - bunny-mode: 兔子模式 - item-bomb: 物品爆炸 - freeze: Freeze - blizzard: Blizzard - tactical-grenade: Tactical Grenade - ignite: Ignite - rain-of-arrows: Rain of Arrows - eggpocalypse: Eggpocalypse - minor-explosion: Minor Explosion - regen-ally: Regen Ally - contamination: Contamination - corrosion: Corrosion - weaken-target: Weaken Target - chicken-wraith: Chicken Wraith - targeted-fireball: Targeted Fireball - magma-fissure: Magma Fissure -modifier: - duration: 持续时间 - damage: 伤害 - mana: 法力消耗 - stamina: 体力消耗 - cooldown: 冷却时间 - effect-duration: 效果持续时间 - radius: 半径 - power: 伤害加成 - heal: 生命 - knockback: 击退 - force: 影响 - length: 距离 - amplifier: 增益 - drain: 磨损 - knock-up: 唤醒 - limit: 限制 - ignite: 点燃 - range: 范围 - amount: 数量 - speed: 速度 - jump-force: 强制跳跃 - slow-amplifier: 减速等级 - slow-duration: 减速持续时间 - inaccuracy: Inaccuracy - max-ignite: Max Ignite - extra-damage: Extra Damage diff --git a/MMOItems-Dist/src/main/resources/language/chinese/crafting-stations.yml b/MMOItems-Dist/src/main/resources/language/chinese/crafting-stations.yml deleted file mode 100644 index 6e8c31ef..00000000 --- a/MMOItems-Dist/src/main/resources/language/chinese/crafting-stations.yml +++ /dev/null @@ -1,23 +0,0 @@ -condition: - stamina: - positive: '&a✔ Requires #stamina# Stamina' - negative: '&c✖ Requires #stamina# Stamina' - level: - positive: '&a✔ Requires Level #level#' - negative: '&c✖ Requires Level #level#' - mana: - positive: '&a✔ Requires #mana# Mana' - negative: '&c✖ Requires #mana# Mana' - class: - positive: '&a✔ Required Class: #class#' - negative: '&c✖ Required Class: #class#' - food: - positive: '&a✔ Requires #food# Food' - negative: '&c✖ Requires #food# Food' -ingredient: - mmoitem: - positive: '&8✔ &7#amount# #item#' - negative: '&c✖ &7#amount# #item#' - vanilla: - positive: '&8✔ &7#amount# #item#' - negative: '&c✖ &7#amount# #item#' diff --git a/MMOItems-Dist/src/main/resources/language/chinese/items.yml b/MMOItems-Dist/src/main/resources/language/chinese/items.yml deleted file mode 100644 index 43f856d7..00000000 --- a/MMOItems-Dist/src/main/resources/language/chinese/items.yml +++ /dev/null @@ -1,20 +0,0 @@ -UNIDENTIFIED_ITEM: - name: '&kUnidentified' - lore: - - '&e&oThis item is &c&o&nunidentified&e&o.' - - '&e&oI''ll have to find a way to identify this.' -BACK: - name: Back - lore: [] -NEXT_PAGE: - name: Next Page - lore: [] -PREVIOUS_PAGE: - name: Previous Page - lore: [] -NO_ITEM: - name: '- No Item -' - lore: [] -NO_GEM_STONE: - name: '- Empty Gem Socket -' - lore: [] diff --git a/MMOItems-Dist/src/main/resources/language/chinese/messages.yml b/MMOItems-Dist/src/main/resources/language/chinese/messages.yml deleted file mode 100644 index c9f0ecdc..00000000 --- a/MMOItems-Dist/src/main/resources/language/chinese/messages.yml +++ /dev/null @@ -1,42 +0,0 @@ -hands-too-charged: 请将需要改变属性的物品置于手中 -spell-on-cooldown: '#progress#' -item-on-cooldown: '#progress#' -not-enough-perms-command: 你没有权限执行该命令 -attack-blocked: '阻挡 #percent#% 伤害' -attack-dodged: 格挡攻击 -attack-parried: 闪避攻击 -not-enough-levels: '&f[&c&l等级受限&f]' -soulbound-restriction: '&f[&5&l灵魂绑定&f]' -not-enough-perms: '&f[&6&l权限受限&f]' -broken-item: 物品已损坏 请先修复该物品 -item-broke: '#item# 已损坏' -zero-durability: 物品已无耐久值 请先修复该物品 -not-enough-mana: '&f[&b&l法力值受限&f]' -not-enough-stamina: '&f[&d&l体力值受限&f]' -wrong-class: '&f[&9&l职业受限&f]' -successfully-identified: '&2成功识别 #item#' -successfully-deconstructed: '&c成功拆解 #item#' -gem-stone-applied: '&f[&b&l+&f] #gem# 镶嵌至 #item# 成功 ✔' -gem-stone-broke: '&f[&c&l-&f] #gem# 镶嵌至 #item# 失败 x' -repaired-item: '修复 #amount# x #item#' -gave-item: '&f给予 #amount# x #item# 至 #player#' -received-item: '&f获得 #amount# x #item#' -cant-update-item: 无法更新物品 -update-item: 更新完成 -empty-workbench-first: '&c请先清空合成台' -not-enough-perms-craft: '&c你没有权限制作该物品' -cant-bind-item: '该物品绑定至 #player# 绑定等级 #level# 若需重新绑定请破坏原绑定' -no-soulbound: 无绑定 -cant-bind-stacked: 无法绑定堆叠物品 -unsuccessful-soulbound: 绑定失败 -unsuccessful-soulbound-break: 无法破坏绑定 -low-soulbound-level: '绑定等级 #level# 若需重新绑定 绑定等级需高于该绑定等级' -successfully-bind-item: '成功绑定 绑定等级 #level# 绑定物品 #item#' -successfully-break-bind: '绑定破坏 绑定等级 #level#' -soulbound-item-lore: '&f绑定至 #player# &8| &n绑定等级 &7&l#level#' -soulbound-command-no: 无绑定 -soulbound-command-info: '物品绑定至 #player# 绑定等级 #level#' -advanced-workbench: 高级合成台 -advanced-recipes: 高级合成 -gem-stats: 宝石数据 -click-advanced-recipe: '#d &7点击以查看高级合成' diff --git a/MMOItems-Dist/src/main/resources/language/chinese/potion-effects.yml b/MMOItems-Dist/src/main/resources/language/chinese/potion-effects.yml deleted file mode 100644 index cd65f66e..00000000 --- a/MMOItems-Dist/src/main/resources/language/chinese/potion-effects.yml +++ /dev/null @@ -1,30 +0,0 @@ -# Translation by tucaoever -# Date: 10-13-2018 - -speed: 速度提升 -slow: 缓慢 -fast-digging: 急迫 -slow-digging: 挖掘疲劳 -increase-damage: 力量 -heal: 生命恢复 -harm: 伤害 -jump: 跳跃提升 -confusion: 眩晕 -regeneration: 生命恢复 -damage-resistance: 抗性提升 -fire-resistance: 火焰保护 -water-breathing: 水下呼吸 -invisibility: 隐身 -blindness: 失明 -night-vision: 夜视 -hunger: 饥饿 -weakness: 虚弱 -poison: 中毒 -wither: 凋零 -health-boost: 生命提升 -absorption: 伤害吸收 -saturation: 饱和 -glowing: 发光 -levitation: 悬浮 -luck: 幸运 -unluck: 不幸 diff --git a/MMOItems-Dist/src/main/resources/language/chinese/stats.yml b/MMOItems-Dist/src/main/resources/language/chinese/stats.yml deleted file mode 100644 index 45624366..00000000 --- a/MMOItems-Dist/src/main/resources/language/chinese/stats.yml +++ /dev/null @@ -1,151 +0,0 @@ -# Weapon Stats -attack-damage: '&3 &7➸ 攻击伤害: &f{value}' -attack-speed: '&3 &7➸ 攻击速度: &f{value}' -critical-strike-chance: '&3 &7■ 暴击概率: &f{value}%' -critical-strike-power: '&3 &7■ 暴击附加: &f{value}%' -skill-critical-strike-chance: '&3 &7■ Skill Crit Chance: &f{value}%' -skill-critical-strike-power: '&3 &7■ Skill Crit Power: &f{value}%' -range: '&3 &7■ 范围: &f{value}' -mana-cost: '&9■ 消耗 {value} 法力值' -stamina-cost: '&9■ 消耗 {value} 体力' -arrow-velocity: '&3 &7■ 箭矢速度: &f{value}' -blunt-power: '&3 &7■ AOE 伤害半径: &f{value}' -blunt-rating: '&3 &7■ AOE 伤害比例: &f{value}%' -two-handed: '&3 &7■ 双持' -handworn: '&3 &7■ Handworn' -knockback: '&3 &7■ 击退: &f{value}' -recoil: '&3 &7■ 后坐力: &f{value}%' -note-weight: '&3 &7■ Note Weight: &f{value}' -lifesteal: '&3 &7■ Lifesteal: &c+{value}%' -spell-vampirism: '&3 &7■ Spell Vampirism: &c+{value}%' - -# Extra Damage -pve-damage: '&3 &7■ PvE 伤害加成: &f{value}%' -pvp-damage: '&3 &7■ PvP 伤害加成: &f{value}%' -magic-damage: '&3 &7■ 法术伤害加成: &f{value}%' -weapon-damage: '&3 &7■ 武器伤害加成: &f{value}%' -undead-damage: '&3 &7■ 不死生物伤害加成: &f{value}%' -skill-damage: '&3 &7■ Skill Damage: &f{value}%' -physical-damage: '&3 &7■ Physical Damage: &f{value}%' -projectile-damage: '&3 &7■ Projectile Damage: &f{value}%' -faction-damage-undead: '&3 &7■ Undead Faction Damage: &f{value}%' - -# Abilities -ability-format: '&a>&8| &7{trigger} &8|&e|&8| &7&l{ability}' -ability-modifier: ' &3>&8|&7 {modifier}&8: &f{value}' -ability-splitter: '&8' - -# Armor Stats -block-power: '&3 &7■ 阻挡: &f{value}%' -block-rating: '&3 &7■ 阻挡概率: &f{value}%' -block-cooldown-reduction: '&3 &7■ 阻挡冷却缩减: &f{value}%' -dodge-rating: '&3 &7■ 闪避几率: &f{value}%' -dodge-cooldown-reduction: '&3 &7■ 闪避冷却缩减: &f{value}%' -parry-rating: '&3 &7■ 招架几率: &f{value}%' -parry-cooldown-reduction: '&3 &7■ 招架冷却缩减: &f{value}%' -armor: '&3 &7✠ 护甲[B]: &f{value}' -armor-toughness: '&3 &7✠ 护甲[A]: &f{value}' -knockback-resistance: '&3 &7✠ 击退保护: &f{value}%' -max-health: '&c❤ 生命值: {value}' -movement-speed: '&3 &7■ 移动速度: &f{value}' - -# Damage Reduction -defense: '&3 &7■ Defense: &f{value}' -damage-reduction: '&3 &7■ 伤害减免: &f{value}%' -fall-damage-reduction: '&3 &7■ 摔落伤害减免: &f{value}%' -fire-damage-reduction: '&3 &7■ 火焰伤害减免: &f{value}%' -magic-damage-reduction: '&3 &7■ 魔法伤害减免: &f{value}%' -projectile-damage-reduction: '&3 &7■ Projectile Damage Reduction: &f{value}%' -physical-damage-reduction: '&3 &7■ Physical Damage Reduction: &f{value}%' -pve-damage-reduction: '&3 &7■ PvE Damage Reduction: &f{value}%' -pvp-damage-reduction: '&3 &7■ PvP Damage Reduction: &f{value}%' - -# RPG Stats -health-regeneration: '&3 &7■ Health Regeneration: &f{value}' -max-mana: '&3 &7■ 最大法力值加成: &f{value}' -mana-regeneration: '&3 &7■ Mana Regeneration: &f{value}' -max-stamina: '&3 &7■ Max Stamina: &f{value}' -stamina-regeneration: '&3 &7■ Stamina Regeneration: &f{value}' -cooldown-reduction: '&3 &7■ Skill Cooldown Reduction: &f{value}%' -additional-experience: '&3 &7■ Additional Experience: &f{value}%' -additional-experience-alchemy: '&3 &7■ Additional Alchemy Experience: &f{value}%' -additional-experience-enchanting: '&3 &7■ Additional Enchanting Experience: &f{value}%' -additional-experience-farming: '&3 &7■ Additional Farming Experience: &f{value}%' -additional-experience-fishing: '&3 &7■ Additional Fishing Experience: &f{value}%' -additional-experience-mining: '&3 &7■ Additional Mining Experience: &f{value}%' -additional-experience-smelting: '&3 &7■ Additional Smelting Experience: &f{value}%' -additional-experience-smithing: '&3 &7■ Additional Smithing Experience: &f{value}%' -additional-experience-woodcutting: '&3 &7■ Additional Woodcutting Experience: &f{value}%' - -# Extra Options -perm-effect: '&3 &7■ 效果 &f{effect}' -command: '&3 &7■ 指令: &f{format} &7(&f{cooldown}&7s)' -item-cooldown: '&3 &7■ &f{value}&7 秒 冷却' -arrow-potion-effects: '&3 &7■ Arrow Effect: &f{effect}' - -# Consumables -restore-health: '&3 &7■ 恢复 &f{value} &7生命值' -restore-food: '&3 &7■ 恢复 &f{value} &7饥饿值' -restore-saturation: '&3 &7■ 恢复 &f{value} &7饱和度' -restore-mana: '&3 &7■ 恢复 &f{value} &7法力值' -restore-stamina: '&3 &7■ 恢复 &f{value} &7法力值' -effect: '&3 &7■ 获得 &f{effect} &7持续 &f{duration}&7 秒' -repair: '&3 &7■ 修复: &f{value}' -repair-percent: '&3 &7■ Repair: &f{value}%' -can-identify: '&3 &7■ 可识别' -can-deconstruct: '&3 &7■ 可分解' -can-deskin: '&3 &7■ Can de-skin skinned items.' -success-rate: '&3 &7■ 成功概率: &a&l{value}%' -max-consume: '&3 &7■ Max Consume: &f{value} &7uses' - -# Gem Stones -empty-gem-socket: '&a◆ Empty {name} Gem Socket' -filled-gem-socket: '&a◆ {name}' -when-applied: '&a镶嵌时间:' -gem-stone-lore: '&8&l[&2&l*&8&l] 放置宝石以镶嵌' - -# Soulbound -soulbinding-chance: '&3 &7■ &a{value}%&7 几率绑定物品' -soulbound-break-chance: '&3 &7■ &a{value}%&7 几率破坏绑定' -soulbound-level: '&3 &7■ 绑定等级 &e{value}' - -# Tool -autosmelt: '&3 &7■ &f自动熔炼' -bouncing-crack: '&3 &7■ &f 范围破坏' -pickaxe-power: '&3 &7■ &fPickaxe Power: &a{value}' -durability: '&7Durability: {current} / {max}' - -# General -item-type: '&3 &7> 类型: {type}' -tier: '&3 &7[&f&l品质&7]: {value}' -required-class: '&3 &7> &9&l职业限制&7&l: {value}' -required-level: '&3 &7> &c&l等级限制&7&l: {value}' - -# MMOCore Attributes -required-dexterity: '&eRequires &c{value} &eDexterity' -required-strength: '&eRequires &c{value} &eStrength' -required-intelligence: '&eRequires &c{value} &eIntelligence' - -additional-dexterity: '&3 &7■ Extra Dexterity: &f{value}' -additional-strength: '&3 &7■ Extra Strength: &f{value}' -additional-intelligence: '&3 &7■ Extra Intelligence: &f{value}' - -# Professions -profession-alchemy: '&eAlchemy Level: &c{value}' -profession-enchanting: '&eEnchanting Level: &c{value}' -profession-farming: '&eFarming Level: &c{value}' -profession-fishing: '&eFishing Level: &c{value}' -profession-mining: '&eMining Level: &c{value}' -profession-smelting: '&eSmelting Level: &c{value}' -profession-smithing: '&eSmithing Level: &c{value}' -profession-woodcutting: '&eWoodcutting Level: &c{value}' - -# Elemental Stat Format -elemental-damage: '{color}{icon}&7 {value} {element} Damage' -elemental-damage-percent: '{color}{icon}&7 +{value}% {element} Damage' -elemental-defense: '{color}{icon}&7 {value} {element} Defense' -elemental-defense-percent: '{color}{icon}&7 +{value}% {element} Defense' -elemental-weakness: '{color}{icon}&7 {value}% {element} Weakness' - -# Custom stats -custom-myluck: '&3 &7■ 机会: &f{value}' \ No newline at end of file diff --git a/MMOItems-Dist/src/main/resources/language/french/abilities.yml b/MMOItems-Dist/src/main/resources/language/french/abilities.yml deleted file mode 100644 index 38cd0869..00000000 --- a/MMOItems-Dist/src/main/resources/language/french/abilities.yml +++ /dev/null @@ -1,105 +0,0 @@ -ability: - overload: Surchage - shulker-missile: Missile de Shulker - magical-shield: Ecu magique - heal: Soins - fire-meteor: Météorite - leap: Bond - light-dash: Dash léger - burn: Embrasement - starfall: Court-circuit - wither: Wither - vampirism: Vol de vie - shockwave: Onde de choc - smite: Châtiment - sparkle: Etincelle - corrupt: Dépravation - tnt-throw: Lancer de TNT - firebolt: Boule de feu - earthquake: Tremblement de terre - stun: Etourdissement - swiftness: Agilité - holy-missile: Projectile béni - black-hole: Trou noir - slow: Ralentissement - circular-slash: Attaque circulaire - cursed-beam: Projectile maudit - heavy-charge: Charge puissante - thrust: Coup d'estoc - item-throw: Lancer d'objet - corrupted-fangs: Crocs maudits - ice-crystal: Crystal de glace - blind: Aveuglement - shock: Choc - shadow-veil: Voile ténébreuse - poison: Poison - blink: Téléportation - sky-smash: Uppercut - bloodbath: Bain de sang - confuse: Confusion - hoearthquake: Trembl'houement de terre - freeze: Gel - blizzard: Blizzard - bouncy-fireball: Boule de feu rebondissante - burning-hands: Mains flamboyantes - tactical-grenade: Grenade tactique - ignite: Combustion - throw-up: Vommissement - minor-explosion: Explosion mineure - frog-mode: Mode grenouille - regen-ally: Régénération amie - lightning-beam: Foudroiement - death-mark: Marque de la mort - contamination: Contamination - corrosion: Corrosion - explosive-turkey: Poulet explosif - snowman-turret: Tourelle de neige - arcane-hail: Grêle des arcanes - grand-heal: Guérison générale - magical-path: Chemin magique - life-ender: Terminateur de vie - present-throw: Lancement de cadeau - weaken-target: Faiblesse - chicken-wraith: Soulèvement des poulets - freezing-curse: Malédiction de gel - arcane-rift: Faille des arcanes - targeted-fireball: Boule de feu guidée - firefly: Papillons de feu - frozen-aura: Aura glaciale - magma-fissure: Fissure de magma - bunny-mode: Mode lapin - item-bomb: Bombe artisanale -modifier: - damage: Dégats - mana: Mana - stamina: Stamina - cooldown: Délai - radius: Rayon - duration: Durée - effect-duration: Durée d'effet - power: Puissance - heal: Soin - knockback: Recul - force: Force - length: Longueur - amplifier: Puissance d'effet - drain: Drain - knock-up: Recul - limit: Limite - ignite: Enflammement - range: Portée - amount: Quantité - inaccuracy: Imprécision - speed: Vitesse - max-ignite: Enflammement maximum - jump-force: Puissance de saut - extra-damage: Dégats supplémentaires - slow-duration: Temps de ralentissement - slow-amplifier: Niveau de ralentissement -cast-mode: - on-hit: A l'impact - when-hit: A l'impact* - left-click: Clic gauche - right-click: Clic droit - shift-left-click: Shift Clic gauche - shift-right-click: Shift Clic droit diff --git a/MMOItems-Dist/src/main/resources/language/french/attack-effects.yml b/MMOItems-Dist/src/main/resources/language/french/attack-effects.yml deleted file mode 100644 index d9d65f87..00000000 --- a/MMOItems-Dist/src/main/resources/language/french/attack-effects.yml +++ /dev/null @@ -1,14 +0,0 @@ -staff-spirit: - nether-spirit: '&7■ Esprit du Nether' - void-spirit: '&7■ Esprit du Néant' - mana-spirit: '&7■ Esprit du Mana' - lightning-spirit: '&7■ Esprit de la Foudre' - xray-spirit: '&7■ Esprit du Rayon-X' - thunder-spirit: '&7■ Esprit de l''Orage' - sunfire-spirit: '&7■ Esprit du Rayon de Soleil' -lute-attack: - wave: '&7■ Attaques par vague' - circular: '&7■ Attaques circulaires' - simple: '&7■ Attaques simples' - brute: '&7■ Attaques brutales' - slash: '&7■ Attaques Slash' diff --git a/MMOItems-Dist/src/main/resources/language/french/crafting-stations.yml b/MMOItems-Dist/src/main/resources/language/french/crafting-stations.yml deleted file mode 100644 index 7bef6a1c..00000000 --- a/MMOItems-Dist/src/main/resources/language/french/crafting-stations.yml +++ /dev/null @@ -1,23 +0,0 @@ -condition: - stamina: - positive: '&a✔ Requiert #stamina# Stamina' - negative: '&c✖ Requiert #stamina# Stamina' - level: - positive: '&a✔ Niveau #level# requis' - negative: '&c✖ Niveau #level# requis' - mana: - positive: '&a✔ Requiert #mana# Mana' - negative: '&c✖ Requiert #mana# Mana' - class: - positive: '&a✔ Classe: #class#' - negative: '&c✖ Classe: #class#' - food: - positive: '&a✔ Nourriture requise: #food#' - negative: '&c✖ Nourriture requise: #food#' -ingredient: - mmoitem: - positive: '&8✔ &7#amount# #item#' - negative: '&c✖ &7#amount# #item#' - vanilla: - positive: '&8✔ &7#amount# #item#' - negative: '&c✖ &7#amount# #item#' diff --git a/MMOItems-Dist/src/main/resources/language/french/items.yml b/MMOItems-Dist/src/main/resources/language/french/items.yml deleted file mode 100644 index 6b4d8c44..00000000 --- a/MMOItems-Dist/src/main/resources/language/french/items.yml +++ /dev/null @@ -1,54 +0,0 @@ -NO_ITEM: - name: '&c- Aucun objet -' - lore: [] -NO_TYPE: - name: '&c- Aucun type -' - lore: [] -TYPE_DISPLAY: - name: '&a#type# &8(Cliquer pour explorer)' - lore: - - '&7Cette catégorie regroupe &6#recipes#&7 recettes.' -PREVIOUS_PAGE: - name: '&aPage précédente' - lore: [] -NEXT_PAGE: - name: '&aPage suivante' - lore: [] -BACK: - name: '&aPrécedent' - lore: [] -RECIPE_LIST: - name: '&aRecettes avancées' - lore: [] -RECIPE_DISPLAY: - name: '&a&lFabriquer&f #name#' - lore: - - '{conditions}' - - '{conditions}&8Exigences:' - - '{crafting_time}' - - '{crafting_time}&7Temps de fabrication: &c#crafting-time#&7s' - - '' - - '&8Ingrédients:' - - '#ingredients#' - - '' - - '&eCliquez pour fabriquer cet objet!' -UPGRADING_RECIPE_DISPLAY: - name: '&e&lAméliorer&f #name#' - lore: - - '' - - '{conditions}&8Exigences:' - - '&8Ingrédients:' - - '#ingredients#' - - '' - - '&eClic gauche pour le fabriquer' - - '&eClic droit pour un aperçu' -QUEUE_ITEM_DISPLAY: - name: '&6&lEn attente&f #name#' - lore: - - '{ready}&7&oCet objet a été fabriqué avec succès.' - - '{queue}&7&oCet objet est encore en fabrication.' - - '{queue}' - - '{queue}&7Temps restant: &c#left#' - - '' - - '{ready}&eCliquez pour récupérer cet objet.' - - '{queue}&eCliquez pour annuler.' diff --git a/MMOItems-Dist/src/main/resources/language/french/messages.yml b/MMOItems-Dist/src/main/resources/language/french/messages.yml deleted file mode 100644 index 4877426a..00000000 --- a/MMOItems-Dist/src/main/resources/language/french/messages.yml +++ /dev/null @@ -1,40 +0,0 @@ -hands-too-charged: 'Vos mains sont trop chargées, vous ne pouvez rien faire.' -spell-on-cooldown: '#progress# &eYou devez attendre #left# seconde#s#.' -item-on-cooldown: Cet objet est en récupération. -not-enough-perms-command: 'Vous n''avez pas la permission.' -attack-blocked: 'Vous avez bloqué #percent#% des dégats!' -attack-dodged: 'Vous avez esquivé une attaque.' -attack-parried: 'Vous avez parré une attaque.' -not-enough-levels: 'Vous n''avez pas le niveau nécessaire pour utiliser cet objet.' -soulbound-restriction: 'Cet objet est lié à un autre joueur, vous ne pouvez donc pas l''utiliser.' -not-enough-perms: 'Vous n''avez pas la permission.' -item-broke: 'Votre objet #item#&c est cassé.' -zero-durability: 'Cet objet est cassé, vous devez d''abord le réparer.' -not-enough-mana: 'Vous n''avez pas assez de mana.' -not-enough-stamina: 'Vous n''avez pas assez d''énergie.' -wrong-class: 'Vous n''avez pas la classe requise.' -successfully-identified: 'Vous avez identifié cet objet: #item#&e.' -successfully-deconstructed: 'Vous avez décomposé cet object: #item#&e.' -gem-stone-applied: 'Vous avez appliqué votre gemme &f#gem#&e sur votre objet &f#item#&e.' -gem-stone-broke: 'Vous avez cassé votre gemme (#gem#) en essayant de l''appliquer sur votre #item#.' -repaired-item: 'Vous avez réparé &f#item#&e de &f#amount# &epoints de durabilité.' -received-item: '&eVous avez reçu &f#item#&e#amount#.' -empty-workbench-first: 'Videz la grille de fabrication dans un premier temps.' -not-enough-perms-craft: 'Vous n''avez pas la permission d''utiliser cette recette.' -cant-bind-item: 'Cet objet est lié à #player# par un lien d''âme de niveau #level#. Vous devez dans un premier temps le détruire.' -no-soulbound: 'Cet objet n''est lié à aucune personne.' -cant-bind-stacked: 'Vous ne pouvez pas créer un lien d''âme sur des objets stackés.' -unsuccessful-soulbound: 'Vous avez raté votre lien d''âme.' -unsuccessful-soulbound-break: 'Votre n''avez pas réussi à créer un lien d''âme.' -low-soulbound-level: 'Vous avez besoin d''un objet d''un niveau de lien d''âme supérieur.' -successfully-bind-item: 'Vous avez appliqué un lien d''âme de niveau &6#level# &esur votre &6#item#&e.' -successfully-break-bind: 'Vous avez rompu le lien d''âme de niveau &6#level#&e avec brio.' -soulbound-item-lore: '&7//&4Lié à #player#//&4Lien d''âme de niv. #level#' -not-enough-materials: 'Vous n''avez pas assez de matériaux pour fabriquer cet objet.' -conditions-not-met: 'Vous ne pouvez pas fabriquer cet objet.' -crafting-canceled: 'Vous avez interrompu la fabrication de votre objet.' -already-crafting: 'Vous fabriquez déjà un autre objet!' -crafting-subtitle: '#bar# Temps restant: &e#left#' -advanced-workbench: 'Etabli avancé' -advanced-recipes: 'Recettes avancées' -click-advanced-recipe: '#d Cliquez pour afficher cette recette.' diff --git a/MMOItems-Dist/src/main/resources/language/french/potion-effects.yml b/MMOItems-Dist/src/main/resources/language/french/potion-effects.yml deleted file mode 100644 index 87a64846..00000000 --- a/MMOItems-Dist/src/main/resources/language/french/potion-effects.yml +++ /dev/null @@ -1,30 +0,0 @@ -speed: Vitesse -slow: Lenteur -fast-digging: Vitesse de minage -slow-digging: Lenteur de minage -increase-damage: Force -heal: Soins -harm: Dégats -jump: Saut -confusion: Confusion -regeneration: Régénération -damage-resistance: Résistance aux dégats -fire-resistance: Résistance au feu -water-breathing: Respiration -invisibility: Invisibilité -blindness: Aveuglement -night-vision: Nyctalopie -hunger: Faim -weakness: Faiblesse -poison: Poison -wither: Wither -health-boost: Vie améliorée -absorption: Absorption -saturation: Saturation -glowing: Brillance -levitation: Lévitation -luck: Chance -unluck: Malchance -slow-falling: Chute lente -conduit-power: Force du conduit -dolphins-grace: Grâce du dauphin diff --git a/MMOItems-Dist/src/main/resources/language/french/stats.yml b/MMOItems-Dist/src/main/resources/language/french/stats.yml deleted file mode 100644 index db7545bd..00000000 --- a/MMOItems-Dist/src/main/resources/language/french/stats.yml +++ /dev/null @@ -1,151 +0,0 @@ -# Weapon Stats -attack-damage: '&7➸ Dégats d''attaque: &f{value}' -attack-speed: '&7➸ Vitesse d''attaque: &f{value}' -critical-strike-chance: '&7■ Chance de coup critique: &f{value}%' -critical-strike-power: '&7■ Puissance de coup critique: &f{value}%' -skill-critical-strike-chance: '&3 &7■ Chance de cp crit. (sorts): &f{value}%' -skill-critical-strike-power: '&3 &7■ Dégats critiques (sorts): &f{value}%' -range: '&7■ Portée: &f{value}' -mana-cost: '&9■ Consomme {value} Mana' -stamina-cost: '&9■ Consomme {value} Stamina' -arrow-velocity: '&7■ Vitesse de projectile: &f{value}' -blunt-power: '&7■ Ecrasement: &f{value}' -blunt-rating: '&7■ Ratio d''écrasement: &f{value}%' -two-handed: '&7■ Deux mains' -handworn: '&3 &7■ Handworn' -knockback: '&7■ Recul: &f{value}' -recoil: '&7■ Recul visuel: &f{value}%' -note-weight: '&7■ Poids des notes: &f{value}' -lifesteal: '&3 &7■ Vol de vie: &c+{value}%' -spell-vampirism: '&3 &7■ Vampirisme (sorts): &c+{value}%' - -# Extra Damage -pve-damage: '&7■ Dégats PvE: &f{value}%' -pvp-damage: '&7■ Dégats PvP: &f{value}%' -magic-damage: '&7■ Dégats magiques: &f{value}%' -weapon-damage: '&7■ Dégats des armes: &f{value}%' -undead-damage: '&7■ Dégats contre les morts-vivants: &f{value}%' -skill-damage: '&7■ Dégats des sorts: &f{value}%' -physical-damage: '&7■ Dégats physiques: &f{value}%' -projectile-damage: '&7■ Dégats des projectiles: &f{value}%' -faction-damage-undead: '&3 &7■ Dégats contre les morts-vivants: &f{value}%' - -# Abilities -ability-format: '&2{trigger}: {ability}' -ability-modifier: '&2{modifier}: {value}' -ability-splitter: '&2' - -# Armor Stats -block-power: '&7■ Puissance de blocage: &f{value}%' -block-rating: '&7■ Chance de blocage: &f{value}%' -block-cooldown-reduction: '&7■ Réduction du délai de blocage: &f{value}%' -dodge-rating: '&7■ Chance d''esquive: &f{value}%' -dodge-cooldown-reduction: '&7■ Réduction du délai d''esquive: &f{value}%' -parry-rating: '&7■ Chance de parrade: &f{value}%' -parry-cooldown-reduction: '&7■ Réduction du délai de parrade: &f{value}%' -armor: '&7✠ Armure: &f{value}' -armor-toughness: '&7✠ Robustesse: &f{value}' -knockback-resistance: '&7✠ Résistance au recul: &f{value}%' -max-health: '&c❤ Points de vie: {value}' -movement-speed: '&7■ Vitesse de déplacement: &f{value}' - -# Damage Reduction -defense: '&3 &7■ Defense: &f{value}' -damage-reduction: '&7■ Réduction de dégats: &f{value}%' -fall-damage-reduction: '&7■ Réduction de dégats de chute: &f{value}%' -fire-damage-reduction: '&7■ Réduction de dégats de feu: &f{value}%' -magic-damage-reduction: '&7■ Réduction de dégats magiques: &f{value}%' -projectile-damage-reduction: '&7■ Réduction de dégats des projectiles: &f{value}%' -physical-damage-reduction: '&7■ Réduction de dégats physiques: &f{value}%' -pve-damage-reduction: '&3 &7■ PvE Damage Reduction: &f{value}%' -pvp-damage-reduction: '&3 &7■ PvP Damage Reduction: &f{value}%' - -# RPG stats -health-regeneration: '&7■ Régénération de vie: &f{value}' -max-mana: '&7■ Mana Max: &f{value}' -mana-regeneration: '&7■ Régénération de mana: &f{value}' -max-stamina: '&7■ Stamina Max: &f{value}' -stamina-regeneration: '&7■ Régénération d''énergie: &f{value}' -cooldown-reduction: '&7■ Réduction des délais de récup.: &f{value}%' -additional-experience: '&7■ Exp. supplémentaire: &f{value}%' -additional-experience-alchemy: '&7■ Exp. supp. (Alchimie): &f{value}%' -additional-experience-enchanting: '&7■ Exp. supp. (Enchantement): &f{value}%' -additional-experience-farming: '&7■ Exp. supp. (Agriculture): &f{value}%' -additional-experience-fishing: '&7■ Exp. supp. (pêche): &f{value}%' -additional-experience-mining: '&7■ Exp. supp. (Minage): &f{value}%' -additional-experience-smelting: '&7■ Exp. supp. (Fonte): &f{value}%' -additional-experience-smithing: '&7■ Exp. supp. (Forge): &f{value}%' -additional-experience-woodcutting: '&7■ Exp. supp. (Abattage): &f{value}%' - -# Extra Options -perm-effect: '&7■ &f# &7 permanent' -command: '&7■ Commande: &f{format}c &7(&f{cooldown}&7s)' -item-cooldown: '&7■ &f{value}&7s de récupération' -arrow-potion-effects: '&3 &7■ Effet de potion: &f{effect}' - -# Consumables -restore-health: '&7■ Restaure &f{value} &7Health' -restore-food: '&7■ Restaure &f{value} &7Food' -restore-saturation: '&7■ Restaure &f{value} &7Saturation' -restore-mana: '&7■ Restaure &f{value} &7Mana' -restore-stamina: '&7■ Restaure &f{value} &7Stamina' -effect: '&7■ Octroit &f{effect} &7for &f{duration} &7s' -repair: '&7■ Répare &f{value} &7utilisations' -repair-percent: '&3 &7■ Repair: &f{value}%' -can-identify: '&7■ Peut identifier des objets.' -can-deconstruct: '&7■ Peut déconstruire des objets.' -can-deskin: '&3 &7■ Peut retirer des skins.' -success-rate: '&7■ Chance de réussite: &a&l{value}%' -max-consume: '&7■ Utilisations max: &f{value} &7uses' - -# Gem Stones -empty-gem-socket: '&a◆ Emplacement de gemme {name} vide' -filled-gem-socket: '&a◆ {name}' -when-applied: '&aQuand appliqué:' -gem-stone-lore: '&8&l[&2&l*&8&l] &aDéposez la &7sur un objet pour l''appliquer!' - -# Soulbound -soulbinding-chance: '&7■ Chance de créer un soulbound: &a{value}%' -soulbound-break-chance: '&7■ Chance de détruire un soulbound: &a{value}%' -soulbound-level: '&7■ &7Soulbound de niv. &e{value}' - -# Tools -autosmelt: '&7■ &fAutosmelt' -bouncing-crack: '&7■ &fFaille rebondissante' -pickaxe-power: '&7■ &fPuissance de pioche: &a{value}' -durability: '&7Durabilité: {current} / {max}' - -# General -item-type: '&c{type}' -tier: '{value}' -required-class: '&7Classe requise: {value}' -required-level: '&eRequiert niv. {value}' - -# MMOCore Attributes -required-dexterity: '&eRequiert &c{value} &eDextérité' -required-strength: '&eRequiert &c{value} &eForce' -required-intelligence: '&eRequiert &c{value} &eIntelligence' - -additional-dexterity: '&3 &7■ Extra Dexterity: &f{value}' -additional-strength: '&3 &7■ Extra Strength: &f{value}' -additional-intelligence: '&3 &7■ Extra Intelligence: &f{value}' - -# Professions -profession-alchemy: '&eAlchemy Level: &c{value}' -profession-enchanting: '&eEnchanting Level: &c{value}' -profession-farming: '&eFarming Level: &c{value}' -profession-fishing: '&eFishing Level: &c{value}' -profession-mining: '&eMining Level: &c{value}' -profession-smelting: '&eSmelting Level: &c{value}' -profession-smithing: '&eSmithing Level: &c{value}' -profession-woodcutting: '&eWoodcutting Level: &c{value}' - -# Elemental Stat Format -elemental-damage: '{color}{icon}&7 {value} {element} Damage' -elemental-damage-percent: '{color}{icon}&7 +{value}% {element} Damage' -elemental-defense: '{color}{icon}&7 {value} {element} Defense' -elemental-defense-percent: '{color}{icon}&7 +{value}% {element} Defense' -elemental-weakness: '{color}{icon}&7 {value}% {element} Weakness' - -# Custom stats -custom-myluck: '&3 &7■ Chance: &f{value}' \ No newline at end of file diff --git a/MMOItems-Dist/src/main/resources/language/polish/abilities.yml b/MMOItems-Dist/src/main/resources/language/polish/abilities.yml deleted file mode 100644 index cb876311..00000000 --- a/MMOItems-Dist/src/main/resources/language/polish/abilities.yml +++ /dev/null @@ -1,105 +0,0 @@ -ability: - overload: Przeladowanie - freeze: Zamrozenie - magical-shield: Magiczna Tarcza - bouncy-fireball: Skoczna Kula Ognia - burning-hands: Plomienne Rece - fire-meteor: Ognisty Meteor - light-dash: Blyskawiczny Ped - tactical-grenade: Granat Taktyczny - ignite: Podpalenie - sparkle: Iskra - tnt-throw: Rzut TNT - rain-of-arrows: Deszcz Strzal - earthquake: Trzesienie Ziemi - stun: Ogluszenie - holy-missile: Swiety Pocisk - black-hole: Czarna Dziura - throw-up: Podrzut - circular-slash: Okrezne Ciecie - cursed-beam: Przeklety Promien - slow: Spowolnienie - thrust: Pchniecie - heavy-charge: Ciezka Szarza - item-throw: Rzut Przedmiotem - shock: Szok - minor-explosion: Mniejsza Eksplozja - shadow-veil: Zaslona Cieni - frog-mode: Tryb Zaby - regen-ally: Ulecz Sojusznika - lightning-beam: Piorun - death-mark: Znak Smierci - confuse: Dezorientacja - shulker-missile: Pocisk Shulkera - contamination: Skazenie - heal: Uzdrowienie - corrosion: Korozja - leap: Skok - explosive-turkey: Wybuchowy Indyk - hoearthquake: Moc Farmera - burn: Spalenie - starfall: Upadek Gwiazdy - wither: Uschniecie - shockwave: Fala Uderzeniowa - vampirism: Wampiryzm - smite: Cios - snowman-turret: Wiezyczka Balwanow - corrupt: Skazenie - arcane-hail: Tajemne Pozdrowienie - firebolt: Ognisty Pocisk - grand-heal: Wielkie Uleczenie - magical-path: Magiczna Sciezka - life-ender: Kres Zycia - swiftness: Szybkosc - present-throw: Rzut Prezentem - weaken-target: Oslabienie Celu - chicken-wraith: Widmo Kurczaka - freezing-curse: Mrozna Klatwa - arcane-rift: Tajemne Rozszczepienie - targeted-fireball: Wycelowana Kula Ognia - corrupted-fangs: Skazone Kly - ice-crystal: Krysztal Lodu - blind: Oslepienie - firefly: Swietlik - poison: Otruj - blink: Mrugniecie - sky-smash: Podniebne Zderzenie - frozen-aura: Mrozna Aura - bunny-mode: Tryb Krolika - magma-fissure: Magmowa Rozpadlina - bloodbath: Masakra - item-bomb: Bomba -modifier: - damage: Obrazenia - mana: Mana - stamina: Wytrzymalosc - cooldown: Czas Oczekiwania - radius: Zasieg - duration: Czas Trwania - amplifier: Wzmacniacz - inaccuracy: Niecelnosc - force: Sila - power: Moc - ignite: Podpalenie - speed: Szybkosc - knockback: Odrzucenie - length: Dlugosc - knock-up: Rozgrzewka - max-ignite: Maksymalne Rozpalenie - limit: Limit - jump-force: Sila Skoku - heal: Uleczenie - effect-duration: Dlugosc Trwania Efektu - drain: Wyczerpanie - extra-damage: Dodatkowe Obrazenia - range: Zasieg - amount: Ilosc - slow-duration: Dlugosc Spowolnienia - slow-amplifier: Wzmocnienie Spowolnienia -cast-mode: - on-hit: Po uderzeniu - when-hit: Kiedy Uderzony - left-click: LPM - right-click: PPM - shift-left-click: Shift + LPM - shift-right-click: Shift + PPM diff --git a/MMOItems-Dist/src/main/resources/language/polish/attack-effects.yml b/MMOItems-Dist/src/main/resources/language/polish/attack-effects.yml deleted file mode 100644 index a182581a..00000000 --- a/MMOItems-Dist/src/main/resources/language/polish/attack-effects.yml +++ /dev/null @@ -1,14 +0,0 @@ -staff-spirit: - nether-spirit: '&7■ Dusza Netheru' - void-spirit: '&7■ Dusza Pustki' - mana-spirit: '&7■ Dusza Many' - lightning-spirit: '&7■ Dusza Blyskawic' - xray-spirit: '&7■ Dusza X-Raya' - thunder-spirit: '&7■ Dusza Burzy' - sunfire-spirit: '&7■ Dusza Ognia Slonecznego' -lute-attack: - wave: '&7■ Ataki fali' - circular: '&7■ Ataki okrezne' - simple: '&7■ Ataki proste' - brute: '&7■ Ataki brutalne' - slash: '&7■ Ataki ciecia' diff --git a/MMOItems-Dist/src/main/resources/language/polish/crafting-stations.yml b/MMOItems-Dist/src/main/resources/language/polish/crafting-stations.yml deleted file mode 100644 index 6e8c31ef..00000000 --- a/MMOItems-Dist/src/main/resources/language/polish/crafting-stations.yml +++ /dev/null @@ -1,23 +0,0 @@ -condition: - stamina: - positive: '&a✔ Requires #stamina# Stamina' - negative: '&c✖ Requires #stamina# Stamina' - level: - positive: '&a✔ Requires Level #level#' - negative: '&c✖ Requires Level #level#' - mana: - positive: '&a✔ Requires #mana# Mana' - negative: '&c✖ Requires #mana# Mana' - class: - positive: '&a✔ Required Class: #class#' - negative: '&c✖ Required Class: #class#' - food: - positive: '&a✔ Requires #food# Food' - negative: '&c✖ Requires #food# Food' -ingredient: - mmoitem: - positive: '&8✔ &7#amount# #item#' - negative: '&c✖ &7#amount# #item#' - vanilla: - positive: '&8✔ &7#amount# #item#' - negative: '&c✖ &7#amount# #item#' diff --git a/MMOItems-Dist/src/main/resources/language/polish/items.yml b/MMOItems-Dist/src/main/resources/language/polish/items.yml deleted file mode 100644 index e8b3c894..00000000 --- a/MMOItems-Dist/src/main/resources/language/polish/items.yml +++ /dev/null @@ -1,30 +0,0 @@ -UNIDENTIFIED_ITEM: - name: '&kNiezidentyfikowany' - lore: - - '&e&oTen przedmiot jest &c&o&nniezindentyfikowany&e&o.' - - '&e&oMusisz znalezc sposob by go zidentyfikowac' -TYPE_DISPLAY: - name: '#type# &8(Nacisnij by przegladac)' - lore: - - '&7Jest &6#recipes#&7 dostepnych przepisow.' -RECIPE_LIST: - name: Zaawansowane przepisy - lore: [] -BACK: - name: Wroc - lore: [] -NEXT_PAGE: - name: Nastepna Strona - lore: [] -PREVIOUS_PAGE: - name: Poprzednia strona - lore: [] -NO_ITEM: - name: '- Brak Przedmiotu -' - lore: [] -NO_TYPE: - name: '- Brak rodzaju -' - lore: [] -NO_GEM_STONE: - name: '- Puste gniazdo na klejnot -' - lore: [] diff --git a/MMOItems-Dist/src/main/resources/language/polish/messages.yml b/MMOItems-Dist/src/main/resources/language/polish/messages.yml deleted file mode 100644 index 62f22c9d..00000000 --- a/MMOItems-Dist/src/main/resources/language/polish/messages.yml +++ /dev/null @@ -1,49 +0,0 @@ -hands-too-charged: Nie mozesz nic zrobic, twoje rece sa zbyt naladowane -spell-on-cooldown: '#progress# &eMusisz poczekac #left# second#s# przed rzuceniem - tego zaklecia.' -item-on-cooldown: Ten przedmiot nie jest jeszcze gotowy! -not-enough-perms-command: Nie masz wystarczajacych uprawnien! -attack-blocked: 'Wlasnie zablokowales #percent#% z obrazen z tego ataku!' -attack-dodged: Wlasnie uniknales ataku! -attack-parried: Wlasnie sparowales atak! -not-enough-levels: Nie masz wystarczajacego poziomu by uzyc tego przedmiotu! -soulbound-restriction: Ten przedmiot jest przypisany do innego gracza, nie mozesz - go uzyc! -not-enough-perms: Nie masz wystarczajacych uprawnien by tego uzyc! -broken-item: Ten przedmiot jest zniszczony, musisz go naprawic. -item-broke: 'Twoj #item#&c zostal zniszczony.' -zero-durability: Twoj przedmiot nie ma juz wytrzymalosci, napraw go by go uzywac. -not-enough-mana: Nie masz wystarczajaco many! -not-enough-stamina: Nie masz wystarczajaco staminy! -wrong-class: Nie masz odpowiedniej klasy! -successfully-identified: 'Udalo ci sie zidentyfikowac #item#&e.' -successfully-deconstructed: 'Udalo ci sie rozlozyc #item#&e.' -gem-stone-applied: Udalo ci sie wlozyc &f#gem#&e do twojego &f#item#&e. -gem-stone-broke: Twoj klejnot &f#gem#&c zostal zniszczony kiedy probowales wlozyc - go do &f#item#&c. -repaired-item: Udalo ci sie naprawic &f#item#&e za &f#amount# &euzyc. -gave-item: '&eDales &f#item#&e#amount# dla &f#player#&e.' -received-item: '&eOtrzymales &f#item#&e#amount#.' -cant-update-item: Nie bylo mozliwe ulepszenie twojego przedmiotu. -update-item: Udalo sie ulepszyc twoj przedmiot. -empty-workbench-first: Oproznij stol warsztatowy -not-enough-perms-craft: Nie posiadasz uprawnien by wytworzyc ten przedmiot -cant-bind-item: 'Ten przedmiot jest aktualnie przypisany do #player# za pomoca wiezu - poziomu #level#. Musisz najpierw przerwac wiez' -no-soulbound: Ten przedmiot nie jest przypisany do nikogo. -cant-bind-stacked: Nie mozesz przywiazach zestackowanych przedmiotow. -unsuccessful-soulbound: Twoja proba zwiazania nie udala sie. -unsuccessful-soulbound-break: Nie byles w stanie przerwac wiezu. -low-soulbound-level: 'Ten przedmiot jest jest przypisany wiezem poziomu #level#. Potrzebujesz - wiekszego poziomu wiezu na twoim przedmiocie by zerwac ten wiaz.' -successfully-bind-item: Udalo ci sie uzyc przywiazania poziomu &6#level# &e na twoim - &6#item#&e. -successfully-break-bind: Udalo ci sie przerwac przywiazanie poziomu &6#level# do &eprzedmiotu! -soulbound-item-lore: '&7//&4Przypisany do #player#//&4Lvl #level#' -soulbound-command-no: Ten przedmiot nie jest do nikogo przypisany -soulbound-command-info: Twoj przedmiot jest przypisany do &6#player# &eza pomoca wiezu - poziomu &6#level# &e. -advanced-workbench: Zaawansowany stol warsztatowy -advanced-recipes: Zaawansowane przepisy -gem-stats: Klejnoty -click-advanced-recipe: '#d Kliknij by poznac przepis.' diff --git a/MMOItems-Dist/src/main/resources/language/polish/potion-effects.yml b/MMOItems-Dist/src/main/resources/language/polish/potion-effects.yml deleted file mode 100644 index 81544998..00000000 --- a/MMOItems-Dist/src/main/resources/language/polish/potion-effects.yml +++ /dev/null @@ -1,32 +0,0 @@ -speed: Szybkosc -slow: Spowolnienie -fast-digging: Szybkie Kopanie -slow-digging: Wolne Kopanie -increase-damage: Sila -heal: Uzdrowienie -harm: Uszkodzenie -jump: Skok -confusion: Dezorientacja -regeneration: Regeneracja -damage-resistance: Odpornosc Na Obrazenia -fire-resistance: Odpornosc Na Ogien -water-breathing: Oddychanie Pod Woda -invisibility: Niewidzialnosc -blindness: Oslepienie -night-vision: Widzenie W Ciemnosci -hunger: Glod -weakness: Oslabienie -poison: Trucizna -wither: Uschniecie -health-boost: Doladowanie Zdrowia -absorption: Absorbcja -saturation: Nasycenie -glowing: Swiecenie -levitation: Lewitacja -luck: Szczescie -unluck: Pech -slow-falling: Powolne opadanie -conduit-power: Przewodnia Potega -dolphins-grace: Wdziecznosc Delfinow -bad-omen: Zly Omen -hero-of-the-village: Bohater Wioski diff --git a/MMOItems-Dist/src/main/resources/language/polish/stats.yml b/MMOItems-Dist/src/main/resources/language/polish/stats.yml deleted file mode 100644 index 83960763..00000000 --- a/MMOItems-Dist/src/main/resources/language/polish/stats.yml +++ /dev/null @@ -1,151 +0,0 @@ -# Weapon Stats -attack-damage: '&7➸ Obrazenia: &f{value}' -attack-speed: '&7➸ Szybkosc Ataku: &f{value}' -critical-strike-chance: '&7■ Szansa na krytyka: &f{value}%' -critical-strike-power: '&7■ Sila krytyka: &f{value}%' -skill-critical-strike-chance: '&3 &7■ Skill Crit Chance: &f{value}%' -skill-critical-strike-power: '&3 &7■ Skill Crit Power: &f{value}%' -range: '&7■ Zasieg: &f{value}' -mana-cost: '&9■ Uzywa {value} Many' -stamina-cost: '&9■ Uzywa # Wytrzymalosci' -arrow-velocity: '&7■ Predkosc Strzaly: &f{value}' -blunt-power: '&7■ Sila Obuchowa: &f{value}%' -blunt-rating: '&7■ Klasa Obuchu: &f{value}%' -two-handed: '&7■ Dwureczny' -handworn: '&3 &7■ Handworn' -knockback: '&7■ Odrzut: &f{value}' -recoil: '&7■ Odrzut: &f{value}%' -note-weight: '&7■ Waga: &f{value}' -lifesteal: '&3 &7■ Lifesteal: &c+{value}%' -spell-vampirism: '&3 &7■ Spell Vampirism: &c+{value}%' - -# Extra Damage -pve-damage: '&7■ Obrazenia PvE: &f{value}%' -pvp-damage: '&7■ Obrazenia PvP: &f{value}%' -magic-damage: '&7■ Obrazenia Magiczne: &f{value}%' -weapon-damage: '&7■ Obrazenia Od Broni: &f{value}%' -undead-damage: '&7■ Obrazenia Dla Nieumarlych: &f{value}%' -skill-damage: '&7■ Skill Damage: &f{value}%' -physical-damage: '&7■ Physical Damage: &f{value}%' -projectile-damage: '&7■ Projectile Damage: &f{value}%' -faction-damage-undead: '&3 &7■ Undead Faction Damage: &f{value}%' - -# Abilities -ability-format: '&2{trigger}: {ability}' -ability-modifier: '&2{modifier}: {value}' -ability-splitter: '&2' - -# Armor Stats -block-power: '&7■ Sila Bloku: &f{value}%' -block-rating: '&7■ Klasa Bloku: &f{value}%' -block-cooldown-reduction: '&7■ Zmniejszenie Czasu Odnowienia Bloku: &f{value}%' -dodge-rating: '&7■ Klasa Uniku: &f{value}%' -dodge-cooldown-reduction: '&7■ Zmniejszenie Czasu Odnowienia Uniku: &f{value}%' -parry-rating: '&7■ Klasa Parowania: &f{value}%' -parry-cooldown-reduction: '&7■ Zmniejszenie Czasu Odnowienia Parowania: &f{value}%' -armor: '&7✠ Pancerz: &f{value}' -armor-toughness: '&7✠ Wytrzymalosc Pancerza: &f{value}' -knockback-resistance: '&7✠ Odpornosc Na Odepchniecie: &f{value}%' -max-health: '&c❤ Zdrowie: {value}' -movement-speed: '&7■ Szybkosc Ruchu: &f{value}' - -# Damage Reduction -defense: '&3 &7■ Defense: &f{value}' -damage-reduction: '&7■ Zmniejszenie Obrazen: &f{value}%' -fall-damage-reduction: '&7■ Zmniejszenie Obrazen Od Upadku: &f{value}%' -fire-damage-reduction: '&7■ Zmniejszenie Obrazen Od Ognia: &f{value}%' -magic-damage-reduction: '&7■ Zmniejszenie Obrazen Magicznych: &f{value}%' -projectile-damage-reduction: '&7■ Projectile Damage Reduction: &f{value}%' -physical-damage-reduction: '&7■ Zmniejszenie Obrazen Psychicznych: &f{value}%' -pve-damage-reduction: '&3 &7■ PvE Damage Reduction: &f{value}%' -pvp-damage-reduction: '&3 &7■ PvP Damage Reduction: &f{value}%' - -# RPG stats -health-regeneration: '&7■ Regeneracja Zdrowia: &f{value}%' -max-mana: '&7■ Maksymalna Mana: &f{value}' -mana-regeneration: '&7■ Mana Regeneration: &f{value}' -max-stamina: '&7■ Max Stamina: &f{value}' -stamina-regeneration: '&7■ Stamina Regeneration: &f{value}' -cooldown-reduction: '&7■ Skill Cooldown Reduction: &f{value}%' -additional-experience: '&7■ Additional Experience: &f{value}%' -additional-experience-alchemy: '&7■ Additional Alchemy Experience: &f{value}%' -additional-experience-enchanting: '&7■ Additional Enchanting Experience: &f{value}%' -additional-experience-farming: '&7■ Additional Farming Experience: &f{value}%' -additional-experience-fishing: '&7■ Additional Fishing Experience: &f{value}%' -additional-experience-mining: '&7■ Additional Mining Experience: &f{value}%' -additional-experience-smelting: '&7■ Additional Smelting Experience: &f{value}%' -additional-experience-smithing: '&7■ Additional Smithing Experience: &f{value}%' -additional-experience-woodcutting: '&7■ Additional Woodcutting Experience: &f{value}%' - -# Extra Options -perm-effect: '&7■ Staly &f{effect}' -command: '&7■ Komenda: &f{format} &7(&f{cooldown}&7s)' -item-cooldown: '&7■ &f#&7s Czas Odnowienia' -arrow-potion-effects: '&3 &7■ Arrow Effect: &f{effect}' - -# Consumables -restore-health: '&7■ Odnawia &f{value} &7Zdrowia' -restore-food: '&7■ Odnawia &f{value} &7Jedzenia' -restore-saturation: '&7■ Odnawia &f{value} &7Nasycenia' -restore-mana: '&7■ Odnawia &f{value} &7Many' -restore-stamina: '&7■ Odnawia &f{value} &7Wytrzymalosci' -effect: '&7■ Zapewnia &f#e &7na &f{duration}&7s' -repair: '&7■ Napraw: &f{value}' -repair-percent: '&3 &7■ Repair: &f{value}%' -can-identify: '&7■ Moze identyfikowac przedmioty.' -can-deconstruct: '&7■ Moze rozkladac wielopoziomowe przedmioty.' -can-deskin: '&3 &7■ Can de-skin skinned items.' -success-rate: '&7■ Szansa na sukces: &a&l#%' -max-consume: '&7■ Max Consume: &f{value} &7uses' - -# Gem Stones -empty-gem-socket: '&a◆ Puste Miejsce Na Klejnot' -filled-gem-socket: '&a◆ {name}' -when-applied: '&aKiedy Wlozony:' -gem-stone-lore: '&8&l[&2&l*&8&l] &aPrzesun na przedmiot &7by uzyc!' - -# Soulbound -soulbinding-chance: '&7■ Ma &a#%&7 szansy by przywiazac twoj przedmiot.' -soulbound-break-chance: '&7■ Ma &a{value}%&7 szansy by zlamac twoje wiezi.' -soulbound-level: '&7■ Wiez poziomu &e{value} &7' - -# Tools -autosmelt: '&7■ &fAutomatyczne Wytapianie' -bouncing-crack: '&7■Skoczne Pekniecie &f' -pickaxe-power: '&7■ &fPickaxe Power: &a{value}' -durability: '&7Durability: {current} / {max}' - -# General -item-type: '&c{type}' -tier: '# PRZEDMIOT' -required-class: '&7{value} Przedmiot' -required-level: '&ePoziom {value}' - -# MMOCore Attributes -required-dexterity: '&eRequires &c{value} &eDexterity' -required-strength: '&eRequires &c{value} &eStrength' -required-intelligence: '&eRequires &c{value} &eIntelligence' - -additional-dexterity: '&3 &7■ Extra Dexterity: &f{value}' -additional-strength: '&3 &7■ Extra Strength: &f{value}' -additional-intelligence: '&3 &7■ Extra Intelligence: &f{value}' - -# Professions -profession-alchemy: '&eAlchemy Level: &c{value}' -profession-enchanting: '&eEnchanting Level: &c{value}' -profession-farming: '&eFarming Level: &c{value}' -profession-fishing: '&eFishing Level: &c{value}' -profession-mining: '&eMining Level: &c{value}' -profession-smelting: '&eSmelting Level: &c{value}' -profession-smithing: '&eSmithing Level: &c{value}' -profession-woodcutting: '&eWoodcutting Level: &c{value}' - -# Elemental Stat Format -elemental-damage: '{color}{icon}&7 {value} {element} Damage' -elemental-damage-percent: '{color}{icon}&7 +{value}% {element} Damage' -elemental-defense: '{color}{icon}&7 {value} {element} Defense' -elemental-defense-percent: '{color}{icon}&7 +{value}% {element} Defense' -elemental-weakness: '{color}{icon}&7 {value}% {element} Weakness' - -# Custom stats -custom-myluck: '&3 &7■ Szansa: &f{value}' \ No newline at end of file diff --git a/MMOItems-Dist/src/main/resources/language/russian/abilities.yml b/MMOItems-Dist/src/main/resources/language/russian/abilities.yml deleted file mode 100644 index f2acbaf1..00000000 --- a/MMOItems-Dist/src/main/resources/language/russian/abilities.yml +++ /dev/null @@ -1,105 +0,0 @@ -ability: - overload: Перегрузка - freeze: Заморозка - magical-shield: Магический Щит - blizzard: Снежная Буря - bouncy-fireball: Скачущий Огненный Шар - burning-hands: Горящие Руки - fire-meteor: Огненный Метеор - light-dash: Бросок - tactical-grenade: Тактическая Граната - ignite: Поджог - sparkle: Искра - tnt-throw: Бросок TNT - earthquake: Землятрясение - stun: Оглушение - holy-missile: Святая Ракета - black-hole: Черная Дыра - cursed-beam: Проклятый Луч - circular-slash: Круговое Рассечение - throw-up: Подбрасывание - slow: Замедление - heavy-charge: Тяжелый Выпад - thrust: Колющий Удар - item-throw: Бросок Предмета - shock: Шок - minor-explosion: Небольшой Взрыв - shadow-veil: Исчезновение - frog-mode: Режим Лягушки - regen-ally: Исцеление Союзников - lightning-beam: Удар Молнией - death-mark: Метка Смерти - confuse: Сбивание - shulker-missile: Снаряд Шалкера - contamination: Заражение - heal: Восстановление - corrosion: Коррозия - leap: Прыжок - explosive-turkey: Взрывной Турк - hoearthquake: Большая Вскопка - burn: Поджог - starfall: Звездопад - wither: Иссушение - shockwave: Ударная Волна - vampirism: Вампризм - snowman-turret: Турель - Снеговик - smite: Молния - corrupt: Искажение - arcane-hail: Волшебный Дождь - firebolt: Огненный Шар - grand-heal: Массовое Исцеление - magical-path: Магия Полета - life-ender: Месть Эндера - swiftness: Ускорение - present-throw: Бросок Подарка - weaken-target: Ослабление Противника - chicken-wraith: Куриный Призрак - freezing-curse: Проклятие Заморозки - arcane-rift: Чародейский Разлом - targeted-fireball: Нацеленный огненный Шар - corrupted-fangs: Клыки Искажения - ice-crystal: Ледяной Кристалл - blind: Слепота - firefly: Светлячок - poison: Яд - blink: Блинк - frozen-aura: Аура Обморожения - sky-smash: Воздушный Бросок - magma-fissure: Трещина Магмы - bunny-mode: Режим Кролика - bloodbath: Резня - item-bomb: Бомба -modifier: - damage: Урон - mana: Мана - stamina: Стамина - cooldown: Перезарядка - radius: Радиус - duration: Длителньость - amplifier: Усиление - power: Мощь - inaccuracy: Неточность - force: Сила - ignite: Поджог - speed: Скорость - knockback: Отбрасывание - length: Длина - knock-up: Вертикальное Отбрасывание - max-ignite: Максимальная длительность Горения - limit: Лимит - jump-force: Сила Прыжка - heal: Восстановление - effect-duration: Длительность Эффекта - drain: Вампризм - extra-damage: Дополнительный урон - range: Дальность - amount: Количество - slow-duration: Длительность Замедления - slow-amplifier: Усиление Замедления -cast-mode: - on-hit: При Попадании - when-hit: При получении Урона - left-click: Левый Клик - right-click: Правый Клик - shift-left-click: Шифт + Левый Клик - shift-right-click: Шифт + Првый Клик \ No newline at end of file diff --git a/MMOItems-Dist/src/main/resources/language/russian/attack-effects.yml b/MMOItems-Dist/src/main/resources/language/russian/attack-effects.yml deleted file mode 100644 index fa0158a6..00000000 --- a/MMOItems-Dist/src/main/resources/language/russian/attack-effects.yml +++ /dev/null @@ -1,14 +0,0 @@ -staff-spirit: - nether-spirit: '&7■ Дух Ада' - void-spirit: '&7■ Дух Пустоты' - mana-spirit: '&7■ Дух Маны' - lightning-spirit: '&7■ Дух Молнии' - xray-spirit: '&7■ Дух X-Ray ' - thunder-spirit: '&7■ Дух Грозы' - sunfire-spirit: '&7■ Дух Солнца' -lute-attack: - wave: '&7■ Волновая Атака' - circular: '&7■ Круговая Атака' - simple: '&7■ Простая Атака' - brute: '&7■ Грубая Атака' - slash: '&7■ Разящая Атака' diff --git a/MMOItems-Dist/src/main/resources/language/russian/crafting-stations.yml b/MMOItems-Dist/src/main/resources/language/russian/crafting-stations.yml deleted file mode 100644 index 46691179..00000000 --- a/MMOItems-Dist/src/main/resources/language/russian/crafting-stations.yml +++ /dev/null @@ -1,23 +0,0 @@ -condition: - stamina: - positive: '&a✔ Требуется #stamina# ед. Стамины' - negative: '&c✖ Требуется #stamina# ед. Стамины' - level: - positive: '&a✔ Требуется #level# Уровень' - negative: '&c✖ Требуется #level# Уровень' - mana: - positive: '&a✔ Требуется #mana# ед. Маны' - negative: '&c✖ Требуется #mana# ед. Маны' - class: - positive: '&a✔ Required Class: #class#' - negative: '&c✖ Required Class: #class#' - food: - positive: '&a✔ Требуется #food# ед. Еды' - negative: '&c✖ Требуется #food# ед. Еды' -ingredient: - mmoitem: - positive: '&8✔ &7#amount# #item#' - negative: '&c✖ &7#amount# #item#' - vanilla: - positive: '&8✔ &7#amount# #item#' - negative: '&c✖ &7#amount# #item#' diff --git a/MMOItems-Dist/src/main/resources/language/russian/items.yml b/MMOItems-Dist/src/main/resources/language/russian/items.yml deleted file mode 100644 index 4154c513..00000000 --- a/MMOItems-Dist/src/main/resources/language/russian/items.yml +++ /dev/null @@ -1,60 +0,0 @@ -NO_ITEM: - name: '&c- Нет Предмета -' - lore: [] -NO_TYPE: - name: '&c- Нет Типа -' - lore: [] -TYPE_DISPLAY: - name: '&a#type# &8(Нажмите, чтобы просмотреть)' - lore: - - '&7Есть &6#recipes#&7 доступных рецептов.' -PREVIOUS_PAGE: - name: '&aПредыдущая Страница' - lore: [] -NEXT_PAGE: - name: '&aСледующая Страница' - lore: [] -PREVIOUS_IN_QUEUE: - name: '&aПредыдущая' - lore: [] -NEXT_IN_QUEUE: - name: '&aСледующая' - lore: [] -BACK: - name: '&aНазад' - lore: [] -RECIPE_LIST: - name: '&aУлучшенные Рецепты' - lore: [] -CRAFTING_RECIPE_DISPLAY: - name: '&a&lСоздание&f #name#' - lore: - - '{conditions}' - - '{conditions}&8Conditions:' - - '{crafting_time}' - - '{crafting_time}&7Время Создания: &c#crafting-time#&7s' - - '' - - '&8Ингредиенты:' - - '#ingredients#' - - '' - - '&eНажмите, чтобы скрафтить!' -UPGRADING_RECIPE_DISPLAY: - name: '&e&lУлучшение&f #name#' - lore: - - '{conditions}' - - '{conditions}&8Conditions:' - - '' - - '&8Ингредиенты:' - - '#ingredients#' - - '' - - '&eНажмите, чтобы улучшить!' -QUEUE_ITEM_DISPLAY: - name: '&6&lОчередь&f #name#' - lore: - - '{ready}&7&oЭтот предмет был успешно создан.' - - '{queue}&7&oЭтот предмет находиться в очереди создания.' - - '{queue}' - - '{queue}&7Времени Осталось: &c#left#' - - '' - - '{ready}&eНажмите, чтобы взять!' - - '{queue}&eНажмите, чтобы отменить.' \ No newline at end of file diff --git a/MMOItems-Dist/src/main/resources/language/russian/messages.yml b/MMOItems-Dist/src/main/resources/language/russian/messages.yml deleted file mode 100644 index 0d2b0ecf..00000000 --- a/MMOItems-Dist/src/main/resources/language/russian/messages.yml +++ /dev/null @@ -1,48 +0,0 @@ -received-item: Вы получили &6#item#&e#amount#. -hands-too-charged: Вы не можете ничего сделать, ваши руки слишком напряжены. -spell-on-cooldown: '#progress# &eВы должны подождать #left# сек.#s#, преждем чем использовать это - заклинание.' -item-on-cooldown: Этот предмет перезарежается! -not-enough-perms-command: У вас недостаточно прав. -attack-blocked: 'Вы заблокировали #percent#% от урона!' -attack-dodged: Вы уклонились от атаки! -attack-parried: Вы парировали атаку! -not-enough-levels: У вас недостаточно уровня, чтобы использовать этот предмет! -soulbound-restriction: Этот предмет привязан к другому игроку, вы не можете использовать его! -not-enough-perms: У вас недостаточно прав, чтобы использовать это. -wrong-class: У вас нет правильного класса, чтобы использовать этот предмет! -not-enough-mana: У вас недостаточно маны! -not-enough-stamina: У вас недостаточно стамины! -item-broke: 'Ваш #item#&c сломался.' -zero-durability: Этот предмет сломан, вам сначала нужно его починить. -successfully-identified: Вы успешно идентифицировали &6#item#&e. -successfully-deconstructed: Вы успешно деконструировали &6#item#&e. -gem-stone-applied: Вы успешно вставили самоцвет &6#gem#&e в ваш &6#item#&e. -gem-stone-broke: Ваш самоцвет &6#gem#&c сломался пока Вы пытались вставить его в &6#item#&c. -repaired-item: Вы успешно почнили &6#item#&e на &6#amount# ед. &eпрочности. -advanced-workbench: Улучшенный Верстак -empty-workbench-first: Пожалуйста, сначала очистите верстак. -not-enough-perms-craft: У вас недостаточно прав, чтобы создать этот предмет. -advanced-recipes: Улучшенные Рецепты -click-advanced-recipe: '#d Нажмите, чтобы увидеть этот рецепт.' -cant-bind-item: 'Этот предмет связан с #player# #level# уровнем персонализации. - Сначала Вы должны сломать эту свзяь.' -no-soulbound: Этот предмет не привязан ни к кому. -cant-bind-stacked: Вы не можете связать предметы в стаке. -unsuccessful-soulbound: Ваша персонализация не удалась. -unsuccessful-soulbound-break: Вы не смогли сломать связь. -low-soulbound-level: 'Этот предмет имеет #level# уровень персонализации. Вам понадобится более высокий уровень персонализации - на вашем расходнике, чтобы сломать эту свзять.' -successfully-bind-item: Вы успешно наложили &6#level# уровень &eперсонализации на ваш - &6#item#&e. -successfully-break-bind: Вы успешно сломали &6#level# уровень &eперсонализации! -soulbound-item-lore: '&4Связано с #player#//&4#level# уровнем Персонализации' -max-upgrades-hit: Этот предмет не может быть больше улучшен. -upgrade-fail: Ваше улучшение не удалось, и Вы потеряли расходник. -wrong-upgrade-reference: Вы не можете улучшить этот предмет с этим расходником. -upgrade-success: Вы успешно улучшили ваш &6#item#&e! -not-have-item-upgrade: У вас нет предмета для улучшения! -not-enough-materials: У вас недостаточно материалов, чтобы создать это. -conditions-not-met: Вы не можете создать этот предмет. -crafting-canceled: Вы отменили рецепт создания. -crafting-queue-full: В настоящее время очередь создания заполнена. \ No newline at end of file diff --git a/MMOItems-Dist/src/main/resources/language/russian/potion-effects.yml b/MMOItems-Dist/src/main/resources/language/russian/potion-effects.yml deleted file mode 100644 index 5775fdf5..00000000 --- a/MMOItems-Dist/src/main/resources/language/russian/potion-effects.yml +++ /dev/null @@ -1,30 +0,0 @@ -speed: Скорость -slow: Замедление -fast-digging: Спешка -slow-digging: Усталость -increase-damage: Сила -heal: Исцеление -harm: Моментальный Урон -jump: Прыгучесть -confusion: Тошнота -regeneration: Регенерация -damage-resistance: Сопротивление -fire-resistance: Огнестойкость -water-breathing: Подводное дыхание -invisibility: Невидимость -blindness: Слепота -night-vision: Ночное зрение -hunger: Голод -weakness: Слабость -poison: Отравление -wither: Иссушение -health-boost: Прилив здоровья -absorption: Поглощение -saturation: Насыщение -glowing: Свечение -levitation: Левитация -luck: Удача -unluck: Невезение -slow-falling: Медленное Падение -conduit-power: Морская Сила -dolphins-grace: Дельфинья Грация \ No newline at end of file diff --git a/MMOItems-Dist/src/main/resources/language/russian/stats.yml b/MMOItems-Dist/src/main/resources/language/russian/stats.yml deleted file mode 100644 index 93c68801..00000000 --- a/MMOItems-Dist/src/main/resources/language/russian/stats.yml +++ /dev/null @@ -1,151 +0,0 @@ -# Weapon Stats -attack-damage: '&4➸ Уровень Атаки: {value}' -attack-speed: '&c➸ Скорость Атаки: {value}' -critical-strike-chance: '&7■ Шанс Критической Атаки: &f{value}%' -critical-strike-power: '&7■ Сила Критической Атаки: &f{value}%' -skill-critical-strike-chance: '&3 &7■ Skill Crit Chance: &f{value}%' -skill-critical-strike-power: '&3 &7■ Skill Crit Power: &f{value}%' -range: '&7■ Радиус: &f{value}' -mana-cost: '&9■ Маны за Использование: {value}' -stamina-cost: '&9■ Стамины за Использование: {value}' -arrow-velocity: '&7■ Arrow Velocity: &f{value}' -blunt-power: '&7■ Сила Блока: &f{value}' -blunt-rating: '&7■ Шанс Блока: &f{value}%' -two-handed: '&7■ &cДвуручное' -handworn: '&3 &7■ Handworn' -knockback: '&7■ Отталкивание: &f{value}' -recoil: '&7■ Отдача: &f{value}%' -note-weight: '&7■ Примечание Вес: &f{value}' -lifesteal: '&3 &7■ Lifesteal: &c+{value}%' -spell-vampirism: '&3 &7■ Spell Vampirism: &c+{value}%' - -# Extra Damage -pve-damage: '&7■ PvE Урон: &f{value}%' -pvp-damage: '&7■ PvP Урон: &f{value}%' -magic-damage: '&7■ Магический Урон: &f{value}%' -weapon-damage: '&7■ Урон от Оружия: &f{value}%' -undead-damage: '&7■ Урон по Нежити: &f{value}%' -skill-damage: '&7■ Skill Damage: &f{value}%' -physical-damage: '&7■ Physical Damage: &f{value}%' -projectile-damage: '&7■ Projectile Damage: &f{value}%' -faction-damage-undead: '&3 &7■ Undead Faction Damage: &f{value}%' - -# Abilities -ability-format: '&2{trigger}: {ability}' -ability-modifier: '&2{modifier}: {value}' -ability-splitter: '&2' - -# Armor Stats -block-power: '&7■ Сила Блокирования: &f{value}%' -block-rating: '&7■ Шанс Блокирования: &f{value}%' -block-cooldown-reduction: '&7■ Уменьшение Перезарядки Блокирования: &f{value}%' -dodge-rating: '&7■ Шанс Уклонения: &f{value}%' -dodge-cooldown-reduction: '&7■ Уменьшение Перезарядки Уклонения: &f{value}%' -parry-rating: '&7■ Шанс Парирования: &f{value}%' -parry-cooldown-reduction: '&7■ Уменьшение Перезарядки Парирования: &f{value}%' -armor: '&7✠ Защита: &f{value}' -armor-toughness: '&7✠ Прочность Брони: &f{value}' -knockback-resistance: '&7✠ Сопротивление Отталкиванию: &f{value}%' -max-health: '&c❤ Здоровье: {value}' -movement-speed: '&7■ Скорость Передвижения: &f{value}' - -# Damage Reduction -defense: '&3 &7■ Defense: &f{value}' -damage-reduction: '&7■ Снижение Урона: &f{value}%' -fall-damage-reduction: '&7■ Снижение Урона от Падения: &f{value}%' -fire-damage-reduction: '&7■ Снижение Урона от Огня: &f{value}%' -magic-damage-reduction: '&7■ Снижение Урона от Магии: &f{value}%' -projectile-damage-reduction: '&7■ Projectile Damage Reduction: &f{value}%' -physical-damage-reduction: '&7■ Physical Damage Reduction: &f{value}%' -pve-damage-reduction: '&3 &7■ PvE Damage Reduction: &f{value}%' -pvp-damage-reduction: '&3 &7■ PvP Damage Reduction: &f{value}%' - -# RPG stats -health-regeneration: '&7■ Регенерация Здоровья: &f{value%' -max-mana: '&9■ Максимальная Мана: {value' -mana-regeneration: '&7■ Mana Regeneration: &f{value' -max-stamina: '&7■ Max Stamina: &f{value' -stamina-regeneration: '&7■ Stamina Regeneration: &f{value' -cooldown-reduction: '&7■ Skill Cooldown Reduction: &f{value%' -additional-experience: '&7■ Additional Experience: &f{value%' -additional-experience-alchemy: '&7■ Additional Alchemy Experience: &f{value}%' -additional-experience-enchanting: '&7■ Additional Enchanting Experience: &f{value}%' -additional-experience-farming: '&7■ Additional Farming Experience: &f{value}%' -additional-experience-fishing: '&7■ Additional Fishing Experience: &f{value}%' -additional-experience-mining: '&7■ Additional Mining Experience: &f{value}%' -additional-experience-smelting: '&7■ Additional Smelting Experience: &f{value}%' -additional-experience-smithing: '&7■ Additional Smithing Experience: &f{value}%' -additional-experience-woodcutting: '&7■ Additional Woodcutting Experience: &f{value}%' - -# Extra Options -perm-effect: '&7■ Бесконечный &f{effect}' -command: '&7■ Команда: &f{format} &7(&f{cooldown}&7s)' -item-cooldown: '&7■ &f{value}&7 сек перезарядка' -arrow-potion-effects: '&3 &7■ Arrow Effect: &f{effect}' - -# Consumables -restore-health: '&7■ Восстанавливает &f{value} &7Здоровья' -restore-food: '&7■ Восстанавливает &f{value} &7Еды' -restore-saturation: '&7■ Восстанавливает &f{value} &7Насыщения' -restore-mana: '&7■ Восстанавливает &f{value} &7Маны' -restore-stamina: '&7■ Восстанавливает &f{value} &7Стамины' -effect: '&7■ Даёт &f{effect} &7на &f{duration}&7сек' -repair: '&7■ Ремонт: &f{value}' -repair-percent: '&3 &7■ Repair: &f{value}%' -can-identify: '&7■ Может идентифицировать предметы.' -can-deconstruct: '&7■ Может разобрать тировые предметы.' -can-deskin: '&3 &7■ Can de-skin skinned items.' -success-rate: '&7■ Шанс Успеха: &a&l{value}%' -max-consume: '&7■ Max Consume: &f{value} &7uses' - -# Gem Stones -empty-gem-socket: '&a◆ Пустой {name} слотя для Самоцвета' -filled-gem-socket: '&a◆ {name}' -when-applied: '&aКогда Применён:' -gem-stone-lore: '&8&l[&2&l*&8&l] &aПеретащите на предмет, чтобы &7применить!' - -# Soulbound -soulbinding-chance: '&7■ Имеет &a{value}%&7 шанс связать предмет.' -soulbound-break-chance: '&7■ имеет &a{value}%&7 шанс убрать персонализацию.' -soulbound-level: '&7■ Уровень &e{value} &7Персонализации' - -# Tools -autosmelt: '&7■ &fАвтоплавлка' -bouncing-crack: '&7■ &fТрещина' -pickaxe-power: '&7■ &fPickaxe Power: &a{value}' -durability: '&7Durability: {current} / {max}' - -# General -item-type: '&c■ {type}' -tier: '{value} Предмет' -required-class: '&7Требуется Класс: &7{value}' -required-level: '&eНеобходимый Уровень: {value}' - -# MMOCore Attributes -required-dexterity: '&eRequires &c{value} &eDexterity' -required-strength: '&eRequires &c{value} &eStrength' -required-intelligence: '&eRequires &c{value} &eIntelligence' - -additional-dexterity: '&3 &7■ Extra Dexterity: &f{value}' -additional-strength: '&3 &7■ Extra Strength: &f{value}' -additional-intelligence: '&3 &7■ Extra Intelligence: &f{value}' - -# Professions -profession-alchemy: '&eAlchemy Level: &c{value}' -profession-enchanting: '&eEnchanting Level: &c{value}' -profession-farming: '&eFarming Level: &c{value}' -profession-fishing: '&eFishing Level: &c{value}' -profession-mining: '&eMining Level: &c{value}' -profession-smelting: '&eSmelting Level: &c{value}' -profession-smithing: '&eSmithing Level: &c{value}' -profession-woodcutting: '&eWoodcutting Level: &c{value}' - -# Elemental Stat Format -elemental-damage: '{color}{icon}&7 {value} {element} Damage' -elemental-damage-percent: '{color}{icon}&7 +{value}% {element} Damage' -elemental-defense: '{color}{icon}&7 {value} {element} Defense' -elemental-defense-percent: '{color}{icon}&7 +{value}% {element} Defense' -elemental-weakness: '{color}{icon}&7 {value}% {element} Weakness' - -# Custom stats -custom-myluck: '&3 &7■ Шанс: &f{value}' \ No newline at end of file diff --git a/MMOItems-Dist/src/main/resources/language/spanish/abilities.yml b/MMOItems-Dist/src/main/resources/language/spanish/abilities.yml deleted file mode 100644 index 50fea917..00000000 --- a/MMOItems-Dist/src/main/resources/language/spanish/abilities.yml +++ /dev/null @@ -1,76 +0,0 @@ -ability: - overload: Sobrecarga - magical-shield: Escudo Mágico - bouncy-fireball: Bouncy Fireball - burning-hands: Arma flameante - fire-meteor: Meteorito - light-dash: Embestida de Luz - sparkle: Destellos - tnt-throw: TNT - earthquake: Terremoto - stun: Aturdir - holy-missile: Misil sagrado - black-hole: Agujero negro - slow: Relentizar - throw-up: Maldición Podrida - circular-slash: Circulo mortal - cursed-beam: Viga maldita - thrust: Thrust - heavy-charge: Super carga - item-throw: Lanzar - shock: Electrocutar - shadow-veil: Velo de Sombras - frog-mode: Modo rana - lightning-beam: Rayo de luz - death-mark: Marca mortal - confuse: Confusión - shulker-missile: Misil Shulker - heal: Cura - leap: Salto - burn: Quemar - starfall: Lluvia de Estrellas - wither: Wither - shockwave: Onda de Choque - vampirism: Vampirismo - smite: Herida profunda - corrupt: Corrupción - arcane-hail: Maldición del protector - grand-heal: Gran meditación - firebolt: Rayo de Fuego - magical-path: Botas mágicas - life-ender: Diluvio Letal - swiftness: Rapidez - freezing-curse: Congelar - ice-crystal: Cristal de hielo - blind: Cegar - firefly: Mariposa - poison: Veneno - blink: Teletransporte - sky-smash: Aplaste Aéreo - bloodbath: Baño de sangre - bunny-mode: Modo conejo - item-bomb: Bomba -modifier: - damage: '&7Daño' - mana: Mana - stamina: '&7Stamina' - cooldown: '&7Enfriamiento' - radius: '&7Radio' - duration: '&7Duración' - power: '&7Poder' - ignite: '&7Ignición' - speed: '&7Velocidad' - knockback: '&7Empuje' - length: '&7Longitud' - limit: '&7Límite' - force: '&7Fuerza' - amplifier: '&7Mejora' - jump-force: '&7Fuerza de salto' - slow-amplifier: '&7Mejora de relentización' - effect-duration: '&7Duración del efecto' - heal: '&7Curación' - knock-up: '&7Aturdir' - drain: '&7Drenar' - range: '&7Rango' - amount: '&7Cantidad' - slow-duration: '&7Tiempo de relentización' diff --git a/MMOItems-Dist/src/main/resources/language/spanish/attack-effects.yml b/MMOItems-Dist/src/main/resources/language/spanish/attack-effects.yml deleted file mode 100644 index ce504406..00000000 --- a/MMOItems-Dist/src/main/resources/language/spanish/attack-effects.yml +++ /dev/null @@ -1,15 +0,0 @@ -staff-spirit: - nether-spirit: '&7■ Nether Spirit' - void-spirit: '&7■ Void Spirit' - mana-spirit: '&7■ Mana Spirit' - lightning-spirit: '&7■ Lightning Spirit' - xray-spirit: '&7■ X-Ray Spirit' - thunder-spirit: '&7■ Thunder Spirit' - sunfire-spirit: '&7■ Sunfire Spirit' -lute-attack: - wave: '&7■ Wave Melody' - circular: '&7■ Circular Melody' - slash: '&7■ Slashing Melody' - simple: '&7■ Simple Melody' - brute: '&7■ Brute Melody' - heavy: '&7■ Heavy Melody' diff --git a/MMOItems-Dist/src/main/resources/language/spanish/crafting-stations.yml b/MMOItems-Dist/src/main/resources/language/spanish/crafting-stations.yml deleted file mode 100644 index 6e8c31ef..00000000 --- a/MMOItems-Dist/src/main/resources/language/spanish/crafting-stations.yml +++ /dev/null @@ -1,23 +0,0 @@ -condition: - stamina: - positive: '&a✔ Requires #stamina# Stamina' - negative: '&c✖ Requires #stamina# Stamina' - level: - positive: '&a✔ Requires Level #level#' - negative: '&c✖ Requires Level #level#' - mana: - positive: '&a✔ Requires #mana# Mana' - negative: '&c✖ Requires #mana# Mana' - class: - positive: '&a✔ Required Class: #class#' - negative: '&c✖ Required Class: #class#' - food: - positive: '&a✔ Requires #food# Food' - negative: '&c✖ Requires #food# Food' -ingredient: - mmoitem: - positive: '&8✔ &7#amount# #item#' - negative: '&c✖ &7#amount# #item#' - vanilla: - positive: '&8✔ &7#amount# #item#' - negative: '&c✖ &7#amount# #item#' diff --git a/MMOItems-Dist/src/main/resources/language/spanish/items.yml b/MMOItems-Dist/src/main/resources/language/spanish/items.yml deleted file mode 100644 index 34d3bd15..00000000 --- a/MMOItems-Dist/src/main/resources/language/spanish/items.yml +++ /dev/null @@ -1,21 +0,0 @@ -UNIDENTIFIED_ITEM: - name: '&kSin identificar' - lore: - - '&e&oEste ítem esta &c&o&nsin identificar&e&o.' - - '&e&oBusca una manera de identificarlo.' - - '&e&oPodría ser un objeto raro o común.' -BACK: - name: Volver - lore: [] -NEXT_PAGE: - name: Página siguiente - lore: [] -PREVIOUS_PAGE: - name: Página anterior - lore: [] -NO_ITEM: - name: '- Sin ítem -' - lore: [] -NO_GEM_STONE: - name: '- Espacio para gema vacío -' - lore: [] diff --git a/MMOItems-Dist/src/main/resources/language/spanish/messages.yml b/MMOItems-Dist/src/main/resources/language/spanish/messages.yml deleted file mode 100644 index 0ceb3595..00000000 --- a/MMOItems-Dist/src/main/resources/language/spanish/messages.yml +++ /dev/null @@ -1,33 +0,0 @@ -hands-too-charged: Estás usando un ítem a dos manos, no puedes hacer eso. -spell-on-cooldown: '#progress# &e#left# Segundo#s#' -item-on-cooldown: Aún no esta listo! -item-command-on-cooldown: Aún no esta listo! -not-enough-perms-command: '&fComando desconocido usa "/ayuda" para mas info' -attack-blocked: 'Has bloqueado #percent#% de daño recibido!' -attack-dodged: Has esquivado un ataque! -not-enough-levels: '&e&lNo tienes nivel suficiente para usar este ítem' -not-enough-perms: '&c&lNo puedes hacer eso.' -not-enough-mana: No tienes mana suficiente! -not-enough-stamina: No tienes suficiente resistencia! -not-identified: No puedes usar un ítem sin identificar. -wrong-class: You don't have the right class! -successfully-identified: 'Ítem identificado: #item#&e.' -successfully-deconstructed: 'Has destruido: #item#&e.' -gem-stone-applied: Has aplicado &f#gem#&e a &f#item#&e. -repaired-item: Has reparado &f#item#&e por &f#amount# &ede durabilidad. -gave-item: '&eHas dado &f#item#&e#amount# a &f#player#&e.' -received-item: '&a&l➱ &eHas recibido &f#item#&e#amount#.' -cant-update-item: El ítem no se puede actualizar. -update-item: Ítem actualizado. -empty-workbench-first: Primero vacía la mesa de creación. -not-enough-perms-craft: '&fComando desconocido usa "/ayuda" para mas info' -miss-spell: Fallaste &c#spell#&e. -advanced-workbench: Mesa de creación avanzada -advanced-recipes: Recetas avanzadas -gem-stats: Estadísticas de gemas -click-advanced-recipe: Clic para ver la receta. -attack-parried: Has reflejado un ataque! -gem-stone-broke: La gema &f#gem#&c se ha roto al intentar aplicarse a &f#item#&c. -broken-item: This item is broken, you first need to repair it. -item-broke: 'Your #item#&c broke.' -zero-durability: Your item has no durability left. Repair it in order to use it again. diff --git a/MMOItems-Dist/src/main/resources/language/spanish/potion-effects.yml b/MMOItems-Dist/src/main/resources/language/spanish/potion-effects.yml deleted file mode 100644 index 6ee3f0f5..00000000 --- a/MMOItems-Dist/src/main/resources/language/spanish/potion-effects.yml +++ /dev/null @@ -1,27 +0,0 @@ -speed: Velocidad -slow: Relentización -fast-digging: Fast Digging -slow-digging: Slow Digging -increase-damage: Aumento de daño -heal: Curación -harm: Daño instantaneo -jump: Salto -confusion: Confusión -regeneration: Regeneración -damage-resistance: Resistencia -fire-resistance: Inmunidad al fuego -water-breathing: Respiración -invisibility: Invisibilidad -blindness: Ceguera -night-vision: Visión nocturna -hunger: Hambre -weakness: Debilidad -poison: Toxicidad -wither: Wither -health-boost: Mejora de vida -absorption: Absorción -saturation: Saturación -glowing: Brillo -levitation: Levitación -luck: Suerte -unluck: Mala suerte diff --git a/MMOItems-Dist/src/main/resources/language/spanish/stats.yml b/MMOItems-Dist/src/main/resources/language/spanish/stats.yml deleted file mode 100644 index f7c9bc4f..00000000 --- a/MMOItems-Dist/src/main/resources/language/spanish/stats.yml +++ /dev/null @@ -1,151 +0,0 @@ -# Weapon Stats -attack-damage: '&3 &7➸ Daño de ataque: &f{value}' -attack-speed: '&3 &7➸ Velocidad de ataque: &f{value}' -critical-strike-chance: '&3 &7■ Probabilidad de crítico: &f{value}%' -critical-strike-power: '&3 &7■ Poder de crítico: &f{value}%' -skill-critical-strike-chance: '&3 &7■ Skill Crit Chance: &f{value}%' -skill-critical-strike-power: '&3 &7■ Skill Crit Power: &f{value}%' -range: '&3 &7■ Rango: &f{value}' -mana-cost: '&9■ Usa {value} de Mana' -stamina-cost: '&9■ Usa {value} de Stamina' -arrow-velocity: '&3 &7■ Velocidad de flechas: &f{value}' -blunt-power: '&3 &7■ Radio de Daño de Area: &f{value}' -blunt-rating: '&3 &7■ Fracción de Daño de Area: &f{value}%' -two-handed: '&3 &7■ Necesita ambas manos' -handworn: '&3 &7■ Ignora necesitar ambas manos' -knockback: '&3 &7■ Empuje: &f{value}' -recoil: '&3 &7■ Retroceso: &f{value}%' -note-weight: '&3 &7■ Peso Musical: &f{value}' -lifesteal: '&3 &7■ Lifesteal: &c+{value}%' -spell-vampirism: '&3 &7■ Spell Vampirism: &c+{value}%' - -# Extra Damage -pve-damage: '&3 &7■ Daño PVE: &f{value}%' -pvp-damage: '&3 &7■ Daño PVP: &f{value}%' -magic-damage: '&3 &7■ Daño mágico: &f{value}%' -weapon-damage: '&3 &7■ Daño de arma: &f{value}%' -undead-damage: '&3 &7■ Daño a monstruos: &f{value}%' -skill-damage: '&3 &7■ Daño de abilidad: &f{value}%' -physical-damage: '&3 &7■ Daño físico: &f{value}%' -projectile-damage: '&3 &7■ Daño de projectiles: &f{value}%' -faction-damage-undead: '&3 &7■ Daño a los Undead: &f{value}%' - -# Abilities -ability-format: '&a>&8| &7{trigger} &8|&e|&8| &3 &7&l{ability}' -ability-modifier: ' &3>&8|&7 {modifier}&8: &f{value}' -ability-splitter: '&8' - -# Armor Stats -block-power: '&3 &7■ Bloqueo: &f{value}%' -block-rating: '&3 &7■ Probabilidad de bloqueo: &f{value}%' -block-cooldown-reduction: '&3 &7■ Frequencia de bloqueo: &f{value}%' -dodge-rating: '&3 &7■ Probabilidad de evasión: &f{value}%' -dodge-cooldown-reduction: '&3 &7■ Frequencia de evasión: &f{value}%' -parry-rating: '&3 &7■ Probabilidad de contraatacar: &f{value}%' -parry-cooldown-reduction: '&3 &7■ Frequencia de contraataque: &f{value}%' -armor: '&3 &7✠ Defensa: &f{value}' -armor-toughness: '&3 &7✠ Resistencia de armadura: &f{value}' -knockback-resistance: '&3 &7✠ Resistencia al empuje: &f{value}%' -max-health: '&c❤ Vida máxima: {value}' -movement-speed: '&3 &7■ Velocidad: &f{value}' - -# Damage Reduction -defense: '&3 &7■ Defensa: &f{value}' -damage-reduction: '&3 &7■ Reducción de daño: &f{value}%' -fall-damage-reduction: '&3 &7■ Reducción de daño por caída: &f{value}%' -fire-damage-reduction: '&3 &7■ Reducción de daño por fuego: &f{value}%' -magic-damage-reduction: '&3 &7■ Reducción de daño mágico: &f{value}%' -projectile-damage-reduction: '&3 &7■ Reducción de daño de projectiles: &f{value}%' -physical-damage-reduction: '&3 &7■ Reducción de daño físico: &f{value}%' -pve-damage-reduction: '&3 &7■ PvE Damage Reduction: &f{value}%' -pvp-damage-reduction: '&3 &7■ PvP Damage Reduction: &f{value}%' - -# RPG stats -health-regeneration: '&3 &7■ Regeneración de vida: &f{value}%' -max-mana: '&3 &7■ Mana máximo: &f{value}' -mana-regeneration: '&3 &7■ Regeneración de mana: &f{value}' -max-stamina: '&3 &7■ Stamina máxima: &f{value}' -stamina-regeneration: '&3 &7■ Regeneracion de stamina: &f{value}' -cooldown-reduction: '&3 &7■ Frequencia de abilidades: &f{value}%' -additional-experience: '&3 &7■ Experiencia adicional: &f{value}%' -additional-experience-alchemy: '&7■ Additional Alchemy Experience: &f{value}%' -additional-experience-enchanting: '&7■ Additional Enchanting Experience: &f{value}%' -additional-experience-farming: '&7■ Additional Farming Experience: &f{value}%' -additional-experience-fishing: '&7■ Additional Fishing Experience: &f{value}%' -additional-experience-mining: '&7■ Additional Mining Experience: &f{value}%' -additional-experience-smelting: '&7■ Additional Smelting Experience: &f{value}%' -additional-experience-smithing: '&7■ Additional Smithing Experience: &f{value}%' -additional-experience-woodcutting: '&7■ Additional Woodcutting Experience: &f{value}%' - -# Extra Options -perm-effect: '&3 &7■ Permanente &f{effect}' -command: '&3 &7■ Comando: &f{format} &3 &7(&f{cooldown}&3 &7s)' -item-cooldown: '&3 &7■ &3 &7Se puede usar cada {value}&3 &7s' -arrow-potion-effects: '&3 &7■ Flecha envinada: &f{effect}' - -# Consumables -restore-health: '&3 &7■ Da &f{value} &3 &7de vida' -restore-food: '&3 &7■ Restaura &f{value} &3 &7de hambre' -restore-saturation: '&3 &7■ Da &f{value} &3 &7de saturación' -restore-mana: '&3 &7■ Da &f{value} &3 &7de mana' -restore-stamina: '&3 &7■ Da &f{value} &3 &7de stamina' -effect: '&3 &7■ Al consumir otorga &f{effect} &3 &7por &f{duration}&3 &7s' -repair: '&3 &7■ Repara: &f{value}' -repair-percent: '&3 &7■ Repair: &f{value}%' -can-identify: '&3 &7■ Puede identificar objetos.' -can-deconstruct: '&3 &7■ Puede destruir objetos usados.' -can-deskin: '&3 &7■ Can de-skin skinned items.' -success-rate: '&3 &7■ Probabilidad de éxito: &a&l{value}%' -max-consume: '&3 &7■ Usos Restantes: &f{value}' - -# Gem Stones -empty-gem-socket: '&a◆ Espacio para gema {name}' -filled-gem-socket: '&a◆ {name}' -when-applied: '&aAl aplicar:' -gem-stone-lore: '&8&l[&2&l♦&8&l] &aArrastra y suelta en un objeto &3 &7para aplicar!' - -# Soulbound -soulbinding-chance: '&3 &7■ Probabilidad de &a{value}%&3 &7 de enlazarte astralmente.' -soulbound-break-chance: '&3 &7■ Probabilidad de &a{value}%&3 &7 de romper enlazamientos astrales.' -soulbound-level: '&3 &7■ Nivel &e{value} &3 &7de Enlazamiento Astral' - -# Tools -autosmelt: '&3 &7■ &fAutofundidor' -bouncing-crack: '&3 &7■ &fGrieta Profunda' -pickaxe-power: '&3 &7■ &fPoder de Pico: &a{value}' -durability: '&7Durability: {current} / {max}' - -# General -item-type: '&c{type}' -tier: '&3 &7Calidad: {value}' -required-class: '&3 &7Equipamento de {value}' -required-level: '&eRequiere Nivel {value}' - -# MMOCore Attributes -required-dexterity: '&eRequire &c{value} &ede Destreza' -required-strength: '&eRequire &c{value} &ede Fuerza' -required-intelligence: '&eRequire &c{value} &ede Intelligencia' - -additional-dexterity: '&3 &7■ Extra Dexterity: &f{value}' -additional-strength: '&3 &7■ Extra Strength: &f{value}' -additional-intelligence: '&3 &7■ Extra Intelligence: &f{value}' - -# Professions -profession-alchemy: '&eRequiere nivel de Alquímia &c{value}' -profession-enchanting: '&eRequiere nivel de Encantador &c{value}' -profession-farming: '&eRequiere nivel de Agricultor &c{value}' -profession-fishing: '&eRequiere nivel de Pezcador &c{value}' -profession-mining: '&eRequiere nivel de Minero &c{value}' -profession-smelting: '&eRequiere nivel de Fundidor &c{value}' -profession-smithing: '&eRequiere nivel de Herrero &c{value}' -profession-woodcutting: '&eRequiere nivel de Leñador &c{value}' - -# Elemental Stat Format -elemental-damage: '{color}{icon}&7 {value} {element} Damage' -elemental-damage-percent: '{color}{icon}&7 +{value}% {element} Damage' -elemental-defense: '{color}{icon}&7 {value} {element} Defense' -elemental-defense-percent: '{color}{icon}&7 +{value}% {element} Defense' -elemental-weakness: '{color}{icon}&7 {value}% {element} Weakness' - -# Custom stats -custom-myluck: '&3 &7■ Oportunidad: &f{value}' \ No newline at end of file