From fd400096008cadfd403268fe12f0d055db2743eb Mon Sep 17 00:00:00 2001 From: IPECTER Date: Sat, 24 Jan 2026 15:51:26 +0900 Subject: [PATCH 1/2] feat: Refactor localization with new lore array format and placeholders - Migrate from lore1/lore2 keys to unified lore arrays - Add MessageFormat placeholders ({0}, {1}) for dynamic values - Standardize color formatting (, , ) - Update en_US to new structure (others need translation) - Refactor Localizer.dLocalize() to support dot notation keys --- build.gradle.kts | 4 +- .../adapt/api/adaptation/Adaptation.java | 135 +- .../api/adaptation/SimpleAdaptation.java | 2 +- .../com/volmit/adapt/api/skill/Skill.java | 22 +- .../volmit/adapt/api/world/AdaptPlayer.java | 7 +- .../volmit/adapt/api/world/PlayerData.java | 5 +- .../adaptation/agility/AgilityArmorUp.java | 14 +- .../adaptation/agility/AgilitySuperJump.java | 10 +- .../adaptation/agility/AgilityWallJump.java | 12 +- .../adaptation/agility/AgilityWindUp.java | 16 +- .../architect/ArchitectElevator.java | 16 +- .../architect/ArchitectFoundation.java | 15 +- .../adaptation/architect/ArchitectGlass.java | 13 +- .../architect/ArchitectPlacement.java | 21 +- .../architect/ArchitectWirelessRedstone.java | 27 +- .../adapt/content/adaptation/axe/AxeChop.java | 18 +- .../adaptation/axe/AxeCraftLogSwap.java | 11 +- .../adaptation/axe/AxeDropToInventory.java | 7 +- .../adaptation/axe/AxeGroundSmash.java | 15 +- .../adaptation/axe/AxeLeafVeinminer.java | 14 +- .../adaptation/axe/AxeWoodVeinminer.java | 14 +- .../blocking/BlockingChainArmorer.java | 7 +- .../blocking/BlockingHorseArmorer.java | 11 +- .../blocking/BlockingMultiArmor.java | 16 +- .../blocking/BlockingSaddlecrafter.java | 9 +- .../adaptation/brewing/BrewingAbsorption.java | 8 +- .../adaptation/brewing/BrewingBlindness.java | 8 +- .../adaptation/brewing/BrewingDarkness.java | 9 +- .../adaptation/brewing/BrewingDecay.java | 8 +- .../adaptation/brewing/BrewingFatigue.java | 8 +- .../adaptation/brewing/BrewingHaste.java | 8 +- .../brewing/BrewingHealthBoost.java | 8 +- .../adaptation/brewing/BrewingHunger.java | 8 +- .../adaptation/brewing/BrewingLingering.java | 11 +- .../adaptation/brewing/BrewingNausea.java | 8 +- .../adaptation/brewing/BrewingResistance.java | 8 +- .../adaptation/brewing/BrewingSaturation.java | 8 +- .../brewing/BrewingSuperHeated.java | 7 +- .../crafting/CraftingBackpacks.java | 12 +- .../crafting/CraftingDeconstruction.java | 8 +- .../adaptation/crafting/CraftingLeather.java | 9 +- .../crafting/CraftingReconstruction.java | 12 +- .../adaptation/crafting/CraftingSkulls.java | 14 +- .../adaptation/crafting/CraftingStations.java | 10 +- .../adaptation/crafting/CraftingXP.java | 7 +- .../adaptation/discovery/DiscoveryArmor.java | 9 +- .../adaptation/discovery/DiscoveryUnity.java | 11 +- .../discovery/DiscoveryVillagerAtt.java | 10 +- .../discovery/DiscoveryXpResist.java | 8 +- .../enchanting/EnchantingLapisReturn.java | 7 +- .../enchanting/EnchantingQuickEnchant.java | 9 +- .../enchanting/EnchantingXPReturn.java | 8 +- .../excavation/ExcavationDropToInventory.java | 8 +- .../excavation/ExcavationHaste.java | 8 +- .../excavation/ExcavationOmniTool.java | 19 +- .../excavation/ExcavationSpelunker.java | 13 +- .../herbalism/HerbalismCraftableCobweb.java | 7 +- .../HerbalismCraftableMushroomBlocks.java | 7 +- .../herbalism/HerbalismDropToInventory.java | 8 +- .../herbalism/HerbalismGrowthAura.java | 12 +- .../herbalism/HerbalismHungryHippo.java | 7 +- .../herbalism/HerbalismHungryShield.java | 7 +- .../adaptation/herbalism/HerbalismLuck.java | 11 +- .../herbalism/HerbalismMyconid.java | 7 +- .../herbalism/HerbalismReplant.java | 6 +- .../herbalism/HerbalismTerralid.java | 7 +- .../adaptation/hunter/HunterAdrenaline.java | 7 +- .../hunter/HunterDropToInventory.java | 7 +- .../adaptation/hunter/HunterInvis.java | 14 +- .../adaptation/hunter/HunterJumpBoost.java | 13 +- .../content/adaptation/hunter/HunterLuck.java | 13 +- .../adaptation/hunter/HunterRegen.java | 13 +- .../adaptation/hunter/HunterResistance.java | 13 +- .../adaptation/hunter/HunterSpeed.java | 13 +- .../adaptation/hunter/HunterStrength.java | 13 +- .../adaptation/nether/NetherFireResist.java | 218 +-- .../adaptation/nether/NetherSkullYeet.java | 12 +- .../adaptation/nether/NetherWitherResist.java | 8 +- .../adaptation/pickaxe/PickaxeAutosmelt.java | 19 +- .../adaptation/pickaxe/PickaxeChisel.java | 11 +- .../pickaxe/PickaxeDropToInventory.java | 8 +- .../pickaxe/PickaxeSilkSpawner.java | 7 +- .../adaptation/pickaxe/PickaxeVeinminer.java | 13 +- .../ranged/RangedArrowRecovery.java | 10 +- .../adaptation/ranged/RangedForce.java | 15 +- .../adaptation/ranged/RangedLungeShot.java | 11 +- .../adaptation/ranged/RangedPiercing.java | 7 +- .../adaptation/ranged/RangedWebBomb.java | 12 +- .../content/adaptation/rift/RiftAccess.java | 17 +- .../content/adaptation/rift/RiftBlink.java | 10 +- .../content/adaptation/rift/RiftDescent.java | 14 +- .../adaptation/rift/RiftEnderchest.java | 9 +- .../content/adaptation/rift/RiftGate.java | 16 +- .../content/adaptation/rift/RiftResist.java | 10 +- .../content/adaptation/rift/RiftVisage.java | 105 +- .../seaborrne/SeaborneFishersFantasy.java | 7 +- .../adaptation/seaborrne/SeaborneOxygen.java | 11 +- .../adaptation/seaborrne/SeaborneSpeed.java | 8 +- .../seaborrne/SeaborneTurtlesMiningSpeed.java | 7 +- .../seaborrne/SeaborneTurtlesVision.java | 7 +- .../adaptation/stealth/StealthEnderVeil.java | 7 +- .../adaptation/stealth/StealthGhostArmor.java | 24 +- .../adaptation/stealth/StealthSight.java | 12 +- .../adaptation/stealth/StealthSnatch.java | 6 +- .../adaptation/stealth/StealthSpeed.java | 6 +- .../adaptation/sword/SwordsBloodyBlade.java | 11 +- .../adaptation/sword/SwordsMachete.java | 11 +- .../adaptation/sword/SwordsPoisonedBlade.java | 11 +- .../adaptation/taming/TamingDamage.java | 13 +- .../adaptation/taming/TamingHealthBoost.java | 13 +- .../taming/TamingHealthRegeneration.java | 6 +- .../adaptation/tragoul/TragoulGlobe.java | 11 +- .../adaptation/tragoul/TragoulHealing.java | 14 +- .../adaptation/tragoul/TragoulLance.java | 15 +- .../adaptation/tragoul/TragoulThorns.java | 9 +- .../unarmed/UnarmedGlassCannon.java | 10 +- .../adaptation/unarmed/UnarmedPower.java | 7 +- .../unarmed/UnarmedSuckerPunch.java | 12 +- .../volmit/adapt/content/gui/SkillsGui.java | 17 +- .../adapt/content/item/BoundEnderPearl.java | 10 +- .../adapt/content/item/BoundEyeOfEnder.java | 10 +- .../content/item/BoundRedstoneTorch.java | 10 +- .../adapt/content/item/BoundSnowBall.java | 8 +- .../adapt/content/item/ExperienceOrb.java | 6 +- .../adapt/content/item/KnowledgeOrb.java | 6 +- .../adapt/content/skill/SkillAgility.java | 26 +- .../adapt/content/skill/SkillArchitect.java | 26 +- .../volmit/adapt/content/skill/SkillAxes.java | 408 ++-- .../adapt/content/skill/SkillBlocking.java | 26 +- .../adapt/content/skill/SkillBrewing.java | 46 +- .../adapt/content/skill/SkillChronos.java | 6 +- .../adapt/content/skill/SkillCrafting.java | 26 +- .../adapt/content/skill/SkillDiscovery.java | 6 +- .../adapt/content/skill/SkillEnchanting.java | 26 +- .../adapt/content/skill/SkillExcavation.java | 382 ++-- .../adapt/content/skill/SkillHerbalism.java | 26 +- .../adapt/content/skill/SkillHunter.java | 524 ++--- .../adapt/content/skill/SkillNether.java | 6 +- .../adapt/content/skill/SkillPickaxes.java | 26 +- .../adapt/content/skill/SkillRanged.java | 6 +- .../volmit/adapt/content/skill/SkillRift.java | 6 +- .../adapt/content/skill/SkillSeaborne.java | 10 +- .../adapt/content/skill/SkillStealth.java | 10 +- .../adapt/content/skill/SkillSwords.java | 6 +- .../adapt/content/skill/SkillTaming.java | 6 +- .../adapt/content/skill/SkillTragOul.java | 6 +- .../adapt/content/skill/SkillUnarmed.java | 6 +- .../java/com/volmit/adapt/util/Localizer.java | 116 +- .../java/com/volmit/adapt/util/UIElement.java | 27 +- .../volmit/adapt/util/collection/KList.java | 9 - src/main/resources/de_DE.json | 1695 +++++++++------- src/main/resources/en_US.json | 1095 +++++++---- src/main/resources/es_ES.json | 1703 +++++++++------- src/main/resources/fi_FI.json | 1657 ++++++++++------ src/main/resources/fr_FR.json | 1693 +++++++++------- src/main/resources/he_IL.json | 1715 +++++++++++------ src/main/resources/it_IT.json | 1691 +++++++++------- src/main/resources/ja-JP.json | 1202 ------------ src/main/resources/ja_JP.json | 1515 +++++++++++++++ src/main/resources/ko_KR.json | 1681 +++++++++------- src/main/resources/lt_LT.json | 1695 +++++++++------- src/main/resources/nl_NL.json | 1653 +++++++++------- src/main/resources/pl_PL.json | 1695 +++++++++------- src/main/resources/pt_PT.json | 1697 +++++++++------- src/main/resources/ru_RU.json | 1701 +++++++++------- src/main/resources/tr_TR.json | 1695 +++++++++------- src/main/resources/vi_VI.json | 1677 +++++++++------- src/main/resources/zh_CN.json | 1679 +++++++++------- src/main/resources/zh_TW.json | 1699 +++++++++------- 169 files changed, 20384 insertions(+), 13974 deletions(-) delete mode 100644 src/main/resources/ja-JP.json create mode 100644 src/main/resources/ja_JP.json diff --git a/build.gradle.kts b/build.gradle.kts index 352e37e2c..a7168b1cb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -222,7 +222,7 @@ configurations.configureEach { resolutionStrategy.cacheDynamicVersionsFor(60, "minutes") } -if (JavaVersion.current().toString() != "17") { +if (JavaVersion.current().toString() != "21") { System.err.println() System.err.println("=========================================================================================================") System.err.println("You must run gradle on Java 17. You are using " + JavaVersion.current()) @@ -242,7 +242,7 @@ if (JavaVersion.current().toString() != "17") { java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(21) } } diff --git a/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java b/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java index b3f7bdf32..2f72db43d 100644 --- a/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java +++ b/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java @@ -341,6 +341,13 @@ default int getRefundCostFor(int level, int myLevel) { return c; } + default String displayName() { + if (!this.getSkill().isEnabled()) { + this.unregister(); + } + return "%s".formatted(getSkill().getColor().hex(), Form.capitalizeWords(getName().replaceAll("\\Q" + getSkill().getName() + "-\\E", "").replaceAll("\\Q-\\E", " "))); + } + default String getDisplayName() { if (!this.getSkill().isEnabled()) { this.unregister(); @@ -348,6 +355,17 @@ default String getDisplayName() { return C.RESET + "" + C.BOLD + getSkill().getColor().toString() + Form.capitalizeWords(getName().replaceAll("\\Q" + getSkill().getName() + "-\\E", "").replaceAll("\\Q-\\E", " ")); } + default String displayName(int level) { + if (!this.getSkill().isEnabled()) { + this.unregister(); + } + if (level >= 1) { + return "%s %s".formatted(displayName(), Form.toRoman(level)); + } + + return displayName(); + } + default String getDisplayName(int level) { if (!this.getSkill().isEnabled()) { this.unregister(); @@ -449,51 +467,80 @@ default void openGui(Player player) { .setEnchanted(mylevel >= lvl) .setProgress(1D) .addLore(Form.wrapWordsPrefixed(getDescription(), "" + C.GRAY, 40)) - .addLore(mylevel >= lvl ? ("") : ("" + C.WHITE + c + C.GRAY + " " + Localizer.dLocalize("snippets", "adaptmenu", "knowledgecost") + " " + (AdaptConfig.get().isHardcoreNoRefunds() ? C.DARK_RED + "" + C.BOLD + Localizer.dLocalize("snippets", "adaptmenu", "norefunds") : ""))) - .addLore(mylevel >= lvl ? AdaptConfig.get().isHardcoreNoRefunds() ? (C.GREEN + Localizer.dLocalize("snippets", "adaptmenu", "alreadylearned") + " " + C.DARK_RED + "" + C.BOLD + Localizer.dLocalize("snippets", "adaptmenu", "norefunds")) : (isPermanent() ? "" : (C.GREEN + Localizer.dLocalize("snippets", "adaptmenu", "alreadylearned") + " " + C.GRAY + Localizer.dLocalize("snippets", "adaptmenu", "unlearnrefund") + " " + C.GREEN + rc + " " + Localizer.dLocalize("snippets", "adaptmenu", "knowledgecost"))) : (k >= c ? (C.BLUE + Localizer.dLocalize("snippets", "adaptmenu", "clicklearn") + " " + getDisplayName(i)) : (k == 0 ? (C.RED + Localizer.dLocalize("snippets", "adaptmenu", "noknowledge")) : (C.RED + "(" + Localizer.dLocalize("snippets", "adaptmenu", "youonlyhave") + " " + C.WHITE + k + C.RED + " " + Localizer.dLocalize("snippets", "adaptmenu", "knowledgeavailable") + ")")))) - .addLore(mylevel < lvl && getPlayer(player).getData().hasPowerAvailable(pc) ? C.GREEN + "" + lvl + " " + Localizer.dLocalize("snippets", "adaptmenu", "powerdrain") : mylevel >= lvl ? C.GREEN + "" + lvl + " " + Localizer.dLocalize("snippets", "adaptmenu", "powerdrain") : C.RED + Localizer.dLocalize("snippets", "adaptmenu", "notenoughpower") + "\n" + C.RED + Localizer.dLocalize("snippets", "adaptmenu", "howtolevelup")) - .addLore((isPermanent() ? C.RED + "" + C.BOLD + Localizer.dLocalize("snippets", "adaptmenu", "maynotunlearn") : "")) - .onLeftClick((e) -> { - if (mylevel >= lvl) { - unlearn(player, lvl, false); - spw.play(player.getLocation(), Sound.BLOCK_NETHER_GOLD_ORE_PLACE, 0.7f, 1.355f); - spw.play(player.getLocation(), Sound.BLOCK_BEACON_DEACTIVATE, 0.4f, 0.755f); - w.close(); - if (AdaptConfig.get().getLearnUnlearnButtonDelayTicks() != 0) { - if (isPermanent()) { - spw.play(player.getLocation(), Sound.ENTITY_BLAZE_DEATH, 0.5f, 1.355f); - player.sendTitle(" ", C.RED + "" + C.BOLD + Localizer.dLocalize("snippets", "adaptmenu", "maynotunlearn") + " " + getDisplayName(mylevel), 1, 10, 11); - } else { - player.sendTitle(" ", C.GRAY + Localizer.dLocalize("snippets", "adaptmenu", "unlearned") + " " + getDisplayName(mylevel), 1, 10, 11); - } - } - J.s(() -> openGui(player), AdaptConfig.get().getLearnUnlearnButtonDelayTicks()); - return; - } + .addLore(""); - if (k >= c && getPlayer(player).getData().hasPowerAvailable(pc)) { - if (getPlayer(player).getData().getSkillLine(getSkill().getName()).spendKnowledge(c)) { - getPlayer(player).getData().getSkillLine(getSkill().getName()).setAdaptation(this, lvl); - spw.play(player.getLocation(), Sound.BLOCK_NETHER_GOLD_ORE_PLACE, 0.9f, 1.355f); - spw.play(player.getLocation(), Sound.BLOCK_ENCHANTMENT_TABLE_USE, 1.7f, 0.355f); - spw.play(player.getLocation(), Sound.BLOCK_BEACON_POWER_SELECT, 0.4f, 0.155f); - spw.play(player.getLocation(), Sound.BLOCK_BEACON_ACTIVATE, 0.2f, 1.455f); - if (isPermanent()) { - spw.play(player.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 0.7f, 1.355f); - spw.play(player.getLocation(), Sound.ITEM_GOAT_HORN_SOUND_1, 0.7f, 1.355f); - } - w.close(); - if (AdaptConfig.get().getLearnUnlearnButtonDelayTicks() != 0) { - player.sendTitle(" ", C.GRAY + Localizer.dLocalize("snippets", "adaptmenu", "learned") + " " + getDisplayName(lvl), 1, 5, 11); - } - J.s(() -> openGui(player), AdaptConfig.get().getLearnUnlearnButtonDelayTicks()); - } else { - spw.play(player.getLocation(), Sound.BLOCK_BAMBOO_HIT, 0.7f, 1.855f); - } + if (mylevel < lvl) { + if (isPermanent()) { + de.addLore(Localizer.dLocalize("snippets.adapt_menu.may_not_unlearn")); + de.addLore(""); + } + if (AdaptConfig.get().isHardcoreNoRefunds()) { + de.addLore(Localizer.dLocalize("snippets.adapt_menu.no_refunds")); + de.addLore(""); + } + de.addLore(Localizer.dLocalize("snippets.adapt_menu.knowledge_cost", c)); + if (k == 0) { + de.addLore(Localizer.dLocalize("snippets.adapt_menu.no_knowledge")); + } else if (k < c) { + de.addLore(Localizer.dLocalize("snippets.adapt_menu.you_only_have", k)); + } + de.addLore(""); + if (getPlayer(player).getData().hasPowerAvailable(pc)) { + de.addLore(Localizer.dLocalize("snippets.adapt_menu.power_drain", lvl)); + } else { + de.addLore(Localizer.dLocalize("snippets.adapt_menu.not_enough_power")); + de.addLore(Localizer.dLocalize("snippets.adapt_menu.how_to_level_up")); + } + } else { + if (AdaptConfig.get().isHardcoreNoRefunds()) { + de.addLore(Localizer.dLocalize("snippets.adapt_menu.no_refunds")); + } else if (!isPermanent()) { + de.addLore( Localizer.dLocalize("snippets.adapt_menu.unlearn_refund", rc)); + } + de.addLore(""); + de.addLore(Localizer.dLocalize("snippets.adapt_menu.power_drain", lvl)); + } + de.onLeftClick((e) -> { + if (mylevel >= lvl) { + unlearn(player, lvl, false); + spw.play(player.getLocation(), Sound.BLOCK_NETHER_GOLD_ORE_PLACE, 0.7f, 1.355f); + spw.play(player.getLocation(), Sound.BLOCK_BEACON_DEACTIVATE, 0.4f, 0.755f); + w.close(); + if (AdaptConfig.get().getLearnUnlearnButtonDelayTicks() != 0) { + if (isPermanent()) { + spw.play(player.getLocation(), Sound.ENTITY_BLAZE_DEATH, 0.5f, 1.355f); + player.sendTitle(" ", Localizer.dLocalize("snippets.adapt_menu.may_not_unlearn"), 1, 10, 11); } else { - spw.play(player.getLocation(), Sound.BLOCK_BAMBOO_HIT, 0.7f, 1.855f); + player.sendTitle(" ", Localizer.dLocalize("snippets.adapt_menu.unlearned", displayName(mylevel)), 1, 10, 11); + } + } + J.s(() -> openGui(player), AdaptConfig.get().getLearnUnlearnButtonDelayTicks()); + return; + } + + if (k >= c && getPlayer(player).getData().hasPowerAvailable(pc)) { + if (getPlayer(player).getData().getSkillLine(getSkill().getName()).spendKnowledge(c)) { + getPlayer(player).getData().getSkillLine(getSkill().getName()).setAdaptation(this, lvl); + spw.play(player.getLocation(), Sound.BLOCK_NETHER_GOLD_ORE_PLACE, 0.9f, 1.355f); + spw.play(player.getLocation(), Sound.BLOCK_ENCHANTMENT_TABLE_USE, 1.7f, 0.355f); + spw.play(player.getLocation(), Sound.BLOCK_BEACON_POWER_SELECT, 0.4f, 0.155f); + spw.play(player.getLocation(), Sound.BLOCK_BEACON_ACTIVATE, 0.2f, 1.455f); + if (isPermanent()) { + spw.play(player.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 0.7f, 1.355f); + spw.play(player.getLocation(), Sound.ITEM_GOAT_HORN_SOUND_1, 0.7f, 1.355f); } - }); + w.close(); + if (AdaptConfig.get().getLearnUnlearnButtonDelayTicks() != 0) { + player.sendTitle(" ", Localizer.dLocalize("snippets.adapt_menu.learned", displayName(lvl)), 1, 5, 11); + } + J.s(() -> openGui(player), AdaptConfig.get().getLearnUnlearnButtonDelayTicks()); + } else { + spw.play(player.getLocation(), Sound.BLOCK_BAMBOO_HIT, 0.7f, 1.855f); + } + } else { + spw.play(player.getLocation(), Sound.BLOCK_BAMBOO_HIT, 0.7f, 1.855f); + } + }); de.addLore(" "); addStats(lvl, de); w.setElement(pos, row, de); @@ -505,12 +552,12 @@ default void openGui(Player player) { w.setElement(backPos, backRow, new UIElement("back") .setMaterial(new MaterialBlock(Material.RED_BED)) .setModel(CustomModel.get(Material.RED_BED, "snippets", "gui", "back")) - .setName("" + C.RESET + C.GRAY + Localizer.dLocalize("snippets", "gui", "back")) + .setName(Localizer.dLocalize("snippets.gui.back")) .onLeftClick((e) -> onGuiClose(player, true))); } AdaptPlayer a = Adapt.instance.getAdaptServer().getPlayer(player); - w.setTitle(getDisplayName() + " " + C.DARK_GRAY + " " + Form.f(a.getSkillLine(getSkill().getName()).getKnowledge()) + " " + Localizer.dLocalize("snippets", "adaptmenu", "knowledge")); + w.setTitle(getDisplayName() + " " + Localizer.dLocalize("snippets.adapt_menu.knowledge_available_title", Form.f(a.getSkillLine(getSkill().getName()).getKnowledge()))); w.onClosed((vv) -> J.s(() -> onGuiClose(player, !AdaptConfig.get().isEscClosesAllGuis()))); w.open(); Adapt.instance.getGuiLeftovers().put(player.getUniqueId().toString(), w); diff --git a/src/main/java/com/volmit/adapt/api/adaptation/SimpleAdaptation.java b/src/main/java/com/volmit/adapt/api/adaptation/SimpleAdaptation.java index d1eab8dc8..cd0b65d32 100644 --- a/src/main/java/com/volmit/adapt/api/adaptation/SimpleAdaptation.java +++ b/src/main/java/com/volmit/adapt/api/adaptation/SimpleAdaptation.java @@ -178,7 +178,7 @@ public AdaptAdvancement buildAdvancements() { return AdaptAdvancement.builder() .key("adaptation_" + getName()) .title(C.WHITE + "[ " + getDisplayName() + C.WHITE + " ]") - .description(getDescription() + ". " + Localizer.dLocalize("snippets", "gui", "unlockthisbyclicking") + " " + AdaptConfig.get().adaptActivatorBlockName) + .description(getDescription() + ". " + Localizer.dLocalize("snippets.gui.unlock_this_by_clicking") + " " + AdaptConfig.get().adaptActivatorBlockName) .icon(getIcon()) .children(a) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/api/skill/Skill.java b/src/main/java/com/volmit/adapt/api/skill/Skill.java index 774feacb4..10f93209e 100644 --- a/src/main/java/com/volmit/adapt/api/skill/Skill.java +++ b/src/main/java/com/volmit/adapt/api/skill/Skill.java @@ -38,6 +38,8 @@ import org.bukkit.Sound; import org.bukkit.entity.Player; +import java.util.List; + public interface Skill extends Ticked, Component { AdaptAdvancement buildAdvancements(); @@ -102,6 +104,13 @@ default boolean hasBlacklistPermission(Player p, Skill s) { return p.hasPermission(blacklistPermission); } + default String displayName() { + if (!this.isEnabled()) { + this.unregister(); + } + return "%s %s".formatted(getColor().hex(), getEmojiName(), Form.capitalize(getName())); + } + default String getDisplayName() { if (!this.isEnabled()) { this.unregister(); @@ -233,7 +242,10 @@ default void openGui(Player player) { .setModel(i.getModel()) .setName(i.getDisplayName(lvl)) .addLore(Form.wrapWordsPrefixed(i.getDescription(), "" + C.GRAY, 45)) // Set to the actual Description - .addLore(lvl == 0 ? (C.DARK_GRAY + Localizer.dLocalize("snippets", "gui", "notlearned")) : (C.GRAY + Localizer.dLocalize("snippets", "gui", "level") + " " + C.WHITE + Form.toRoman(lvl))) + .addLore("") + .addLore(lvl == 0 + ? Localizer.dLocalize("snippets.gui.not_learned") + : Localizer.dLocalize("snippets.gui.level", Form.toRoman(lvl))) .setProgress(1D) .onLeftClick((e) -> i.openGui(player))); ind++; @@ -246,12 +258,16 @@ default void openGui(Player player) { w.setElement(backPos, backRow, new UIElement("back") .setMaterial(new MaterialBlock(Material.RED_BED)) .setModel(CustomModel.get(Material.RED_BED, "snippets", "gui", "back")) - .setName("" + C.RESET + C.GRAY + Localizer.dLocalize("snippets", "gui", "back")) + .setName(Localizer.dLocalize("snippets.gui.back")) .onLeftClick((e) -> onGuiClose(player, true))); } AdaptPlayer a = Adapt.instance.getAdaptServer().getPlayer(player); - w.setTitle(getDisplayName(a.getSkillLine(getName()).getLevel()) + " " + Form.pc(XP.getLevelProgress(a.getSkillLine(getName()).getXp())) + " (" + Form.f((int) XP.getXpUntilLevelUp(a.getSkillLine(getName()).getXp())) + Localizer.dLocalize("snippets", "gui", "xp") + " " + (a.getSkillLine(getName()).getLevel() + 1) + ")"); + w.setTitle( + getDisplayName(a.getSkillLine(getName()).getLevel()) + " " + + Form.pc(XP.getLevelProgress(a.getSkillLine(getName()).getXp())) + " (" + + Localizer.dLocalize("snippets.gui.xp", Form.f((int) XP.getXpUntilLevelUp(a.getSkillLine(getName()).getXp())), + a.getSkillLine(getName()).getLevel() + 1) + ")"); w.onClosed((vv) -> J.s(() -> onGuiClose(player, !AdaptConfig.get().isEscClosesAllGuis()))); w.open(); Adapt.instance.getGuiLeftovers().put(player.getUniqueId().toString(), w); diff --git a/src/main/java/com/volmit/adapt/api/world/AdaptPlayer.java b/src/main/java/com/volmit/adapt/api/world/AdaptPlayer.java index cfa338ff8..6b607ef9a 100644 --- a/src/main/java/com/volmit/adapt/api/world/AdaptPlayer.java +++ b/src/main/java/com/volmit/adapt/api/world/AdaptPlayer.java @@ -34,6 +34,7 @@ import org.bukkit.util.Vector; import java.io.File; +import java.util.List; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -309,9 +310,9 @@ public void loggedIn() { if (!AdaptConfig.get().isWelcomeMessage()) return; getNot().queue(AdvancementNotification.builder() - .title(first ? Localizer.dLocalize("snippets", "gui", "welcome") : Localizer.dLocalize("snippets", "gui", "welcomeback")) - .description("+" + C.GREEN + Form.pc(boostAmount, 0) + C.GRAY + " " + Localizer.dLocalize("snippets", "gui", "xpbonusfortime") + " " + C.AQUA + Form.duration(boostTime, 0)) - .model(CustomModel.get(Material.DIAMOND, "snippets", "gui", first ? "welcome" : "welcomeback")) + .title(first ? Localizer.dLocalize("snippets.gui.welcome") : Localizer.dLocalize("snippets.gui.welcome_back")) + .description(Localizer.dLocalize("snippets.gui.xp_bonus_for_time", Form.pc(boostAmount, 0), Form.duration(boostTime, 0))) + .model(CustomModel.get(Material.DIAMOND, "snippets", "gui", first ? "welcome" : "welcome_back")) .build()); } } diff --git a/src/main/java/com/volmit/adapt/api/world/PlayerData.java b/src/main/java/com/volmit/adapt/api/world/PlayerData.java index 0979187d3..63c7dfcd3 100644 --- a/src/main/java/com/volmit/adapt/api/world/PlayerData.java +++ b/src/main/java/com/volmit/adapt/api/world/PlayerData.java @@ -25,7 +25,6 @@ import com.volmit.adapt.api.notification.TitleNotification; import com.volmit.adapt.api.xp.XP; import com.volmit.adapt.api.xp.XPMultiplier; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Form; import com.volmit.adapt.util.Json; import com.volmit.adapt.util.Localizer; @@ -180,13 +179,13 @@ public void update(AdaptPlayer p) { .out(2250) .group("lvl") .title("") - .subtitle(C.GOLD + Localizer.dLocalize("snippets", "gui", "level") +" " + level)// I'm sorry I missed this! + .subtitle(Localizer.dLocalize("snippets.gui.level", level))// I'm sorry I missed this! .build()); p.getActionBarNotifier().queue( ActionBarNotification.builder() .duration(450) .group("power") - .title(C.GOLD + "" + Form.f(level * AdaptConfig.get().getPowerPerLevel(), 0) + C.GRAY + " " + Localizer.dLocalize("snippets", "gui", "maxabilitypower")) // I'm sorry I missed this! + .title(Localizer.dLocalize("snippets.gui.max_ability_power", Form.f(level * AdaptConfig.get().getPowerPerLevel(), 0))) // I'm sorry I missed this! .build()); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityArmorUp.java b/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityArmorUp.java index 1aa7801e7..aea525664 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityArmorUp.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityArmorUp.java @@ -21,7 +21,10 @@ import com.volmit.adapt.Adapt; import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.version.Version; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.M; import com.volmit.adapt.util.reflect.registries.Attributes; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; @@ -39,16 +42,16 @@ public class AgilityArmorUp extends SimpleAdaptation { private static final UUID MODIFIER = UUID.nameUUIDFromBytes("adapt-armor-up".getBytes()); - private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString( "adapt:armor-up"); + private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString("adapt:armor-up"); private final Map ticksRunning; public AgilityArmorUp() { super("agility-armor-up"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("agility", "armorup", "description")); + setDescription(Localizer.dLocalize("agility.armor_up.description")); setIcon(Material.IRON_CHESTPLATE); - setDisplayName(Localizer.dLocalize("agility", "armorup", "name")); + setDisplayName(Localizer.dLocalize("agility.armor_up.name")); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); setInitialCost(getConfig().initialCost); @@ -58,8 +61,7 @@ public AgilityArmorUp() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getWindupArmor(getLevelPercent(level)), 0) + C.GRAY + " " + Localizer.dLocalize("agility", "armorup", "lore1")); - v.addLore(C.YELLOW + "* " + Form.duration(getWindupTicks(getLevelPercent(level)) * 50D, 1) + " " + C.GRAY + Localizer.dLocalize("agility", "armorup", "lore2")); + v.addLore(Localizer.dLocalize("agility.armor_up.lore", Form.pc(getWindupArmor(getLevelPercent(level)), 0), Form.duration(getWindupTicks(getLevelPercent(level)) * 50D, 1))); } @EventHandler diff --git a/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilitySuperJump.java b/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilitySuperJump.java index 8b0b3db4d..821e3c2f2 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilitySuperJump.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilitySuperJump.java @@ -44,8 +44,8 @@ public class AgilitySuperJump extends SimpleAdaptation public AgilitySuperJump() { super("agility-super-jump"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("agility", "superjump", "description")); - setDisplayName(Localizer.dLocalize("agility", "superjump", "name")); + setDescription(Localizer.dLocalize("agility.super_jump.description")); + setDisplayName(Localizer.dLocalize("agility.super_jump.name")); setIcon(Material.LEATHER_BOOTS); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -61,9 +61,7 @@ private double getJumpHeight(int level) { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getJumpHeight(level), 0) + C.GRAY + " " + Localizer.dLocalize("agility", "superjump", "lore1")); - v.addLore(C.LIGHT_PURPLE + " " + Localizer.dLocalize("agility", "superjump", "lore2")); - + v.addLore(Localizer.dLocalize("agility.super_jump.lore", Form.pc(getJumpHeight(level), 0))); } @EventHandler @@ -155,4 +153,4 @@ protected static class Config { double baseJumpMultiplier = 0.23; double jumpLevelMultiplier = 0.23; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityWallJump.java b/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityWallJump.java index 6d74a553f..bce47d603 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityWallJump.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityWallJump.java @@ -19,7 +19,10 @@ package com.volmit.adapt.content.adaptation.agility; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import com.volmit.adapt.util.reflect.registries.Particles; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; @@ -42,8 +45,8 @@ public class AgilityWallJump extends SimpleAdaptation { public AgilityWallJump() { super("agility-wall-jump"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("agility", "walljump", "description")); - setDisplayName(Localizer.dLocalize("agility", "walljump", "name")); + setDescription(Localizer.dLocalize("agility.wall_jump.description")); + setDisplayName(Localizer.dLocalize("agility.wall_jump.name")); setIcon(Material.LADDER); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -55,8 +58,7 @@ public AgilityWallJump() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + getMaxJumps(level) + C.GRAY + " " + Localizer.dLocalize("agility", "walljump", "lore1")); - v.addLore(C.GREEN + "+ " + Form.pc(getJumpHeight(level), 0) + C.GRAY + " " + Localizer.dLocalize("agility", "walljump", "lore2")); + v.addLore(Localizer.dLocalize("agility.wall_jump.lore", getMaxJumps(level), Form.pc(getJumpHeight(level), 0))); } @EventHandler diff --git a/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityWindUp.java b/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityWindUp.java index 545b40953..acf603a43 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityWindUp.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/agility/AgilityWindUp.java @@ -21,11 +21,14 @@ import com.volmit.adapt.Adapt; import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.version.Version; -import com.volmit.adapt.util.*; -import com.volmit.adapt.util.reflect.registries.Attributes; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.M; import com.volmit.adapt.util.reflect.events.api.ReflectiveHandler; import com.volmit.adapt.util.reflect.events.api.entity.EntityDismountEvent; import com.volmit.adapt.util.reflect.events.api.entity.EntityMountEvent; +import com.volmit.adapt.util.reflect.registries.Attributes; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -43,15 +46,15 @@ public class AgilityWindUp extends SimpleAdaptation { private static final UUID MODIFIER = UUID.nameUUIDFromBytes("adapt-wind-up".getBytes()); - private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString( "adapt:wind-up"); + private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString("adapt:wind-up"); private final Map ticksRunning; public AgilityWindUp() { super("agility-wind-up"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("agility", "windup", "description")); - setDisplayName(Localizer.dLocalize("agility", "windup", "name")); + setDescription(Localizer.dLocalize("agility.wind_up.description")); + setDisplayName(Localizer.dLocalize("agility.wind_up.name")); setIcon(Material.POWERED_RAIL); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -62,8 +65,7 @@ public AgilityWindUp() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getWindupSpeed(getLevelPercent(level)), 0) + C.GRAY + " " + Localizer.dLocalize("agility", "windup", "lore1")); - v.addLore(C.YELLOW + "* " + Form.duration(getWindupTicks(getLevelPercent(level)) * 50D, 1) + C.GRAY + " " + Localizer.dLocalize("agility", "windup", "lore2")); + v.addLore(Localizer.dLocalize("agility.wind_up.lore", Form.pc(getWindupSpeed(getLevelPercent(level)), 0), Form.duration(getWindupTicks(getLevelPercent(level)) * 50D, 1))); } @EventHandler diff --git a/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectElevator.java b/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectElevator.java index 66756c9c9..6b322d332 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectElevator.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectElevator.java @@ -70,8 +70,8 @@ public class ArchitectElevator extends SimpleAdaptation { private static final BlockData AIR = Material.AIR.createBlockData(); private static final BlockData BLOCK = Material.TINTED_GLASS.createBlockData(); @@ -56,8 +55,8 @@ public class ArchitectFoundation extends SimpleAdaptation entity instanceof ItemFrame || entity instanceof Painting).isEmpty()) diff --git a/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectGlass.java b/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectGlass.java index b7ffdbc4b..23beb6a76 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectGlass.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectGlass.java @@ -19,7 +19,10 @@ package com.volmit.adapt.content.adaptation.architect; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import lombok.NoArgsConstructor; import org.bukkit.Material; import org.bukkit.Particle; @@ -35,8 +38,8 @@ public class ArchitectGlass extends SimpleAdaptation { public ArchitectGlass() { super("architect-glass"); registerConfiguration(ArchitectGlass.Config.class); - setDescription(Localizer.dLocalize("architect", "glass", "description")); - setDisplayName(Localizer.dLocalize("architect", "glass", "name")); + setDescription(Localizer.dLocalize("architect.glass.description")); + setDisplayName(Localizer.dLocalize("architect.glass.name")); setIcon(Material.GLASS); setInterval(25000); setBaseCost(getConfig().baseCost); @@ -47,7 +50,7 @@ public ArchitectGlass() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + Localizer.dLocalize("architect", "glass", "lore1")); + v.addLore(Localizer.dLocalize("architect.glass.lore")); } @@ -100,4 +103,4 @@ protected static class Config { int initialCost = 0; double costFactor = 5; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectPlacement.java b/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectPlacement.java index de1fb607e..b1399974f 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectPlacement.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectPlacement.java @@ -20,7 +20,10 @@ import com.volmit.adapt.Adapt; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import com.volmit.adapt.util.collection.KMap; import lombok.NoArgsConstructor; import org.bukkit.Material; @@ -47,8 +50,8 @@ public class ArchitectPlacement extends SimpleAdaptation b.getRelative(blocks.get(b)).equals(e.getBlock())) - .findFirst() - .orElse(null); + .stream() + .filter(b -> b.getRelative(blocks.get(b)).equals(e.getBlock())) + .findFirst() + .orElse(null); if (hand.getAmount() < blocks.size()) { - Adapt.messagePlayer(p, C.RED + Localizer.dLocalize("architect", "placement", "lore1") + " " + C.GREEN + blocks.size() + C.RED + " " + Localizer.dLocalize("architect", "placement", "lore2")); + Adapt.messagePlayer(p, Localizer.dLocalize("architect.placement.need_blocks", blocks.size())); return; } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectWirelessRedstone.java b/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectWirelessRedstone.java index 14a766012..d9cc63421 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectWirelessRedstone.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/architect/ArchitectWirelessRedstone.java @@ -18,24 +18,14 @@ package com.volmit.adapt.content.adaptation.architect; -import static com.volmit.adapt.api.adaptation.chunk.ChunkLoading.loadChunkAsync; - import com.volmit.adapt.Adapt; import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.recipe.AdaptRecipe; import com.volmit.adapt.content.item.BoundRedstoneTorch; import com.volmit.adapt.util.*; - -import java.util.HashMap; -import java.util.Map; import lombok.NoArgsConstructor; -import org.bukkit.Bukkit; -import org.bukkit.Color; -import org.bukkit.GameMode; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.Sound; +import org.bukkit.*; import org.bukkit.block.Block; import org.bukkit.block.data.AnaloguePowerable; import org.bukkit.block.data.BlockData; @@ -48,6 +38,11 @@ import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemStack; +import java.util.HashMap; +import java.util.Map; + +import static com.volmit.adapt.api.adaptation.chunk.ChunkLoading.loadChunkAsync; + public class ArchitectWirelessRedstone extends SimpleAdaptation { private final Map cooldowns; @@ -55,8 +50,8 @@ public class ArchitectWirelessRedstone extends SimpleAdaptation updatePlayerCooldown(p, false)); } else { J.s(() -> updatePlayerCooldown(p, true)); diff --git a/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeChop.java b/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeChop.java index 9a1ab3650..1177c5c8a 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeChop.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeChop.java @@ -20,7 +20,10 @@ import com.volmit.adapt.Adapt; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import lombok.NoArgsConstructor; import org.bukkit.Material; import org.bukkit.Sound; @@ -38,8 +41,8 @@ public class AxeChop extends SimpleAdaptation { public AxeChop() { super("axe-chop"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("axe", "chop", "description")); - setDisplayName(Localizer.dLocalize("axe", "chop", "name")); + setDescription(Localizer.dLocalize("axe.chop.description")); + setDisplayName(Localizer.dLocalize("axe.chop.name")); setIcon(Material.IRON_AXE); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -50,9 +53,12 @@ public AxeChop() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + level + C.GRAY + " " + Localizer.dLocalize("axe", "chop", "lore1")); - v.addLore(C.YELLOW + "* " + Form.duration(getCooldownTime(getLevelPercent(level)) * 50D, 1) + C.GRAY + " " + Localizer.dLocalize("axe", "chop", "lore2")); - v.addLore(C.RED + "- " + getDamagePerBlock(getLevelPercent(level)) + C.GRAY + " " + Localizer.dLocalize("axe", "chop", "lore3")); + double levelPercent = getLevelPercent(level); + v.addLore(Localizer.dLocalize( + "axe.chop.lore", + level, + Form.duration(getCooldownTime(levelPercent) * 50D, 1), + getDamagePerBlock(levelPercent))); } @EventHandler(priority = EventPriority.HIGHEST) diff --git a/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeCraftLogSwap.java b/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeCraftLogSwap.java index 591f24382..2c2526bf9 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeCraftLogSwap.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeCraftLogSwap.java @@ -20,21 +20,20 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.recipe.AdaptRecipe; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.reflect.registries.Materials; import lombok.NoArgsConstructor; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; -import com.volmit.adapt.util.reflect.registries.Materials; public class AxeCraftLogSwap extends SimpleAdaptation { public AxeCraftLogSwap() { super("axe-logswap"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("axe", "logswap", "description")); - setDisplayName(Localizer.dLocalize("axe", "logswap", "name")); + setDescription(Localizer.dLocalize("axe.log_swap.description")); + setDisplayName(Localizer.dLocalize("axe.log_swap.name")); setIcon(Material.MUDDY_MANGROVE_ROOTS); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -1009,7 +1008,7 @@ public AxeCraftLogSwap() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + C.GRAY + Localizer.dLocalize("axe", "logswap", "lore1")); + v.addLore(Localizer.dLocalize("axe.log_swap.lore")); } @@ -1036,4 +1035,4 @@ protected static class Config { int initialCost = 2; double costFactor = 1; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeDropToInventory.java b/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeDropToInventory.java index 3674848cd..a0ce97c88 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeDropToInventory.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeDropToInventory.java @@ -20,7 +20,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.content.item.ItemListings; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.SoundPlayer; @@ -41,8 +40,8 @@ public class AxeDropToInventory extends SimpleAdaptation { public AxeGroundSmash() { super("axe-ground-smash"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("axe", "groundsmash", "description")); - setDisplayName(Localizer.dLocalize("axe", "groundsmash", "name")); + setDescription(Localizer.dLocalize("axe.ground_smash.description")); + setDisplayName(Localizer.dLocalize("axe.ground_smash.name")); setIcon(Material.NETHERITE_AXE); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -51,10 +51,13 @@ public AxeGroundSmash() { @Override public void addStats(int level, Element v) { double f = getLevelPercent(level); - v.addLore(C.RED + "+ " + Form.f(getFalloffDamage(f), 1) + " - " + Form.f(getDamage(f), 1) + C.GRAY + " " + Localizer.dLocalize("axe", "groundsmash", "lore1")); - v.addLore(C.RED + "+ " + Form.f(getRadius(f), 1) + C.GRAY + " " + Localizer.dLocalize("axe", "groundsmash", "lore2")); - v.addLore(C.RED + "+ " + Form.pc(getForce(f), 0) + C.GRAY + " " + Localizer.dLocalize("axe", "groundsmash", "lore3")); - v.addLore(C.YELLOW + "* " + Form.duration(getCooldownTime(getLevelPercent(level)) * 50D, 1) + C.GRAY + " " + Localizer.dLocalize("axe", "groundsmash", "lore4")); + v.addLore(Localizer.dLocalize( + "axe.ground_smash.lore", + Form.f(getFalloffDamage(f), 1), + Form.f(getDamage(f), 1), + Form.f(getRadius(f), 1), + Form.pc(getForce(f), 0), + Form.duration(getCooldownTime(f) * 50D, 1))); } @EventHandler(priority = EventPriority.HIGHEST) diff --git a/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeLeafVeinminer.java b/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeLeafVeinminer.java index 512e92cb5..6e8b7be30 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeLeafVeinminer.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeLeafVeinminer.java @@ -21,7 +21,10 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.world.PlayerAdaptation; import com.volmit.adapt.api.world.PlayerSkillLine; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import com.volmit.adapt.util.reflect.registries.Particles; import lombok.NoArgsConstructor; import org.bukkit.Location; @@ -43,8 +46,8 @@ public class AxeLeafVeinminer extends SimpleAdaptation public AxeLeafVeinminer() { super("axe-leaf-veinminer"); registerConfiguration(AxeLeafVeinminer.Config.class); - setDescription(Localizer.dLocalize("axe", "leafminer", "description")); - setDisplayName(Localizer.dLocalize("axe", "leafminer", "name")); + setDescription(Localizer.dLocalize("axe.leaf_miner.description")); + setDisplayName(Localizer.dLocalize("axe.leaf_miner.name")); setIcon(Material.BIRCH_LEAVES); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -59,10 +62,9 @@ public boolean isEnabled() { return getConfig().enabled; } + @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + Localizer.dLocalize("axe", "leafminer", "lore1")); - v.addLore(C.GREEN + "" + (level + getConfig().baseRange) + C.GRAY + " " + Localizer.dLocalize("axe", "leafminer", "lore2")); - v.addLore(C.ITALIC + Localizer.dLocalize("axe", "leafminer", "lore3")); + v.addLore(Localizer.dLocalize("axe.leaf_miner.lore", level + getConfig().baseRange)); } private int getRadius(int lvl) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeWoodVeinminer.java b/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeWoodVeinminer.java index 2bf23460e..1810096de 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeWoodVeinminer.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/axe/AxeWoodVeinminer.java @@ -22,7 +22,10 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.world.PlayerAdaptation; import com.volmit.adapt.api.world.PlayerSkillLine; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import com.volmit.adapt.util.reflect.registries.Particles; import lombok.NoArgsConstructor; import org.bukkit.Material; @@ -45,8 +48,8 @@ public class AxeWoodVeinminer extends SimpleAdaptation public AxeWoodVeinminer() { super("axe-wood-veinminer"); registerConfiguration(AxeWoodVeinminer.Config.class); - setDescription(Localizer.dLocalize("axe", "woodminer", "description")); - setDisplayName(Localizer.dLocalize("axe", "woodminer", "name")); + setDescription(Localizer.dLocalize("axe.wood_miner.description")); + setDisplayName(Localizer.dLocalize("axe.wood_miner.name")); setIcon(Material.DIAMOND_AXE); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -61,10 +64,9 @@ public boolean isEnabled() { return getConfig().enabled; } + @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + Localizer.dLocalize("axe", "woodminer", "lore1")); - v.addLore(C.GREEN + "" + (level + getConfig().baseRange) + C.GRAY + " " + Localizer.dLocalize("axe", "woodminer", "lore2")); - v.addLore(C.ITALIC + Localizer.dLocalize("axe", "woodminer", "lore3")); + v.addLore(Localizer.dLocalize("axe.wood_miner.lore", level + getConfig().baseRange)); } private int getRadius(int lvl) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/blocking/BlockingChainArmorer.java b/src/main/java/com/volmit/adapt/content/adaptation/blocking/BlockingChainArmorer.java index acc2023b5..1ea37e45b 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/blocking/BlockingChainArmorer.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/blocking/BlockingChainArmorer.java @@ -21,7 +21,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.recipe.AdaptRecipe; import com.volmit.adapt.api.recipe.MaterialChar; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -35,8 +34,8 @@ public class BlockingChainArmorer extends SimpleAdaptation public BrewingBlindness() { super("brewing-blindness"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("brewing", "blindness", "description")); - setDisplayName(Localizer.dLocalize("brewing", "blindness", "name")); + setDescription(Localizer.dLocalize("brewing.blindness.description")); + setDisplayName(Localizer.dLocalize("brewing.blindness.name")); setIcon(Material.INK_SAC); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -71,8 +70,7 @@ public BrewingBlindness() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "blindness", "lore1")); -// v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "blindness", "lore2")); + v.addLore(Localizer.dLocalize("brewing.blindness.lore")); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingDarkness.java b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingDarkness.java index c574bd912..54d65f0c7 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingDarkness.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingDarkness.java @@ -21,8 +21,8 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.potion.BrewingRecipe; import com.volmit.adapt.api.potion.PotionBuilder; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; import org.bukkit.Color; @@ -35,8 +35,8 @@ public class BrewingDarkness extends SimpleAdaptation { public BrewingDarkness() { super("brewing-darkness"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("brewing", "darkness", "description")); - setDisplayName(Localizer.dLocalize("brewing", "darkness", "name")); + setDescription(Localizer.dLocalize("brewing.darkness.description")); + setDisplayName(Localizer.dLocalize("brewing.darkness.name")); setIcon(Material.BLACK_CONCRETE); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -59,8 +59,7 @@ public BrewingDarkness() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "darkness", "lore1")); - v.addLore(C.GRAY + "- " + Localizer.dLocalize("brewing", "darkness", "lore2")); + v.addLore(Localizer.dLocalize("brewing.darkness.lore", Form.duration(600 * 50, 0))); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingDecay.java b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingDecay.java index 5fe1a5514..cfdc8c4e1 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingDecay.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingDecay.java @@ -21,7 +21,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.potion.BrewingRecipe; import com.volmit.adapt.api.potion.PotionBuilder; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -35,8 +34,8 @@ public class BrewingDecay extends SimpleAdaptation { public BrewingDecay() { super("brewing-decay"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("brewing", "decay", "description")); - setDisplayName(Localizer.dLocalize("brewing", "decay", "name")); + setDescription(Localizer.dLocalize("brewing.decay.description")); + setDisplayName(Localizer.dLocalize("brewing.decay.name")); setIcon(Material.WITHER_ROSE); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -71,8 +70,7 @@ public BrewingDecay() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "decay", "lore1")); - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "decay", "lore2")); + v.addLore(Localizer.dLocalize("brewing.decay.lore")); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingFatigue.java b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingFatigue.java index 6fcbfdb4b..fefec23bb 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingFatigue.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingFatigue.java @@ -21,7 +21,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.potion.BrewingRecipe; import com.volmit.adapt.api.potion.PotionBuilder; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.reflect.registries.PotionEffectTypes; @@ -35,8 +34,8 @@ public class BrewingFatigue extends SimpleAdaptation { public BrewingFatigue() { super("brewing-fatigue"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("brewing", "fatigue", "description")); - setDisplayName(Localizer.dLocalize("brewing", "fatigue", "name")); + setDescription(Localizer.dLocalize("brewing.fatigue.description")); + setDisplayName(Localizer.dLocalize("brewing.fatigue.name")); setIcon(Material.SLIME_BALL); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -71,8 +70,7 @@ public BrewingFatigue() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "fatigue", "lore1")); - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "fatigue", "lore2")); + v.addLore(Localizer.dLocalize("brewing.fatigue.lore")); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingHaste.java b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingHaste.java index 95b6553c7..1561bc5a3 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingHaste.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingHaste.java @@ -21,7 +21,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.potion.BrewingRecipe; import com.volmit.adapt.api.potion.PotionBuilder; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.reflect.registries.PotionEffectTypes; @@ -35,8 +34,8 @@ public class BrewingHaste extends SimpleAdaptation { public BrewingHaste() { super("brewing-haste"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("brewing", "haste", "description")); - setDisplayName(Localizer.dLocalize("brewing", "haste", "name")); + setDescription(Localizer.dLocalize("brewing.haste.description")); + setDisplayName(Localizer.dLocalize("brewing.haste.name")); setIcon(Material.AMETHYST_SHARD); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -71,8 +70,7 @@ public BrewingHaste() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "haste", "lore1")); - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "haste", "lore2")); + v.addLore(Localizer.dLocalize("brewing.haste.lore")); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingHealthBoost.java b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingHealthBoost.java index 30873c4d7..3d86449f5 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingHealthBoost.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingHealthBoost.java @@ -21,7 +21,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.potion.BrewingRecipe; import com.volmit.adapt.api.potion.PotionBuilder; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.reflect.registries.PotionTypes; @@ -35,8 +34,8 @@ public class BrewingHealthBoost extends SimpleAdaptation { public BrewingHunger() { super("brewing-hunger"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("brewing", "hunger", "description")); - setDisplayName(Localizer.dLocalize("brewing", "hunger", "name")); + setDescription(Localizer.dLocalize("brewing.hunger.description")); + setDisplayName(Localizer.dLocalize("brewing.hunger.name")); setIcon(Material.ROTTEN_FLESH); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -71,8 +70,7 @@ public BrewingHunger() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "hunger", "lore1")); - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "hunger", "lore2")); + v.addLore(Localizer.dLocalize("brewing.hunger.lore")); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingLingering.java b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingLingering.java index 4c0119d66..78283e735 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingLingering.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingLingering.java @@ -62,8 +62,8 @@ public class BrewingLingering extends SimpleAdaptation public BrewingLingering() { super("brewing-lingering"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("brewing", "lingering", "description")); - setDisplayName(Localizer.dLocalize("brewing", "lingering", "name")); + setDescription(Localizer.dLocalize("brewing.lingering.description")); + setDisplayName(Localizer.dLocalize("brewing.lingering.name")); setIcon(Material.CLOCK); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -74,8 +74,11 @@ public BrewingLingering() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.duration((long) getDurationBoost(getLevelPercent(level)), 0) + C.GRAY + " " + Localizer.dLocalize("brewing", "lingering", "lore1")); - v.addLore(C.GREEN + "+ " + Form.pc(getPercentBoost(getLevelPercent(level)), 0) + C.GRAY + " " + Localizer.dLocalize("brewing", "lingering", "lore2")); + double factor = getLevelPercent(level); + v.addLore(Localizer.dLocalize( + "brewing.lingering.lore", + Form.duration((long) getDurationBoost(factor), 0), + Form.pc(getPercentBoost(factor), 0))); } public double getDurationBoost(double factor) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingNausea.java b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingNausea.java index 88d7252d8..e53f167f6 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingNausea.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingNausea.java @@ -21,7 +21,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.potion.BrewingRecipe; import com.volmit.adapt.api.potion.PotionBuilder; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.reflect.registries.PotionEffectTypes; @@ -35,8 +34,8 @@ public class BrewingNausea extends SimpleAdaptation { public BrewingNausea() { super("brewing-nausea"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("brewing", "nausea", "description")); - setDisplayName(Localizer.dLocalize("brewing", "nausea", "name")); + setDescription(Localizer.dLocalize("brewing.nausea.description")); + setDisplayName(Localizer.dLocalize("brewing.nausea.name")); setIcon(Material.CRIMSON_FUNGUS); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -71,8 +70,7 @@ public BrewingNausea() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "nausea", "lore1")); - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("brewing", "nausea", "lore2")); + v.addLore(Localizer.dLocalize("brewing.nausea.lore")); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingResistance.java b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingResistance.java index ac73711c5..cb3e382e1 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingResistance.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/brewing/BrewingResistance.java @@ -21,7 +21,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.potion.BrewingRecipe; import com.volmit.adapt.api.potion.PotionBuilder; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -35,8 +34,8 @@ public class BrewingResistance extends SimpleAdaptation { public CraftingLeather() { super("crafting-leather"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("crafting", "leather", "description")); - setDisplayName(Localizer.dLocalize("crafting", "leather", "name")); + setDescription(Localizer.dLocalize("crafting.leather.description")); + setDisplayName(Localizer.dLocalize("crafting.leather.name")); setIcon(Material.LEATHER); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -54,7 +53,7 @@ public CraftingLeather() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + C.GRAY + Localizer.dLocalize("crafting", "leather", "lore1")); + v.addLore(Localizer.dLocalize("crafting.leather.lore")); } @EventHandler @@ -90,4 +89,4 @@ protected static class Config { int initialCost = 2; double costFactor = 1; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingReconstruction.java b/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingReconstruction.java index 85034da50..1b4e734ce 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingReconstruction.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingReconstruction.java @@ -20,7 +20,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.recipe.AdaptRecipe; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -34,8 +33,8 @@ public class CraftingReconstruction extends SimpleAdaptation { public CraftingSkulls() { super("crafting-skulls"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("crafting", "skulls", "description")); - setDisplayName(Localizer.dLocalize("crafting", "skulls", "name")); + setDescription(Localizer.dLocalize("crafting.skulls.description")); + setDisplayName(Localizer.dLocalize("crafting.skulls.name")); setIcon(Material.WITHER_SKELETON_SKULL); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -97,12 +96,7 @@ public CraftingSkulls() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + C.GRAY + Localizer.dLocalize("crafting", "skulls", "lore1")); - v.addLore(C.YELLOW + "- " + C.GRAY + Localizer.dLocalize("crafting", "skulls", "lore2")); - v.addLore(C.YELLOW + "- " + C.GRAY + Localizer.dLocalize("crafting", "skulls", "lore3")); - v.addLore(C.YELLOW + "- " + C.GRAY + Localizer.dLocalize("crafting", "skulls", "lore4")); - v.addLore(C.YELLOW + "- " + C.GRAY + Localizer.dLocalize("crafting", "skulls", "lore5")); - v.addLore(C.YELLOW + "- " + C.GRAY + Localizer.dLocalize("crafting", "skulls", "lore6")); + v.addLore(Localizer.dLocalize("crafting.skulls.lore")); } @@ -129,4 +123,4 @@ protected static class Config { int initialCost = 2; double costFactor = 1; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingStations.java b/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingStations.java index d3ca90584..714f96682 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingStations.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingStations.java @@ -19,7 +19,6 @@ package com.volmit.adapt.content.adaptation.crafting; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.SoundPlayer; @@ -40,8 +39,8 @@ public class CraftingStations extends SimpleAdaptation public CraftingStations() { super("crafting-stations"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("crafting", "stations", "description")); - setDisplayName(Localizer.dLocalize("crafting", "stations", "name")); + setDescription(Localizer.dLocalize("crafting.stations.description")); + setDisplayName(Localizer.dLocalize("crafting.stations.name")); setIcon(Material.CRAFTING_TABLE); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -52,8 +51,7 @@ public CraftingStations() { @Override public void addStats(int level, Element v) { - v.addLore(C.RED + Localizer.dLocalize("crafting", "stations", "lore2")); - v.addLore(C.GRAY + Localizer.dLocalize("crafting", "stations", "lore3")); + v.addLore(Localizer.dLocalize("crafting.stations.lore")); } @EventHandler @@ -144,4 +142,4 @@ protected static class Config { int initialCost = 2; double costFactor = 1; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingXP.java b/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingXP.java index e543037ef..ef2dfea69 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingXP.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/crafting/CraftingXP.java @@ -19,7 +19,6 @@ package com.volmit.adapt.content.adaptation.crafting; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -41,8 +40,8 @@ public class CraftingXP extends SimpleAdaptation { public CraftingXP() { super("crafting-xp"); registerConfiguration(CraftingXP.Config.class); - setDisplayName(Localizer.dLocalize("crafting", "xp", "name")); - setDescription(Localizer.dLocalize("crafting", "xp", "description")); + setDisplayName(Localizer.dLocalize("crafting.xp.name")); + setDescription(Localizer.dLocalize("crafting.xp.description")); setIcon(Material.EXPERIENCE_BOTTLE); setInterval(5580); setBaseCost(getConfig().baseCost); @@ -53,7 +52,7 @@ public CraftingXP() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + Localizer.dLocalize("crafting", "xp", "lore1")); + v.addLore(Localizer.dLocalize("crafting.xp.lore")); } @EventHandler diff --git a/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryArmor.java b/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryArmor.java index b8bc712ab..10ef2db9e 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryArmor.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryArmor.java @@ -42,7 +42,7 @@ public class DiscoveryArmor extends SimpleAdaptation { private static final UUID MODIFIER = UUID.nameUUIDFromBytes("adapt-discovery-armor".getBytes()); - private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString( "adapt:discovery-armor"); + private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString("adapt:discovery-armor"); private static final long UPDATE_COOLDOWN = TimeUnit.SECONDS.toMillis(3); private static final Sphere SPHERE = new Sphere(5); @@ -51,8 +51,8 @@ public class DiscoveryArmor extends SimpleAdaptation { public DiscoveryArmor() { super("discovery-world-armor"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("discovery", "armor", "description")); - setDisplayName(Localizer.dLocalize("discovery", "armor", "name")); + setDescription(Localizer.dLocalize("discovery.armor.description")); + setDisplayName(Localizer.dLocalize("discovery.armor.name")); setIcon(Material.TURTLE_HELMET); setInterval(305); setBaseCost(getConfig().baseCost); @@ -63,8 +63,7 @@ public DiscoveryArmor() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("discovery", "armor", "lore1") + C.GRAY + ", " + Localizer.dLocalize("discovery", "armor", "lore2")); - v.addLore(C.YELLOW + "~ " + Localizer.dLocalize("discovery", "armor", "lore3") + C.BLUE + " +" + level * 0.25); + v.addLore(Localizer.dLocalize("discovery.armor.lore", Form.f(level * 0.25, 2))); } public double getArmorPoints(Material m) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryUnity.java b/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryUnity.java index 39f6b42f4..9679d4ae6 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryUnity.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryUnity.java @@ -22,7 +22,10 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.world.AdaptPlayer; import com.volmit.adapt.api.world.PlayerSkillLine; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import lombok.NoArgsConstructor; import org.bukkit.Material; import org.bukkit.Sound; @@ -39,8 +42,8 @@ public class DiscoveryUnity extends SimpleAdaptation { public DiscoveryUnity() { super("discovery-unity"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("discovery", "unity", "description")); - setDisplayName(Localizer.dLocalize("discovery", "unity", "name")); + setDescription(Localizer.dLocalize("discovery.unity.description")); + setDisplayName(Localizer.dLocalize("discovery.unity.name")); setIcon(Material.REDSTONE); setBaseCost(getConfig().baseCost); setInitialCost(getConfig().initialCost); @@ -51,7 +54,7 @@ public DiscoveryUnity() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.f(getXPGained(getLevelPercent(level), 1), 0) + " " + Localizer.dLocalize("discovery", "unity", "lore1") + C.GRAY + " " + Localizer.dLocalize("discovery", "unity", "lore2")); + v.addLore(Localizer.dLocalize("discovery.unity.lore", Form.f(getXPGained(getLevelPercent(level), 1), 0))); } //Give random XP to the player when they gain XP! diff --git a/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryVillagerAtt.java b/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryVillagerAtt.java index b5fa61d21..5481d7e81 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryVillagerAtt.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/discovery/DiscoveryVillagerAtt.java @@ -47,8 +47,8 @@ public class DiscoveryVillagerAtt extends SimpleAdaptation getTotalLevelCount(getLevel(p))) { - Adapt.actionbar(p, C.RED + Localizer.dLocalize("enchanting", "quickenchant", "lore2") + getTotalLevelCount(getLevel(p)) + " " + Localizer.dLocalize("enchanting", "quickenchant", "lore3")); + Adapt.actionbar(p, Localizer.dLocalize("enchanting.quick_enchant.max_power", getTotalLevelCount(getLevel(p)))); sp.play(p.getLocation(), Sound.BLOCK_CONDUIT_DEACTIVATE, 0.5f, 1.7f); return; } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/enchanting/EnchantingXPReturn.java b/src/main/java/com/volmit/adapt/content/adaptation/enchanting/EnchantingXPReturn.java index af2d46001..0dc7f4529 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/enchanting/EnchantingXPReturn.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/enchanting/EnchantingXPReturn.java @@ -19,7 +19,6 @@ package com.volmit.adapt.content.adaptation.enchanting; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -39,8 +38,8 @@ public class EnchantingXPReturn extends SimpleAdaptation { public ExcavationHaste() { super("excavation-haste"); registerConfiguration(ExcavationHaste.Config.class); - setDisplayName(Localizer.dLocalize("excavation", "haste", "name")); - setDescription(Localizer.dLocalize("excavation", "haste", "description")); + setDisplayName(Localizer.dLocalize("excavation.haste.name")); + setDescription(Localizer.dLocalize("excavation.haste.description")); setIcon(Material.GOLDEN_PICKAXE); setInterval(4388); setBaseCost(getConfig().baseCost); @@ -47,8 +46,7 @@ public ExcavationHaste() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + Localizer.dLocalize("excavation", "haste", "lore1")); - v.addLore(C.GREEN + "" + (level) + C.GRAY + Localizer.dLocalize("excavation", "haste", "lore2")); + v.addLore(Localizer.dLocalize("excavation.haste.lore", level)); } @EventHandler(priority = EventPriority.HIGHEST) diff --git a/src/main/java/com/volmit/adapt/content/adaptation/excavation/ExcavationOmniTool.java b/src/main/java/com/volmit/adapt/content/adaptation/excavation/ExcavationOmniTool.java index 0e82db39a..30d1b85c6 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/excavation/ExcavationOmniTool.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/excavation/ExcavationOmniTool.java @@ -22,7 +22,10 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.content.item.ItemListings; import com.volmit.adapt.content.item.multiItems.OmniTool; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import lombok.NoArgsConstructor; import org.bukkit.Material; import org.bukkit.Sound; @@ -54,8 +57,8 @@ public class ExcavationOmniTool extends SimpleAdaptation { public HerbalismLuck() { super("herbalism-luck"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("herbalism", "luck", "description")); - setDisplayName(Localizer.dLocalize("herbalism", "luck", "name")); + setDescription(Localizer.dLocalize("herbalism.luck.description")); + setDisplayName(Localizer.dLocalize("herbalism.luck.name")); setIcon(Material.EMERALD); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -50,9 +50,8 @@ public HerbalismLuck() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + C.GRAY + Localizer.dLocalize("herbalism", "luck", "lore0")); - v.addLore(C.GREEN + "+ (" + (getEffectiveness(level)) + C.GRAY + "%) + " + Localizer.dLocalize("herbalism", "luck", "lore1")); - v.addLore(C.GREEN + "+ (" + (getEffectiveness(level)) + C.GRAY + "%) + " + Localizer.dLocalize("herbalism", "luck", "lore2")); + double chance = getEffectiveness(level); + v.addLore(Localizer.dLocalize("herbalism.luck.lore", Form.f(chance, 1), Form.f(chance, 1))); } private double getEffectiveness(double factor) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismMyconid.java b/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismMyconid.java index aff7c527d..547d954d5 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismMyconid.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismMyconid.java @@ -20,7 +20,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.recipe.AdaptRecipe; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -32,8 +31,8 @@ public class HerbalismMyconid extends SimpleAdaptation public HerbalismMyconid() { super("herbalism-myconid"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("herbalism", "myconid", "description")); - setDisplayName(Localizer.dLocalize("herbalism", "myconid", "name")); + setDescription(Localizer.dLocalize("herbalism.myconid.description")); + setDisplayName(Localizer.dLocalize("herbalism.myconid.name")); setIcon(Material.MYCELIUM); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -52,7 +51,7 @@ public HerbalismMyconid() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + C.GRAY + Localizer.dLocalize("herbalism", "myconid", "lore1")); + v.addLore(Localizer.dLocalize("herbalism.myconid.lore")); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismReplant.java b/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismReplant.java index 94bbb3bfc..bff3857b2 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismReplant.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismReplant.java @@ -43,8 +43,8 @@ public class HerbalismReplant extends SimpleAdaptation public HerbalismReplant() { super("herbalism-replant"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("herbalism", "replant", "description")); - setDisplayName(Localizer.dLocalize("herbalism", "replant", "name")); + setDescription(Localizer.dLocalize("herbalism.replant.description")); + setDisplayName(Localizer.dLocalize("herbalism.replant.name")); setIcon(Material.PUMPKIN_SEEDS); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -55,7 +55,7 @@ public HerbalismReplant() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + getRadius(level) + C.GRAY + Localizer.dLocalize("herbalism", "replant", "lore1")); + v.addLore(Localizer.dLocalize("herbalism.replant.lore", getRadius(level))); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismTerralid.java b/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismTerralid.java index 61e9c2aa9..62a62280b 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismTerralid.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/herbalism/HerbalismTerralid.java @@ -21,7 +21,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.recipe.AdaptRecipe; import com.volmit.adapt.api.recipe.MaterialChar; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -35,8 +34,8 @@ public class HerbalismTerralid extends SimpleAdaptation public HunterAdrenaline() { super("hunter-adrenaline"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("hunter", "adrenaline", "description")); - setDisplayName(Localizer.dLocalize("hunter", "adrenaline", "name")); + setDescription(Localizer.dLocalize("hunter.adrenaline.description")); + setDisplayName(Localizer.dLocalize("hunter.adrenaline.name")); setIcon(Material.LEATHER_HELMET); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -46,7 +45,7 @@ public HunterAdrenaline() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getDamage(level), 0) + C.GRAY + " " + Localizer.dLocalize("hunter", "adrenaline", "lore1")); + v.addLore(Localizer.dLocalize("hunter.adrenaline.lore", Form.pc(getDamage(level), 0))); } private double getDamage(int level) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterDropToInventory.java b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterDropToInventory.java index c80a26166..a6ad8ae2c 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterDropToInventory.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterDropToInventory.java @@ -20,7 +20,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.content.item.ItemListings; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.SoundPlayer; @@ -44,8 +43,8 @@ public class HunterDropToInventory extends SimpleAdaptation { public HunterInvis() { super("hunter-invis"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("hunter", "invisibility", "description")); - setDisplayName(Localizer.dLocalize("hunter", "invisibility", "name")); + setDescription(Localizer.dLocalize("hunter.invisibility.description")); + setDisplayName(Localizer.dLocalize("hunter.invisibility.name")); setIcon(Material.TROPICAL_FISH_BUCKET); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -47,14 +46,7 @@ public HunterInvis() { @Override public void addStats(int level, Element v) { - v.addLore(C.GRAY + Localizer.dLocalize("hunter", "invisibility", "lore1")); - v.addLore(C.GREEN + "+ " + level + C.GRAY + Localizer.dLocalize("hunter", "invisibility", "lore2")); - v.addLore(C.RED + "- " + (5 + level) + C.GRAY + Localizer.dLocalize("hunter", "invisibility", "lore3")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "invisibility", "lore4")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "invisibility", "lore5")); - v.addLore(C.RED + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "penalty", "lore1")); - v.addLore(C.GRAY + "- " + level + C.RED + " " + Localizer.dLocalize("hunter", "penalty", "lore1")); - + v.addLore(Localizer.dLocalize("hunter.invisibility.lore", level, 5 + level, level, level, getConfig().basePoisonFromLevel - level)); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterJumpBoost.java b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterJumpBoost.java index 909fe8a2d..c47df1bb5 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterJumpBoost.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterJumpBoost.java @@ -20,7 +20,6 @@ import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.reflect.registries.PotionEffectTypes; @@ -35,8 +34,8 @@ public class HunterJumpBoost extends SimpleAdaptation { public HunterJumpBoost() { super("hunter-jumpboost"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("hunter", "jumpboost", "description")); - setDisplayName(Localizer.dLocalize("hunter", "jumpboost", "name")); + setDescription(Localizer.dLocalize("hunter.jumpboost.description")); + setDisplayName(Localizer.dLocalize("hunter.jumpboost.name")); setIcon(Material.PUFFERFISH_BUCKET); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -47,13 +46,7 @@ public HunterJumpBoost() { @Override public void addStats(int level, Element v) { - v.addLore(C.GRAY + Localizer.dLocalize("hunter", "jumpboost", "lore1")); - v.addLore(C.GREEN + "+ " + level + C.GRAY + Localizer.dLocalize("hunter", "jumpboost", "lore2")); - v.addLore(C.RED + "- " + (5 + level) + C.GRAY + Localizer.dLocalize("hunter", "jumpboost", "lore3")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "jumpboost", "lore4")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "jumpboost", "lore5")); - v.addLore(C.GRAY + "- " + level + C.RED + " " + Localizer.dLocalize("hunter", "penalty", "lore1")); - + v.addLore(Localizer.dLocalize("hunter.jumpboost.lore", level, 5 + level, getConfig().basePoisonFromLevel - level)); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterLuck.java b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterLuck.java index 101a1c0c3..298899e38 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterLuck.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterLuck.java @@ -20,7 +20,6 @@ import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -34,8 +33,8 @@ public class HunterLuck extends SimpleAdaptation { public HunterLuck() { super("hunter-luck"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("hunter", "luck", "description")); - setDisplayName(Localizer.dLocalize("hunter", "luck", "name")); + setDescription(Localizer.dLocalize("hunter.luck.description")); + setDisplayName(Localizer.dLocalize("hunter.luck.name")); setIcon(Material.TADPOLE_BUCKET); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -46,13 +45,7 @@ public HunterLuck() { @Override public void addStats(int level, Element v) { - v.addLore(C.GRAY + Localizer.dLocalize("hunter", "luck", "lore1")); - v.addLore(C.GREEN + "+ " + level + C.GRAY + Localizer.dLocalize("hunter", "luck", "lore2")); - v.addLore(C.RED + "- " + (5 + level) + C.GRAY + Localizer.dLocalize("hunter", "luck", "lore3")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "luck", "lore4")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "luck", "lore5")); - v.addLore(C.GRAY + "- " + level + C.RED + " " + Localizer.dLocalize("hunter", "penalty", "lore1")); - + v.addLore(Localizer.dLocalize("hunter.luck.lore", level, 5 + level, level, level, getConfig().basePoisonFromLevel - level)); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterRegen.java b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterRegen.java index fe75c3049..8d368b763 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterRegen.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterRegen.java @@ -20,7 +20,6 @@ import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -34,8 +33,8 @@ public class HunterRegen extends SimpleAdaptation { public HunterRegen() { super("hunter-regen"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("hunter", "regen", "description")); - setDisplayName(Localizer.dLocalize("hunter", "regen", "name")); + setDescription(Localizer.dLocalize("hunter.regen.description")); + setDisplayName(Localizer.dLocalize("hunter.regen.name")); setIcon(Material.AXOLOTL_BUCKET); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -46,13 +45,7 @@ public HunterRegen() { @Override public void addStats(int level, Element v) { - v.addLore(C.GRAY + Localizer.dLocalize("hunter", "regen", "lore1")); - v.addLore(C.GREEN + "+ " + level + C.GRAY + Localizer.dLocalize("hunter", "regen", "lore2")); - v.addLore(C.RED + "- " + (getConfig().basePoisonFromLevel - level) + C.GRAY + Localizer.dLocalize("hunter", "regen", "lore3")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "regen", "lore4")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "regen", "lore5")); - v.addLore(C.GRAY + "- " + level + C.RED + " " + Localizer.dLocalize("hunter", "penalty", "lore1")); - + v.addLore(Localizer.dLocalize("hunter.regen.lore", level, level, getConfig().basePoisonFromLevel - level)); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterResistance.java b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterResistance.java index 2435816fa..eadb9251f 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterResistance.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterResistance.java @@ -20,7 +20,6 @@ import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.reflect.registries.PotionEffectTypes; @@ -35,8 +34,8 @@ public class HunterResistance extends SimpleAdaptation public HunterResistance() { super("hunter-resistance"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("hunter", "resistance", "description")); - setDisplayName(Localizer.dLocalize("hunter", "resistance", "name")); + setDescription(Localizer.dLocalize("hunter.resistance.description")); + setDisplayName(Localizer.dLocalize("hunter.resistance.name")); setIcon(Material.POWDER_SNOW_BUCKET); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -47,13 +46,7 @@ public HunterResistance() { @Override public void addStats(int level, Element v) { - v.addLore(C.GRAY + Localizer.dLocalize("hunter", "resistance", "lore1")); - v.addLore(C.GREEN + "+ " + level + C.GRAY + Localizer.dLocalize("hunter", "resistance", "lore2")); - v.addLore(C.RED + "- " + (5 + level) + C.GRAY + Localizer.dLocalize("hunter", "resistance", "lore3")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "resistance", "lore4")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "resistance", "lore5")); - v.addLore(C.GRAY + "- " + level + C.RED + " " + Localizer.dLocalize("hunter", "penalty", "lore1")); - + v.addLore(Localizer.dLocalize("hunter.resistance.lore", level, 5 + level, getConfig().basePoisonFromLevel - level)); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterSpeed.java b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterSpeed.java index 2899ef57f..2a819f692 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterSpeed.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterSpeed.java @@ -20,7 +20,6 @@ import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -34,8 +33,8 @@ public class HunterSpeed extends SimpleAdaptation { public HunterSpeed() { super("hunter-speed"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("hunter", "speed", "description")); - setDisplayName(Localizer.dLocalize("hunter", "speed", "name")); + setDescription(Localizer.dLocalize("hunter.speed.description")); + setDisplayName(Localizer.dLocalize("hunter.speed.name")); setIcon(Material.LAVA_BUCKET); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -46,13 +45,7 @@ public HunterSpeed() { @Override public void addStats(int level, Element v) { - v.addLore(C.GRAY + Localizer.dLocalize("hunter", "speed", "lore1")); - v.addLore(C.GREEN + "+ " + level + C.GRAY + Localizer.dLocalize("hunter", "speed", "lore2")); - v.addLore(C.RED + "- " + (5 + level) + C.GRAY + Localizer.dLocalize("hunter", "speed", "lore3")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "speed", "lore4")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "speed", "lore5")); - v.addLore(C.GRAY + "- " + level + C.RED + " " + Localizer.dLocalize("hunter", "penalty", "lore1")); - + v.addLore(Localizer.dLocalize("hunter.speed.lore", level, 5 + level, getConfig().basePoisonFromLevel - level)); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterStrength.java b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterStrength.java index 0579660ba..8a725dd0c 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterStrength.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/hunter/HunterStrength.java @@ -20,7 +20,6 @@ import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.reflect.registries.PotionEffectTypes; @@ -35,8 +34,8 @@ public class HunterStrength extends SimpleAdaptation { public HunterStrength() { super("hunter-strength"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("hunter", "strength", "description")); - setDisplayName(Localizer.dLocalize("hunter", "strength", "name")); + setDescription(Localizer.dLocalize("hunter.strength.description")); + setDisplayName(Localizer.dLocalize("hunter.strength.name")); setIcon(Material.COD_BUCKET); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -47,13 +46,7 @@ public HunterStrength() { @Override public void addStats(int level, Element v) { - v.addLore(C.GRAY + Localizer.dLocalize("hunter", "strength", "lore1")); - v.addLore(C.GREEN + "+ " + level + C.GRAY + Localizer.dLocalize("hunter", "strength", "lore2")); - v.addLore(C.RED + "- " + (5 + level) + C.GRAY + Localizer.dLocalize("hunter", "strength", "lore3")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "strength", "lore4")); - v.addLore(C.GRAY + "* " + level + C.GRAY + " " + Localizer.dLocalize("hunter", "strength", "lore5")); - v.addLore(C.GRAY + "- " + level + C.RED + " " + Localizer.dLocalize("hunter", "penalty", "lore1")); - + v.addLore(Localizer.dLocalize("hunter.strength.lore", level, 5 + level, getConfig().basePoisonFromLevel - level)); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherFireResist.java b/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherFireResist.java index 1a27e029c..ca7d6636c 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherFireResist.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherFireResist.java @@ -1,108 +1,110 @@ -/*------------------------------------------------------------------------------ - - Adapt is a Skill/Integration plugin for Minecraft Bukkit Servers - - Copyright (c) 2022 Arcane Arts (Volmit Software) - - - - This program is free software: you can redistribute it and/or modify - - it under the terms of the GNU General Public License as published by - - the Free Software Foundation, either version 3 of the License, or - - (at your option) any later version. - - - - This program is distributed in the hope that it will be useful, - - but WITHOUT ANY WARRANTY; without even the implied warranty of - - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - - GNU General Public License for more details. - - - - You should have received a copy of the GNU General Public License - - along with this program. If not, see . - -----------------------------------------------------------------------------*/ -package com.volmit.adapt.content.adaptation.nether; - -import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.*; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.entity.EntityDamageEvent; - -import java.util.Random; - -public class NetherFireResist extends SimpleAdaptation { - private final Random random = new Random(); - - public NetherFireResist() { - super("nether-fire-resist"); - registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("nether", "fireresist", "description")); - setDisplayName(Localizer.dLocalize("nether", "fireresist", "name")); - setIcon(Material.BLAZE_POWDER); - setBaseCost(getConfig().baseCost); - setCostFactor(getConfig().costFactor); - setMaxLevel(getConfig().maxLevel); - setInitialCost(getConfig().initialCost); - setInterval(4333); - } - - @Override - public void addStats(int level, Element v) { - v.addLore(C.RED + "+ " + Form.pc(getFireResist(level), 0) + C.GRAY + " " + Localizer.dLocalize("nether", "fireresist", "lore1")); - } - - @EventHandler(priority = EventPriority.HIGH) - public void on(EntityDamageEvent e) { - if (e.isCancelled()) { - return; - } - - if (!(e.getEntity() instanceof Player p)) { - return; - } - - if (!hasAdaptation(p)) { - return; - } - - if (e.getCause() != EntityDamageEvent.DamageCause.FIRE && e.getCause() != EntityDamageEvent.DamageCause.FIRE_TICK) { - return; - } - - - if (random.nextDouble() < getFireResist(getLevel(p))) { - e.setCancelled(true); - } - } - - public double getFireResist(double level) { - return getConfig().fireResistBase + (getConfig().fireResistFactor * level); - } - - @Override - public void onTick() { - - } - - @Override - public boolean isEnabled() { - return getConfig().enabled; - } - - @Override - public boolean isPermanent() { - return getConfig().permanent; - } - - @Data - @NoArgsConstructor - public static class Config { - boolean permanent = false; - boolean enabled = true; - int baseCost = 4; - double costFactor = 0.75; - int maxLevel = 3; - int initialCost = 6; - double fireResistBase = 0.10; - double fireResistFactor = 0.25; - } -} +/*------------------------------------------------------------------------------ + - Adapt is a Skill/Integration plugin for Minecraft Bukkit Servers + - Copyright (c) 2022 Arcane Arts (Volmit Software) + - + - This program is free software: you can redistribute it and/or modify + - it under the terms of the GNU General Public License as published by + - the Free Software Foundation, either version 3 of the License, or + - (at your option) any later version. + - + - This program is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU General Public License for more details. + - + - You should have received a copy of the GNU General Public License + - along with this program. If not, see . + -----------------------------------------------------------------------------*/ +package com.volmit.adapt.content.adaptation.nether; + +import com.volmit.adapt.api.adaptation.SimpleAdaptation; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; +import com.volmit.adapt.util.Localizer; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.entity.EntityDamageEvent; + +import java.util.Random; + +public class NetherFireResist extends SimpleAdaptation { + private final Random random = new Random(); + + public NetherFireResist() { + super("nether-fire-resist"); + registerConfiguration(Config.class); + setDescription(Localizer.dLocalize("nether.fire_resist.description")); + setDisplayName(Localizer.dLocalize("nether.fire_resist.name")); + setIcon(Material.BLAZE_POWDER); + setBaseCost(getConfig().baseCost); + setCostFactor(getConfig().costFactor); + setMaxLevel(getConfig().maxLevel); + setInitialCost(getConfig().initialCost); + setInterval(4333); + } + + @Override + public void addStats(int level, Element v) { + v.addLore(Localizer.dLocalize("nether.fire_resist.lore", Form.pc(getFireResist(level), 0))); + } + + @EventHandler(priority = EventPriority.HIGH) + public void on(EntityDamageEvent e) { + if (e.isCancelled()) { + return; + } + + if (!(e.getEntity() instanceof Player p)) { + return; + } + + if (!hasAdaptation(p)) { + return; + } + + if (e.getCause() != EntityDamageEvent.DamageCause.FIRE && e.getCause() != EntityDamageEvent.DamageCause.FIRE_TICK) { + return; + } + + + if (random.nextDouble() < getFireResist(getLevel(p))) { + e.setCancelled(true); + } + } + + public double getFireResist(double level) { + return getConfig().fireResistBase + (getConfig().fireResistFactor * level); + } + + @Override + public void onTick() { + + } + + @Override + public boolean isEnabled() { + return getConfig().enabled; + } + + @Override + public boolean isPermanent() { + return getConfig().permanent; + } + + @Data + @NoArgsConstructor + public static class Config { + boolean permanent = false; + boolean enabled = true; + int baseCost = 4; + double costFactor = 0.75; + int maxLevel = 3; + int initialCost = 6; + double fireResistBase = 0.10; + double fireResistFactor = 0.25; + } +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherSkullYeet.java b/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherSkullYeet.java index 4b6935761..5fa7d146a 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherSkullYeet.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherSkullYeet.java @@ -19,7 +19,10 @@ package com.volmit.adapt.content.adaptation.nether; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.M; +import com.volmit.adapt.util.SoundPlayer; import lombok.Data; import lombok.NoArgsConstructor; import org.bukkit.GameMode; @@ -46,8 +49,8 @@ public class NetherSkullYeet extends SimpleAdaptation { public NetherSkullYeet() { super("nether-skull-toss"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("nether", "skulltoss", "description1") + C.ITALIC + " " + Localizer.dLocalize("nether", "skulltoss", "description2") + " " + C.GRAY + Localizer.dLocalize("nether", "skulltoss", "description3")); - setDisplayName(Localizer.dLocalize("nether", "skulltoss", "name")); + setDescription(Localizer.dLocalize("nether.skull_toss.description")); + setDisplayName(Localizer.dLocalize("nether.skull_toss.name")); setIcon(Material.WITHER_SKELETON_SKULL); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -59,8 +62,7 @@ public NetherSkullYeet() { @Override public void addStats(int level, Element v) { int chance = getConfig().getBaseCooldown() - getConfig().getLevelCooldown() * level; - v.addLore(C.GREEN + String.valueOf(chance) + C.GRAY + " " + Localizer.dLocalize("nether", "skulltoss", "lore1")); - v.addLore(C.GRAY + Localizer.dLocalize("nether", "skulltoss", "lore2") + C.DARK_GRAY + Localizer.dLocalize("nether", "skulltoss", "lore3") + C.GRAY + ", " + Localizer.dLocalize("nether", "skulltoss", "lore4")); + v.addLore(Localizer.dLocalize("nether.skull_toss.lore", chance)); } private int getCooldownDuration(Player p) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherWitherResist.java b/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherWitherResist.java index 018ba357c..8efb706eb 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherWitherResist.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/nether/NetherWitherResist.java @@ -19,7 +19,6 @@ package com.volmit.adapt.content.adaptation.nether; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.Data; @@ -40,8 +39,8 @@ public class NetherWitherResist extends SimpleAdaptation public PickaxeAutosmelt() { super("pickaxe-autosmelt"); registerConfiguration(PickaxeAutosmelt.Config.class); - setDescription(Localizer.dLocalize("pickaxe", "autosmelt", "description")); - setDisplayName(Localizer.dLocalize("pickaxe", "autosmelt", "name")); + setDescription(Localizer.dLocalize("pickaxe.auto_smelt.description")); + setDisplayName(Localizer.dLocalize("pickaxe.auto_smelt.name")); setIcon(Material.RAW_GOLD); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -141,13 +141,13 @@ static void autosmeltBlock(Block b, Player p) { private static int getFortuneOreMultiplier(Integer fortuneLevel) { if (fortuneLevel == null || fortuneLevel < 1) return 1; - double averageBonusMultiplier = (1.0/(fortuneLevel+2) + (fortuneLevel+1)/2.0) - 1; - int sumOfBonusMultipliers = (fortuneLevel*(fortuneLevel+1))/2; - double chancePerMultiplier = averageBonusMultiplier/sumOfBonusMultipliers; + double averageBonusMultiplier = (1.0 / (fortuneLevel + 2) + (fortuneLevel + 1) / 2.0) - 1; + int sumOfBonusMultipliers = (fortuneLevel * (fortuneLevel + 1)) / 2; + double chancePerMultiplier = averageBonusMultiplier / sumOfBonusMultipliers; - int bonusMultiplier = ((int) (RANDOM.nextDouble()/chancePerMultiplier)) + 1; + int bonusMultiplier = ((int) (RANDOM.nextDouble() / chancePerMultiplier)) + 1; - return bonusMultiplier <= fortuneLevel ? bonusMultiplier+1 : 1; + return bonusMultiplier <= fortuneLevel ? bonusMultiplier + 1 : 1; } @Override @@ -156,8 +156,7 @@ public boolean isEnabled() { } public void addStats(int level, Element v) { - v.addLore(C.GREEN + Localizer.dLocalize("pickaxe", "autosmelt", "lore1")); - v.addLore(C.GREEN + "" + (level * 1.25) + C.GRAY + Localizer.dLocalize("pickaxe", "autosmelt", "lore2")); + v.addLore(Localizer.dLocalize("pickaxe.auto_smelt.lore", Form.pc(level * 1.25, 0))); } @EventHandler(priority = EventPriority.HIGH) diff --git a/src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeChisel.java b/src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeChisel.java index 97ceb315c..782c218d7 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeChisel.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeChisel.java @@ -37,8 +37,8 @@ public class PickaxeChisel extends SimpleAdaptation { public PickaxeChisel() { super("pickaxe-chisel"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("pickaxe", "chisel", "description")); - setDisplayName(Localizer.dLocalize("pickaxe", "chisel", "name")); + setDescription(Localizer.dLocalize("pickaxe.chisel.description")); + setDisplayName(Localizer.dLocalize("pickaxe.chisel.name")); setIcon(Material.IRON_NUGGET); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -49,8 +49,11 @@ public PickaxeChisel() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getDropChance(getLevelPercent(level)), 0) + C.GRAY + " " + Localizer.dLocalize("pickaxe", "chisel", "lore1")); - v.addLore(C.RED + "- " + getDamagePerBlock(getLevelPercent(level)) + C.GRAY + " " + Localizer.dLocalize("pickaxe", "chisel", "lore2")); + double factor = getLevelPercent(level); + v.addLore(Localizer.dLocalize( + "pickaxe.chisel.lore", + Form.pc(getDropChance(factor), 0), + getDamagePerBlock(factor))); } private int getCooldownTime(double levelPercent) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeDropToInventory.java b/src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeDropToInventory.java index fa35c55ad..fa2cf22ec 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeDropToInventory.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeDropToInventory.java @@ -20,7 +20,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.content.item.ItemListings; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.SoundPlayer; @@ -41,8 +40,8 @@ public class PickaxeDropToInventory extends SimpleAdaptation public PickaxeVeinminer() { super("pickaxe-veinminer"); registerConfiguration(PickaxeVeinminer.Config.class); - setDescription(Localizer.dLocalize("pickaxe", "veinminer", "description")); - setDisplayName(Localizer.dLocalize("pickaxe", "veinminer", "name")); + setDescription(Localizer.dLocalize("pickaxe.vein_miner.description")); + setDisplayName(Localizer.dLocalize("pickaxe.vein_miner.name")); setIcon(Material.IRON_PICKAXE); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -55,9 +58,7 @@ public PickaxeVeinminer() { } public void addStats(int level, Element v) { - v.addLore(C.GREEN + Localizer.dLocalize("pickaxe", "veinminer", "lore1")); - v.addLore(C.GREEN + "" + (level + getConfig().baseRange) + C.GRAY + " " + Localizer.dLocalize("pickaxe", "veinminer", "lore2")); - v.addLore(C.ITALIC + Localizer.dLocalize("pickaxe", "veinminer", "lore3")); + v.addLore(Localizer.dLocalize("pickaxe.vein_miner.lore", level + getConfig().baseRange)); } private int getRadius(int lvl) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedArrowRecovery.java b/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedArrowRecovery.java index a24e740e3..5bf1ef305 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedArrowRecovery.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedArrowRecovery.java @@ -2,7 +2,6 @@ import com.volmit.adapt.Adapt; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.reflect.registries.Enchantments; @@ -26,8 +25,8 @@ public class RangedArrowRecovery extends SimpleAdaptation { public RangedForce() { super("ranged-force"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("ranged", "forceshot", "description")); - setDisplayName(Localizer.dLocalize("ranged", "forceshot", "name")); + setDescription(Localizer.dLocalize("ranged.force_shot.description")); + setDisplayName(Localizer.dLocalize("ranged.force_shot.name")); setIcon(Material.ARROW); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -50,8 +53,8 @@ public RangedForce() { registerAdvancement(AdaptAdvancement.builder() .icon(Material.SPECTRAL_ARROW) .key("challenge_force_30") - .title(Localizer.dLocalize("ranged", "forceshot", "advancementname")) - .description(Localizer.dLocalize("ranged", "forceshot", "advancementlore")) + .title(Localizer.dLocalize("ranged.force_shot.advancement_name")) + .description(Localizer.dLocalize("ranged.force_shot.advancement_lore")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) .build()); @@ -59,7 +62,7 @@ public RangedForce() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getSpeed(getLevelPercent(level)), 0) + C.GRAY + " " + Localizer.dLocalize("ranged", "forceshot", "lore1")); + v.addLore(Localizer.dLocalize("ranged.force_shot.lore", Form.pc(getSpeed(getLevelPercent(level)), 0))); } private double getSpeed(double factor) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedLungeShot.java b/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedLungeShot.java index 887bd9845..239146f8e 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedLungeShot.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedLungeShot.java @@ -19,7 +19,10 @@ package com.volmit.adapt.content.adaptation.ranged; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import lombok.NoArgsConstructor; import org.bukkit.Material; import org.bukkit.Particle; @@ -39,8 +42,8 @@ public class RangedLungeShot extends SimpleAdaptation { public RangedLungeShot() { super("ranged-lunge-shot"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("ranged", "lungeshot", "description")); - setDisplayName(Localizer.dLocalize("ranged", "lungeshot", "name")); + setDescription(Localizer.dLocalize("ranged.lunge_shot.description")); + setDisplayName(Localizer.dLocalize("ranged.lunge_shot.name")); setIcon(Material.FEATHER); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -55,7 +58,7 @@ private double getSpeed(double factor) { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getSpeed(getLevelPercent(level)), 0) + C.GRAY + " " + Localizer.dLocalize("ranged", "lungeshot", "lore1")); + v.addLore(Localizer.dLocalize("ranged.lunge_shot.lore", Form.pc(getSpeed(getLevelPercent(level)), 0))); } @EventHandler diff --git a/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedPiercing.java b/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedPiercing.java index 45280fe7a..2a221b1fb 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedPiercing.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedPiercing.java @@ -19,7 +19,6 @@ package com.volmit.adapt.content.adaptation.ranged; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -38,8 +37,8 @@ public class RangedPiercing extends SimpleAdaptation { public RangedPiercing() { super("ranged-piercing"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("ranged", "arrowpiercing", "description")); - setDisplayName(Localizer.dLocalize("ranged", "arrowpiercing", "name")); + setDescription(Localizer.dLocalize("ranged.arrow_piercing.description")); + setDisplayName(Localizer.dLocalize("ranged.arrow_piercing.name")); setIcon(Material.SHEARS); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -50,7 +49,7 @@ public RangedPiercing() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + level + C.GRAY + " " + Localizer.dLocalize("ranged", "arrowpiercing", "lore1")); + v.addLore(Localizer.dLocalize("ranged.arrow_piercing.lore", level)); } @EventHandler diff --git a/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedWebBomb.java b/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedWebBomb.java index 9eeb89437..3e87dcd8f 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedWebBomb.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/ranged/RangedWebBomb.java @@ -23,7 +23,10 @@ import com.volmit.adapt.api.recipe.AdaptRecipe; import com.volmit.adapt.api.recipe.MaterialChar; import com.volmit.adapt.content.item.BoundSnowBall; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import com.volmit.adapt.util.reflect.registries.Particles; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; @@ -56,8 +59,8 @@ public class RangedWebBomb extends SimpleAdaptation { public RangedWebBomb() { super("ranged-webshot"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("ranged", "webshot", "description")); - setDisplayName(Localizer.dLocalize("ranged", "webshot", "name")); + setDescription(Localizer.dLocalize("ranged.web_shot.description")); + setDisplayName(Localizer.dLocalize("ranged.web_shot.name")); setIcon(Material.COBWEB); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -80,8 +83,7 @@ public RangedWebBomb() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Localizer.dLocalize("ranged", "webshot", "lore1")); - v.addLore(C.YELLOW + "+ " + level + C.GRAY + " " + Localizer.dLocalize("ranged", "webshot", "lore2")); + v.addLore(Localizer.dLocalize("ranged.web_shot.lore", level)); } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftAccess.java b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftAccess.java index 08534b660..e4ace2e16 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftAccess.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftAccess.java @@ -23,7 +23,10 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.recipe.AdaptRecipe; import com.volmit.adapt.content.item.BoundEnderPearl; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import manifold.rt.api.util.Pair; @@ -57,8 +60,8 @@ public class RiftAccess extends SimpleAdaptation { public RiftAccess() { super("rift-access"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("rift", "remoteaccess", "description")); - setDisplayName(Localizer.dLocalize("rift", "remoteaccess", "name")); + setDescription(Localizer.dLocalize("rift.remote_access.description")); + setDisplayName(Localizer.dLocalize("rift.remote_access.name")); setMaxLevel(1); setIcon(Material.NETHER_STAR); setBaseCost(getConfig().baseCost); @@ -75,9 +78,7 @@ public RiftAccess() { @Override public void addStats(int level, Element v) { - v.addLore(C.ITALIC + Localizer.dLocalize("rift", "remoteaccess", "lore1")); - v.addLore(C.ITALIC + Localizer.dLocalize("rift", "remoteaccess", "lore2")); - v.addLore(C.ITALIC + Localizer.dLocalize("rift", "remoteaccess", "lore3")); + v.addLore(Localizer.dLocalize("rift.remote_access.lore")); } @@ -265,8 +266,6 @@ private void invClose(Block block) { } - - @Override public boolean isEnabled() { return getConfig().enabled; @@ -322,4 +321,4 @@ public void remove() { } } } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftBlink.java b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftBlink.java index 29fa4ab8b..4b86e3764 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftBlink.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftBlink.java @@ -51,8 +51,8 @@ public class RiftBlink extends SimpleAdaptation { public RiftBlink() { super("rift-blink"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("rift", "blink", "description")); - setDisplayName(Localizer.dLocalize("rift", "blink", "name")); + setDescription(Localizer.dLocalize("rift.blink.description")); + setDisplayName(Localizer.dLocalize("rift.blink.name")); setIcon(Material.FEATHER); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -71,8 +71,8 @@ private int getCooldownDuration() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + (getBlinkDistance(level)) + C.GRAY + " " + Localizer.dLocalize("rift", "blink", "lore1")); - v.addLore(C.ITALIC + Localizer.dLocalize("rift", "blink", "lore2") + C.DARK_PURPLE + Localizer.dLocalize("rift", "blink", "lore3")); + double dist = getBlinkDistance(level); + v.addLore(Localizer.dLocalize("rift.blink.lore", Form.f(dist, 1), Form.f(dist * 2, 1))); } @EventHandler @@ -209,4 +209,4 @@ protected static class Config { double baseDistance = 6; double distanceFactor = 5; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftDescent.java b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftDescent.java index d17a549d2..86340d960 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftDescent.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftDescent.java @@ -19,7 +19,10 @@ package com.volmit.adapt.content.adaptation.rift; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import lombok.NoArgsConstructor; import org.bukkit.Material; import org.bukkit.Sound; @@ -39,8 +42,8 @@ public class RiftDescent extends SimpleAdaptation { public RiftDescent() { super("rift-descent"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("rift", "descent", "description")); - setDisplayName(Localizer.dLocalize("rift", "descent", "name")); + setDescription(Localizer.dLocalize("rift.descent.description")); + setDisplayName(Localizer.dLocalize("rift.descent.name")); setMaxLevel(1); setIcon(Material.SHULKER_BOX); setBaseCost(getConfig().baseCost); @@ -51,8 +54,7 @@ public RiftDescent() { @Override public void addStats(int level, Element v) { - v.addLore(C.YELLOW + Localizer.dLocalize("rift", "descent", "lore1")); - v.addLore(C.GREEN + Localizer.dLocalize("rift", "descent", "lore2") + " " + C.WHITE + getConfig().cooldown + "s"); + v.addLore(Localizer.dLocalize("rift.descent.lore", getConfig().cooldown)); } @EventHandler(priority = EventPriority.HIGHEST) @@ -117,4 +119,4 @@ protected static class Config { int initialCost = 3; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftEnderchest.java b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftEnderchest.java index ca0faa571..80b65cda4 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftEnderchest.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftEnderchest.java @@ -21,7 +21,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.world.PlayerAdaptation; import com.volmit.adapt.api.world.PlayerSkillLine; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.SoundPlayer; @@ -38,8 +37,8 @@ public class RiftEnderchest extends SimpleAdaptation { public RiftEnderchest() { super("rift-enderchest"); - setDescription(Localizer.dLocalize("rift", "chest", "description")); - setDisplayName(Localizer.dLocalize("rift", "chest", "name")); + setDescription(Localizer.dLocalize("rift.chest.description")); + setDisplayName(Localizer.dLocalize("rift.chest.name")); setIcon(Material.ENDER_CHEST); setBaseCost(0); setCostFactor(0); @@ -51,7 +50,7 @@ public RiftEnderchest() { @Override public void addStats(int level, Element v) { - v.addLore(C.ITALIC + Localizer.dLocalize("rift", "chest", "lore1")); + v.addLore(Localizer.dLocalize("rift.chest.lore")); } @EventHandler @@ -103,4 +102,4 @@ protected static class Config { boolean permanent = false; boolean enabled = true; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftGate.java b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftGate.java index 7af1a37fa..1039fdb1f 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftGate.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftGate.java @@ -23,7 +23,11 @@ import com.volmit.adapt.api.recipe.AdaptRecipe; import com.volmit.adapt.content.event.AdaptAdaptationTeleportEvent; import com.volmit.adapt.content.item.BoundEyeOfEnder; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import lombok.NoArgsConstructor; import org.bukkit.*; import org.bukkit.block.Block; @@ -41,8 +45,8 @@ public class RiftGate extends SimpleAdaptation { public RiftGate() { super("rift-gate"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("rift", "gate", "description")); - setDisplayName(Localizer.dLocalize("rift", "gate", "name")); + setDescription(Localizer.dLocalize("rift.gate.description")); + setDisplayName(Localizer.dLocalize("rift.gate.name")); setIcon(Material.END_PORTAL_FRAME); setBaseCost(0); setCostFactor(0); @@ -60,9 +64,7 @@ public RiftGate() { @Override public void addStats(int level, Element v) { - v.addLore(C.YELLOW + Localizer.dLocalize("rift", "gate", "lore1")); - v.addLore(C.RED + Localizer.dLocalize("rift", "gate", "lore2")); - v.addLore(C.ITALIC + Localizer.dLocalize("rift", "gate", "lore3") + C.UNDERLINE + C.RED + Localizer.dLocalize("rift", "gate", "lore4")); + v.addLore(Localizer.dLocalize("rift.gate.lore", Form.duration(85 * 50, 1))); } @@ -236,4 +238,4 @@ protected static class Config { boolean consumeOnUse = true; boolean showParticles = true; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftResist.java b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftResist.java index 75f4f4f94..d8231b031 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftResist.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftResist.java @@ -20,7 +20,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.world.AdaptPlayer; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.SoundPlayer; @@ -41,8 +40,8 @@ public class RiftResist extends SimpleAdaptation { public RiftResist() { super("rift-resist"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("rift", "resist", "description")); - setDisplayName(Localizer.dLocalize("rift", "resist", "name")); + setDescription(Localizer.dLocalize("rift.resist.description")); + setDisplayName(Localizer.dLocalize("rift.resist.name")); setIcon(Material.SCULK_VEIN); setBaseCost(getConfig().baseCost); setCostFactor(getConfig().costFactor); @@ -68,8 +67,7 @@ public static boolean hasRiftResistPerk(AdaptPlayer p) { @Override public void addStats(int level, Element v) { - v.addLore(C.ITALIC + Localizer.dLocalize("rift", "resist", "lore1")); - v.addLore(C.UNDERLINE + Localizer.dLocalize("rift", "resist", "lore2")); + v.addLore(Localizer.dLocalize("rift.resist.lore")); } @EventHandler(priority = EventPriority.HIGHEST) @@ -117,4 +115,4 @@ protected static class Config { int duration = 80; int initialCost = 5; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftVisage.java b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftVisage.java index 32fde09b9..35d46f346 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftVisage.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/rift/RiftVisage.java @@ -1,7 +1,6 @@ package com.volmit.adapt.content.adaptation.rift; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -14,66 +13,66 @@ import org.bukkit.inventory.ItemStack; public class RiftVisage extends SimpleAdaptation { - public RiftVisage() { - super("rift-visage"); - registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("rift", "visage", "description")); - setDisplayName(Localizer.dLocalize("rift", "visage", "name")); - setIcon(Material.POPPED_CHORUS_FRUIT); - setBaseCost(getConfig().baseCost); - setCostFactor(getConfig().costFactor); - setMaxLevel(getConfig().maxLevel); - setInitialCost(getConfig().initialCost); - setInterval(1000); - } + public RiftVisage() { + super("rift-visage"); + registerConfiguration(Config.class); + setDescription(Localizer.dLocalize("rift.visage.description")); + setDisplayName(Localizer.dLocalize("rift.visage.name")); + setIcon(Material.POPPED_CHORUS_FRUIT); + setBaseCost(getConfig().baseCost); + setCostFactor(getConfig().costFactor); + setMaxLevel(getConfig().maxLevel); + setInitialCost(getConfig().initialCost); + setInterval(1000); + } - @Override - public void addStats(int level, Element v) { - v.addLore(C.ITALIC + Localizer.dLocalize("rift", "visage", "lore1")); - } + @Override + public void addStats(int level, Element v) { + v.addLore(Localizer.dLocalize("rift.visage.lore")); + } - @EventHandler - public void onEntityTarget(EntityTargetEvent event) { - Entity entity = event.getEntity(); - if (entity instanceof Enderman) { - if (event.getTarget() instanceof Player player) { - if (hasAdaptation(player) && hasEnderPearl(player)) { - event.setCancelled(true); + @EventHandler + public void onEntityTarget(EntityTargetEvent event) { + Entity entity = event.getEntity(); + if (entity instanceof Enderman) { + if (event.getTarget() instanceof Player player) { + if (hasAdaptation(player) && hasEnderPearl(player)) { + event.setCancelled(true); + } + } } - } } - } - private boolean hasEnderPearl(Player player) { - for (ItemStack item : player.getInventory().getContents()) { - if (item != null && item.getType() == Material.ENDER_PEARL) { - return true; - } + private boolean hasEnderPearl(Player player) { + for (ItemStack item : player.getInventory().getContents()) { + if (item != null && item.getType() == Material.ENDER_PEARL) { + return true; + } + } + return false; } - return false; - } - @Override - public void onTick() { - } + @Override + public void onTick() { + } - @Override - public boolean isEnabled() { - return getConfig().enabled; - } + @Override + public boolean isEnabled() { + return getConfig().enabled; + } - @Override - public boolean isPermanent() { - return getConfig().permanent; - } + @Override + public boolean isPermanent() { + return getConfig().permanent; + } - @NoArgsConstructor - protected static class Config { - boolean permanent = true; - boolean enabled = true; - int baseCost = 8; - double costFactor = 0; - int maxLevel = 1; - int initialCost = 2; - } + @NoArgsConstructor + protected static class Config { + boolean permanent = true; + boolean enabled = true; + int baseCost = 8; + double costFactor = 0; + int maxLevel = 1; + int initialCost = 2; + } } diff --git a/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneFishersFantasy.java b/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneFishersFantasy.java index 5053f4425..e44e03f2e 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneFishersFantasy.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneFishersFantasy.java @@ -21,7 +21,6 @@ import com.volmit.adapt.Adapt; import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.content.item.ItemListings; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; @@ -39,8 +38,8 @@ public class SeaborneFishersFantasy extends SimpleAdaptation { public SeaborneOxygen() { super("seaborne-oxygen"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("seaborn", "oxygen", "description")); - setDisplayName(Localizer.dLocalize("seaborn", "oxygen", "name")); + setDescription(Localizer.dLocalize("seaborn.oxygen.description")); + setDisplayName(Localizer.dLocalize("seaborn.oxygen.name")); setIcon(Material.GLASS_PANE); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -44,7 +47,7 @@ public SeaborneOxygen() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getAirBoost(level), 0) + C.GRAY + Localizer.dLocalize("seaborn", "oxygen", "lore1")); + v.addLore(Localizer.dLocalize("seaborn.oxygen.lore", Form.pc(getAirBoost(level), 0))); } public double getAirBoost(int level) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneSpeed.java b/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneSpeed.java index e2721ead3..08784edba 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneSpeed.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneSpeed.java @@ -19,7 +19,6 @@ package com.volmit.adapt.content.adaptation.seaborrne; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.J; import com.volmit.adapt.util.Localizer; @@ -36,8 +35,8 @@ public class SeaborneSpeed extends SimpleAdaptation { public SeaborneSpeed() { super("seaborne-speed"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("seaborn", "dolphingrace", "description")); - setDisplayName(Localizer.dLocalize("seaborn", "dolphingrace", "name")); + setDescription(Localizer.dLocalize("seaborn.dolphin_grace.description")); + setDisplayName(Localizer.dLocalize("seaborn.dolphin_grace.name")); setIcon(Material.TRIDENT); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -48,8 +47,7 @@ public SeaborneSpeed() { @Override public void addStats(int level, Element v) { - v.addLore(C.GRAY + Localizer.dLocalize("seaborn", "dolphingrace", "lore1") + C.GREEN + (level) + C.GRAY + Localizer.dLocalize("seaborn", "dolphingrace", "lore2")); - v.addLore(C.ITALIC + Localizer.dLocalize("seaborn", "dolphingrace", "lore3")); + v.addLore(Localizer.dLocalize("seaborn.dolphin_grace.lore", level)); } @Override diff --git a/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneTurtlesMiningSpeed.java b/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneTurtlesMiningSpeed.java index 3fcb47027..9309c6c83 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneTurtlesMiningSpeed.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/seaborrne/SeaborneTurtlesMiningSpeed.java @@ -19,7 +19,6 @@ package com.volmit.adapt.content.adaptation.seaborrne; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.J; import com.volmit.adapt.util.Localizer; @@ -35,8 +34,8 @@ public class SeaborneTurtlesMiningSpeed extends SimpleAdaptation public StealthEnderVeil() { super("stealth-enderveil"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("stealth", "enderveil", "description")); - setDisplayName(Localizer.dLocalize("stealth", "enderveil", "name")); + setDescription(Localizer.dLocalize("stealth.ender_veil.description")); + setDisplayName(Localizer.dLocalize("stealth.ender_veil.name")); setIcon(Material.CARVED_PUMPKIN); setBaseCost(getConfig().baseCost); setInitialCost(getConfig().initialCost); @@ -41,7 +40,7 @@ public boolean isPermanent() { @Override public void addStats(int level, Element v) { - v.addLore(C.GRAY + Localizer.dLocalize("stealth", "enderveil", "lore" + (level < 2 ? 1 : 2))); + v.addLore(Localizer.dLocalize("stealth.ender_veil.lore.level_" + (level < 2 ? 1 : 2))); } @Override diff --git a/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthGhostArmor.java b/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthGhostArmor.java index 7f5a52166..3043afbae 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthGhostArmor.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthGhostArmor.java @@ -37,13 +37,13 @@ public class StealthGhostArmor extends SimpleAdaptation { private static final UUID MODIFIER = UUID.nameUUIDFromBytes("adapt-ghost-armor".getBytes()); - private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString( "adapt:ghost-armor"); + private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString("adapt:ghost-armor"); public StealthGhostArmor() { super("stealth-ghost-armor"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("stealth", "ghostarmor", "description")); - setDisplayName(Localizer.dLocalize("stealth", "ghostarmor", "name")); + setDescription(Localizer.dLocalize("stealth.ghost_armor.description")); + setDisplayName(Localizer.dLocalize("stealth.ghost_armor.name")); setIcon(Material.NETHERITE_CHESTPLATE); setInterval(5353); setBaseCost(getConfig().baseCost); @@ -54,8 +54,9 @@ public StealthGhostArmor() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.f(getMaxArmorPoints(getLevelPercent(level)), 0) + C.GRAY + " " + Localizer.dLocalize("stealth", "ghostarmor", "lore1")); - v.addLore(C.GREEN + "+ " + Form.f(getMaxArmorPerTick(getLevelPercent(level)), 1) + C.GRAY + " " + Localizer.dLocalize("stealth", "ghostarmor", "lore2")); + v.addLore(Localizer.dLocalize("stealth.ghost_armor.lore", + Form.f(getMaxArmorPoints(getLevelPercent(level)), 0), + Form.f(getMaxArmorPerTick(getLevelPercent(level)), 1))); } public double getMaxArmorPoints(double factor) { @@ -76,11 +77,12 @@ public void onTick() { continue; } double oldArmor = attribute.getModifier(MODIFIER, MODIFIER_KEY) - .stream() - .mapToDouble(IAttribute.Modifier::getAmount) - .filter(d -> !Double.isNaN(d)) - .max() - .orElse(0);; + .stream() + .mapToDouble(IAttribute.Modifier::getAmount) + .filter(d -> !Double.isNaN(d)) + .max() + .orElse(0); + ; double armor = getMaxArmorPoints(getLevelPercent(p)); armor = Double.isNaN(armor) ? 0 : armor; @@ -100,7 +102,7 @@ public void on(EntityDamageEvent e) { if (e.getEntity() instanceof Player p && hasAdaptation(p) && !e.isCancelled() && e.getDamage() > 0) { // Check if 2.5 * e.getDamage() is greater than 10 if so just set it to 10 otherwise use the value of 2.5 * e.getDamage() int damageXP = (int) Math.min(10, 2.5 * e.getDamage()); - xp(p,damageXP ); + xp(p, damageXP); J.s(() -> { var attribute = Version.get().getAttribute(p, Attributes.GENERIC_ARMOR); if (attribute == null) return; diff --git a/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSight.java b/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSight.java index 142550028..999ea713a 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSight.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSight.java @@ -19,7 +19,10 @@ package com.volmit.adapt.content.adaptation.stealth; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import lombok.NoArgsConstructor; import org.bukkit.Material; import org.bukkit.Sound; @@ -39,8 +42,8 @@ public class StealthSight extends SimpleAdaptation { public StealthSight() { super("stealth-vision"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("stealth", "nightvision", "description")); - setDisplayName(Localizer.dLocalize("stealth", "nightvision", "name")); + setDescription(Localizer.dLocalize("stealth.night_vision.description")); + setDisplayName(Localizer.dLocalize("stealth.night_vision.name")); setIcon(Material.POTION); setBaseCost(getConfig().baseCost); setInterval(1500); @@ -53,7 +56,7 @@ public StealthSight() { @Override public void addStats(int level, Element v) { - v.addLore(C.GRAY + Localizer.dLocalize("stealth", "nightvision", "lore1") + C.GREEN + Localizer.dLocalize("stealth", "nightvision", "lore2") + C.GRAY + Localizer.dLocalize("stealth", "nightvision", "lore3")); + v.addLore(Localizer.dLocalize("stealth.night_vision.lore")); } @EventHandler @@ -89,7 +92,6 @@ public void onTick() { } - @Override public boolean isEnabled() { return getConfig().enabled; diff --git a/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSnatch.java b/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSnatch.java index e275ee405..03a20b28c 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSnatch.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSnatch.java @@ -42,8 +42,8 @@ public class StealthSnatch extends SimpleAdaptation { public StealthSnatch() { super("stealth-snatch"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("stealth", "snatch", "description")); - setDisplayName(Localizer.dLocalize("stealth", "snatch", "name")); + setDescription(Localizer.dLocalize("stealth.snatch.description")); + setDisplayName(Localizer.dLocalize("stealth.snatch.name")); setIcon(Material.CHEST_MINECART); setBaseCost(getConfig().baseCost); setInterval(getConfig().snatchRate); @@ -55,7 +55,7 @@ public StealthSnatch() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.f(getRange(getLevelPercent(level)), 1) + C.GRAY + " " + Localizer.dLocalize("stealth", "snatch", "lore1")); + v.addLore(Localizer.dLocalize("stealth.snatch.lore", Form.f(getRange(getLevelPercent(level)), 1))); } @EventHandler diff --git a/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSpeed.java b/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSpeed.java index 995825487..136e647b5 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSpeed.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSpeed.java @@ -39,8 +39,8 @@ public class StealthSpeed extends SimpleAdaptation { public StealthSpeed() { super("stealth-speed"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("stealth", "speed", "description")); - setDisplayName(Localizer.dLocalize("stealth", "speed", "name")); + setDescription(Localizer.dLocalize("stealth.speed.description")); + setDisplayName(Localizer.dLocalize("stealth.speed.name")); setIcon(Material.MUSHROOM_STEW); setBaseCost(getConfig().baseCost); setInterval(2000); @@ -52,7 +52,7 @@ public StealthSpeed() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getSpeed(getLevelPercent(level)), 0) + C.GRAY + Localizer.dLocalize("stealth", "speed", "lore1")); + v.addLore(Localizer.dLocalize("stealth.speed.lore", Form.pc(getSpeed(getLevelPercent(level)), 0))); } @EventHandler diff --git a/src/main/java/com/volmit/adapt/content/adaptation/sword/SwordsBloodyBlade.java b/src/main/java/com/volmit/adapt/content/adaptation/sword/SwordsBloodyBlade.java index b7ac7c5e2..d2d2c6163 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/sword/SwordsBloodyBlade.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/sword/SwordsBloodyBlade.java @@ -22,7 +22,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.content.adaptation.sword.effects.DamagingBleedEffect; import com.volmit.adapt.content.item.ItemListings; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Form; import com.volmit.adapt.util.Localizer; @@ -45,8 +44,8 @@ public class SwordsBloodyBlade extends SimpleAdaptation { public SwordsMachete() { super("sword-machete"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("sword", "machete", "description")); - setDisplayName(Localizer.dLocalize("sword", "machete", "name")); + setDescription(Localizer.dLocalize("sword.machete.description")); + setDisplayName(Localizer.dLocalize("sword.machete.name")); setIcon(Material.IRON_SWORD); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -56,9 +56,10 @@ public SwordsMachete() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + getRadius(level) + C.GRAY + " " + Localizer.dLocalize("sword", "machete", "lore1")); - v.addLore(C.YELLOW + "* " + Form.duration(getCooldownTime(getLevelPercent(level)) * 50D, 1) + C.GRAY + " " + Localizer.dLocalize("sword", "machete", "lore2")); - v.addLore(C.RED + "- " + getDamagePerBlock(getLevelPercent(level)) + C.GRAY + " " + Localizer.dLocalize("sword", "machete", "lore3")); + v.addLore(Localizer.dLocalize("sword.machete.lore", + getRadius(level), + Form.duration(getCooldownTime(getLevelPercent(level)) * 50D, 1), + getDamagePerBlock(getLevelPercent(level)))); } public double getRadius(int level) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/sword/SwordsPoisonedBlade.java b/src/main/java/com/volmit/adapt/content/adaptation/sword/SwordsPoisonedBlade.java index f6d01f2e7..ec8f198d1 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/sword/SwordsPoisonedBlade.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/sword/SwordsPoisonedBlade.java @@ -22,7 +22,6 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.content.adaptation.sword.effects.DamagingBleedEffect; import com.volmit.adapt.content.item.ItemListings; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Form; import com.volmit.adapt.util.Localizer; @@ -46,8 +45,8 @@ public class SwordsPoisonedBlade extends SimpleAdaptation { private static final UUID MODIFIER = UUID.nameUUIDFromBytes("adapt-tame-damage-boost".getBytes()); - private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString( "adapt:tame-damage-boost"); + private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString("adapt:tame-damage-boost"); public TamingDamage() { super("tame-damage"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("taming", "damage", "description")); - setDisplayName(Localizer.dLocalize("taming", "damage", "name")); + setDescription(Localizer.dLocalize("taming.damage.description")); + setDisplayName(Localizer.dLocalize("taming.damage.name")); setIcon(Material.FLINT); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -53,7 +56,7 @@ public TamingDamage() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getDamageBoost(level), 0) + C.GRAY + " " + Localizer.dLocalize("taming", "damage", "lore1")); + v.addLore(Localizer.dLocalize("taming.damage.lore", Form.pc(getDamageBoost(level), 0))); } private double getDamageBoost(int level) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/taming/TamingHealthBoost.java b/src/main/java/com/volmit/adapt/content/adaptation/taming/TamingHealthBoost.java index 5c67acc44..728a9d079 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/taming/TamingHealthBoost.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/taming/TamingHealthBoost.java @@ -20,7 +20,10 @@ import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.version.Version; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; +import com.volmit.adapt.util.J; +import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.reflect.registries.Attributes; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; @@ -36,13 +39,13 @@ public class TamingHealthBoost extends SimpleAdaptation { private static final UUID MODIFIER = UUID.nameUUIDFromBytes("adapt-tame-health-boost".getBytes()); - private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString( "adapt:tame-health-boost"); + private static final NamespacedKey MODIFIER_KEY = NamespacedKey.fromString("adapt:tame-health-boost"); public TamingHealthBoost() { super("tame-health"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("taming", "health", "description")); - setDisplayName(Localizer.dLocalize("taming", "health", "name")); + setDescription(Localizer.dLocalize("taming.health.description")); + setDisplayName(Localizer.dLocalize("taming.health.name")); setIcon(Material.COOKED_BEEF); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -53,7 +56,7 @@ public TamingHealthBoost() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getHealthBoost(level), 0) + C.GRAY + " " + Localizer.dLocalize("taming", "health", "lore1")); + v.addLore(Localizer.dLocalize("taming.health.lore", Form.pc(getHealthBoost(level), 0))); } private double getHealthBoost(int level) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/taming/TamingHealthRegeneration.java b/src/main/java/com/volmit/adapt/content/adaptation/taming/TamingHealthRegeneration.java index 8fa42c24f..ae5044cb0 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/taming/TamingHealthRegeneration.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/taming/TamingHealthRegeneration.java @@ -45,8 +45,8 @@ public class TamingHealthRegeneration extends SimpleAdaptation { public TragoulGlobe() { super("tragoul-globe"); registerConfiguration(TragoulGlobe.Config.class); - setDescription(Localizer.dLocalize("tragoul", "globe", "description")); - setDisplayName(Localizer.dLocalize("tragoul", "globe", "name")); + setDescription(Localizer.dLocalize("tragoul.globe.description")); + setDisplayName(Localizer.dLocalize("tragoul.globe.name")); setIcon(Material.ENDER_PEARL); setInterval(25000); setBaseCost(getConfig().baseCost); @@ -55,9 +54,9 @@ public TragoulGlobe() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + Localizer.dLocalize("tragoul", "globe", "lore1")); - v.addLore(C.YELLOW + Localizer.dLocalize("tragoul", "globe", "lore2") + ((getConfig().rangePerLevel * level) + getConfig().initalRange)); - v.addLore(C.YELLOW + Localizer.dLocalize("tragoul", "globe", "lore3") + (getConfig().bonusDamagePerLevel * level)); + v.addLore(Localizer.dLocalize("tragoul.globe.lore", + (getConfig().rangePerLevel * level) + getConfig().initalRange, + getConfig().bonusDamagePerLevel * level)); } @EventHandler(priority = EventPriority.HIGHEST) diff --git a/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulHealing.java b/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulHealing.java index 22efa72b2..bf7d52438 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulHealing.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulHealing.java @@ -21,8 +21,8 @@ import com.volmit.adapt.Adapt; import com.volmit.adapt.api.adaptation.SimpleAdaptation; import com.volmit.adapt.api.version.Version; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; import com.volmit.adapt.util.Localizer; import com.volmit.adapt.util.reflect.registries.Attributes; import lombok.NoArgsConstructor; @@ -44,8 +44,8 @@ public class TragoulHealing extends SimpleAdaptation { public TragoulHealing() { super("tragoul-healing"); registerConfiguration(TragoulHealing.Config.class); - setDescription(Localizer.dLocalize("tragoul", "healing", "description")); - setDisplayName(Localizer.dLocalize("tragoul", "healing", "name")); + setDescription(Localizer.dLocalize("tragoul.healing.description")); + setDisplayName(Localizer.dLocalize("tragoul.healing.name")); setIcon(Material.REDSTONE); setInterval(25000); setBaseCost(getConfig().baseCost); @@ -58,9 +58,11 @@ public TragoulHealing() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + Localizer.dLocalize("tragoul", "healing", "lore1")); - v.addLore(C.YELLOW + Localizer.dLocalize("tragoul", "healing", "lore2")); - v.addLore(C.YELLOW + Localizer.dLocalize("tragoul", "healing", "lore3") + (getConfig().minHealPercent + (getConfig().maxHealPercent - getConfig().minHealPercent) * (level - 1) / (getConfig().maxLevel - 1)) + "%"); + v.addLore(Localizer.dLocalize("tragoul.healing.lore", Form.pc(getHealPercent(level), 0), Form.duration(getConfig().windowDuration, 0), Form.duration(getConfig().cooldownDuration, 0))); + } + + private double getHealPercent(int level) { + return getConfig().minHealPercent + (getConfig().maxHealPercent - getConfig().minHealPercent) * (double) (level - 1) / (getConfig().maxLevel - 1); } @EventHandler diff --git a/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulLance.java b/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulLance.java index 102a4d946..e186fd591 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulLance.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulLance.java @@ -18,8 +18,8 @@ import com.volmit.adapt.Adapt; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; import com.volmit.adapt.util.Localizer; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; @@ -42,8 +42,8 @@ public class TragoulLance extends SimpleAdaptation { public TragoulLance() { super("tragoul-lance"); registerConfiguration(TragoulLance.Config.class); - setDescription(Localizer.dLocalize("tragoul", "lance", "description")); - setDisplayName(Localizer.dLocalize("tragoul", "lance", "name")); + setDescription(Localizer.dLocalize("tragoul.lance.description")); + setDisplayName(Localizer.dLocalize("tragoul.lance.name")); setIcon(Material.TRIDENT); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -53,7 +53,7 @@ public TragoulLance() { } - @EventHandler (priority = EventPriority.LOWEST) + @EventHandler(priority = EventPriority.LOWEST) public void onEntityDeath(EntityDeathEvent event) { if (event.getEntity().getLastDamageCause() instanceof EntityDamageByEntityEvent e) { if (e.getDamager() instanceof Player p && hasAdaptation(p)) { @@ -110,7 +110,6 @@ private void triggerSeeker(Player p, Entity origin, double damage, int remaining } - @Override public boolean isEnabled() { return getConfig().enabled; @@ -127,9 +126,7 @@ public boolean isPermanent() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + Localizer.dLocalize("tragoul", "lance", "lore1")); - v.addLore(C.YELLOW + Localizer.dLocalize("tragoul", "lance", "lore2") ); - v.addLore(C.YELLOW + Localizer.dLocalize("tragoul", "lance", "lore3") + level); + v.addLore(Localizer.dLocalize("tragoul.lance.lore", 1 + level, Form.pc(getConfig().selfDamageMultiplier, 0))); } @NoArgsConstructor @@ -144,4 +141,4 @@ protected static class Config { double seekerDamageMultiplier = 0.5; double selfDamageMultiplier = 0.5; } -} \ No newline at end of file +} diff --git a/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulThorns.java b/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulThorns.java index 81cc7e836..e1ae247e5 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulThorns.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/tragoul/TragoulThorns.java @@ -20,8 +20,8 @@ import com.volmit.adapt.Adapt; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; import com.volmit.adapt.util.Localizer; import de.slikey.effectlib.effect.BleedEffect; import lombok.NoArgsConstructor; @@ -42,8 +42,8 @@ public class TragoulThorns extends SimpleAdaptation { public TragoulThorns() { super("tragoul-thorns"); registerConfiguration(TragoulThorns.Config.class); - setDescription(Localizer.dLocalize("tragoul", "thorns", "description")); - setDisplayName(Localizer.dLocalize("tragoul", "thorns", "name")); + setDescription(Localizer.dLocalize("tragoul.thorns.description")); + setDisplayName(Localizer.dLocalize("tragoul.thorns.name")); setIcon(Material.ECHO_SHARD); setInterval(25000); setBaseCost(getConfig().baseCost); @@ -56,11 +56,10 @@ public TragoulThorns() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "" + getConfig().damageMultiplierPerLevel * level + "x " + Localizer.dLocalize("tragoul", "thorns", "lore1")); + v.addLore(Localizer.dLocalize("tragoul.thorns.lore", Form.f(getConfig().damageMultiplierPerLevel * level, 1))); } - @EventHandler public void on(EntityDamageByEntityEvent e) { if (e.isCancelled()) { diff --git a/src/main/java/com/volmit/adapt/content/adaptation/unarmed/UnarmedGlassCannon.java b/src/main/java/com/volmit/adapt/content/adaptation/unarmed/UnarmedGlassCannon.java index 01f379181..e8ac8d4ce 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/unarmed/UnarmedGlassCannon.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/unarmed/UnarmedGlassCannon.java @@ -19,7 +19,6 @@ package com.volmit.adapt.content.adaptation.unarmed; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.C; import com.volmit.adapt.util.Element; import com.volmit.adapt.util.Form; import com.volmit.adapt.util.Localizer; @@ -33,8 +32,8 @@ public class UnarmedGlassCannon extends SimpleAdaptation { public UnarmedPower() { super("unarmed-power"); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("unarmed", "power", "description")); - setDisplayName(Localizer.dLocalize("unarmed", "power", "name")); + setDescription(Localizer.dLocalize("unarmed.power.description")); + setDisplayName(Localizer.dLocalize("unarmed.power.name")); setIcon(Material.LEATHER_HELMET); setBaseCost(getConfig().baseCost); setMaxLevel(getConfig().maxLevel); @@ -45,7 +44,7 @@ public UnarmedPower() { @Override public void addStats(int level, Element v) { - v.addLore(C.GREEN + "+ " + Form.pc(getUnarmedDamage(level), 0) + C.GRAY + Localizer.dLocalize("unarmed", "power", "lore1")); + v.addLore(Localizer.dLocalize("unarmed.power.lore", Form.pc(getUnarmedDamage(level), 0))); } @EventHandler diff --git a/src/main/java/com/volmit/adapt/content/adaptation/unarmed/UnarmedSuckerPunch.java b/src/main/java/com/volmit/adapt/content/adaptation/unarmed/UnarmedSuckerPunch.java index b67642c11..02cf05efa 100644 --- a/src/main/java/com/volmit/adapt/content/adaptation/unarmed/UnarmedSuckerPunch.java +++ b/src/main/java/com/volmit/adapt/content/adaptation/unarmed/UnarmedSuckerPunch.java @@ -19,7 +19,10 @@ package com.volmit.adapt.content.adaptation.unarmed; import com.volmit.adapt.api.adaptation.SimpleAdaptation; -import com.volmit.adapt.util.*; +import com.volmit.adapt.util.Element; +import com.volmit.adapt.util.Form; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.SoundPlayer; import lombok.NoArgsConstructor; import org.bukkit.Material; import org.bukkit.Particle; @@ -32,8 +35,8 @@ public class UnarmedSuckerPunch extends SimpleAdaptation sk.openGui(player))); ind++; } @@ -82,11 +83,9 @@ public static void open(Player player) { if (w.getElement(unlearnAllPos, unlearnAllRow) != null) unlearnAllRow++; w.setElement(unlearnAllPos, unlearnAllRow, new UIElement("unlearn-all") .setMaterial(new MaterialBlock(Material.BARRIER)) - .setModel(CustomModel.get(Material.BARRIER, "snippets", "gui", "unlearnall")) - .setName("" + C.RESET + C.GRAY + Localizer.dLocalize("snippets", "gui", "unlearnall") - + (AdaptConfig.get().isHardcoreNoRefunds() - ? " " + C.DARK_RED + "" + C.BOLD + Localizer.dLocalize("snippets", "adaptmenu", "norefunds") - : "")) + .setModel(CustomModel.get(Material.BARRIER, "snippets", "gui", "unlearn_all")) + .setName(Localizer.dLocalize("snippets.gui.unlearn_all")) + .addLore(AdaptConfig.get().isHardcoreNoRefunds() ? Localizer.dLocalize("snippets.adapt_menu.no_refunds") : null) .onLeftClick((e) -> { Adapt.instance.getAdaptServer().getSkillRegistry().getSkills().forEach(skill -> skill.getAdaptations().forEach(adaptation -> adaptation.unlearn(player, 1, false))); SoundPlayer spw = SoundPlayer.of(player.getWorld()); @@ -94,13 +93,13 @@ public static void open(Player player) { spw.play(player.getLocation(), Sound.BLOCK_BEACON_DEACTIVATE, 0.4f, 0.755f); w.close(); if (AdaptConfig.get().getLearnUnlearnButtonDelayTicks() != 0) { - player.sendTitle(" ", C.GRAY + Localizer.dLocalize("snippets", "gui", "unlearnedall"), 1, 5, 11); + player.sendTitle(" ", Localizer.dLocalize("snippets.gui.unlearned_all"), 1, 5, 11); } J.s(() -> open(player), AdaptConfig.get().getLearnUnlearnButtonDelayTicks()); })); } - w.setTitle(Localizer.dLocalize("snippets", "gui", "level") + " " + (int) XP.getLevelForXp(adaptPlayer.getData().getMasterXp()) + " (" + adaptPlayer.getData().getUsedPower() + "/" + adaptPlayer.getData().getMaxPower() + " " + Localizer.dLocalize("snippets", "gui", "powerused") + ")"); + w.setTitle(Localizer.dLocalize("snippets.gui.level", (int) XP.getLevelForXp(adaptPlayer.getData().getMasterXp())) + " " + Localizer.dLocalize("snippets.gui.power_used_ratio", adaptPlayer.getData().getUsedPower(), adaptPlayer.getData().getMaxPower())); w.open(); w.onClosed((e) -> Adapt.instance.getGuiLeftovers().remove(player.getUniqueId().toString())); Adapt.instance.getGuiLeftovers().put(player.getUniqueId().toString(), w); diff --git a/src/main/java/com/volmit/adapt/content/item/BoundEnderPearl.java b/src/main/java/com/volmit/adapt/content/item/BoundEnderPearl.java index 56717e42e..a81fe20e0 100644 --- a/src/main/java/com/volmit/adapt/content/item/BoundEnderPearl.java +++ b/src/main/java/com/volmit/adapt/content/item/BoundEnderPearl.java @@ -57,7 +57,7 @@ public static ItemStack withData(Block t) { public static boolean isBindableItem(ItemStack t) { if (t.getType().equals(Material.ENDER_PEARL)) { if (t.getItemMeta() != null && t.getItemMeta().getLore() != null) { - if (t.getItemMeta().getLore().get(0).contains(Localizer.dLocalize("items", "boundenderperal", "name"))) { + if (t.getItemMeta().getLore().get(0).contains(Localizer.dLocalize("items.bound_ender_peral.name"))) { Adapt.verbose("Enderpearl is bindable: " + t.getType().name()); return true; } @@ -78,16 +78,16 @@ public Class getType() { @Override public void applyLore(Data data, List lore) { - lore.add(C.WHITE + Localizer.dLocalize("items", "boundenderperal", "name")); - lore.add(C.GRAY + Localizer.dLocalize("items", "boundenderperal", "usage1")); - lore.add(C.GRAY + Localizer.dLocalize("items", "boundenderperal", "usage2")); + lore.add(Localizer.dLocalize("items.bound_ender_peral.name")); + lore.add(Localizer.dLocalize("items.bound_ender_peral.usage1")); + lore.add(Localizer.dLocalize("items.bound_ender_peral.usage2")); } @Override public void applyMeta(Data data, ItemMeta meta) { meta.addEnchant(Enchantment.BINDING_CURSE, 10, true); meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS); - meta.setDisplayName(Localizer.dLocalize("items", "boundenderperal", "name")); + meta.setDisplayName(Localizer.dLocalize("items.bound_ender_peral.name")); } diff --git a/src/main/java/com/volmit/adapt/content/item/BoundEyeOfEnder.java b/src/main/java/com/volmit/adapt/content/item/BoundEyeOfEnder.java index ba06e5ae5..7a0c7b4c4 100644 --- a/src/main/java/com/volmit/adapt/content/item/BoundEyeOfEnder.java +++ b/src/main/java/com/volmit/adapt/content/item/BoundEyeOfEnder.java @@ -57,7 +57,7 @@ public static ItemStack withData(Location t) { public static boolean isBindableItem(ItemStack t) { if (t.getType().equals(Material.ENDER_EYE)) { if (t.getItemMeta() != null && t.getItemMeta().getLore() != null) { - if (t.getItemMeta().getLore().get(0).contains(Localizer.dLocalize("items", "boundeyeofender", "name"))) { + if (t.getItemMeta().getLore().get(0).contains(Localizer.dLocalize("items.bound_eye_of_ender.name"))) { Adapt.verbose("Eye of ender is bindable: " + t.getType().name()); return true; } @@ -78,16 +78,16 @@ public Class getType() { @Override public void applyLore(Data data, List lore) { - lore.add(C.WHITE + Localizer.dLocalize("items", "boundeyeofender", "name")); - lore.add(C.GRAY + Localizer.dLocalize("items", "boundeyeofender", "usage1")); - lore.add(C.GRAY + Localizer.dLocalize("items", "boundeyeofender", "usage2")); + lore.add(Localizer.dLocalize("items.bound_eye_of_ender.name")); + lore.add(Localizer.dLocalize("items.bound_eye_of_ender.usage1")); + lore.add(Localizer.dLocalize("items.bound_eye_of_ender.usage2")); } @Override public void applyMeta(Data data, ItemMeta meta) { meta.addEnchant(Enchantment.BINDING_CURSE, 10, true); meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS, ItemFlag.HIDE_DYE); - meta.setDisplayName(Localizer.dLocalize("items", "boundeyeofender", "name")); + meta.setDisplayName(Localizer.dLocalize("items.bound_eye_of_ender.name")); } @AllArgsConstructor diff --git a/src/main/java/com/volmit/adapt/content/item/BoundRedstoneTorch.java b/src/main/java/com/volmit/adapt/content/item/BoundRedstoneTorch.java index 7f8c57e8c..ab1523b2e 100644 --- a/src/main/java/com/volmit/adapt/content/item/BoundRedstoneTorch.java +++ b/src/main/java/com/volmit/adapt/content/item/BoundRedstoneTorch.java @@ -64,7 +64,7 @@ public static ItemStack withData(Location t) { public static boolean isBindableItem(ItemStack t) { if (t.getType().equals(Material.REDSTONE_TORCH)) { if (t.getItemMeta() != null && t.getItemMeta().getLore() != null) { - if (t.getItemMeta().getLore().get(0).contains(Localizer.dLocalize("items", "boundredstonetorch", "name"))) { + if (t.getItemMeta().getLore().get(0).contains(Localizer.dLocalize("items.bound_redstone_torch.name"))) { Adapt.verbose("Torch is bindable: " + t.getType().name()); return true; } @@ -85,16 +85,16 @@ public Class getType() { @Override public void applyLore(Data data, List lore) { - lore.add(C.WHITE + Localizer.dLocalize("items", "boundredstonetorch", "name")); - lore.add(C.GRAY + Localizer.dLocalize("items", "boundredstonetorch", "usage1")); - lore.add(C.GRAY + Localizer.dLocalize("items", "boundredstonetorch", "usage2")); + lore.add(Localizer.dLocalize("items.bound_redstone_torch.name")); + lore.add(Localizer.dLocalize("items.bound_redstone_torch.usage1")); + lore.add(Localizer.dLocalize("items.bound_redstone_torch.usage2")); } @Override public void applyMeta(Data data, ItemMeta meta) { meta.addEnchant(Enchantment.BINDING_CURSE, 10, true); meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS, ItemFlag.HIDE_DYE); - meta.setDisplayName(Localizer.dLocalize("items", "boundredstonetorch", "name")); + meta.setDisplayName(Localizer.dLocalize("items.bound_redstone_torch.name")); } @AllArgsConstructor diff --git a/src/main/java/com/volmit/adapt/content/item/BoundSnowBall.java b/src/main/java/com/volmit/adapt/content/item/BoundSnowBall.java index 69b13f095..35e83514f 100644 --- a/src/main/java/com/volmit/adapt/content/item/BoundSnowBall.java +++ b/src/main/java/com/volmit/adapt/content/item/BoundSnowBall.java @@ -57,7 +57,7 @@ public static ItemStack withData(Player t) { public static boolean isBindableItem(ItemStack t) { if (t.getType().equals(Material.SNOWBALL)) { if (t.getItemMeta() != null && t.getItemMeta().getLore() != null) { - if (t.getItemMeta().getLore().get(0).contains(Localizer.dLocalize("items", "boundsnowball", "name"))) { + if (t.getItemMeta().getLore().get(0).contains(Localizer.dLocalize("items.bound_snowball.name"))) { Adapt.verbose("Snowball is bindable: " + t.getType().name()); return true; } @@ -79,15 +79,15 @@ public Class getType() { @Override public void applyLore(Data data, List lore) { - lore.add(C.WHITE + Localizer.dLocalize("items", "boundsnowball", "name")); - lore.add(C.GRAY + Localizer.dLocalize("items", "boundsnowball", "usage1")); + lore.add(Localizer.dLocalize("items.bound_snowball.name")); + lore.add(Localizer.dLocalize("items.bound_snowball.usage1")); } @Override public void applyMeta(Data data, ItemMeta meta) { meta.addEnchant(Enchantment.BINDING_CURSE, 10, true); meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS, ItemFlag.HIDE_DYE); - meta.setDisplayName(Localizer.dLocalize("items", "boundsnowball", "name")); + meta.setDisplayName(Localizer.dLocalize("items.bound_snowball.name")); } @AllArgsConstructor diff --git a/src/main/java/com/volmit/adapt/content/item/ExperienceOrb.java b/src/main/java/com/volmit/adapt/content/item/ExperienceOrb.java index f6d3915d8..42118773e 100644 --- a/src/main/java/com/volmit/adapt/content/item/ExperienceOrb.java +++ b/src/main/java/com/volmit/adapt/content/item/ExperienceOrb.java @@ -73,16 +73,16 @@ public void applyLore(Data data, List lore) { for (Map.Entry entry : data.getExperienceMap().entrySet()) { String skill = entry.getKey(); double experience = entry.getValue(); - lore.add(C.WHITE + Form.capitalize(Localizer.dLocalize("snippets", "experienceorb", "contains")) + " " + C.UNDERLINE + C.WHITE + Form.f(experience, 0) + " " + Adapt.instance.getAdaptServer().getSkillRegistry().getSkill(skill).getDisplayName() + C.GRAY + " " + Localizer.dLocalize("snippets", "experienceorb", "xp")); + lore.add(Localizer.dLocalize("snippets.experience_orb.contains", Form.f(experience, 0), Adapt.instance.getAdaptServer().getSkillRegistry().getSkill(skill).displayName())); } - lore.add(C.LIGHT_PURPLE + Localizer.dLocalize("snippets", "experienceorb", "rightclick") + " " + C.GRAY + Localizer.dLocalize("snippets", "experienceorb", "togainxp")); + lore.add(Localizer.dLocalize("snippets.experience_orb.right_click_to_gain_xp")); } @Override public void applyMeta(Data data, ItemMeta meta) { meta.addEnchant(Enchantment.BINDING_CURSE, 10, true); meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS); - meta.setDisplayName(Localizer.dLocalize("snippets", "experienceorb", "xporb")); + meta.setDisplayName(Localizer.dLocalize("snippets.experience_orb.xp_orb")); } @AllArgsConstructor diff --git a/src/main/java/com/volmit/adapt/content/item/KnowledgeOrb.java b/src/main/java/com/volmit/adapt/content/item/KnowledgeOrb.java index e502d6629..ed5011bc2 100644 --- a/src/main/java/com/volmit/adapt/content/item/KnowledgeOrb.java +++ b/src/main/java/com/volmit/adapt/content/item/KnowledgeOrb.java @@ -87,16 +87,16 @@ public void applyLore(Data data, List lore) { for (Map.Entry entry : data.getKnowledgeMap().entrySet()) { String skill = entry.getKey(); int knowledge = entry.getValue(); - lore.add(C.WHITE + Localizer.dLocalize("snippets", "knowledgeorb", "contains") + " " + C.UNDERLINE + C.WHITE + "" + knowledge + " " + Adapt.instance.getAdaptServer().getSkillRegistry().getSkill(skill).getDisplayName() + " " + Localizer.dLocalize("snippets", "knowledgeorb", "knowledge")); + lore.add(Localizer.dLocalize("snippets.knowledge_orb.contains", knowledge, Adapt.instance.getAdaptServer().getSkillRegistry().getSkill(skill).displayName())); } - lore.add(C.LIGHT_PURPLE + Localizer.dLocalize("snippets", "knowledgeorb", "rightclick") + " " + C.GRAY + Localizer.dLocalize("snippets", "knowledgeorb", "togainknowledge")); + lore.add(Localizer.dLocalize("snippets.knowledge_orb.right_click_to_gain_knowledge")); } @Override public void applyMeta(Data data, ItemMeta meta) { meta.addEnchant(Enchantment.BINDING_CURSE, 10, true); meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES, ItemFlag.HIDE_ENCHANTS); - meta.setDisplayName(Localizer.dLocalize("snippets", "knowledgeorb", "knowledgeorb")); + meta.setDisplayName(Localizer.dLocalize("snippets.knowledge_orb.knowledge_orb")); } @AllArgsConstructor diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java b/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java index eab8c9cc6..b095c2fd2 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java @@ -48,10 +48,10 @@ public class SkillAgility extends SimpleSkill { private Map lastLocations; public SkillAgility() { - super("agility", Localizer.dLocalize("skill", "agility", "icon")); + super("agility", Localizer.dLocalize("skill.agility.icon")); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("skill", "agility", "description")); - setDisplayName(Localizer.dLocalize("skill", "agility", "name")); + setDescription(Localizer.dLocalize("skill.agility.description")); + setDisplayName(Localizer.dLocalize("skill.agility.name")); setColor(C.GREEN); setInterval(975); setIcon(Material.FEATHER); @@ -62,30 +62,30 @@ public SkillAgility() { registerAdvancement(AdaptAdvancement.builder() .icon(Material.LEATHER_BOOTS) .key("challenge_move_1k") - .title(Localizer.dLocalize("advancement", "challenge_move_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_move_1k", "description")) + .title(Localizer.dLocalize("advancement.challenge_move_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_move_1k.description")) .model(CustomModel.get(Material.LEATHER_BOOTS, "advancement", "agility", "challenge_move_1k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) .child(AdaptAdvancement.builder() .icon(Material.IRON_BOOTS) .key("challenge_sprint_5k") - .title(Localizer.dLocalize("advancement", "challenge_sprint_5k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_sprint_5k", "description")) + .title(Localizer.dLocalize("advancement.challenge_sprint_5k.title")) + .description(Localizer.dLocalize("advancement.challenge_sprint_5k.description")) .model(CustomModel.get(Material.IRON_BOOTS, "advancement", "agility", "challenge_sprint_5k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.DIAMOND_BOOTS) .key("challenge_sprint_50k") - .title(Localizer.dLocalize("advancement", "challenge_sprint_50k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_sprint_50k", "description")) + .title(Localizer.dLocalize("advancement.challenge_sprint_50k.title")) + .description(Localizer.dLocalize("advancement.challenge_sprint_50k.description")) .model(CustomModel.get(Material.DIAMOND_BOOTS, "advancement", "agility", "challenge_sprint_50k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.NETHERITE_BOOTS) .key("challenge_sprint_500k") - .title(Localizer.dLocalize("advancement", "challenge_sprint_500k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_sprint_500k", "description")) + .title(Localizer.dLocalize("advancement.challenge_sprint_500k.title")) + .description(Localizer.dLocalize("advancement.challenge_sprint_500k.description")) .model(CustomModel.get(Material.NETHERITE_BOOTS, "advancement", "agility", "challenge_sprint_500k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) @@ -95,8 +95,8 @@ public SkillAgility() { .child(AdaptAdvancement.builder() .icon(Material.GOLDEN_BOOTS) .key("challenge_sprint_marathon") - .title(Localizer.dLocalize("advancement", "challenge_sprint_marathon", "title")) - .description(Localizer.dLocalize("advancement", "challenge_sprint_marathon", "description")) + .title(Localizer.dLocalize("advancement.challenge_sprint_marathon.title")) + .description(Localizer.dLocalize("advancement.challenge_sprint_marathon.description")) .model(CustomModel.get(Material.GOLDEN_BOOTS, "advancement", "agility", "challenge_sprint_marathon")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java b/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java index bea4f8630..f94d9ecca 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java @@ -46,46 +46,46 @@ public class SkillArchitect extends SimpleSkill { private final Map cooldowns; public SkillArchitect() { - super("architect", Localizer.dLocalize("skill", "architect", "icon")); + super("architect", Localizer.dLocalize("skill.architect.icon")); registerConfiguration(Config.class); setColor(C.AQUA); - setDescription(Localizer.dLocalize("skill", "architect", "description")); - setDisplayName(Localizer.dLocalize("skill", "architect", "name")); + setDescription(Localizer.dLocalize("skill.architect.description")); + setDisplayName(Localizer.dLocalize("skill.architect.name")); setInterval(3100); setIcon(Material.IRON_BARS); cooldowns = new HashMap<>(); registerAdvancement(AdaptAdvancement.builder() .icon(Material.BRICK).key("challenge_place_1k") - .title(Localizer.dLocalize("advancement", "challenge_place_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_place_1k", "description")) + .title(Localizer.dLocalize("advancement.challenge_place_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_place_1k.description")) .model(CustomModel.get(Material.BRICK, "advancement", "architect", "challenge_place_1k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.BRICK) .key("challenge_place_5k") - .title(Localizer.dLocalize("advancement", "challenge_place_5k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_place_5k", "description")) + .title(Localizer.dLocalize("advancement.challenge_place_5k.title")) + .description(Localizer.dLocalize("advancement.challenge_place_5k.description")) .model(CustomModel.get(Material.BRICK, "advancement", "architect", "challenge_place_5k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.NETHER_BRICK) .key("challenge_place_50k") - .title(Localizer.dLocalize("advancement", "challenge_place_50k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_place_50k", "description")) + .title(Localizer.dLocalize("advancement.challenge_place_50k.title")) + .description(Localizer.dLocalize("advancement.challenge_place_50k.description")) .model(CustomModel.get(Material.NETHER_BRICK, "advancement", "architect", "challenge_place_50k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.NETHER_BRICK) .key("challenge_place_500k") - .title(Localizer.dLocalize("advancement", "challenge_place_500k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_place_500k", "description")) + .title(Localizer.dLocalize("advancement.challenge_place_500k.title")) + .description(Localizer.dLocalize("advancement.challenge_place_500k.description")) .model(CustomModel.get(Material.NETHER_BRICK, "advancement", "architect", "challenge_place_500k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.IRON_INGOT) .key("challenge_place_5m") - .title(Localizer.dLocalize("advancement", "challenge_place_5m", "title")) - .description(Localizer.dLocalize("advancement", "challenge_place_5m", "description")) + .title(Localizer.dLocalize("advancement.challenge_place_5m.title")) + .description(Localizer.dLocalize("advancement.challenge_place_5m.description")) .model(CustomModel.get(Material.IRON_INGOT, "advancement", "architect", "challenge_place_5m")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java b/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java index 0accab73e..067d385e9 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java @@ -1,204 +1,204 @@ -/*------------------------------------------------------------------------------ - - Adapt is a Skill/Integration plugin for Minecraft Bukkit Servers - - Copyright (c) 2022 Arcane Arts (Volmit Software) - - - - This program is free software: you can redistribute it and/or modify - - it under the terms of the GNU General Public License as published by - - the Free Software Foundation, either version 3 of the License, or - - (at your option) any later version. - - - - This program is distributed in the hope that it will be useful, - - but WITHOUT ANY WARRANTY; without even the implied warranty of - - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - - GNU General Public License for more details. - - - - You should have received a copy of the GNU General Public License - - along with this program. If not, see . - -----------------------------------------------------------------------------*/ - -package com.volmit.adapt.content.skill; - -import com.fren_gor.ultimateAdvancementAPI.advancement.display.AdvancementFrameType; -import com.volmit.adapt.api.advancement.AdaptAdvancement; -import com.volmit.adapt.api.advancement.AdvancementVisibility; -import com.volmit.adapt.api.skill.SimpleSkill; -import com.volmit.adapt.api.world.AdaptPlayer; -import com.volmit.adapt.api.world.AdaptStatTracker; -import com.volmit.adapt.content.adaptation.axe.*; -import com.volmit.adapt.util.C; -import com.volmit.adapt.util.CustomModel; -import com.volmit.adapt.util.Localizer; -import lombok.NoArgsConstructor; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.inventory.ItemStack; - -import java.util.HashMap; -import java.util.Map; - -public class SkillAxes extends SimpleSkill { - private final Map cooldowns; - - public SkillAxes() { - super("axes", Localizer.dLocalize("skill", "axes", "icon")); - registerConfiguration(Config.class); - setColor(C.YELLOW); - setDescription(Localizer.dLocalize("skill", "axes", "description1") + C.ITALIC + Localizer.dLocalize("skill", "axes", "description2") + C.GRAY + " " + Localizer.dLocalize("skill", "axes", "description3")); - setDisplayName(Localizer.dLocalize("skill", "axes", "name")); - setInterval(5251); - setIcon(Material.GOLDEN_AXE); - cooldowns = new HashMap<>(); - registerAdaptation(new AxeGroundSmash()); - registerAdaptation(new AxeChop()); - registerAdaptation(new AxeDropToInventory()); - registerAdaptation(new AxeLeafVeinminer()); - registerAdaptation(new AxeWoodVeinminer()); - registerAdaptation(new AxeCraftLogSwap()); - registerAdvancement(AdaptAdvancement.builder() - .icon(Material.WOODEN_AXE).key("challenge_chop_1k") - .title(Localizer.dLocalize("advancement", "challenge_chop_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_chop_1k", "description")) - .model(CustomModel.get(Material.WOODEN_AXE, "advancement", "axes", "challenge_chop_1k")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() - .icon(Material.STONE_AXE) - .key("challenge_chop_5k") - .title(Localizer.dLocalize("advancement", "challenge_chop_5k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_chop_5k", "description")) - .model(CustomModel.get(Material.STONE_AXE, "advancement", "axes", "challenge_chop_5k")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() - .icon(Material.IRON_AXE) - .key("challenge_chop_50k") - .title(Localizer.dLocalize("advancement", "challenge_chop_50k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_chop_50k", "description")) - .model(CustomModel.get(Material.IRON_AXE, "advancement", "axes", "challenge_chop_50k")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() - .icon(Material.DIAMOND_AXE) - .key("challenge_chop_500k") - .title(Localizer.dLocalize("advancement", "challenge_chop_500k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_chop_500k", "description")) - .model(CustomModel.get(Material.DIAMOND_AXE, "advancement", "axes", "challenge_chop_500k")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() - .icon(Material.NETHERITE_AXE) - .key("challenge_chop_5m") - .title(Localizer.dLocalize("advancement", "challenge_chop_5m", "title")) - .description(Localizer.dLocalize("advancement", "challenge_chop_5m", "description")) - .model(CustomModel.get(Material.NETHERITE_AXE, "advancement", "axes", "challenge_chop_5m")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED) - .build()) - .build()) - .build()) - .build()) - .build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_chop_1k").goal(1000).stat("axes.blocks.broken").reward(getConfig().challengeChopReward).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_chop_5k").goal(5000).stat("axes.blocks.broken").reward(getConfig().challengeChopReward).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_chop_50k").goal(50000).stat("axes.blocks.broken").reward(getConfig().challengeChopReward).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_chop_500k").goal(500000).stat("axes.blocks.broken").reward(getConfig().challengeChopReward).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_chop_5m").goal(5000000).stat("axes.blocks.broken").reward(getConfig().challengeChopReward).build()); - } - - @EventHandler(priority = EventPriority.MONITOR) - public void on(EntityDamageByEntityEvent e) { - if (e.isCancelled()) { - return; - } - if (e.getDamager() instanceof Player p && checkValidEntity(e.getEntity().getType())) { - if (!getConfig().getXpForAttackingWithTools) { - return; - } - shouldReturnForPlayer(p, () -> { - if (e.getEntity().isDead() || e.getEntity().isInvulnerable() || p.isDead() || p.isInvulnerable()) { - return; - } - AdaptPlayer a = getPlayer(p); - ItemStack hand = a.getPlayer().getInventory().getItemInMainHand(); - - if (isAxe(hand)) { - handleCooldown(p, () -> { - a.getData().addStat("axes.swings", 1); - a.getData().addStat("axes.damage", e.getDamage()); - xp(a.getPlayer(), e.getEntity().getLocation(), getConfig().axeDamageXPMultiplier * e.getDamage()); - }); - } - }); - } - } - - @EventHandler(priority = EventPriority.MONITOR) - public void on(BlockBreakEvent e) { - if (e.isCancelled()) { - return; - } - Player p = e.getPlayer(); - shouldReturnForPlayer(p, () -> { - if (isAxe(p.getInventory().getItemInMainHand()) && isLog(new ItemStack(e.getBlock().getType()))) { - double v = getValue(e.getBlock().getType()); - AdaptPlayer a = getPlayer(p); - a.getData().addStat("axes.blocks.broken", 1); - a.getData().addStat("axes.blocks.value", getValue(e.getBlock().getBlockData())); - handleCooldown(p, () -> xp(p, e.getBlock().getLocation().clone().add(0.5, 0.5, 0.5), blockXP(e.getBlock(), v))); - } - }); - } - - private void handleCooldown(Player p, Runnable action) { - Long cooldown = cooldowns.get(p); - if (cooldown != null && cooldown + getConfig().cooldownDelay > System.currentTimeMillis()) - return; - cooldowns.put(p, System.currentTimeMillis()); - action.run(); - } - - public double getValue(Material type) { - double value = super.getValue(type) * getConfig().valueXPMultiplier; - value += Math.min(getConfig().maxHardnessBonus, type.getHardness()); - value += Math.min(getConfig().maxBlastResistanceBonus, type.getBlastResistance()); - - if (type.name().endsWith("_LOG") || type.name().endsWith("_WOOD")) { - value += getConfig().logOrWoodXPMultiplier; - } - if (type.name().endsWith("_LEAVES")) { - value += getConfig().leavesMultiplier; - } - - if (type.getHardness() == 0) { - value = 0; - } - - return value; - } - - - @Override - public void onTick() { - - } - - @Override - public boolean isEnabled() { - return getConfig().enabled; - } - - @NoArgsConstructor - protected static class Config { - boolean enabled = true; - boolean getXpForAttackingWithTools = true; - - double maxHardnessBonus = 9; - double maxBlastResistanceBonus = 10; - double challengeChopReward = 1750; - double logOrWoodXPMultiplier = 2.67; - double leavesMultiplier = 1.11; - long cooldownDelay = 2250; - double valueXPMultiplier = 0.225; - double axeDamageXPMultiplier = 13.26; - } -} +/*------------------------------------------------------------------------------ + - Adapt is a Skill/Integration plugin for Minecraft Bukkit Servers + - Copyright (c) 2022 Arcane Arts (Volmit Software) + - + - This program is free software: you can redistribute it and/or modify + - it under the terms of the GNU General Public License as published by + - the Free Software Foundation, either version 3 of the License, or + - (at your option) any later version. + - + - This program is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU General Public License for more details. + - + - You should have received a copy of the GNU General Public License + - along with this program. If not, see . + -----------------------------------------------------------------------------*/ + +package com.volmit.adapt.content.skill; + +import com.fren_gor.ultimateAdvancementAPI.advancement.display.AdvancementFrameType; +import com.volmit.adapt.api.advancement.AdaptAdvancement; +import com.volmit.adapt.api.advancement.AdvancementVisibility; +import com.volmit.adapt.api.skill.SimpleSkill; +import com.volmit.adapt.api.world.AdaptPlayer; +import com.volmit.adapt.api.world.AdaptStatTracker; +import com.volmit.adapt.content.adaptation.axe.*; +import com.volmit.adapt.util.C; +import com.volmit.adapt.util.CustomModel; +import com.volmit.adapt.util.Localizer; +import lombok.NoArgsConstructor; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.inventory.ItemStack; + +import java.util.HashMap; +import java.util.Map; + +public class SkillAxes extends SimpleSkill { + private final Map cooldowns; + + public SkillAxes() { + super("axes", Localizer.dLocalize("skill.axes.icon")); + registerConfiguration(Config.class); + setColor(C.YELLOW); + setDescription(Localizer.dLocalize("skill.axes.description")); + setDisplayName(Localizer.dLocalize("skill.axes.name")); + setInterval(5251); + setIcon(Material.GOLDEN_AXE); + cooldowns = new HashMap<>(); + registerAdaptation(new AxeGroundSmash()); + registerAdaptation(new AxeChop()); + registerAdaptation(new AxeDropToInventory()); + registerAdaptation(new AxeLeafVeinminer()); + registerAdaptation(new AxeWoodVeinminer()); + registerAdaptation(new AxeCraftLogSwap()); + registerAdvancement(AdaptAdvancement.builder() + .icon(Material.WOODEN_AXE).key("challenge_chop_1k") + .title(Localizer.dLocalize("advancement.challenge_chop_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_chop_1k.description")) + .model(CustomModel.get(Material.WOODEN_AXE, "advancement", "axes", "challenge_chop_1k")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() + .icon(Material.STONE_AXE) + .key("challenge_chop_5k") + .title(Localizer.dLocalize("advancement.challenge_chop_5k.title")) + .description(Localizer.dLocalize("advancement.challenge_chop_5k.description")) + .model(CustomModel.get(Material.STONE_AXE, "advancement", "axes", "challenge_chop_5k")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() + .icon(Material.IRON_AXE) + .key("challenge_chop_50k") + .title(Localizer.dLocalize("advancement.challenge_chop_50k.title")) + .description(Localizer.dLocalize("advancement.challenge_chop_50k.description")) + .model(CustomModel.get(Material.IRON_AXE, "advancement", "axes", "challenge_chop_50k")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() + .icon(Material.DIAMOND_AXE) + .key("challenge_chop_500k") + .title(Localizer.dLocalize("advancement.challenge_chop_500k.title")) + .description(Localizer.dLocalize("advancement.challenge_chop_500k.description")) + .model(CustomModel.get(Material.DIAMOND_AXE, "advancement", "axes", "challenge_chop_500k")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() + .icon(Material.NETHERITE_AXE) + .key("challenge_chop_5m") + .title(Localizer.dLocalize("advancement.challenge_chop_5m.title")) + .description(Localizer.dLocalize("advancement.challenge_chop_5m.description")) + .model(CustomModel.get(Material.NETHERITE_AXE, "advancement", "axes", "challenge_chop_5m")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED) + .build()) + .build()) + .build()) + .build()) + .build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_chop_1k").goal(1000).stat("axes.blocks.broken").reward(getConfig().challengeChopReward).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_chop_5k").goal(5000).stat("axes.blocks.broken").reward(getConfig().challengeChopReward).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_chop_50k").goal(50000).stat("axes.blocks.broken").reward(getConfig().challengeChopReward).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_chop_500k").goal(500000).stat("axes.blocks.broken").reward(getConfig().challengeChopReward).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_chop_5m").goal(5000000).stat("axes.blocks.broken").reward(getConfig().challengeChopReward).build()); + } + + @EventHandler(priority = EventPriority.MONITOR) + public void on(EntityDamageByEntityEvent e) { + if (e.isCancelled()) { + return; + } + if (e.getDamager() instanceof Player p && checkValidEntity(e.getEntity().getType())) { + if (!getConfig().getXpForAttackingWithTools) { + return; + } + shouldReturnForPlayer(p, () -> { + if (e.getEntity().isDead() || e.getEntity().isInvulnerable() || p.isDead() || p.isInvulnerable()) { + return; + } + AdaptPlayer a = getPlayer(p); + ItemStack hand = a.getPlayer().getInventory().getItemInMainHand(); + + if (isAxe(hand)) { + handleCooldown(p, () -> { + a.getData().addStat("axes.swings", 1); + a.getData().addStat("axes.damage", e.getDamage()); + xp(a.getPlayer(), e.getEntity().getLocation(), getConfig().axeDamageXPMultiplier * e.getDamage()); + }); + } + }); + } + } + + @EventHandler(priority = EventPriority.MONITOR) + public void on(BlockBreakEvent e) { + if (e.isCancelled()) { + return; + } + Player p = e.getPlayer(); + shouldReturnForPlayer(p, () -> { + if (isAxe(p.getInventory().getItemInMainHand()) && isLog(new ItemStack(e.getBlock().getType()))) { + double v = getValue(e.getBlock().getType()); + AdaptPlayer a = getPlayer(p); + a.getData().addStat("axes.blocks.broken", 1); + a.getData().addStat("axes.blocks.value", getValue(e.getBlock().getBlockData())); + handleCooldown(p, () -> xp(p, e.getBlock().getLocation().clone().add(0.5, 0.5, 0.5), blockXP(e.getBlock(), v))); + } + }); + } + + private void handleCooldown(Player p, Runnable action) { + Long cooldown = cooldowns.get(p); + if (cooldown != null && cooldown + getConfig().cooldownDelay > System.currentTimeMillis()) + return; + cooldowns.put(p, System.currentTimeMillis()); + action.run(); + } + + public double getValue(Material type) { + double value = super.getValue(type) * getConfig().valueXPMultiplier; + value += Math.min(getConfig().maxHardnessBonus, type.getHardness()); + value += Math.min(getConfig().maxBlastResistanceBonus, type.getBlastResistance()); + + if (type.name().endsWith("_LOG") || type.name().endsWith("_WOOD")) { + value += getConfig().logOrWoodXPMultiplier; + } + if (type.name().endsWith("_LEAVES")) { + value += getConfig().leavesMultiplier; + } + + if (type.getHardness() == 0) { + value = 0; + } + + return value; + } + + + @Override + public void onTick() { + + } + + @Override + public boolean isEnabled() { + return getConfig().enabled; + } + + @NoArgsConstructor + protected static class Config { + boolean enabled = true; + boolean getXpForAttackingWithTools = true; + + double maxHardnessBonus = 9; + double maxBlastResistanceBonus = 10; + double challengeChopReward = 1750; + double logOrWoodXPMultiplier = 2.67; + double leavesMultiplier = 1.11; + long cooldownDelay = 2250; + double valueXPMultiplier = 0.225; + double axeDamageXPMultiplier = 13.26; + } +} diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java b/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java index e22aab30b..debbcae4c 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java @@ -48,11 +48,11 @@ public class SkillBlocking extends SimpleSkill { private final Map cooldowns; public SkillBlocking() { - super("blocking", Localizer.dLocalize("skill", "blocking", "icon")); + super("blocking", Localizer.dLocalize("skill.blocking.icon")); registerConfiguration(Config.class); setColor(C.DARK_GRAY); - setDescription(Localizer.dLocalize("skill", "blocking", "description")); - setDisplayName(Localizer.dLocalize("skill", "blocking", "name")); + setDescription(Localizer.dLocalize("skill.blocking.description")); + setDisplayName(Localizer.dLocalize("skill.blocking.name")); setInterval(5000); setIcon(Material.SHIELD); registerAdaptation(new BlockingMultiArmor()); @@ -61,36 +61,36 @@ public SkillBlocking() { registerAdaptation(new BlockingHorseArmorer()); registerAdvancement(AdaptAdvancement.builder() .icon(Material.LEATHER_CHESTPLATE).key("challenge_block_1k") - .title(Localizer.dLocalize("advancement", "challenge_block_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_block_1k", "description")) + .title(Localizer.dLocalize("advancement.challenge_block_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_block_1k.description")) .model(CustomModel.get(Material.LEATHER_CHESTPLATE, "advancement", "blocking", "challenge_block_1k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.CHAINMAIL_CHESTPLATE) .key("challenge_block_5k") - .title(Localizer.dLocalize("advancement", "challenge_block_5k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_block_5k", "description")) + .title(Localizer.dLocalize("advancement.challenge_block_5k.title")) + .description(Localizer.dLocalize("advancement.challenge_block_5k.description")) .model(CustomModel.get(Material.CHAINMAIL_CHESTPLATE, "advancement", "blocking", "challenge_block_5k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.IRON_CHESTPLATE) .key("challenge_block_50k") - .title(Localizer.dLocalize("advancement", "challenge_block_50k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_block_50k", "description")) + .title(Localizer.dLocalize("advancement.challenge_block_50k.title")) + .description(Localizer.dLocalize("advancement.challenge_block_50k.description")) .model(CustomModel.get(Material.IRON_CHESTPLATE, "advancement", "blocking", "challenge_block_50k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.GOLDEN_CHESTPLATE) .key("challenge_block_500k") - .title(Localizer.dLocalize("advancement", "challenge_block_500k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_block_500k", "description")) + .title(Localizer.dLocalize("advancement.challenge_block_500k.title")) + .description(Localizer.dLocalize("advancement.challenge_block_500k.description")) .model(CustomModel.get(Material.GOLDEN_CHESTPLATE, "advancement", "blocking", "challenge_block_500k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.DIAMOND_CHESTPLATE) .key("challenge_block_5m") - .title(Localizer.dLocalize("advancement", "challenge_block_5m", "title")) - .description(Localizer.dLocalize("advancement", "challenge_block_5m", "description")) + .title(Localizer.dLocalize("advancement.challenge_block_5m.title")) + .description(Localizer.dLocalize("advancement.challenge_block_5m.description")) .model(CustomModel.get(Material.DIAMOND_CHESTPLATE, "advancement", "blocking", "challenge_block_5m")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java b/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java index 364e436d6..e4a18845d 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java @@ -52,11 +52,11 @@ public class SkillBrewing extends SimpleSkill { private final Map cooldowns; public SkillBrewing() { - super("brewing", Localizer.dLocalize("skill", "brewing", "icon")); + super("brewing", Localizer.dLocalize("skill.brewing.icon")); registerConfiguration(Config.class); setColor(C.LIGHT_PURPLE); - setDescription(Localizer.dLocalize("skill", "brewing", "description")); - setDisplayName(Localizer.dLocalize("skill", "brewing", "name")); + setDescription(Localizer.dLocalize("skill.brewing.description")); + setDisplayName(Localizer.dLocalize("skill.brewing.name")); setInterval(5851); setIcon(Material.LINGERING_POTION); cooldowns = new HashMap<>(); @@ -76,36 +76,36 @@ public SkillBrewing() { registerAdvancement(AdaptAdvancement.builder() .icon(Material.POTION).key("challenge_brew_1k") - .title(Localizer.dLocalize("advancement", "challenge_brew_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_brew_1k", "description")) + .title(Localizer.dLocalize("advancement.challenge_brew_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_brew_1k.description")) .model(CustomModel.get(Material.POTION, "advancement", "brewing", "challenge_brew_1k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.POTION) .key("challenge_brew_5k") - .title(Localizer.dLocalize("advancement", "challenge_brew_5k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_brew_5k", "description")) + .title(Localizer.dLocalize("advancement.challenge_brew_5k.title")) + .description(Localizer.dLocalize("advancement.challenge_brew_5k.description")) .model(CustomModel.get(Material.POTION, "advancement", "brewing", "challenge_brew_5k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.POTION) .key("challenge_brew_50k") - .title(Localizer.dLocalize("advancement", "challenge_brew_50k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_brew_50k", "description")) + .title(Localizer.dLocalize("advancement.challenge_brew_50k.title")) + .description(Localizer.dLocalize("advancement.challenge_brew_50k.description")) .model(CustomModel.get(Material.POTION, "advancement", "brewing", "challenge_brew_50k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.POTION) .key("challenge_brew_500k") - .title(Localizer.dLocalize("advancement", "challenge_brew_500k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_brew_500k", "description")) + .title(Localizer.dLocalize("advancement.challenge_brew_500k.title")) + .description(Localizer.dLocalize("advancement.challenge_brew_500k.description")) .model(CustomModel.get(Material.POTION, "advancement", "brewing", "challenge_brew_500k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.POTION) .key("challenge_brew_5m") - .title(Localizer.dLocalize("advancement", "challenge_brew_5m", "title")) - .description(Localizer.dLocalize("advancement", "challenge_brew_5m", "description")) + .title(Localizer.dLocalize("advancement.challenge_brew_5m.title")) + .description(Localizer.dLocalize("advancement.challenge_brew_5m.description")) .model(CustomModel.get(Material.POTION, "advancement", "brewing", "challenge_brew_5m")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) @@ -122,36 +122,36 @@ public SkillBrewing() { registerAdvancement(AdaptAdvancement.builder() .icon(Material.SPLASH_POTION).key("challenge_brewsplash_1k") - .title(Localizer.dLocalize("advancement", "challenge_brewsplash_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_brewsplash_1k", "description")) + .title(Localizer.dLocalize("advancement.challenge_brewsplash_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_brewsplash_1k.description")) .model(CustomModel.get(Material.SPLASH_POTION, "advancement", "brewing", "brewsplash_1k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.SPLASH_POTION) .key("challenge_brewsplash_5k") - .title(Localizer.dLocalize("advancement", "challenge_brewsplash_5k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_brewsplash_5k", "description")) + .title(Localizer.dLocalize("advancement.challenge_brewsplash_5k.title")) + .description(Localizer.dLocalize("advancement.challenge_brewsplash_5k.description")) .model(CustomModel.get(Material.SPLASH_POTION, "advancement", "brewing", "brewsplash_5k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.SPLASH_POTION) .key("challenge_brewsplash_50k") - .title(Localizer.dLocalize("advancement", "challenge_brewsplash_50k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_brewsplash_50k", "description")) + .title(Localizer.dLocalize("advancement.challenge_brewsplash_50k.title")) + .description(Localizer.dLocalize("advancement.challenge_brewsplash_50k.description")) .model(CustomModel.get(Material.SPLASH_POTION, "advancement", "brewing", "brewsplash_50k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.SPLASH_POTION) .key("challenge_brewsplash_500k") - .title(Localizer.dLocalize("advancement", "challenge_brewsplash_500k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_brewsplash_500k", "description")) + .title(Localizer.dLocalize("advancement.challenge_brewsplash_500k.title")) + .description(Localizer.dLocalize("advancement.challenge_brewsplash_500k.description")) .model(CustomModel.get(Material.SPLASH_POTION, "advancement", "brewing", "brewsplash_50k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.SPLASH_POTION) .key("challenge_brewsplash_5m") - .title(Localizer.dLocalize("advancement", "challenge_brewsplash_5m", "title")) - .description(Localizer.dLocalize("advancement", "challenge_brewsplash_5m", "description")) + .title(Localizer.dLocalize("advancement.challenge_brewsplash_5m.title")) + .description(Localizer.dLocalize("advancement.challenge_brewsplash_5m.description")) .model(CustomModel.get(Material.SPLASH_POTION, "advancement", "brewing", "brewsplash_5m")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java b/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java index 669e91f99..424808200 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java @@ -29,12 +29,12 @@ public class SkillChronos extends SimpleSkill { public SkillChronos() { - super("chronos", Localizer.dLocalize("skill", "chronos", "icon")); + super("chronos", Localizer.dLocalize("skill.chronos.icon")); registerConfiguration(Config.class); setColor(C.AQUA); setInterval(600000); - setDescription(Localizer.dLocalize("skill", "chronos", "description")); - setDisplayName(Localizer.dLocalize("skill", "chronos", "name")); + setDescription(Localizer.dLocalize("skill.chronos.description")); + setDisplayName(Localizer.dLocalize("skill.chronos.name")); setInterval(getConfig().setInterval); setIcon(Material.CLOCK); } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java b/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java index a1d60124b..7a44eba61 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java @@ -46,11 +46,11 @@ public class SkillCrafting extends SimpleSkill { private final Map cooldowns; public SkillCrafting() { - super("crafting", Localizer.dLocalize("skill", "crafting", "icon")); + super("crafting", Localizer.dLocalize("skill.crafting.icon")); registerConfiguration(Config.class); setColor(C.YELLOW); - setDescription(Localizer.dLocalize("skill", "crafting", "description")); - setDisplayName(Localizer.dLocalize("skill", "crafting", "name")); + setDescription(Localizer.dLocalize("skill.crafting.description")); + setDisplayName(Localizer.dLocalize("skill.crafting.name")); setInterval(3789); setIcon(Material.CRAFTING_TABLE); registerAdaptation(new CraftingDeconstruction()); @@ -62,36 +62,36 @@ public SkillCrafting() { registerAdaptation(new CraftingReconstruction()); registerAdvancement(AdaptAdvancement.builder() .icon(Material.CRAFTING_TABLE).key("challenge_craft_1k") - .title(Localizer.dLocalize("advancement", "challenge_craft_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_craft_1k", "description")) + .title(Localizer.dLocalize("advancement.challenge_craft_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_craft_1k.description")) .model(CustomModel.get(Material.CRAFTING_TABLE, "advancement", "crafting", "challenge_craft_1k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.CRAFTING_TABLE) .key("challenge_craft_5k") - .title(Localizer.dLocalize("advancement", "challenge_craft_5k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_craft_5k", "description")) + .title(Localizer.dLocalize("advancement.challenge_craft_5k.title")) + .description(Localizer.dLocalize("advancement.challenge_craft_5k.description")) .model(CustomModel.get(Material.CRAFTING_TABLE, "advancement", "crafting", "challenge_craft_5k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.CRAFTING_TABLE) .key("challenge_craft_50k") - .title(Localizer.dLocalize("advancement", "challenge_craft_50k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_craft_50k", "description")) + .title(Localizer.dLocalize("advancement.challenge_craft_50k.title")) + .description(Localizer.dLocalize("advancement.challenge_craft_50k.description")) .model(CustomModel.get(Material.CRAFTING_TABLE, "advancement", "crafting", "challenge_craft_50k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.CRAFTING_TABLE) .key("challenge_craft_500k") - .title(Localizer.dLocalize("advancement", "challenge_craft_500k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_craft_500k", "description")) + .title(Localizer.dLocalize("advancement.challenge_craft_500k.title")) + .description(Localizer.dLocalize("advancement.challenge_craft_500k.description")) .model(CustomModel.get(Material.CRAFTING_TABLE, "advancement", "crafting", "challenge_craft_500k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.CRAFTING_TABLE) .key("challenge_craft_5m") - .title(Localizer.dLocalize("advancement", "challenge_craft_5m", "title")) - .description(Localizer.dLocalize("advancement", "challenge_craft_5m", "description")) + .title(Localizer.dLocalize("advancement.challenge_craft_5m.title")) + .description(Localizer.dLocalize("advancement.challenge_craft_5m.description")) .model(CustomModel.get(Material.CRAFTING_TABLE, "advancement", "crafting", "challenge_craft_5m")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java b/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java index 278f3e3f4..ec6817891 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java @@ -53,11 +53,11 @@ public class SkillDiscovery extends SimpleSkill { public SkillDiscovery() { - super("discovery", Localizer.dLocalize("skill", "discovery", "icon")); + super("discovery", Localizer.dLocalize("skill.discovery.icon")); registerConfiguration(Config.class); setColor(C.AQUA); - setDescription(Localizer.dLocalize("skill", "discovery", "description")); - setDisplayName(Localizer.dLocalize("skill", "discovery", "name")); + setDescription(Localizer.dLocalize("skill.discovery.description")); + setDisplayName(Localizer.dLocalize("skill.discovery.name")); setInterval(500); setIcon(Material.FILLED_MAP); registerAdaptation(new DiscoveryUnity()); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java b/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java index bc446137b..2cd4c5f10 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java @@ -44,11 +44,11 @@ public class SkillEnchanting extends SimpleSkill { private final Map cooldowns; public SkillEnchanting() { - super("enchanting", Localizer.dLocalize("skill", "enchanting", "icon")); + super("enchanting", Localizer.dLocalize("skill.enchanting.icon")); registerConfiguration(Config.class); setColor(C.LIGHT_PURPLE); - setDescription(Localizer.dLocalize("skill", "enchanting", "description")); - setDisplayName(Localizer.dLocalize("skill", "enchanting", "name")); + setDescription(Localizer.dLocalize("skill.enchanting.description")); + setDisplayName(Localizer.dLocalize("skill.enchanting.name")); setInterval(3909); setIcon(Material.KNOWLEDGE_BOOK); cooldowns = new HashMap<>(); @@ -57,36 +57,36 @@ public SkillEnchanting() { registerAdaptation(new EnchantingXPReturn()); // registerAdvancement(AdaptAdvancement.builder() .icon(Material.CRAFTING_TABLE).key("challenge_enchant_1k") - .title(Localizer.dLocalize("advancement", "challenge_enchant_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_enchant_1k", "description")) + .title(Localizer.dLocalize("advancement.challenge_enchant_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_enchant_1k.description")) .model(CustomModel.get(Material.CRAFTING_TABLE, "advancement", "enchanting", "challenge_enchant_1k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.KNOWLEDGE_BOOK) .key("challenge_enchant_5k") - .title(Localizer.dLocalize("advancement", "challenge_enchant_5k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_enchant_5k", "description")) + .title(Localizer.dLocalize("advancement.challenge_enchant_5k.title")) + .description(Localizer.dLocalize("advancement.challenge_enchant_5k.description")) .model(CustomModel.get(Material.KNOWLEDGE_BOOK, "advancement", "enchanting", "challenge_enchant_5k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.KNOWLEDGE_BOOK) .key("challenge_enchant_50k") - .title(Localizer.dLocalize("advancement", "challenge_enchant_50k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_enchant_50k", "description")) + .title(Localizer.dLocalize("advancement.challenge_enchant_50k.title")) + .description(Localizer.dLocalize("advancement.challenge_enchant_50k.description")) .model(CustomModel.get(Material.KNOWLEDGE_BOOK, "advancement", "enchanting", "challenge_enchant_50k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.KNOWLEDGE_BOOK) .key("challenge_enchant_500k") - .title(Localizer.dLocalize("advancement", "challenge_enchant_500k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_enchant_500k", "description")) + .title(Localizer.dLocalize("advancement.challenge_enchant_500k.title")) + .description(Localizer.dLocalize("advancement.challenge_enchant_500k.description")) .model(CustomModel.get(Material.KNOWLEDGE_BOOK, "advancement", "enchanting", "challenge_enchant_500k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.KNOWLEDGE_BOOK) .key("challenge_enchant_5m") - .title(Localizer.dLocalize("advancement", "challenge_enchant_5m", "title")) - .description(Localizer.dLocalize("advancement", "challenge_enchant_5m", "description")) + .title(Localizer.dLocalize("advancement.challenge_enchant_5m.title")) + .description(Localizer.dLocalize("advancement.challenge_enchant_5m.description")) .model(CustomModel.get(Material.KNOWLEDGE_BOOK, "advancement", "enchanting", "challenge_enchant_5m")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java b/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java index 8821e8471..e557aafcf 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java @@ -1,191 +1,191 @@ -/*------------------------------------------------------------------------------ - - Adapt is a Skill/Integration plugin for Minecraft Bukkit Servers - - Copyright (c) 2022 Arcane Arts (Volmit Software) - - - - This program is free software: you can redistribute it and/or modify - - it under the terms of the GNU General Public License as published by - - the Free Software Foundation, either version 3 of the License, or - - (at your option) any later version. - - - - This program is distributed in the hope that it will be useful, - - but WITHOUT ANY WARRANTY; without even the implied warranty of - - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - - GNU General Public License for more details. - - - - You should have received a copy of the GNU General Public License - - along with this program. If not, see . - -----------------------------------------------------------------------------*/ - -package com.volmit.adapt.content.skill; - -import com.fren_gor.ultimateAdvancementAPI.advancement.display.AdvancementFrameType; -import com.volmit.adapt.api.advancement.AdaptAdvancement; -import com.volmit.adapt.api.advancement.AdvancementVisibility; -import com.volmit.adapt.api.skill.SimpleSkill; -import com.volmit.adapt.api.world.AdaptPlayer; -import com.volmit.adapt.api.world.AdaptStatTracker; -import com.volmit.adapt.content.adaptation.excavation.ExcavationDropToInventory; -import com.volmit.adapt.content.adaptation.excavation.ExcavationHaste; -import com.volmit.adapt.content.adaptation.excavation.ExcavationOmniTool; -import com.volmit.adapt.content.adaptation.excavation.ExcavationSpelunker; -import com.volmit.adapt.util.C; -import com.volmit.adapt.util.CustomModel; -import com.volmit.adapt.util.Localizer; -import lombok.NoArgsConstructor; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.inventory.ItemStack; - -import java.util.HashMap; -import java.util.Map; - -public class SkillExcavation extends SimpleSkill { - private final Map cooldowns; - - public SkillExcavation() { - super("excavation", Localizer.dLocalize("skill", "excavation", "icon")); - registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("skill", "excavation", "description")); - setDisplayName(Localizer.dLocalize("skill", "excavation", "name")); - setColor(C.YELLOW); - setInterval(5953); - setIcon(Material.DIAMOND_SHOVEL); - cooldowns = new HashMap<>(); - registerAdaptation(new ExcavationHaste()); - registerAdaptation(new ExcavationSpelunker()); - registerAdaptation(new ExcavationOmniTool()); - registerAdaptation(new ExcavationDropToInventory()); - registerAdvancement(AdaptAdvancement.builder() - .icon(Material.WOODEN_SHOVEL).key("challenge_excavate_1k") - .title(Localizer.dLocalize("advancement", "challenge_excavate_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_excavate_1k", "description")) - .model(CustomModel.get(Material.WOODEN_SHOVEL, "advancement", "excavation", "challenge_excavate_1k")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() - .icon(Material.KNOWLEDGE_BOOK) - .key("challenge_excavate_5k") - .title(Localizer.dLocalize("advancement", "challenge_excavate_5k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_excavate_5k", "description")) - .model(CustomModel.get(Material.KNOWLEDGE_BOOK, "advancement", "excavation", "challenge_excavate_5k")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() - .icon(Material.STONE_SHOVEL) - .key("challenge_excavate_50k") - .title(Localizer.dLocalize("advancement", "challenge_excavate_50k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_excavate_50k", "description")) - .model(CustomModel.get(Material.STONE_SHOVEL, "advancement", "excavation", "challenge_excavate_50k")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() - .icon(Material.IRON_SHOVEL) - .key("challenge_excavate_500k") - .title(Localizer.dLocalize("advancement", "challenge_excavate_500k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_excavate_500k", "description")) - .model(CustomModel.get(Material.IRON_SHOVEL, "advancement", "excavation", "challenge_excavate_500k")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() - .icon(Material.DIAMOND_SHOVEL) - .key("challenge_excavate_5m") - .title(Localizer.dLocalize("advancement", "challenge_excavate_5m", "title")) - .description(Localizer.dLocalize("advancement", "challenge_excavate_5m", "description")) - .model(CustomModel.get(Material.DIAMOND_SHOVEL, "advancement", "excavation", "challenge_excavate_5m")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED) - .build()) - .build()) - .build()) - .build()) - .build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_excavate_1k").goal(1000).stat("excavation.blocks.broken").reward(getConfig().challengeExcavationReward).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_excavate_5k").goal(5000).stat("excavation.blocks.broken").reward(getConfig().challengeExcavationReward).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_excavate_50k").goal(50000).stat("excavation.blocks.broken").reward(getConfig().challengeExcavationReward).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_enchant_500k").goal(500000).stat("excavation.blocks.broken").reward(getConfig().challengeExcavationReward).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_excavate_5m").goal(5000000).stat("excavation.blocks.broken").reward(getConfig().challengeExcavationReward).build()); - } - - - @EventHandler(priority = EventPriority.MONITOR) - public void on(EntityDamageByEntityEvent e) { - if (e.isCancelled()) { - return; - } - if (e.getDamager() instanceof Player p && checkValidEntity(e.getEntity().getType())) { - if (!getConfig().getXpForAttackingWithTools) { - return; - } - shouldReturnForPlayer(p, e, () -> handleEntityDamageByPlayer(p, e)); - } - } - - private void handleEntityDamageByPlayer(Player p, EntityDamageByEntityEvent e) { - AdaptPlayer a = getPlayer(p); - ItemStack hand = a.getPlayer().getInventory().getItemInMainHand(); - if (isShovel(hand)) { - Long cooldown = cooldowns.get(p); - if (cooldown != null && cooldown + getConfig().cooldownDelay > System.currentTimeMillis()) - return; - cooldowns.put(p, System.currentTimeMillis()); - getPlayer(p).getData().addStat("excavation.swings", 1); - getPlayer(p).getData().addStat("excavation.damage", e.getDamage()); - xp(a.getPlayer(), e.getEntity().getLocation(), getConfig().axeDamageXPMultiplier * e.getDamage()); - } - } - - @EventHandler(priority = EventPriority.MONITOR) - public void on(BlockBreakEvent e) { - if (e.isCancelled()) { - return; - } - Player p = e.getPlayer(); - shouldReturnForPlayer(p, e, () -> { - if (isShovel(p.getInventory().getItemInMainHand())) { - handleBlockBreakWithShovel(p, e); - } - }); - - } - - private void handleBlockBreakWithShovel(Player p, BlockBreakEvent e) { - getPlayer(p).getData().addStat("excavation.blocks.broken", 1); - getPlayer(p).getData().addStat("excavation.blocks.value", getValue(e.getBlock().getBlockData())); - Long cooldown = cooldowns.get(p); - if (cooldown != null && cooldown + getConfig().cooldownDelay > System.currentTimeMillis()) - return; - cooldowns.put(p, System.currentTimeMillis()); - double v = getValue(e.getBlock().getType()); - xp(p, e.getBlock().getLocation().clone().add(0.5, 0.5, 0.5), blockXP(e.getBlock(), v)); - } - - public double getValue(Material type) { - double value = super.getValue(type) * getConfig().valueXPMultiplier; - value += Math.min(getConfig().maxHardnessBonus, type.getHardness()); - value += Math.min(getConfig().maxBlastResistanceBonus, type.getBlastResistance()); - return value; - } - - - @Override - public void onTick() { - - } - - @Override - public boolean isEnabled() { - return getConfig().enabled; - } - - @NoArgsConstructor - protected static class Config { - boolean enabled = true; - boolean getXpForAttackingWithTools = true; - double maxHardnessBonus = 9; - double maxBlastResistanceBonus = 10; - double challengeExcavationReward = 1200; - double valueXPMultiplier = 0.825; - long cooldownDelay = 1250; - double axeDamageXPMultiplier = 6.5; - } -} +/*------------------------------------------------------------------------------ + - Adapt is a Skill/Integration plugin for Minecraft Bukkit Servers + - Copyright (c) 2022 Arcane Arts (Volmit Software) + - + - This program is free software: you can redistribute it and/or modify + - it under the terms of the GNU General Public License as published by + - the Free Software Foundation, either version 3 of the License, or + - (at your option) any later version. + - + - This program is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU General Public License for more details. + - + - You should have received a copy of the GNU General Public License + - along with this program. If not, see . + -----------------------------------------------------------------------------*/ + +package com.volmit.adapt.content.skill; + +import com.fren_gor.ultimateAdvancementAPI.advancement.display.AdvancementFrameType; +import com.volmit.adapt.api.advancement.AdaptAdvancement; +import com.volmit.adapt.api.advancement.AdvancementVisibility; +import com.volmit.adapt.api.skill.SimpleSkill; +import com.volmit.adapt.api.world.AdaptPlayer; +import com.volmit.adapt.api.world.AdaptStatTracker; +import com.volmit.adapt.content.adaptation.excavation.ExcavationDropToInventory; +import com.volmit.adapt.content.adaptation.excavation.ExcavationHaste; +import com.volmit.adapt.content.adaptation.excavation.ExcavationOmniTool; +import com.volmit.adapt.content.adaptation.excavation.ExcavationSpelunker; +import com.volmit.adapt.util.C; +import com.volmit.adapt.util.CustomModel; +import com.volmit.adapt.util.Localizer; +import lombok.NoArgsConstructor; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.inventory.ItemStack; + +import java.util.HashMap; +import java.util.Map; + +public class SkillExcavation extends SimpleSkill { + private final Map cooldowns; + + public SkillExcavation() { + super("excavation", Localizer.dLocalize("skill.excavation.icon")); + registerConfiguration(Config.class); + setDescription(Localizer.dLocalize("skill.excavation.description")); + setDisplayName(Localizer.dLocalize("skill.excavation.name")); + setColor(C.YELLOW); + setInterval(5953); + setIcon(Material.DIAMOND_SHOVEL); + cooldowns = new HashMap<>(); + registerAdaptation(new ExcavationHaste()); + registerAdaptation(new ExcavationSpelunker()); + registerAdaptation(new ExcavationOmniTool()); + registerAdaptation(new ExcavationDropToInventory()); + registerAdvancement(AdaptAdvancement.builder() + .icon(Material.WOODEN_SHOVEL).key("challenge_excavate_1k") + .title(Localizer.dLocalize("advancement.challenge_excavate_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_excavate_1k.description")) + .model(CustomModel.get(Material.WOODEN_SHOVEL, "advancement", "excavation", "challenge_excavate_1k")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() + .icon(Material.KNOWLEDGE_BOOK) + .key("challenge_excavate_5k") + .title(Localizer.dLocalize("advancement.challenge_excavate_5k.title")) + .description(Localizer.dLocalize("advancement.challenge_excavate_5k.description")) + .model(CustomModel.get(Material.KNOWLEDGE_BOOK, "advancement", "excavation", "challenge_excavate_5k")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() + .icon(Material.STONE_SHOVEL) + .key("challenge_excavate_50k") + .title(Localizer.dLocalize("advancement.challenge_excavate_50k.title")) + .description(Localizer.dLocalize("advancement.challenge_excavate_50k.description")) + .model(CustomModel.get(Material.STONE_SHOVEL, "advancement", "excavation", "challenge_excavate_50k")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() + .icon(Material.IRON_SHOVEL) + .key("challenge_excavate_500k") + .title(Localizer.dLocalize("advancement.challenge_excavate_500k.title")) + .description(Localizer.dLocalize("advancement.challenge_excavate_500k.description")) + .model(CustomModel.get(Material.IRON_SHOVEL, "advancement", "excavation", "challenge_excavate_500k")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() + .icon(Material.DIAMOND_SHOVEL) + .key("challenge_excavate_5m") + .title(Localizer.dLocalize("advancement.challenge_excavate_5m.title")) + .description(Localizer.dLocalize("advancement.challenge_excavate_5m.description")) + .model(CustomModel.get(Material.DIAMOND_SHOVEL, "advancement", "excavation", "challenge_excavate_5m")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED) + .build()) + .build()) + .build()) + .build()) + .build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_excavate_1k").goal(1000).stat("excavation.blocks.broken").reward(getConfig().challengeExcavationReward).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_excavate_5k").goal(5000).stat("excavation.blocks.broken").reward(getConfig().challengeExcavationReward).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_excavate_50k").goal(50000).stat("excavation.blocks.broken").reward(getConfig().challengeExcavationReward).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_enchant_500k").goal(500000).stat("excavation.blocks.broken").reward(getConfig().challengeExcavationReward).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_excavate_5m").goal(5000000).stat("excavation.blocks.broken").reward(getConfig().challengeExcavationReward).build()); + } + + + @EventHandler(priority = EventPriority.MONITOR) + public void on(EntityDamageByEntityEvent e) { + if (e.isCancelled()) { + return; + } + if (e.getDamager() instanceof Player p && checkValidEntity(e.getEntity().getType())) { + if (!getConfig().getXpForAttackingWithTools) { + return; + } + shouldReturnForPlayer(p, e, () -> handleEntityDamageByPlayer(p, e)); + } + } + + private void handleEntityDamageByPlayer(Player p, EntityDamageByEntityEvent e) { + AdaptPlayer a = getPlayer(p); + ItemStack hand = a.getPlayer().getInventory().getItemInMainHand(); + if (isShovel(hand)) { + Long cooldown = cooldowns.get(p); + if (cooldown != null && cooldown + getConfig().cooldownDelay > System.currentTimeMillis()) + return; + cooldowns.put(p, System.currentTimeMillis()); + getPlayer(p).getData().addStat("excavation.swings", 1); + getPlayer(p).getData().addStat("excavation.damage", e.getDamage()); + xp(a.getPlayer(), e.getEntity().getLocation(), getConfig().axeDamageXPMultiplier * e.getDamage()); + } + } + + @EventHandler(priority = EventPriority.MONITOR) + public void on(BlockBreakEvent e) { + if (e.isCancelled()) { + return; + } + Player p = e.getPlayer(); + shouldReturnForPlayer(p, e, () -> { + if (isShovel(p.getInventory().getItemInMainHand())) { + handleBlockBreakWithShovel(p, e); + } + }); + + } + + private void handleBlockBreakWithShovel(Player p, BlockBreakEvent e) { + getPlayer(p).getData().addStat("excavation.blocks.broken", 1); + getPlayer(p).getData().addStat("excavation.blocks.value", getValue(e.getBlock().getBlockData())); + Long cooldown = cooldowns.get(p); + if (cooldown != null && cooldown + getConfig().cooldownDelay > System.currentTimeMillis()) + return; + cooldowns.put(p, System.currentTimeMillis()); + double v = getValue(e.getBlock().getType()); + xp(p, e.getBlock().getLocation().clone().add(0.5, 0.5, 0.5), blockXP(e.getBlock(), v)); + } + + public double getValue(Material type) { + double value = super.getValue(type) * getConfig().valueXPMultiplier; + value += Math.min(getConfig().maxHardnessBonus, type.getHardness()); + value += Math.min(getConfig().maxBlastResistanceBonus, type.getBlastResistance()); + return value; + } + + + @Override + public void onTick() { + + } + + @Override + public boolean isEnabled() { + return getConfig().enabled; + } + + @NoArgsConstructor + protected static class Config { + boolean enabled = true; + boolean getXpForAttackingWithTools = true; + double maxHardnessBonus = 9; + double maxBlastResistanceBonus = 10; + double challengeExcavationReward = 1200; + double valueXPMultiplier = 0.825; + long cooldownDelay = 1250; + double axeDamageXPMultiplier = 6.5; + } +} diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java b/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java index 6efabb712..3cc8bc8fa 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java @@ -50,12 +50,12 @@ public class SkillHerbalism extends SimpleSkill { private final Map cooldown = new HashMap<>(); public SkillHerbalism() { - super("herbalism", Localizer.dLocalize("skill", "herbalism", "icon")); + super("herbalism", Localizer.dLocalize("skill.herbalism.icon")); registerConfiguration(Config.class); setColor(C.GREEN); setInterval(3990); - setDescription(Localizer.dLocalize("skill", "herbalism", "description")); - setDisplayName(Localizer.dLocalize("skill", "herbalism", "name")); + setDescription(Localizer.dLocalize("skill.herbalism.description")); + setDisplayName(Localizer.dLocalize("skill.herbalism.name")); setIcon(Material.WHEAT); registerAdaptation(new HerbalismGrowthAura()); registerAdaptation(new HerbalismReplant()); @@ -70,23 +70,23 @@ public SkillHerbalism() { registerAdvancement(AdaptAdvancement.builder() .icon(Material.COOKED_BEEF) .key("challenge_eat_100") - .title(Localizer.dLocalize("advancement", "challenge_eat_100", "title")) - .description(Localizer.dLocalize("advancement", "challenge_eat_100", "description")) + .title(Localizer.dLocalize("advancement.challenge_eat_100.title")) + .description(Localizer.dLocalize("advancement.challenge_eat_100.description")) .model(CustomModel.get(Material.COOKED_BEEF, "advancement", "herbalism", "challenge_eat_100")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) .child(AdaptAdvancement.builder() .icon(Material.COOKED_BEEF) .key("challenge_eat_1000") - .title(Localizer.dLocalize("advancement", "challenge_eat_1000", "title")) - .description(Localizer.dLocalize("advancement", "challenge_eat_1000", "description")) + .title(Localizer.dLocalize("advancement.challenge_eat_1000.title")) + .description(Localizer.dLocalize("advancement.challenge_eat_1000.description")) .model(CustomModel.get(Material.COOKED_BEEF, "advancement", "herbalism", "challenge_eat_1000")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED).child(AdaptAdvancement.builder() .icon(Material.COOKED_BEEF) .key("challenge_eat_10000") - .title(Localizer.dLocalize("advancement", "challenge_eat_10000", "title")) - .description(Localizer.dLocalize("advancement", "challenge_eat_10000", "description")) + .title(Localizer.dLocalize("advancement.challenge_eat_10000.title")) + .description(Localizer.dLocalize("advancement.challenge_eat_10000.description")) .model(CustomModel.get(Material.COOKED_BEEF, "advancement", "herbalism", "challenge_eat_10000")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) @@ -101,16 +101,16 @@ public SkillHerbalism() { registerAdvancement(AdaptAdvancement.builder() .icon(Material.COOKED_BEEF) .key("challenge_harvest_100") - .title(Localizer.dLocalize("advancement", "challenge_harvest_100", "title")) - .description(Localizer.dLocalize("advancement", "challenge_harvest_100", "description")) + .title(Localizer.dLocalize("advancement.challenge_harvest_100.title")) + .description(Localizer.dLocalize("advancement.challenge_harvest_100.description")) .model(CustomModel.get(Material.COOKED_BEEF, "advancement", "herbalism", "harvest_100")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) .child(AdaptAdvancement.builder() .icon(Material.COOKED_BEEF) .key("challenge_harvest_1000") - .title(Localizer.dLocalize("advancement", "challenge_harvest_1000", "title")) - .description(Localizer.dLocalize("advancement", "challenge_harvest_1000", "description")) + .title(Localizer.dLocalize("advancement.challenge_harvest_1000.title")) + .description(Localizer.dLocalize("advancement.challenge_harvest_1000.description")) .model(CustomModel.get(Material.COOKED_BEEF, "advancement", "herbalism", "harvest_1000")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java b/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java index cf152f2b5..7a65fdf99 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java @@ -1,262 +1,262 @@ -/*------------------------------------------------------------------------------ - - Adapt is a Skill/Integration plugin for Minecraft Bukkit Servers - - Copyright (c) 2022 Arcane Arts (Volmit Software) - - - - This program is free software: you can redistribute it and/or modify - - it under the terms of the GNU General Public License as published by - - the Free Software Foundation, either version 3 of the License, or - - (at your option) any later version. - - - - This program is distributed in the hope that it will be useful, - - but WITHOUT ANY WARRANTY; without even the implied warranty of - - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - - GNU General Public License for more details. - - - - You should have received a copy of the GNU General Public License - - along with this program. If not, see . - -----------------------------------------------------------------------------*/ - -package com.volmit.adapt.content.skill; - -import com.fren_gor.ultimateAdvancementAPI.advancement.display.AdvancementFrameType; -import com.volmit.adapt.api.advancement.AdaptAdvancement; -import com.volmit.adapt.api.advancement.AdvancementVisibility; -import com.volmit.adapt.api.skill.SimpleSkill; -import com.volmit.adapt.api.version.Version; -import com.volmit.adapt.api.world.AdaptStatTracker; -import com.volmit.adapt.content.adaptation.hunter.*; -import com.volmit.adapt.util.C; -import com.volmit.adapt.util.CustomModel; -import com.volmit.adapt.util.Localizer; -import com.volmit.adapt.util.reflect.registries.Attributes; -import lombok.NoArgsConstructor; -import org.bukkit.Material; -import org.bukkit.entity.Entity; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.block.Action; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.entity.CreatureSpawnEvent; -import org.bukkit.event.entity.EntityDeathEvent; -import org.bukkit.event.player.PlayerInteractEvent; - -import java.util.HashMap; -import java.util.Map; - -public class SkillHunter extends SimpleSkill { - private final Map cooldowns; - - public SkillHunter() { - super("hunter", Localizer.dLocalize("skill", "hunter", "icon")); - registerConfiguration(Config.class); - setColor(C.RED); - setDescription(Localizer.dLocalize("skill", "hunter", "description")); - setDisplayName(Localizer.dLocalize("skill", "hunter", "name")); - setInterval(4150); - setIcon(Material.BONE); - cooldowns = new HashMap<>(); - registerAdaptation(new HunterAdrenaline()); - registerAdaptation(new HunterRegen()); - registerAdaptation(new HunterInvis()); - registerAdaptation(new HunterJumpBoost()); - registerAdaptation(new HunterLuck()); - registerAdaptation(new HunterSpeed()); - registerAdaptation(new HunterStrength()); - registerAdaptation(new HunterResistance()); - registerAdaptation(new HunterDropToInventory()); - registerAdvancement(AdaptAdvancement.builder() - .icon(Material.TURTLE_EGG) - .key("horrible_person") - .title(Localizer.dLocalize("advancement", "horrible_person", "title")) - .description(Localizer.dLocalize("advancement", "horrible_person", "description")) - .model(CustomModel.get(Material.TURTLE_EGG, "advancement", "hunter", "horrible_person")) - .frame(AdvancementFrameType.GOAL) - .visibility(AdvancementVisibility.HIDDEN) - .build() - ); - registerAdvancement(AdaptAdvancement.builder() - .icon(Material.TURTLE_EGG) - .key("challenge_turtle_egg_smasher") - .title(Localizer.dLocalize("advancement", "challenge_turtle_egg_smasher", "title")) - .description(Localizer.dLocalize("advancement", "challenge_turtle_egg_smasher", "description")) - .model(CustomModel.get(Material.TURTLE_EGG, "advancement", "hunter", "challenge_turtle_egg_smasher")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED) - .child(AdaptAdvancement.builder() - .icon(Material.TURTLE_EGG) - .key("challenge_turtle_egg_annihilator") - .title(Localizer.dLocalize("advancement", "challenge_turtle_egg_annihilator", "title")) - .description(Localizer.dLocalize("advancement", "challenge_turtle_egg_annihilator", "description")) - .model(CustomModel.get(Material.TURTLE_EGG, "advancement", "hunter", "challenge_turtle_egg_annihilator")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED) - .build()) - .build()); - registerAdvancement(AdaptAdvancement.builder() - .icon(Material.BONE) - .key("challenge_novice_hunter") - .title(Localizer.dLocalize("advancement", "challenge_novice_hunter", "title")) - .description(Localizer.dLocalize("advancement", "challenge_novice_hunter", "description")) - .model(CustomModel.get(Material.BONE, "advancement", "hunter", "challenge_novice_hunter")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED) - .child(AdaptAdvancement.builder() - .icon(Material.IRON_SWORD) - .key("challenge_intermediate_hunter") - .title(Localizer.dLocalize("advancement", "challenge_intermediate_hunter", "title")) - .description(Localizer.dLocalize("advancement", "challenge_intermediate_hunter", "description")) - .model(CustomModel.get(Material.IRON_SWORD, "advancement", "hunter", "challenge_intermediate_hunter")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED) - .child(AdaptAdvancement.builder() - .icon(Material.DIAMOND_SWORD) - .key("challenge_advanced_hunter") - .title(Localizer.dLocalize("advancement", "challenge_advanced_hunter", "title")) - .description(Localizer.dLocalize("advancement", "challenge_advanced_hunter", "description")) - .model(CustomModel.get(Material.DIAMOND_SWORD, "advancement", "hunter", "challenge_advanced_hunter")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED) - .build()) - .build()) - .build()); - registerAdvancement(AdaptAdvancement.builder() - .icon(Material.CREEPER_HEAD) - .key("challenge_creeper_conqueror") - .title(Localizer.dLocalize("advancement", "challenge_creeper_conqueror", "title")) - .description(Localizer.dLocalize("advancement", "challenge_creeper_conqueror", "description")) - .model(CustomModel.get(Material.CREEPER_HEAD, "advancement", "hunter", "challenge_creeper_conqueror")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED) - .child(AdaptAdvancement.builder() - .icon(Material.TNT) - .key("challenge_creeper_annihilator") - .title(Localizer.dLocalize("advancement", "challenge_creeper_annihilator", "title")) - .description(Localizer.dLocalize("advancement", "challenge_creeper_annihilator", "description")) - .model(CustomModel.get(Material.TNT, "advancement", "hunter", "challenge_creeper_annihilator")) - .frame(AdvancementFrameType.CHALLENGE) - .visibility(AdvancementVisibility.PARENT_GRANTED) - .build()) - .build()); - - registerStatTracker(AdaptStatTracker.builder().advancement("horrible_person").goal(1).stat("killed.turtleeggs").reward(getConfig().turtleEggKillXP).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_turtle_egg_smasher").goal(100).stat("killed.turtleeggs").reward(getConfig().turtleEggKillXP*10).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_turtle_egg_annihilator").goal(1000).stat("killed.turtleeggs").reward(getConfig().turtleEggKillXP*10).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_novice_hunter").goal(100).stat("killed.monsters").reward(getConfig().turtleEggKillXP*3).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_intermediate_hunter").goal(1000).stat("killed.monsters").reward(getConfig().turtleEggKillXP*3).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_advanced_hunter").goal(10000).stat("killed.monsters").reward(getConfig().turtleEggKillXP*3).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_creeper_conqueror").goal(100).stat("killed.creepers").reward(getConfig().turtleEggKillXP*3).build()); - registerStatTracker(AdaptStatTracker.builder().advancement("challenge_creeper_annihilator").goal(1000).stat("killed.creepers").reward(getConfig().turtleEggKillXP*3).build()); - } - - private void handleCooldownAndXp(Player p, double xpAmount) { - Long cooldown = cooldowns.get(p); - if (cooldown != null && cooldown + getConfig().cooldownDelay > System.currentTimeMillis()) - return; - cooldowns.put(p, System.currentTimeMillis()); - xp(p, xpAmount); - } - - @EventHandler(priority = EventPriority.MONITOR) - public void on(BlockBreakEvent e) { - if (e.isCancelled()) { - return; - } - Player p = e.getPlayer(); - shouldReturnForPlayer(e.getPlayer(), e, () -> { - if (e.getBlock().getType().equals(Material.TURTLE_EGG)) { - handleCooldownAndXp(p, getConfig().turtleEggKillXP); - getPlayer(p).getData().addStat("killed.turtleeggs", 1); - } - }); - } - - @EventHandler(priority = EventPriority.MONITOR) - public void on(PlayerInteractEvent e) { - if (e.isCancelled()) { - return; - } - Player p = e.getPlayer(); - shouldReturnForPlayer(e.getPlayer(), e, () -> { - if (e.getAction().equals(Action.PHYSICAL) && e.getClickedBlock() != null && e.getClickedBlock().getType().equals(Material.TURTLE_EGG)) { - handleCooldownAndXp(p, getConfig().turtleEggKillXP); - getPlayer(p).getData().addStat("killed.turtleeggs", 1); - } - }); - } - - @EventHandler(priority = EventPriority.MONITOR) - public void on(EntityDeathEvent e) { - if (e.getEntity().getKiller() == null) { - return; - } - Player p = e.getEntity().getKiller(); - - if (!getConfig().getXpForAttackingWithTools) { - return; - } - - shouldReturnForPlayer(p, () -> { - if (e.getEntity().getType().equals(EntityType.CREEPER)) { - double cmult = getConfig().creeperKillMultiplier; - var attribute = Version.get().getAttribute(e.getEntity(), Attributes.GENERIC_MAX_HEALTH); - double xpAmount = (attribute == null ? 1 : attribute.getValue()) * getConfig().killMaxHealthXPMultiplier * cmult; - if (e.getEntity().getPortalCooldown() > 0) { - xpAmount *= getConfig().spawnerMobReductionXpMultiplier; - } - getPlayer(p).getData().addStat("killed.kills", 1); - handleCooldownAndXp(p,xpAmount); - } else { - handleEntityKill(p, e.getEntity()); - } - }); - } - - - @EventHandler(priority = EventPriority.MONITOR) - public void on(CreatureSpawnEvent e) { - if (!isEnabled() || e.isCancelled()) { - return; - } - if (e.getSpawnReason().equals(CreatureSpawnEvent.SpawnReason.SPAWNER)) { - Entity ent = e.getEntity(); - ent.setPortalCooldown(630726000); - } - } - - private void handleEntityKill(Player p, Entity entity) { - if (entity instanceof LivingEntity livingEntity) { - var attribute = Version.get().getAttribute(livingEntity, Attributes.GENERIC_MAX_HEALTH); - double xpAmount = (attribute == null ? 1 : attribute.getValue()) * getConfig().killMaxHealthXPMultiplier; - if (entity.getPortalCooldown() > 0) { - xpAmount *= getConfig().spawnerMobReductionXpMultiplier; - } - getPlayer(p).getData().addStat("killed.kills", 1); - handleCooldownAndXp(p, xpAmount); - } - } - - - @Override - public void onTick() { - - } - - @Override - public boolean isEnabled() { - return getConfig().enabled; - } - - @NoArgsConstructor - protected static class Config { - boolean enabled = true; - boolean getXpForAttackingWithTools = true; - double turtleEggKillXP = 100; - double creeperKillMultiplier = 2; - double killMaxHealthXPMultiplier = 4; - long cooldownDelay = 1000; - double spawnerMobReductionXpMultiplier = 0.5; - } -} +/*------------------------------------------------------------------------------ + - Adapt is a Skill/Integration plugin for Minecraft Bukkit Servers + - Copyright (c) 2022 Arcane Arts (Volmit Software) + - + - This program is free software: you can redistribute it and/or modify + - it under the terms of the GNU General Public License as published by + - the Free Software Foundation, either version 3 of the License, or + - (at your option) any later version. + - + - This program is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU General Public License for more details. + - + - You should have received a copy of the GNU General Public License + - along with this program. If not, see . + -----------------------------------------------------------------------------*/ + +package com.volmit.adapt.content.skill; + +import com.fren_gor.ultimateAdvancementAPI.advancement.display.AdvancementFrameType; +import com.volmit.adapt.api.advancement.AdaptAdvancement; +import com.volmit.adapt.api.advancement.AdvancementVisibility; +import com.volmit.adapt.api.skill.SimpleSkill; +import com.volmit.adapt.api.version.Version; +import com.volmit.adapt.api.world.AdaptStatTracker; +import com.volmit.adapt.content.adaptation.hunter.*; +import com.volmit.adapt.util.C; +import com.volmit.adapt.util.CustomModel; +import com.volmit.adapt.util.Localizer; +import com.volmit.adapt.util.reflect.registries.Attributes; +import lombok.NoArgsConstructor; +import org.bukkit.Material; +import org.bukkit.entity.Entity; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.block.Action; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.entity.CreatureSpawnEvent; +import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.event.player.PlayerInteractEvent; + +import java.util.HashMap; +import java.util.Map; + +public class SkillHunter extends SimpleSkill { + private final Map cooldowns; + + public SkillHunter() { + super("hunter", Localizer.dLocalize("skill.hunter.icon")); + registerConfiguration(Config.class); + setColor(C.RED); + setDescription(Localizer.dLocalize("skill.hunter.description")); + setDisplayName(Localizer.dLocalize("skill.hunter.name")); + setInterval(4150); + setIcon(Material.BONE); + cooldowns = new HashMap<>(); + registerAdaptation(new HunterAdrenaline()); + registerAdaptation(new HunterRegen()); + registerAdaptation(new HunterInvis()); + registerAdaptation(new HunterJumpBoost()); + registerAdaptation(new HunterLuck()); + registerAdaptation(new HunterSpeed()); + registerAdaptation(new HunterStrength()); + registerAdaptation(new HunterResistance()); + registerAdaptation(new HunterDropToInventory()); + registerAdvancement(AdaptAdvancement.builder() + .icon(Material.TURTLE_EGG) + .key("horrible_person") + .title(Localizer.dLocalize("advancement.horrible_person.title")) + .description(Localizer.dLocalize("advancement.horrible_person.description")) + .model(CustomModel.get(Material.TURTLE_EGG, "advancement", "hunter", "horrible_person")) + .frame(AdvancementFrameType.GOAL) + .visibility(AdvancementVisibility.HIDDEN) + .build() + ); + registerAdvancement(AdaptAdvancement.builder() + .icon(Material.TURTLE_EGG) + .key("challenge_turtle_egg_smasher") + .title(Localizer.dLocalize("advancement.challenge_turtle_egg_smasher.title")) + .description(Localizer.dLocalize("advancement.challenge_turtle_egg_smasher.description")) + .model(CustomModel.get(Material.TURTLE_EGG, "advancement", "hunter", "challenge_turtle_egg_smasher")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED) + .child(AdaptAdvancement.builder() + .icon(Material.TURTLE_EGG) + .key("challenge_turtle_egg_annihilator") + .title(Localizer.dLocalize("advancement.challenge_turtle_egg_annihilator.title")) + .description(Localizer.dLocalize("advancement.challenge_turtle_egg_annihilator.description")) + .model(CustomModel.get(Material.TURTLE_EGG, "advancement", "hunter", "challenge_turtle_egg_annihilator")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED) + .build()) + .build()); + registerAdvancement(AdaptAdvancement.builder() + .icon(Material.BONE) + .key("challenge_novice_hunter") + .title(Localizer.dLocalize("advancement.challenge_novice_hunter.title")) + .description(Localizer.dLocalize("advancement.challenge_novice_hunter.description")) + .model(CustomModel.get(Material.BONE, "advancement", "hunter", "challenge_novice_hunter")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED) + .child(AdaptAdvancement.builder() + .icon(Material.IRON_SWORD) + .key("challenge_intermediate_hunter") + .title(Localizer.dLocalize("advancement.challenge_intermediate_hunter.title")) + .description(Localizer.dLocalize("advancement.challenge_intermediate_hunter.description")) + .model(CustomModel.get(Material.IRON_SWORD, "advancement", "hunter", "challenge_intermediate_hunter")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED) + .child(AdaptAdvancement.builder() + .icon(Material.DIAMOND_SWORD) + .key("challenge_advanced_hunter") + .title(Localizer.dLocalize("advancement.challenge_advanced_hunter.title")) + .description(Localizer.dLocalize("advancement.challenge_advanced_hunter.description")) + .model(CustomModel.get(Material.DIAMOND_SWORD, "advancement", "hunter", "challenge_advanced_hunter")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED) + .build()) + .build()) + .build()); + registerAdvancement(AdaptAdvancement.builder() + .icon(Material.CREEPER_HEAD) + .key("challenge_creeper_conqueror") + .title(Localizer.dLocalize("advancement.challenge_creeper_conqueror.title")) + .description(Localizer.dLocalize("advancement.challenge_creeper_conqueror.description")) + .model(CustomModel.get(Material.CREEPER_HEAD, "advancement", "hunter", "challenge_creeper_conqueror")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED) + .child(AdaptAdvancement.builder() + .icon(Material.TNT) + .key("challenge_creeper_annihilator") + .title(Localizer.dLocalize("advancement.challenge_creeper_annihilator.title")) + .description(Localizer.dLocalize("advancement.challenge_creeper_annihilator.description")) + .model(CustomModel.get(Material.TNT, "advancement", "hunter", "challenge_creeper_annihilator")) + .frame(AdvancementFrameType.CHALLENGE) + .visibility(AdvancementVisibility.PARENT_GRANTED) + .build()) + .build()); + + registerStatTracker(AdaptStatTracker.builder().advancement("horrible_person").goal(1).stat("killed.turtleeggs").reward(getConfig().turtleEggKillXP).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_turtle_egg_smasher").goal(100).stat("killed.turtleeggs").reward(getConfig().turtleEggKillXP*10).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_turtle_egg_annihilator").goal(1000).stat("killed.turtleeggs").reward(getConfig().turtleEggKillXP*10).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_novice_hunter").goal(100).stat("killed.monsters").reward(getConfig().turtleEggKillXP*3).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_intermediate_hunter").goal(1000).stat("killed.monsters").reward(getConfig().turtleEggKillXP*3).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_advanced_hunter").goal(10000).stat("killed.monsters").reward(getConfig().turtleEggKillXP*3).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_creeper_conqueror").goal(100).stat("killed.creepers").reward(getConfig().turtleEggKillXP*3).build()); + registerStatTracker(AdaptStatTracker.builder().advancement("challenge_creeper_annihilator").goal(1000).stat("killed.creepers").reward(getConfig().turtleEggKillXP*3).build()); + } + + private void handleCooldownAndXp(Player p, double xpAmount) { + Long cooldown = cooldowns.get(p); + if (cooldown != null && cooldown + getConfig().cooldownDelay > System.currentTimeMillis()) + return; + cooldowns.put(p, System.currentTimeMillis()); + xp(p, xpAmount); + } + + @EventHandler(priority = EventPriority.MONITOR) + public void on(BlockBreakEvent e) { + if (e.isCancelled()) { + return; + } + Player p = e.getPlayer(); + shouldReturnForPlayer(e.getPlayer(), e, () -> { + if (e.getBlock().getType().equals(Material.TURTLE_EGG)) { + handleCooldownAndXp(p, getConfig().turtleEggKillXP); + getPlayer(p).getData().addStat("killed.turtleeggs", 1); + } + }); + } + + @EventHandler(priority = EventPriority.MONITOR) + public void on(PlayerInteractEvent e) { + if (e.isCancelled()) { + return; + } + Player p = e.getPlayer(); + shouldReturnForPlayer(e.getPlayer(), e, () -> { + if (e.getAction().equals(Action.PHYSICAL) && e.getClickedBlock() != null && e.getClickedBlock().getType().equals(Material.TURTLE_EGG)) { + handleCooldownAndXp(p, getConfig().turtleEggKillXP); + getPlayer(p).getData().addStat("killed.turtleeggs", 1); + } + }); + } + + @EventHandler(priority = EventPriority.MONITOR) + public void on(EntityDeathEvent e) { + if (e.getEntity().getKiller() == null) { + return; + } + Player p = e.getEntity().getKiller(); + + if (!getConfig().getXpForAttackingWithTools) { + return; + } + + shouldReturnForPlayer(p, () -> { + if (e.getEntity().getType().equals(EntityType.CREEPER)) { + double cmult = getConfig().creeperKillMultiplier; + var attribute = Version.get().getAttribute(e.getEntity(), Attributes.GENERIC_MAX_HEALTH); + double xpAmount = (attribute == null ? 1 : attribute.getValue()) * getConfig().killMaxHealthXPMultiplier * cmult; + if (e.getEntity().getPortalCooldown() > 0) { + xpAmount *= getConfig().spawnerMobReductionXpMultiplier; + } + getPlayer(p).getData().addStat("killed.kills", 1); + handleCooldownAndXp(p,xpAmount); + } else { + handleEntityKill(p, e.getEntity()); + } + }); + } + + + @EventHandler(priority = EventPriority.MONITOR) + public void on(CreatureSpawnEvent e) { + if (!isEnabled() || e.isCancelled()) { + return; + } + if (e.getSpawnReason().equals(CreatureSpawnEvent.SpawnReason.SPAWNER)) { + Entity ent = e.getEntity(); + ent.setPortalCooldown(630726000); + } + } + + private void handleEntityKill(Player p, Entity entity) { + if (entity instanceof LivingEntity livingEntity) { + var attribute = Version.get().getAttribute(livingEntity, Attributes.GENERIC_MAX_HEALTH); + double xpAmount = (attribute == null ? 1 : attribute.getValue()) * getConfig().killMaxHealthXPMultiplier; + if (entity.getPortalCooldown() > 0) { + xpAmount *= getConfig().spawnerMobReductionXpMultiplier; + } + getPlayer(p).getData().addStat("killed.kills", 1); + handleCooldownAndXp(p, xpAmount); + } + } + + + @Override + public void onTick() { + + } + + @Override + public boolean isEnabled() { + return getConfig().enabled; + } + + @NoArgsConstructor + protected static class Config { + boolean enabled = true; + boolean getXpForAttackingWithTools = true; + double turtleEggKillXP = 100; + double creeperKillMultiplier = 2; + double killMaxHealthXPMultiplier = 4; + long cooldownDelay = 1000; + double spawnerMobReductionXpMultiplier = 0.5; + } +} diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillNether.java b/src/main/java/com/volmit/adapt/content/skill/SkillNether.java index 090495dec..7b4bd85ee 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillNether.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillNether.java @@ -41,10 +41,10 @@ public class SkillNether extends SimpleSkill { private int witherRoseCooldown; public SkillNether() { - super("nether", Localizer.dLocalize("skill", "nether", "icon")); + super("nether", Localizer.dLocalize("skill.nether.icon")); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("skill", "nether", "description")); - setDisplayName(Localizer.dLocalize("skill", "nether", "name")); + setDescription(Localizer.dLocalize("skill.nether.description")); + setDisplayName(Localizer.dLocalize("skill.nether.name")); setInterval(7425); setColor(C.DARK_GRAY); setIcon(Material.NETHER_STAR); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java b/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java index b1c6999ab..4029eb7c0 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java @@ -47,10 +47,10 @@ public class SkillPickaxes extends SimpleSkill { private final Map cooldowns; public SkillPickaxes() { - super("pickaxe", Localizer.dLocalize("skill", "pickaxe", "icon")); + super("pickaxe", Localizer.dLocalize("skill.pickaxe.icon")); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("skill", "pickaxe", "description")); - setDisplayName(Localizer.dLocalize("skill", "pickaxe", "name")); + setDescription(Localizer.dLocalize("skill.pickaxe.description")); + setDisplayName(Localizer.dLocalize("skill.pickaxe.name")); setColor(C.GOLD); setInterval(2750); setIcon(Material.NETHERITE_PICKAXE); @@ -63,40 +63,40 @@ public SkillPickaxes() { registerAdvancement(AdaptAdvancement.builder() .icon(Material.WOODEN_PICKAXE) .key("challenge_pickaxe_1k") - .title(Localizer.dLocalize("advancement", "challenge_pickaxe_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_pickaxe_1k", "description")) + .title(Localizer.dLocalize("advancement.challenge_pickaxe_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_pickaxe_1k.description")) .model(CustomModel.get(Material.WOODEN_PICKAXE, "advancement", "pickaxe", "challenge_pickaxe_1k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) .child(AdaptAdvancement.builder() .icon(Material.STONE_PICKAXE) .key("challenge_pickaxe_5k") - .title(Localizer.dLocalize("advancement", "challenge_pickaxe_5k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_pickaxe_5k", "description")) + .title(Localizer.dLocalize("advancement.challenge_pickaxe_5k.title")) + .description(Localizer.dLocalize("advancement.challenge_pickaxe_5k.description")) .model(CustomModel.get(Material.STONE_PICKAXE, "advancement", "pickaxe", "challenge_pickaxe_5k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) .child(AdaptAdvancement.builder() .icon(Material.IRON_PICKAXE) .key("challenge_pickaxe_50k") - .title(Localizer.dLocalize("advancement", "challenge_pickaxe_50k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_pickaxe_50k", "description")) + .title(Localizer.dLocalize("advancement.challenge_pickaxe_50k.title")) + .description(Localizer.dLocalize("advancement.challenge_pickaxe_50k.description")) .model(CustomModel.get(Material.IRON_PICKAXE, "advancement", "pickaxe", "challenge_pickaxe_50k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) .child(AdaptAdvancement.builder() .icon(Material.DIAMOND_PICKAXE) .key("challenge_pickaxe_500k") - .title(Localizer.dLocalize("advancement", "challenge_pickaxe_500k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_pickaxe_500k", "description")) + .title(Localizer.dLocalize("advancement.challenge_pickaxe_500k.title")) + .description(Localizer.dLocalize("advancement.challenge_pickaxe_500k.description")) .model(CustomModel.get(Material.DIAMOND_PICKAXE, "advancement", "pickaxe", "challenge_pickaxe_500k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) .child(AdaptAdvancement.builder() .icon(Material.NETHERITE_PICKAXE) .key("challenge_pickaxe_5m") - .title(Localizer.dLocalize("advancement", "challenge_pickaxe_5m", "title")) - .description(Localizer.dLocalize("advancement", "challenge_pickaxe_5m", "description")) + .title(Localizer.dLocalize("advancement.challenge_pickaxe_5m.title")) + .description(Localizer.dLocalize("advancement.challenge_pickaxe_5m.description")) .model(CustomModel.get(Material.NETHERITE_PICKAXE, "advancement", "pickaxe", "challenge_pickaxe_5m")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java b/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java index 94b0d74f9..7061bcf53 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java @@ -41,10 +41,10 @@ public class SkillRanged extends SimpleSkill { private final Map cooldowns; public SkillRanged() { - super("ranged", Localizer.dLocalize("skill", "ranged", "icon")); + super("ranged", Localizer.dLocalize("skill.ranged.icon")); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("skill", "ranged", "description")); - setDisplayName(Localizer.dLocalize("skill", "ranged", "name")); + setDescription(Localizer.dLocalize("skill.ranged.description")); + setDisplayName(Localizer.dLocalize("skill.ranged.name")); setColor(C.DARK_GREEN); setInterval(3044); registerAdaptation(new RangedForce()); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillRift.java b/src/main/java/com/volmit/adapt/content/skill/SkillRift.java index 772199032..5be366bff 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillRift.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillRift.java @@ -42,10 +42,10 @@ public class SkillRift extends SimpleSkill { private final KMap lasttp; public SkillRift() { - super("rift", Localizer.dLocalize("skill", "rift", "icon")); + super("rift", Localizer.dLocalize("skill.rift.icon")); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("skill", "rift", "description")); - setDisplayName(Localizer.dLocalize("skill", "rift", "name")); + setDescription(Localizer.dLocalize("skill.rift.description")); + setDisplayName(Localizer.dLocalize("skill.rift.name")); setColor(C.DARK_PURPLE); setInterval(1154); setIcon(Material.ENDER_EYE); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java b/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java index 70c195e6a..c1e308a8a 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java @@ -47,11 +47,11 @@ public class SkillSeaborne extends SimpleSkill { private final Map cooldowns; public SkillSeaborne() { - super("seaborne", Localizer.dLocalize("skill", "seaborne", "icon")); + super("seaborne", Localizer.dLocalize("skill.seaborne.icon")); registerConfiguration(Config.class); setColor(C.BLUE); - setDescription(Localizer.dLocalize("skill", "seaborne", "description")); - setDisplayName(Localizer.dLocalize("skill", "seaborne", "name")); + setDescription(Localizer.dLocalize("skill.seaborne.description")); + setDisplayName(Localizer.dLocalize("skill.seaborne.name")); setInterval(2120); setIcon(Material.TRIDENT); registerAdaptation(new SeaborneOxygen()); @@ -62,8 +62,8 @@ public SkillSeaborne() { registerAdvancement(AdaptAdvancement.builder() .icon(Material.TURTLE_HELMET) .key("challenge_swim_1nm") - .title(Localizer.dLocalize("advancement", "challenge_swim_1nm", "title")) - .description(Localizer.dLocalize("advancement", "challenge_swim_1nm", "description")) + .title(Localizer.dLocalize("advancement.challenge_swim_1nm.title")) + .description(Localizer.dLocalize("advancement.challenge_swim_1nm.description")) .model(CustomModel.get(Material.TURTLE_HELMET, "advancement", "seaborne", "challenge_swim_1nm")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java b/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java index d7ba6474e..70d631e93 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java @@ -40,14 +40,14 @@ public class SkillStealth extends SimpleSkill { private final Map cooldowns; public SkillStealth() { - super("stealth", Localizer.dLocalize("skill", "stealth", "icon")); + super("stealth", Localizer.dLocalize("skill.stealth.icon")); registerConfiguration(Config.class); setColor(C.DARK_GRAY); setInterval(1412); setIcon(Material.WITHER_ROSE); cooldowns = new HashMap<>(); - setDescription(Localizer.dLocalize("skill", "stealth", "description")); - setDisplayName(Localizer.dLocalize("skill", "stealth", "name")); + setDescription(Localizer.dLocalize("skill.stealth.description")); + setDisplayName(Localizer.dLocalize("skill.stealth.name")); registerAdaptation(new StealthSpeed()); registerAdaptation(new StealthSnatch()); registerAdaptation(new StealthGhostArmor()); @@ -56,8 +56,8 @@ public SkillStealth() { registerAdvancement(AdaptAdvancement.builder() .icon(Material.LEATHER_LEGGINGS) .key("challenge_sneak_1k") - .title(Localizer.dLocalize("advancement", "challenge_sneak_1k", "title")) - .description(Localizer.dLocalize("advancement", "challenge_sneak_1k", "description")) + .title(Localizer.dLocalize("advancement.challenge_sneak_1k.title")) + .description(Localizer.dLocalize("advancement.challenge_sneak_1k.description")) .model(CustomModel.get(Material.LEATHER_LEGGINGS, "advancement", "stealth", "challenge_sneak_1k")) .frame(AdvancementFrameType.CHALLENGE) .visibility(AdvancementVisibility.PARENT_GRANTED) diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java b/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java index 7cef64d84..0b12f2fb9 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java @@ -40,11 +40,11 @@ public class SkillSwords extends SimpleSkill { private final Map cooldowns; public SkillSwords() { - super("swords", Localizer.dLocalize("skill", "swords", "icon")); + super("swords", Localizer.dLocalize("skill.swords.icon")); registerConfiguration(Config.class); setColor(C.YELLOW); - setDescription(Localizer.dLocalize("skill", "swords", "description")); - setDisplayName(Localizer.dLocalize("skill", "swords", "name")); + setDescription(Localizer.dLocalize("skill.swords.description")); + setDisplayName(Localizer.dLocalize("skill.swords.name")); setInterval(2150); setIcon(Material.DIAMOND_SWORD); cooldowns = new HashMap<>(); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillTaming.java b/src/main/java/com/volmit/adapt/content/skill/SkillTaming.java index ba36b1dac..a949d5a9c 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillTaming.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillTaming.java @@ -41,10 +41,10 @@ public class SkillTaming extends SimpleSkill { private final Map cooldowns; public SkillTaming() { - super("taming", Localizer.dLocalize("skill", "taming", "icon")); + super("taming", Localizer.dLocalize("skill.taming.icon")); registerConfiguration(Config.class); - setDescription(Localizer.dLocalize("skill", "taming", "description")); - setDisplayName(Localizer.dLocalize("skill", "taming", "name")); + setDescription(Localizer.dLocalize("skill.taming.description")); + setDisplayName(Localizer.dLocalize("skill.taming.name")); setColor(C.GOLD); setInterval(3480); setIcon(Material.LEAD); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java b/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java index 8391a350d..cf8fca612 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java @@ -51,11 +51,11 @@ public class SkillTragOul extends SimpleSkill { private final Map cooldowns; public SkillTragOul() { - super("tragoul", Localizer.dLocalize("skill", "tragoul", "icon")); + super("tragoul", Localizer.dLocalize("skill.tragoul.icon")); registerConfiguration(Config.class); setColor(C.AQUA); - setDescription(Localizer.dLocalize("skill", "tragoul", "description")); - setDisplayName(Localizer.dLocalize("skill", "tragoul", "name")); + setDescription(Localizer.dLocalize("skill.tragoul.description")); + setDisplayName(Localizer.dLocalize("skill.tragoul.name")); setInterval(2755); setIcon(Material.CRIMSON_ROOTS); cooldowns = new HashMap<>(); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java b/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java index b6c53f125..2ac9c615c 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java @@ -35,11 +35,11 @@ public class SkillUnarmed extends SimpleSkill { public SkillUnarmed() { - super("unarmed", Localizer.dLocalize("skill", "unarmed", "icon")); + super("unarmed", Localizer.dLocalize("skill.unarmed.icon")); registerConfiguration(Config.class); setColor(C.YELLOW); - setDescription(Localizer.dLocalize("skill", "unarmed", "description")); - setDisplayName(Localizer.dLocalize("skill", "unarmed", "name")); + setDescription(Localizer.dLocalize("skill.unarmed.description")); + setDisplayName(Localizer.dLocalize("skill.unarmed.name")); setInterval(2579); registerAdaptation(new UnarmedSuckerPunch()); registerAdaptation(new UnarmedPower()); diff --git a/src/main/java/com/volmit/adapt/util/Localizer.java b/src/main/java/com/volmit/adapt/util/Localizer.java index 63cc42ed2..0b5b61284 100644 --- a/src/main/java/com/volmit/adapt/util/Localizer.java +++ b/src/main/java/com/volmit/adapt/util/Localizer.java @@ -18,6 +18,8 @@ package com.volmit.adapt.util; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.volmit.adapt.Adapt; import com.volmit.adapt.AdaptConfig; @@ -28,6 +30,7 @@ import java.io.File; import java.io.InputStream; import java.nio.file.Files; +import java.text.MessageFormat; import java.util.Objects; public class Localizer { @@ -63,58 +66,77 @@ public static void updateLanguageFile() { } } - @SneakyThrows - public static String dLocalize(String s1, String s2, String s3) { - if (!Adapt.wordKey.containsKey(s1 + s2 + s3)) { // Not in cache or Not in file - - File langFile = new File(Adapt.instance.getDataFolder() + "/languages", AdaptConfig.get().getLanguage() + ".json"); - String jsonFromFile = Files.readString(langFile.toPath()); - JsonObject jsonObj = Json.fromJson(jsonFromFile, JsonObject.class); - - if (jsonObj.get(s1) == null - || jsonObj.get(s1).getAsJsonObject().get(s2) == null - || jsonObj.get(s1).getAsJsonObject().get(s2).getAsJsonObject().get(s3) == null - || jsonObj.get(s1).getAsJsonObject().get(s2).getAsJsonObject().get(s3).getAsString() == null) { - - updateLanguageFile(); - if (jsonObj.get(s1) == null - || jsonObj.get(s1).getAsJsonObject().get(s2) == null - || jsonObj.get(s1).getAsJsonObject().get(s2).getAsJsonObject().get(s3) == null - || jsonObj.get(s1).getAsJsonObject().get(s2).getAsJsonObject().get(s3).getAsString() == null) { - - String key = s1 + "." + s2 + "." + s3; - Adapt.verbose("Your Language File is missing the following key: " + key); - Adapt.verbose("Loading English Language File FallBack"); - - File langFileFallback = new File(Adapt.instance.getDataFolder() + "/languages", AdaptConfig.get().getFallbackLanguageDontChangeUnlessYouKnowWhatYouAreDoing() + ".json"); - String jsonFromFileFallback = Files.readString(langFileFallback.toPath()); - JsonObject jsonObjFallback = Json.fromJson(jsonFromFileFallback, JsonObject.class); - - if (jsonObjFallback.get(s1) == null - || jsonObjFallback.get(s1).getAsJsonObject().get(s2) == null - || jsonObjFallback.get(s1).getAsJsonObject().get(s2).getAsJsonObject().get(s3) == null - || jsonObjFallback.get(s1).getAsJsonObject().get(s2).getAsJsonObject().get(s3).getAsString() == null) { - Adapt.wordKey.put(s1 + s2 + s3, key); - Adapt.error("Your Fallback Language File is missing the following key: " + key); - Adapt.verbose("New Assignement: " + key); - Adapt.error("Please report this to the developer!"); - } else { - Adapt.wordKey.put(s1 + s2 + s3, jsonObjFallback.get(s1).getAsJsonObject().get(s2).getAsJsonObject().get(s3).getAsString()); - Adapt.verbose("Loaded Fallback: " + jsonObjFallback.get(s1).getAsJsonObject().get(s2).getAsJsonObject().get(s3).getAsString() + " for key: " + s1 + "." + s2 + "." + s3); - } - } - } else { - Adapt.wordKey.put(s1 + s2 + s3, jsonObj.get(s1).getAsJsonObject().get(s2).getAsJsonObject().get(s3).getAsString()); - } - } - var s = Adapt.wordKey.get(s1 + s2 + s3); + public static String dLocalize(String key, Object... params) { + if (!Adapt.wordKey.containsKey(key)) Adapt.wordKey.put(key, loadValue(key)); + String s = Adapt.wordKey.get(key); + if (params != null && params.length > 0) s = MessageFormat.format(s, params); if (AdaptConfig.get().isAutomaticGradients()) { s = C.translateAlternateColorCodes('&', s); s = C.aura(s, -20, 7, 8, 0.36); } + return LegacyComponentSerializer.legacySection().serialize(MiniMessage.miniMessage().deserialize(s)); + } + + private static String loadValue(String key) throws Exception { + String primaryLang = AdaptConfig.get().getLanguage(); + String fallbackLang = AdaptConfig.get().getFallbackLanguageDontChangeUnlessYouKnowWhatYouAreDoing(); + + String value = resolveValue(loadLanguage(primaryLang), key); + if (value != null) return value; + + updateLanguageFile(); + value = resolveValue(loadLanguage(primaryLang), key); + if (value != null) return value; + + Adapt.verbose("Your Language File is missing the following key: " + key); + Adapt.verbose("Loading English Language File FallBack"); + value = resolveValue(loadLanguage(fallbackLang), key); + if (value != null) { + Adapt.verbose("Loaded Fallback for key: " + key); + return value; + } + Adapt.error("Your Fallback Language File is missing the following key: " + key); + Adapt.verbose("New Assignement: " + key); + Adapt.error("Please report this to the developer!"); + return key; + } + + private static JsonObject loadLanguage(String lang) throws Exception { + File langFile = new File(Adapt.instance.getDataFolder() + "/languages", lang + ".json"); + String jsonFromFile = Files.readString(langFile.toPath()); + return Json.fromJson(jsonFromFile, JsonObject.class); + } + + private static JsonElement resolveElement(JsonObject root, String key) { + String[] parts = key.split("\\."); + JsonObject current = root; + for (int i = 0; i < parts.length; i++) { + String part = parts[i]; + if (current == null) return null; + JsonElement element = current.get(part); + if (element == null) return null; + if (i == parts.length - 1) return element; + if (!element.isJsonObject()) return null; + current = element.getAsJsonObject(); + } + return null; + } - return LegacyComponentSerializer.legacySection() - .serialize(MiniMessage.miniMessage().deserialize(s)); + private static String resolveValue(JsonObject root, String key) { + JsonElement element = resolveElement(root, key); + if (element == null) return null; + if (element.isJsonPrimitive()) return element.getAsString(); + if (element.isJsonArray()) { + JsonArray arr = element.getAsJsonArray(); + StringBuilder sb = new StringBuilder(); + arr.forEach(e -> { + if (!e.isJsonPrimitive()) return; + if (!sb.isEmpty()) sb.append("\n"); + sb.append(e.getAsJsonPrimitive().getAsString()); + }); + return sb.toString(); + } + return null; } } diff --git a/src/main/java/com/volmit/adapt/util/UIElement.java b/src/main/java/com/volmit/adapt/util/UIElement.java index 61d7ffcf7..573f14345 100644 --- a/src/main/java/com/volmit/adapt/util/UIElement.java +++ b/src/main/java/com/volmit/adapt/util/UIElement.java @@ -26,6 +26,9 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import java.util.ArrayList; +import java.util.List; + public class UIElement implements Element { private final String id; private final KList lore; @@ -179,24 +182,24 @@ public Element call(ElementEvent event, Element context) { @Override public Element addLore(String loreLine) { - getLore().add(wrapWordsWithFormatting(loreLine.replaceAll("\\Q\n\\E", " "), 52).split("\\Q\n\\E")); + if (loreLine != null) { + for (String line : loreLine.split("\\R")) { + if (line.isEmpty()) getLore().add(""); + else wrapWordsWithFormatting(line, 55).forEach(getLore()::add); + } + } return this; } - public String wrapWordsWithFormatting(String f, int l) { - StringBuilder sb = new StringBuilder(); + public List wrapWordsWithFormatting(String f, int l) { + List result = new ArrayList<>(); String last = null; - for (String i : Form.wrapWords(f, l).split("\\Q\n\\E")) { - if (last != null) { - sb.append("\n").append(C.getLastColors(last)).append(i); - } else { - sb.append("\n").append(i); - } - + for (String i : Form.wrapWords(f, l).split("\\R")) { + if (last != null) result.add(C.getLastColors(last) + i); + else result.add(i); last = i; } - - return sb.substring(1); + return result; } @Override diff --git a/src/main/java/com/volmit/adapt/util/collection/KList.java b/src/main/java/com/volmit/adapt/util/collection/KList.java index 52c763def..033550e58 100644 --- a/src/main/java/com/volmit/adapt/util/collection/KList.java +++ b/src/main/java/com/volmit/adapt/util/collection/KList.java @@ -76,15 +76,6 @@ public int indexOfAddIfNeeded(T v) { return indexOf(v); } - /** - * Remove the last element - */ - public KList removeLast() { - remove(last()); - - return this; - } - public void addMultiple(T t, int c) { for (int i = 0; i < c; i++) { add(t); diff --git a/src/main/resources/de_DE.json b/src/main/resources/de_DE.json index 81db60c3a..0ba4e5dcb 100644 --- a/src/main/resources/de_DE.json +++ b/src/main/resources/de_DE.json @@ -231,912 +231,1285 @@ "challenge_pickaxe_5m": { "title": "Legendärer Bergmann", "description": "Zerbrich 5.000.000 Blöcke" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "name": "Reliquien-Portschlüssel", - "usage1": "Shift + Linksklick zum Binden", - "usage2": "Klicken Sie mit der rechten Maustaste, um auf das gebundene Inventar zuzugreifen" - }, - "boundeyeofender": { - "name": "Augenanker", - "usage1": "Rechtsklick zum Konsumieren und Teleportieren zum gebundenen Ort", - "usage2": "Umschalt + Linksklick, um an einen Block zu binden" - }, - "boundredstonetorch": { - "name": "Redstone-Fernsteuerung", - "usage1": "Klicken Sie mit der rechten Maustaste, um einen 1-Tick-Redstone-Impuls zu erzeugen", - "usage2": "Shift + Linksklick auf einen 'Ziel'-Block zum Binden" - }, - "boundsnowball": { - "name": "Web-Snare!", - "usage1": "Werfen Sie es aus, um am Standort eine vorübergehende Netzfalle zu erstellen" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Level", - "knowledge": "Wissen", - "powerused": "belegte Energie", - "notlearned": "Noch nicht gelernt", - "xp": " XP bis", - "welcome": "Herzlich willkommen!", - "welcomeback": "Willkommen zurück!", - "xpbonusfortime": "XP für", - "unlockthisbyclicking": "Entsperren Sie dies, indem Sie mit der rechten Maustaste klicken:", - "back": "Der Rücken", - "unlearnall": "Alles verlernen", - "unlearnedall": "Alles verlernt" - }, - "adaptmenu": { - "maynotunlearn": "KANN MAN NICHT VERLERNEN", - "mayunlearn": "SIE KÖNNEN LERNEN/VERLERNEN", - "knowledgecost": "Wissenskosten", - "knowledgeavailable": "Wissen verfügbar", - "alreadylearned": "Bereits gelernt!", - "unlearnrefund": "Klicken zum Verlernen & für Rückerstattung", - "norefunds": "HARDCORE, ERSTATTUNGEN DEAKTIVIERT", - "knowledge": "Wissen", - "clicklearn": "Klicken zum erlernen von", - "noknowledge": "(Du hast kein Wissen)", - "youonlyhave": "Du hast nur", - "howtolevelup": "Verbessere deine Fähigkeiten, um dein maximales Level zu erhöhen!", - "notenoughpower": "Nicht genug Energie! Jede Fähigkeitsstufe kostet 1 Energie.", - "power": "Energie", - "powerdrain": "Power Drain", - "learned": "Gelernt ", - "unlearned": "Verlernt ", - "activatorblock": "Bücherregal" - }, - "knowledgeorb": { - "contains": "Enthält", - "knowledge": "Wissen", - "rightclick": "Rechtsklick", - "togainknowledge": "um dieses Wissen zu erlangen", - "knowledgeorb": "Wissenskugel" - }, - "experienceorb": { - "contains": "Enthält", - "xp": "Erfahrung", - "rightclick": "Rechtsklick", - "togainxp": "um Erfahrung zu sammeln", - "xporb": "Erfahrungskugeln" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Agilität", + "name": "Agility", "icon": "⇉", - "description": "Agilität ist die Fähigkeit, sich im Angesichte von Hindernissen schnell und flüssig zu bewegen!" + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Architekt", + "name": "Architect", "icon": "⬧", - "description": "Strukturen sind die Bausteine der Welt. Die Realität liegt in Ihren Händen, Sie können sie kontrollieren!" + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Äxte", - "icon": "✥", - "description1": "Warum sollte man Bäume fällen, ", - "description2": "wenn man stattdessen auch Dinge", - "description3": "fällen kann - mit demselben Ergebnis!" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Brauen", - "icon": "✥", - "description": "Doppelte Blase, dreifache Blase, vierfache Blase - Ich kann diesen Trank immer noch nicht in einen Kessel geben!" + "name": "Brewing", + "icon": "❦", + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Blockierung", - "icon": "▒", - "description": "Stöcke und Steine werden deine Knochen nicht brechen, aber ein Schild wird es tun." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Handwerk", - "icon": "❖", - "description": "Da es nichts mehr zu platzieren gibt, warum nicht neues erschaffen?" + "name": "Crafting", + "icon": "⌂", + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Entdeckung", + "name": "Discovery", "icon": "⚛", - "description": "Wenn sich deine Wahrnehmung erweitert, wird dein Verstand enträtseln, um das zu entdecken, was du nicht wusstest!" + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Verzauberung", - "icon": "⚜", - "description": "Wovon reden Sie eigentlich? Prophezeiungen, Visionen, abergläubisches Gefasel?" + "name": "Enchanting", + "icon": "♰", + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Ausgrabung", - "icon": "✥", - "description": "Diggey Diggey Hole...!" + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "Kräuterkunde", + "name": "Herbalism", "icon": "⚘", - "description": "Ich kann keine Plfanzen finden, aber ich finde eine paar Samen und - ist das... Unkraut?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "Jäger", + "name": "Hunter", "icon": "☠", - "description": "Bei der Jagd geht es um den Weg, nicht um das Resultat!" + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "nether", + "name": "Nether", "icon": "₪", - "description": "Aus den Tiefen des Nethergebietes selbst!" + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Spitzhacke", + "name": "Pickaxe", "icon": "⛏", - "description": "Zwerge sind die Bergleute, aber ich habe in meiner Zeit auch einiges gelernt. ICH BIN SCHWEDE!" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "Reichweite", + "name": "Ranged", "icon": "🏹", - "description": "Die Entfernung ist der Schlüssel zum Sieg... und zum Überleben!" + "description": "Distance is the key to victory, and the key to survival." }, "rift": { "name": "Rift", "icon": "❍", - "description": "Rift ist ein ätzendes Gurtzeug, aber Sie haben das Gurtzeug angeschnallt!" + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "Seefahrt", - "icon": "🌊", - "description": "Mit dieser Fähigkeit kannst du die Wunder des Wassers erleben!" + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "Heimlichkeit", - "icon": "✠", - "description": "Die Kunst des Unsichtbaren - Sei der Schatten!" + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Schwerter", + "name": "Swords", "icon": "⚔", - "description": "Mit der Kraft von GreyStone!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "Zähmung", + "name": "Taming", "icon": "♥", - "description": "Die Papageien und die Bienen... und du?" + "description": "The parrots and the bees... and you?" }, "tragoul": { "name": "TragOul", - "icon": "▼", - "description": "Blut fließt durch die Adern des Universums. Entfesselt durch deine Hände!" + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { "name": "Chronos", - "icon": "۞", - "description": "Zieh die Uhr des Universums auf und erlebe den Zeitenfluss!" + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "Unbewaffnet", - "icon": "⚜", - "description": "Ohne Waffe bedeutet nicht ohne Stärke!" + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Aufrüsten", - "description": "Je länger du sprintest, desto mehr Rüstung erhältst du", - "lore1": "Maximale Rüstung", - "lore2": "Aufrüstungszeit" - }, - "superjump": { - "name": "Supersprung", - "description": "Außergewöhnlicher Höhenvorteil", - "lore1": "Maximale Sprunghöhe", - "lore2": "* Schleichen + Springen zum Supersprung" - }, - "walljump": { - "name": "Wandsprung", - "description": "Halte Shift gedrückt, während du dich in der Luft an einer Wand befindet, um dich an der Wand festzuhalten und zu springen", - "lore1": "Maximal Sprunge", - "lore2": "Sprunghöge" - }, - "windup": { - "name": "Aufwind", - "description": "Je länger du sprintest, desto schneller wirst du", - "lore1": "Maximale Geschwindigkeit", - "lore2": "Aufwindzeit" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "Magische Grundlage", - "description": "Schleiche um ein provisorisches Fundament unter dir zu erschaffen", - "lore1": "Magie erzeugen: ", - "lore2": "Blöcke unter dir!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Behutsames Glass", - "description": "Auf diese Weise kannst du den Verlust von Glassblöcken verhindern, wenn du sie mit leeren Händen zerbrichst", - "lore1": "Deine Hände erhalten Silk Touch für Glass" - }, - "wirelessredstone": { - "name": "Redstone-Fernsteuerung", - "description": "Auf diese Weise können Sie eine Redstone-Fackel verwenden, um Redstone aus der Ferne umzuschalten!", - "lore1": "Ziel + Redstone-Fackel + Enderperle = 1 Redstone-Fernsteuerung" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Baumeister Stab", - "description": "Ermöglicht es dir, mehrere Blöcke auf einmal zu plazieren. Zum Aktivieren schleiche und halte einen Block, der zu deinem gewünschten Block passt, dann plaziere den Block. Denk daran, dass du dich ein wenig bewegen musst, um die Begrenzung der Blöcke auszulösen", - "lore1": "Du brauchst", - "lore2": "Blöcke in deiner Hand, um diese zu plazieren", - "lore3": "Ein Baumeister Stab für Materialerstellung" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Axtschlag", - "description": "Fälle Bäume, indem du mit der rechten Maustaste auf den Stamm klickst", - "lore1": "Blöcke pro Hieb", - "lore2": "Hieb Abklingzeit", - "lore3": "Werkzeugverschleiß" - }, - "logswap": { - "name": "Lucys Stammtauscher", - "description": "Ändere die Art von Holzscheiten an einer Werkbank!", - "lore1": "1 Holzscheit beliebiger Art + 1 Setzling = 1 Holzscheit der Art des Setzlings" - }, - "droptoinventory": { - "name": "Axt Drop-Ins-Inventar" - }, - "groundsmash": { - "name": "Axt-Bodenschlag", - "description": "Springe, dann gehe in die Hocke und zerschlage deine Gegner in der Nähe", - "lore1": "Schaden", - "lore2": "Block Radius", - "lore3": "Kraft", - "lore4": "Schlag Abklingzeit" - }, - "leafminer": { - "name": "BlattMiner", - "description": "Ermöglicht es, große Mengen an Blättern auf einmal zu entfernen!", - "lore1": "Schleiche, und baue Blätter ab", - "lore2": "Reichweite des BlätterMiners", - "lore3": "Du erhältst hierfür keine Drops von den Blättern" - }, - "woodminer": { - "name": "Holzfäller", - "description": "Ermöglicht es, große Mengen Holz auf einmal zu fällen!", - "lore1": "Sneak, und fälle HOLZ/LOGS (nicht Bretter)", - "lore2": "Reichweite des Holzabbaus", - "lore3": "Funktioniert mit Drop to Inventory" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "Nachhaltendes Gebräu", - "description": "Gebraute Tränke halten länger", - "lore1": "Dauer", - "lore2": "Dauer" - }, - "superheated": { - "name": "Superheißes Gebräu", - "description": "Je heißer der Braustand ist, desto schneller verarbeitet er", - "lore1": "Pro berührendem Feuerblock", - "lore2": "Pro berührendem Feuerblock" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "Abgefüllte Dunkelheit", - "description": "Nicht sicher, warum du das brauchen, aber los geht's!", - "lore1": "Nachtsichttrunk + Schwarzer Beton = Trank der Nachtsicht (30 Sekunden)", - "lore2": "Es sollte beachtet werden, dass dies den Benutzer am Sprinten hindert!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "Eile in Flaschen", - "description": "Wenn Effizienz nicht ausreicht", - "lore1": "Geschwindigkeitstrank + Amethystsplitter = Trank der Eile (60 Sekunden)", - "lore2": "Geschwindigkeitstrank + Amethystblock = Trank der Eile-2 (30 Sekunden)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Absorption in Flaschen", - "description": "Härtet den Körper!", - "lore1": "Sofortige Heilung + Quarz = Trank der Absorption (60 Sekunden)", - "lore2": "Sofortige Heilung + Quarzblock = Absorptionstrank-2 (30 Sekunden)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Abgefüllte Müdigkeit", - "description": "Schwächt den Körper!", - "lore1": "Schwächungstrank + Schleimball = Trank der Müdigkeit (30 Sekunden)", - "lore2": "Trank der Schwäche + Schleimblock = Trank der Trägheit-2 (15 Sekunden)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Hunger in Flaschen", - "description": "Füttere die Unersättlichen!", - "lore1": "Seltsamer Trank + Verrottetes Fleisch = Trank des Hungers (30 Sekunden)", - "lore2": "Trank der Schwäche + Verrottetes Fleisch = Trank des Hungers-3 (15 Sekunden)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "Übelkeit in Flaschen", - "description": "Du machst mich krank!", - "lore1": "Seltsamer Trank + Brauner Pilz = Trank der Übelkeit (16 Sekunden)", - "lore2": "Seltsamer Trank + Netherpilz = Trank der Übelkeit-2 (8 Sekunden)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Abgefüllte Blindheit", - "description": "Du bist ein schrecklicher Mensch...", - "lore1": "Seltsamer Trank + Tintenbeutel = Trank der Blindheit (30 Sekunden)", - "lore2": "Seltsamer Trank + Leuchttintenbeutel = Trank der Blindheit-2 (15 Sekunden)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Widerstand in Flaschen", - "description": "Anreicherung in Reinkultur!", - "lore1": "Seltsamer Trank + Eisen Barren = Trank der Resistenz (60 Sekunden)", - "lore2": "Seltsamer Trank + Eisenblock = Trank der Resistenz-2 (30 Sekunden)" - }, - "healthboost": { - "name": "Leben in Flaschen", - "description": "Wenn maximale Gesundheit nicht ausreicht ...", - "lore1": "Trank der Heilung + Goldener Apfel = Trank der Gesundheitssteigerung (120 Sekunden)", - "lore2": "Trank der Heilung + Verzauberter Goldener Apfel = Trank der Gesundheitssteigerung-2 (120 Sekunden)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Verfall in Flaschen", - "description": "Wer hätte gedacht, dass Detritus so nützlich sein würde?", - "lore1": "Trank der Schwäche + Giftige Kartoffel = Trank des Wither (16 Sekunden)", - "lore2": "Trank der Schwäche + Netherwurzeln = Trank des Wither-2 (8 Sekunden)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Sättigung in Flaschen", - "description": "Weißt du ... Ich habe nicht einmal Hunger ...", - "lore1": "Regenerationstrank + Gebackene Kartoffel = Trank der Sättigung (120 Sekunden)", - "lore2": "Trank der Regeneration + Heuballen = Trank der Sättigung (120 Sekunden)" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Die Ketten des Mephistopheles", - "description": "Ermöglicht die Herstellung von Kettenhemd-Rüstung", - "lore1": "Das Handwerksrezept ist dasselbe wie jedes andere, aber mit Eisennuggets" - }, - "horsearmorer": { - "name": "Herstellbare Pferderüstung", - "description": "Ermöglicht die Herstellung von Rossharnisch an einer Werkbank", - "lore1": "Umgeben Sie einen Sattel mit dem Material, das Sie für die Herstellung der Rüstung verwenden möchten" - }, - "saddlecrafter": { - "name": "Herstellbarer Sattel", - "description": "Herstellung eines Sattels mit Leder", - "lore1": "Rezept: 5 Leder:" - }, - "multiarmor": { - "name": "Multi-Rüstung", - "description": "Binde Elytra an die Rüstung", - "lore1": "Dies ist eine erstaunliche Fähigkeit zum Reisen.", - "lore2": "Dynamisches Zusammenführen und Ändern von Rüstungen/Elytra während des Spiels!", - "lore3": "Klick zum Zusammenführen mit der Umschalttaste auf einen Gegenstand über einem anderen im Inventar.", - "lore4": "Um die Rüstung zu lösen, lass den Gegenstand während des Schleichens fallen und er wird zerlegt.", - "lore5": "Wenn Ihre Multi-Rüstung zerstört wird, verlieren Sie alle darin enthaltenen Gegenstände.", - "lore6": "Ich brauche keine Rüstung, sie enttäuscht mich..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Dekonstruktion", - "description": "Zerlege Blöcke und Gegenstände in wiederverwertbare Komponenten", - "lore1": "Lege einen beliebigen Gegenstand + Schere ", - "lore2": "auf einen Schmiedetisch um ihn zu zerlegen." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "Herstellungserfahrung", - "description": "Passiv Erfahrung beim Craften erhalten", - "lore1": "Erfahrung beim Craften erhalten" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Erzrekonstruktion", - "description": "Stelle Erze aus ihren Basiskomponenten neu her!", - "lore1": "8 der Tropfen und 1 Wirt = 1 Erz (formlos)", - "lore2": "Tropfen müssen geschmolzen werden (falls zutreffend)", - "lore3": "Ausgenommen: Schrott, Quarts und Smaragde usw.", - "lore4": "Host = Umhüllung. dh: Stone, Netherack, Deepslate" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Handwerkliches Leder", - "description": "Leder aus verfaultem Fleisch herstellen", - "lore1": "Wirf es (das verfaulte Fleisch) einfach auf das Lagerfeuer!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "Die Rucksäcke eines Boutiliers!", - "description": "Das bringt das Mojang-Bundle ins Spiel!", - "lore1": "Sie müssen in Survival sein, um dies zu nutzen", - "lore2": "XLX : Leder, Leine, Leder", - "lore3": "XSX : Leder, Shulker Kiste, Leder", - "lore4": "XCX : Leder, Kiste, Leder" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Tragbare Tische!", - "description": "Nutzen Sie einen Tisch in Ihrer Handfläche!", - "lore2": "ALLE EINZELTEILE, DIE SIE BEIM SCHLIESSEN IN DER TABELLE VERGESSEN, SIND FÜR EWIG VERLOREN!", - "lore3": "Gültige Tabellen: Amboss, Handwerk, Schleifstein, Kartographie, Steinmetz, Webstuhl" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Herstellbare Totenköpfe!", - "description": "Mit den Materialien kannst du Mob-Schädel basteln!", - "lore1": "Umgeben Sie einen Knochenblock mit den folgenden Elementen, um einen Schädel zu erhalten:", - "lore2": "Zombie: Verrottendes Fleisch", - "lore3": "Skelett: Knochen", - "lore4": "Creeper: Schwarzpulver", - "lore5": "Wither: Netherziegel", - "lore6": "Drache: Der Atem des Drachen" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Weltweite Rüstung", - "description": "Passive Rüstung, abhängig von der Härte der in der Nähe befindlichen Blöcken", - "lore1": "Passive Rüstung", - "lore2": "basiert auf der Härter des benachbarten Blocks", - "lore3": "Stärke der Rüstung: +" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Experimentelle Einheitlichkeit", - "description": "Durch Sammeln von Erfahrungskugeln erhält man Erfahrungspunkte für zufällige Fähigkeiten", - "lore1": "Erfahrung ", - "lore2": "Pro Kugel" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Experimentelle Widerstand", - "description": "Verbrauche Erfahrung, um Schaden abzudämpfen", - "lore0": "Dies kann nur einmal alle 15 Sekunden erfolgen", - "lore1": "% Weniger Schaden", - "lore2": "Erfahrung verbraucht" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Dorfbewohner-Attraktion", - "description": "Ermöglicht Ihnen bessere Geschäfte mit Dorfbewohnern!", - "lore1": "Verbraucht EP pro Interaktion mit Dorfbewohnern", - "lore2": "Chance pro Interaktion, XP zu verbrauchen und Trades zu verbessern", - "lore3": "Erforderlicher XP-Abfluss pro Interaktion" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Lapis Rückkehr", - "description": "Die Chance Lapis zurückzubekommen auf Kosten von 1 Level Erfahrung", - "lore1": "Für jede Stufe erhöht es die Kosten der Verzauberung um 1, kann aber bis zu 3 Lapis zurückgeben" - }, - "quickenchant": { - "name": "Schnell-Klick Verzaubern", - "description": "Verzaubert Gegenstände, wenn Verzauberungsbücher auf sie gezogen werden", - "lore1": "Maximale kombinierte Level", - "lore2": "Kann einen Gegenstand nicht mit mehr als ", - "lore3": "Macht" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "Erfahrung Rückkehr", - "description": "Wenn ein Gegenstand verzaubert wird erhalte Verzauberungs-Erfahrung zurück", - "lore1": "Erfahrung kann zurückerstattet werden, wenn Gegenstände verzaubert werden", - "lore2": "Erfahrung pro Verzauberung" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Hastiges Schaufeln", - "description": "Dadurch wir das Graben beschleunigt, mit HAST!", - "lore1": "Beim Graben Eile gewinnen", - "lore2": "x Stufen der Eile, wenn mit dem Abbau von Blöcken begonnen wird" + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Supersehender Höhlenforscher!", - "description": "Sehen Sie Erze mit Ihren Augen, aber durch den Boden!", - "lore1": "Erz in deiner Nebenhand, Glühbeeren in deiner Haupthand und Sneak!", - "lore2": "Blockbereich:", - "lore3": "Verbraucht Glowberry bei Gebrauch" - }, - "droptoinventory": { - "name": "Schaufel Drop-Ins-Inventar" - }, - "omnitool": { - "name": "Schweizer Taschenmesser", - "description": "Schweizer überdimensioniertes mannigfaltiges Taschenmesser", - "lore1": "Die Leistungsfähigkeit von vielen ermöglicht es", - "lore2": "Werkzeuge dynmaoisch zusammenzufügen und je nach Bedarf zu ändern.", - "lore3": "Zum Zussamenfügen klicke mit gedrückter Umschalttaste auf einen Gegenstand über einem anderen im Inventar.", - "lore4": "Um Werkzeuge zu trennen, lass den Gegenstand während des schleichens fallen.", - "lore5": "In diesem Taschenmesser können keine Werkzeuge zerbrechen, aber auch keine zerbrochenen Werkzeuge nutzen", - "lore6": "Zusammenfügbare Gegenstände insgesamt", - "lore7": "Warum fünf oder secks Werkzeuge, wenn auch eins geht!" + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { + "name": "OMNI - T.O.O.L.", + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Aura des Wachstums", - "description": "Lässt die Natur um dich herum wachsen", - "lore1": "Block Radius", - "lore2": "Stärke der Wachstumsaura", - "lore3": "Lebensmittelkosten" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Raupe Nimmersatt", - "description": "Verzehr von Lebensmittel führt zu mehr Sättigung", - "lore1": "+ Lebensmittel) zusätzliche Sättigungspunkte beim Verbrauch" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Myzel des Kräuterkundlers", - "description": "Ermöglicht die Herstellung von Mycelium", - "lore1": "Jede Erde und einen braunen und roten Pilz zusammen kombiniert stellen Mycelium her" + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Terrarium des Kräutersammlers", - "description": "Ermöglicht die Herstellung von Grasblöcken", - "lore1": "Drei Samen über 3 Dreck ergeben 3 Grasblöcke." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Webby-Schöpfer", - "description": "Ermöglicht die Herstellung von Spinnenweben an einer Werkbank", - "lore1": "Nine String wird ein Spinnennetz herstellen." - }, - "mushroomblocks": { - "name": "Pilzmacher", - "description": "Ermöglicht die Herstellung von Pilzblöcken an einer Werkbank", - "lore1": "Vier Pilze für einen Block, oder ein Block für einen Stiel." - }, - "droptoinventory": { - "name": "Hacke Drop-Ins-Inventar" - }, - "hungryshield": { - "name": "Hungriges Schild", - "description": "Nimm Schaden an deiner Sättigung statt deiner Gesundheit", - "lore1": "Widerstand durch Sättigung" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "Glück des Kräuterkundlers", - "description": "Wenn du Gras/Blumen zerbrichst, hast du die Chance, einen zufälligen Gegenstand zu erhalten", - "lore0": "Blumchen = Nahrung, und Gras = Samen", - "lore1": "Chance, einen Gegenstand aus zerbrechenden Blumen zu erhalten", - "lore2": "Chance, einen Gegenstand aus zerbrechendem Gras zu erhalten" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Ernte & Wiederbepflanze", - "description": "Rechtsklicke mit einer Hacke auf eine Planze um sie zu ernten und neu zu pflanzen", - "lore1": "Wiederbepflanzungsradius in Blöcken" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "Adrenalin", - "description": "Verursache mehr Schaden, je weniger Gesundheit du hast (Nahkampf)", - "lore1": "Maximaler Schaden" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "Du erhältst Giftstapel, wenn du keine Sättigung mehr hast" - }, - "droptoinventory": { - "name": "Items Drop-Ins-Inventar", - "description": "Wenn du etwas tötest / einen Block mit dem Schwert zerstörst, werden die Drops in dein Inventar teleopiert", - "lore1": "Jedes Mal, wenn ein Gegenstand von einem Mob/Block fallen gelassen wird, landet er in deinem Inventar" + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Verschwindender Schritt", - "description": "Wenn du getroffen wirst, erhältst du einen Unsichtbarkeits-Boost auf Kosten deiner Sättigung", - "lore1": "Erhalte passive Unsichtbarkeit bei Schaden", - "lore2": "x Unsichtbarkeit stapelt sich bei einem Treffer für 3 Sekunden", - "lore3": "x Stapel Sättigung", - "lore4": "Sättigung stapelt Dauer und Multiplikator", - "lore5": "Dauer der Unsichtbarkeit" - }, - "jumpboost": { - "name": "Jägersprung", - "description": "Wenn du getroffen wirst, erhältst du einen Sprung-Boost auf Kosten deiner Sättigung", - "lore1": "Erhalte Sprung-Boost bei Schaden", - "lore2": "x Sprung-Boost stapelt sich bei einem Treffer für 3 Sekunden", - "lore3": "x Stapel Sättigung", - "lore4": "Sättigung stapelt Dauer und Multiplikator", - "lore5": "Sprung-Boost stapelt Multiplikator, nicht Dauer" + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "Glück des Jägers", - "description": "Wenn du getroffen wirst, erhältst du Glück auf Kosten deiner Sättigung", - "lore1": "Erhalte passive Glück bei Schaden", - "lore2": "x Glück stapelt sich bei einem Treffer für 3 Sekunden", - "lore3": "x Stapel Sättigung", - "lore4": "Sättigung stapelt Dauer und Multiplikator", - "lore5": "Glück stapelt Multiplikator, nicht Dauer" + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Regeneration des Jägers", - "description": "Wenn du getroffen wirst, erhälst du Regeneration auf Kosten deiner Sättigung", - "lore1": "Erhalte passive Regeneration bei Schaden", - "lore2": "x Regeneration stapelt sich bei einem Treffer für 3 Sekunden", - "lore3": "x Stapel Sättigung", - "lore4": "Sättigung stapelt Dauer und Multiplikator", - "lore5": "Regeneration stapelt Multiplikator, nicht Dauer" + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Widerstandsfähigkeit des Jägers", - "description": "Wenn du getroffen wirst, erhältst du Widerstandsfähigkeit auf Kosten deiner Sättigung", - "lore1": "Erhalte passive Resistenz bei Schaden", - "lore2": "x Resistenz stapelt sich bei einem Treffer für 3 Sekunden", - "lore3": "x Stapel Sättigung", - "lore4": "Sättigung stapelt Dauer und Multiplikator", - "lore5": "Resistenz stapelt Multiplikator, nicht Dauer" + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Geschwindigkeit des Jägers", - "description": "Wenn du getroffen wirst, erhältst du Geschwindigkeit auf Kosten deiner Sättigung", - "lore1": "Erhalte passive Geschwindigkeit bei Schaden", - "lore2": "x Geschwindigkeit stapelt sich bei einem Treffer für 3 Sekunden", - "lore3": "x Stapel Sättigung", - "lore4": "Sättigung stapelt Dauer und Multiplikator", - "lore5": "Geschwindigkeit stapelt Multiplikator, nicht Dauer" + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Stärke des Jägers", - "description": "Wenn du getroffen wirst, erhälst du Stärke auf Kosten deiner Sättigung", - "lore1": "Erhalte passive Stärke beim Schäden", - "lore2": "x Stärke stapelt sich bei einem Treffer für 3 Sekunden", - "lore3": "x Stapel Sättigung", - "lore4": "Sättigung stapelt Dauer und Multiplikator", - "lore5": "Stärke stapelt Multiplikator, nicht Dauer" + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Wither Schädel Wurf", - "description1": "Entfessel den inneren Wither, indem du ", - "description2": "jemandes", - "description3": "Kopf", - "lore1": "Sekunden Abkühlzeit zwischen Schädelwürfen.", - "lore2": "Wither Skull verwenden: Wirf einen ", - "lore3": "Wither Skull", - "lore4": "beim Aufprall explodieren" - }, - "witherresist": { - "name": "Wither Widerstandsfähigkeit", - "description": "Widerstehe dem Wither durch die Kraft des Netherite", - "lore1": "Chance, Wither zu negieren (pro Stück).", - "lore2": "Passiv: Tragen von Netherite Rüstung hat eine Chance, folgende Eigenschaften zu negieren ", - "lore3": "withering" - }, - "fireresist": { - "name": "Feuer Beständigkeit", - "description": "Widersteht Feuer, indem es Ihre Haut härtet.", - "lore1": "Chance, den Brenneffekt zu negieren!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "Automatisches Schmelzen", - "description": "Ermöglicht das Schmelzen von abgebauten Erzen", - "lore1": "Erze, die geschmolzen werden können, werden automatisch geschmolzen", - "lore2": "% Chance auf ein Extra" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "Erzmeißel", - "description": "Rechtsklick auf Erze, um mehr Erz herauszumeißel! Dies ist mit erheblichen Verlust der Haltbarkeit verbunden", - "lore1": "Chance auf Abwurf", - "lore2": "Werkzeugverschleiß" - }, - "droptoinventory": { - "name": "Block Drop-Ins-Inventar", - "description": "Wenn du einen Block zerbrichst, wird der Gegenstand in dein Inventar teleportiert", - "lore1": "Jedes Mal, wenn ein Gegenstand von einem Block droppt, landet er in deinem Inventar" - }, - "veinminer": { - "name": "Minenräumer", - "description": "Ermöglicht das zeitgleiche Zerbrechen von Blöcken in einer Ader/einem Cluster von Erzen", - "lore1": "Schleichen und Erze abbauen", - "lore2": "Reichweite des Mienenräumens", - "lore3": "Diese Fähigkeit fasst nicht alle Drops zusammen!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Pfeilbergung", - "description": "Sammelt Peife ein, nachdem du einen Feind erledigt hast", - "lore1": "Chance auf Wiederherstellung von Pfeilen bei Treffern/Tötung", - "lore2": "Chance:" - }, - "webshot": { - "name": "Web-Snare", - "description": "Umgeben Sie Ihr Ziel mit Spinnweben, wenn Sie es treffen!", - "lore1": "8 Spinnweben um einen Schneeball legen und werfen!", - "lore2": "Sekunden eines Käfigs, ungefähr." - }, - "forceshot": { - "name": "Kraftschuss", - "description": "Schießt Projektile schneller und weiter!", - "advancementname": "Weitschuss", - "advancementlore": "Schieße aus über 30 Blöcken Entfernung!", - "lore1": "Geschossgeschwindigkeit" - }, - "lungeshot": { - "name": "Ausfallschritt", - "description": "Beim Fallen schleudern dich deine Pfeile in eine zufällige Richtung", - "lore1": "Zufällige Burst-Geschwindigkeit" - }, - "arrowpiercing": { - "name": "Pfeildurchbohren", - "description": "Fügt Projektilen Durchschlagskraft hinzu. Schieß durch Dinge hindurch!", - "lore1": "Ziele durchschlagen" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Fernzugriff", - "description": "In die Leere greifen um auf einen markierte Behälter zuzugreifen", - "lore1": "Enderpele + Kompass = Reliquienportschlüssel", - "lore2": "Dieser Gegenstand ermöglicht es aus der Ferne auf Behälter zuzugreifen", - "lore3": "Sieh dir den Gegenstand nach der Herstellung an um ihn zu verstehen", - "notcontainer": "Das ist kein Behälter" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Rift Blinzeln", - "description": "Teleportation auf kurze Distanz. Nur ein Wimpernschlag entfernt!", - "lore1": "Blöcke auf Blinken (2x vertikal)", - "lore2": "Beim Sprinten: Doppelklick auf Springen, um ", - "lore3": "zu Blink" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Einfache Endertruhe", - "description": "Linksklick um eine Endertruhe in deiner Hand zu öffnen", - "lore1": "Klick auf eine Endertruhe in deiner Hand, um sie zu öffnen (nicht plazieren)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { "name": "Anti-Levitation", - "description": "Sind Sie es leid, in der Luft festzusitzen? Das ist die Fähigkeit für Sie!", - "lore1": "Schleichen Sie sich einfach zum Abstieg, und Sie werden weniger schnell fallen als normal!", - "lore2": "Abkühlen:" + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { "name": "Rift Gate", - "description": "Teleportiere dich zu einen markierten Ort", - "lore1": "CRAFTING: Smaragd + Amethystscherbe + Enderperle", - "lore2": "Vor Gebrauch lesen!", - "lore3": "5s Verzögerung, ", - "lore4": "Du kannst während der Animation sterben" + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "Rift Widerstand", - "description": "Erhalte Resistenz bei der Verwendung von Ender Gegenständen & Fähigkeiten", - "lore1": "+ Passiv: Bietet Widerstand, wenn du Rift-Fähigkeiten oder Ender Gegenstände benutzt", - "lore2": "Beinhält NICHT die tragbare Endertruhe, nur Dinge, die du verbrauchen kannst" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Organischer Sauerstofftank", - "description": "Halte mehr Sauerstoff in deinen kleinen Lungen!", - "lore1": "Erhöhung der Sauerstoffkapazität" - }, - "fishersfantasy": { - "name": "Phantasie des Fischers", - "description": "Erhalte mehr Erfahrung und mehr Fische beim Fischen!", - "lore1": "Für jedes Level gibt es eine Chance mehr Erfahrung und Fische zu erhalten" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "Schildkröten Miner", - "description": "Erhalte Eile beim Bergbau unter Wasser!", - "lore1": "Eile 3 wird während des Abbaus unter Wasser angewendet (stapelt sich mit Wasseraffinität), nachdem der Effekt der Wasseratmung nachlässt!" - }, - "nightvision": { - "name": "Vision der Schildkröte", - "description": "Erhalte Nachsicht, wenn du unter Wasser bist", - "lore1": "Erhalte Nachtsicht unter Wasser, wenn der Effekt der Wasseratmung nachlässt!" - }, - "dolphingrace": { - "name": "Gunst des Delfins", - "description": "Schwimm wie ein Delphin, ohne einen Delphin!", - "lore1": "+ Passiv: erhalte ", - "lore2": "x Geschwindigkeit (Gunst des Delfins)", - "lore3": "Präzise deutsche Ingenieeee.. - Moment, das ist nicht richtig..." + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Geister Rüstung", - "description": "Langsamer Aufbau von Rüstung, wenn kein Schaden erhalten wird. Hält für 1 Treffer an!", - "lore1": "Maximale Rüstung", - "lore2": "Geschwindigkeit" - }, - "nightvision": { - "name": "Heimliche Vision", - "description": "Erhalte Nachtsicht beim Schleichen", - "lore1": "Erhalte einen Schub von ", - "lore2": "night vision", - "lore3": "während dem Schleichen" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Schnappen", - "description": "Nimm sofort fallen gelassene Gegenstände auf während du schleichst ", - "lore1": "Schnappradius" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Schleichgeschwindigkeit", - "description": "Gewinne an Geschwindigkeit beim Schleichen", - "lore1": "Schleichgeschwindigkeit" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "Die Machete", - "description": "Schneide mit Leichtigkeit durchs Laub!", - "lore1": "Slash Radius", - "lore2": "Schlag Abklingzeit", - "lore3": "Werkzeugverschleiß" - }, - "bloodyblade": { - "name": "Blutige Klinge", - "description": "Schläge mit deinem Schwert verursachen Blutungen!", - "lore1": "Das Schlagen eines Lebewesens mit deinem Schwert verursacht Bluten", - "lore2": "Blutungsdauer", - "lore3": "Blutungs-Abklingzeit" - }, - "poisonedblade": { - "name": "Vergiftete Klinge", - "description": "Schläge mit deinem Schwert, verursachen Vergiftung!", - "lore1": "Das Schlagen eines Lebewesens mit deinem Schwert verursacht Vergiftung", - "lore2": "Vergiftungsdauer", - "lore3": "Vergiftungs-Abklingzeit" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Zähmbarer Schaden", - "description": "Erhöht den Schaden von gezähmten Tieren", - "lore1": "Erhöhter Schaden" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Zähmbare Gesundheit", - "description": "Erhöht die Gesundheit von gezähmten Tieren", - "lore1": "Erhöte Gesundheit" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Gezähmte Regeneration", - "description": "Erhöht die Gesundheitsregeneration von gezähmten Tieren", - "lore1": "HP/s" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "Dornen", - "description": "Reflektiert Schaden zurück auf den Angreifer!", - "lore1": "Schaden vergelten, wenn man getroffen wird" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Globus des Schmerzes", - "description": "Teilen Sie den Schaden, den Sie verursachen, basierend auf der Anzahl der Feinde um Sie herum!", - "lore1": "Je mehr Feinde um dich herum sind, desto weniger Schaden fügst du jedem von ihnen zu", - "lore2": "Bereich:", - "lore3": "Allen Entitäten Schaden zugefügt:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Wille des Schmerzes", - "description": "Gewinnen Sie Gesundheit basierend auf dem Schaden, den Sie verursachen!", - "lore1": "Es hat sich noch nie so gut angefühlt, Dinge zu verletzen! Heile durch verursachten Schaden", - "lore2": "Es gibt ein Schadensfenster von 3 Sekunden für Heilung und eine Abklingzeit von 1 Sekunde", - "lore3": "Heilung pro Schadensprozentsatz:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Leichenlanzen", - "description": "Wenn du einen Feind tötest oder die Fähigkeit besitzt, einen Feind zu töten, entsteht eine Lanze, die einem Feind in der Nähe Schaden zufügt!", - "lore1": "Lanzen zielen auf alles ab, was du tötest, UND wenn diese Fähigkeit einen Feind tötet.", - "lore2": "Opfere einen Teil deines Lebens, um die Lanzen herzustellen (dies kann dich töten)", - "lore3": "Max. Lanzen: 1 +" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Glaskanone", - "description": "Bonus auf unbewaffneten Schaden, je niedriger dein Rüstungswert ist", - "lore1": "x Schaden bei 0 Rüstung", - "lore2": "Pro Level Bonus Schaden" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Unbewaffnete Macht", - "description": "Verbessert unbewaffeten Schaden", - "lore1": "Schaden" - }, - "suckerpunch": { + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { "name": "Sucker Punch", - "description": "Sprint Schläge, aber tödlicher!", - "lore1": "Schaden", - "lore2": "Schaden erhöht sich mit der Geschwindigkeit beim Schlagen" + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/en_US.json b/src/main/resources/en_US.json index 2e2d03d3c..f5792c04d 100644 --- a/src/main/resources/en_US.json +++ b/src/main/resources/en_US.json @@ -262,26 +262,26 @@ } }, "items": { - "boundenderperal": { - "name": "Reliquary Portkey", - "usage1": "Shift + Left Click to bind", - "usage2": "Right Click to access the bound Inventory" - }, - "boundeyeofender": { - "name": "Ocular Anchor", - "usage1": "Right Click to consume and teleport to the bound location", - "usage2": "Shift + Left Click to bind to a block" - }, - "boundredstonetorch": { - "name": "Redstone Remote", - "usage1": "Right Click to create a 1-Tick Redstone pulse", - "usage2": "Shift + Left Click on a 'Target' Block to bind" - }, - "boundsnowball": { - "name": "Web Snare!", - "usage1": "Throw to create a temporary web trap at the location" - }, - "elevatorblock": { + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { "name": "Elevator Block", "usage1": "Jump to teleport up", "usage2": "Shift to teleport down", @@ -290,53 +290,51 @@ }, "snippets": { "gui": { - "level": "Level", - "knowledge": "knowledge", - "powerused": "Power Used", - "notlearned": "Not Learned", - "xp": "XP to", - "welcome": "Welcome!", - "welcomeback": "Welcome back!", - "xpbonusfortime": "XP for", - "maxabilitypower": "Maximum Ability Power", - "unlockthisbyclicking": "Unlock this by Right-Clicking: ", - "back": "Back", - "unlearnall": "Unlearn all", - "unlearnedall": "Unlearned all" - }, - "adaptmenu": { - "maynotunlearn": "YOU MAY NOT UNLEARN", - "mayunlearn": "YOU MAY LEARN/UNLEARN", - "knowledgecost": "Knowledge Cost", - "knowledgeavailable": "Knowledge Available", - "alreadylearned": "Already Learned", - "unlearnrefund": "Click to Unlearn & Refund", - "norefunds": "HARDCORE, REFUNDS DISABLED", - "knowledge": "knowledge", - "clicklearn": "Click to Learn", - "noknowledge": "(You don't have any Knowledge)", - "youonlyhave": "You only have", - "howtolevelup": "Level up skills to increase your max power.", - "notenoughpower": "Not enough power! Each Ability Level costs 1 power.", - "power": "power", - "powerdrain": "Power Drain", - "learned": "Learned ", - "unlearned": "Unlearned ", - "activatorblock": "Bookshelf" - }, - "knowledgeorb": { - "contains": "contains", - "knowledge": "knowledge", - "rightclick": "Right-Click", - "togainknowledge": "to gain this knowledge", - "knowledgeorb": "Knowledge Orb" - }, - "experienceorb": { - "contains": "contains", - "xp": "Experience", - "rightclick": "Right-Click", - "togainxp": "to gain this experience", - "xporb": "Experience Orb" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { @@ -353,9 +351,7 @@ "axes": { "name": "Axes", "icon": "\uD83E\uDE93", - "description1": "Why chop down trees, when you could chop ", - "description2": "things", - "description3": "instead, same end result!" + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { "name": "Brewing", @@ -454,751 +450,1066 @@ } }, "agility": { - "armorup": { - "name": "Armor-Up", + "armor_up": { + "name": "Armor Up", "description": "Get more armor the longer you sprint!", - "lore1": "Max Armor", - "lore2": "Armor-Up Time" + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] }, - "superjump": { + "super_jump": { "name": "Super Jump", "description": "Exceptional Height Advantage.", - "lore1": "Max Jump Height", - "lore2": "Sneak + Jump to Super Jump!" + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] }, - "walljump": { + "wall_jump": { "name": "Wall Jump", "description": "Hold shift while mid-air against a wall to wall latch & jump!", - "lore1": "Max Jumps", - "lore2": "Jump Height" + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] }, - "windup": { + "wind_up": { "name": "Wind Up", "description": "Get faster the longer you sprint!", - "lore1": "Max Speed", - "lore2": "Windup Time" + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { "elevator": { "name": "Elevator", "description": "This allows for you to build an elevator to teleport vertically fast!", - "lore1": "Unlocks elevator recipe: X=WOOL, Y=ENDER PEARL", - "lore2": "XXX", - "lore3": "XYX", - "lore4": "XXX" + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] }, "foundation": { "name": "Magic Foundation", "description": "This allows for you to sneak and place a temporary foundation beneath you!", - "lore1": "Magically create: ", - "lore2": "Blocks beneath you!" + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { "name": "Silk-Touch Glass", "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", - "lore1": "Your hands gain silk touch for Glass" + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] }, - "wirelessredstone": { + "wireless_redstone": { "name": "Redstone Remote", "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", - "lore1": "Target + Redstone Torch + Enderpearl = 1 Redstone Remote" + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { "name": "Builders Wand", "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", - "lore1": "You need", - "lore2": "blocks in your hand to place this", - "lore3": "A Material Builders Wand" + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { "name": "Axe Chop", "description": "Chop down trees by right clicking the base log!", - "lore1": "Blocks Per Chop", - "lore2": "Chop Cooldown", - "lore3": "Tool Wear" - }, - "logswap": { + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { "name": "Lucy's Log-Swapper", "description": "Change the flavor of logs in a Crafting Table!", - "lore1": "8 Log of any kind + 1 sapling = 8 log of the sapling's type" + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] }, - "droptoinventory": { - "name": "Axe Drop-To-Inventory" + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] }, - "groundsmash": { + "ground_smash": { "name": "Axe Ground Smash", "description": "Jump, then crouch and smash all nearby enemies.", - "lore1": "Damage", - "lore2": "Block Radius", - "lore3": "Force", - "lore4": "Smash Cooldown" - }, - "leafminer": { + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { "name": "Leaf-miner", "description": "Allows you to break bulk leaves at once!", - "lore1": "Sneak, and mine LEAVES", - "lore2": "range of Leaf-mining", - "lore3": "You will not get the drops from the leaves (Exploit Prevention)" + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] }, - "woodminer": { + "wood_miner": { "name": "Wood-miner", "description": "Allows you to break bulk wood at once!", - "lore1": "Sneak, and mine WOOD/LOGS ( Not Planks )", - "lore2": "range of Wood-mining", - "lore3": "Works with Drop to inventory" + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { "name": "Lingering Brew", "description": "Brewed potions last longer!", - "lore1": "Duration", - "lore2": "Duration" + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] }, - "superheated": { + "super_heated": { "name": "Super Heated Brew", "description": "Brewing stands work faster the hotter they are.", - "lore1": "Per Touching Fire Block", - "lore2": "Per Touching Lava Block" + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { "name": "Bottled Darkness", "description": "Not sure why you need this, but here you go!", - "lore1": "NightVision Potion + Black Concrete = Potion of Darkness (30 seconds)", - "lore2": "It Should be noted that This prevents the user from Sprinting!" + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { "name": "Bottled Haste", "description": "When Efficiency is not enough", - "lore1": "Speed Potion + Amethyst Shard = Potion of Haste (60 seconds)", - "lore2": "Speed Potion + Amethyst Block = Potion of Haste-2 (30 seconds)" + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { "name": "Bottled Absorption", "description": "Harden the body!", - "lore1": "Instant Heal + Quartz = Potion of Absorption (60 seconds)", - "lore2": "Instant Heal + Quartz Block = Potion of Absorption-2 (30 seconds)" + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { "name": "Bottled Fatigue", "description": "Weaken the body!", - "lore1": "Weakness Potion + Slime Ball = Potion of Fatigue (30 seconds)", - "lore2": "Weakness Potion + Slime Block = Potion of Fatigue-2 (15 seconds)" + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { "name": "Bottled Hunger", "description": "Feed the Insatiable!", - "lore1": "Awkward Potion + Rotten Flesh = Potion of Hunger (30 seconds)", - "lore2": "Weakness Potion + Rotten Flesh = Potion of Hunger-3 (15 seconds)" + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { "name": "Bottled Nausea", "description": "You make me sick!", - "lore1": "Awkward Potion + Brown Mushroom = Potion of Nausea (16 seconds)", - "lore2": "Awkward Potion + Crimson Fungus = Potion of Nausea-2 (8 seconds)" + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { "name": "Bottled Blindness", "description": "You're a horrible person...", - "lore1": "Awkward Potion + Ink sack = Potion of Blindness (30 seconds)", - "lore2": "Awkward Potion + Glowing Ink Sack = Potion of Blindness-2 (15 seconds)" + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { "name": "Bottled Resistance", "description": "Fortification at its finest!", - "lore1": "Awkward Potion + Iron Ingot = Potion of Resistance (60 seconds)", - "lore2": "Awkward Potion + Iron Block = Potion of Resistance-2 (30 seconds)" + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] }, - "healthboost": { + "health_boost": { "name": "Bottled Life", "description": "When Maximum health is not enough...", - "lore1": "Instant-Healing Potion + Golden Apple = Potion of Health Boost (120 seconds)", - "lore2": "Instant-Healing Potion + Enchanted Golden Apple = Potion of Health Boost-2 (120 seconds)" + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { "name": "Bottled Decay", "description": "Who knew Detritus would be so useful?", - "lore1": "Weakness Potion + Poisonous Potato = Potion of Wither (16 seconds)", - "lore2": "Weakness Potion + Crimson Roots = Potion of Wither-2 (8 seconds)" + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { "name": "Bottled Saturation", "description": "Ya know... Im not even Hungry...", - "lore1": "Regen Potion + Baked Potato = Potion of Saturation", - "lore2": "Regen Potion + Hay Bale = Potion of Saturation-2" + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { + "chain_armorer": { "name": "Chains of Mephistopheles", "description": "Allows you to craft Chainmail Armor", - "lore1": "The Crafting recipe is the same as any other, but with iron nuggets instead" + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] }, - "horsearmorer": { + "horse_armorer": { "name": "Craftable Horse Armor", "description": "Allows you to craft Horse Armor", - "lore1": "Surround a saddle with the material you want to use to craft the armor" + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] }, - "saddlecrafter": { + "saddle_crafter": { "name": "Craftable Saddle", "description": "Craft a Saddle with Leather", - "lore1": "Recipe: 5 Leather:" + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] }, - "multiarmor": { + "multi_armor": { "name": "Multi-Armor", "description": "Bind Elytras to Armor", - "lore1": "This Is an amazing skill for traveling.", - "lore2": "Dynamically merge and change Armor/Elytra on the Fly!", - "lore3": "To merge, shift click an item over another in your inventory.", - "lore4": "To unbind Armor, Sneak-Drop the item, and it will disassemble.", - "lore5": "If your MultiArmor is destroyed, you will lose all items in it.", - "lore6": "I Don't need armor, It disappoints me..." + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { "name": "Deconstruction", "description": "Deconstruct blocks & items into salvageable base components!", - "lore1": "Drop any item on the ground.", - "lore2": "Then, Sneak and Right-Click with Shears" + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { "name": "Crafting XP", "description": "Gain passive XP when crafting", - "lore1": "Gain XP when crafting" + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { "name": "Ore Reconstruction", "description": "Recraft ores from their base components!", - "lore1": "8 of the Drops and 1 Host = 1 Ore (shapeless)", - "lore2": "Drops must be smelted (if applicable)", - "lore3": "Not including: Scraps, Quarts, and Emeralds etc...", - "lore4": "Host = Encasement. ie: Stone, Netherack, Deepslate" + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { "name": "Craftable Leather", "description": "Craft Leather from Rotten Flesh", - "lore1": "Just toss it(rotten flesh) on the campfire!" + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { "name": "A Boutilier's Backpacks!", "description": "This just Brings the Mojang Bundle into the game!", - "lore1": "You need to be in Survival to use this", - "lore2": "XLX : Leather, Lead, Leather", - "lore3": "XSX : Leather, Barrel Box, Leather", - "lore4": "XCX : Leather, Chest, Leather" + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { "name": "Portable Tables!", "description": "Use a table in the palm of your hand!", - "lore2": "ANY ITEMS THAT YOU FORGET IN THE TABLE WHEN CLOSED ARE LOST FOREVER!", - "lore3": "Valid tables: Anvil, Crafting, Grindstone, Cartography, Stone-Cutter, Loom" + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { "name": "Craftable skulls!", "description": "Using Materials you can Craft Mob Skulls!", - "lore1": "Surround a Bone Block with the following to get a skull:", - "lore2": "Zombie: Rotting Flesh", - "lore3": "Skeleton: Bone", - "lore4": "Creeper: Gunpowder", - "lore5": "Wither: Nether Brick", - "lore6": "Dragon: Dragons Breath" + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { "name": "World Armor", "description": "Passive armor depending on nearby block hardness.", - "lore1": "Passive Armor", - "lore2": "Based on nearby block hardness", - "lore3": "Armor Strength:" + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { "name": "Experimental Unity", "description": "Collecting Experience Orbs adds XP to random skills.", - "lore1": "XP ", - "lore2": "Per Orb" + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { "name": "Experimental Resistance", "description": "Consume experience to mitigate the damage you take from all sources", - "lore0": "This may only occur once per 15 seconds", - "lore1": " Reduced Damage", - "lore2": "experience drained" + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { "name": "Villager Attraction", "description": "Allows for you to get Better trades with villagers!", - "lore1": "This consumes XP per interaction with Villagers", - "lore2": "Chance Per interaction to consume XP, and enhance trades", - "lore3": "required XP drain per Interaction" + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { + "lapis_return": { "name": "Lapis Return", "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", - "lore1": "For every level, it increases the cost of enchanting, by 1, but can return upwards of 3 Lapis" + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] }, - "quickenchant": { + "quick_enchant": { "name": "Quick-Click Enchant", "description": "Enchant items by clicking enchant books directly on them.", - "lore1": "Max Combined Levels", - "lore2": "Cannot Enchant an item with more than ", - "lore3": "power" + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { "name": "XP Return", "description": "Enchanting XP is returned to you when you enchant an item.", - "lore1": "Experience spent has a chance to be refunded when you enchant an item", - "lore2": "Experience per Enchant" + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { "name": "Hasty Excavator", "description": "This will speed up the excavation process, with HASTE!", - "lore1": "Gain Haste while excavating", - "lore2": "x Levels of haste when you start mining ANY block." + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { "name": "Super-Seeing Spelunker!", "description": "See Ores with your eyes, but through the ground!", - "lore1": "Ore in your offhand, Glowberries in your main hand, and Sneak!", - "lore2": "Block Range: ", - "lore3": "Consumes Glowberry on use" - }, - "droptoinventory": { - "name": "Shovel Drop-To-Inventory" + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] }, - "omnitool": { + "omni_tool": { "name": "OMNI - T.O.O.L.", "description": "Tackle's overdesigned opulent Leatherman", - "lore1": "Probably the most powerful of many allows you to", - "lore2": "dynamically merge and change tools on the fly, based on your needs.", - "lore3": "To merge, shift click an item over another in your inventory.", - "lore4": "To unbind tools, Sneak-Drop the item, and it will disassemble.", - "lore5": "You can't break tools in this leatherman but you can't use broken tools", - "lore6": "total merge-able items.", - "lore7": "You could use five or six tools, or just one!" + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { + "growth_aura": { "name": "Growth Aura", "description": "Grow nature around you in an aura", - "lore1": "Block Radius", - "lore2": "Growth Aura Strength", - "lore3": "Food Cost" + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { "name": "Herbalist's Hippo", "description": "Consuming food, gives you more saturation", - "lore1": "Food) additional saturation points on consumption" + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { "name": "Herbalist's Myconid", "description": "Gives you the ability to craft Mycelium", - "lore1": "Any Dirt, and a Brown & Red Mushroom will craft Mycelium." + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { "name": "Herbalist's Terralid", "description": "Gives you the ability to craft Grass Blocks", - "lore1": "Three Seeds, over 3 Dirt, will craft 3 Grass Blocks." + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { "name": "Webby Creator", "description": "Gives you the ability to craft Cobwebs in a Crafting Table", - "lore1": "Nine String, will craft a Cobweb." + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] }, - "mushroomblocks": { + "mushroom_blocks": { "name": "Mushroom Maker", "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", - "lore1": "Four Mushrooms to make a block, or a block to make a stem." - }, - "droptoinventory": { - "name": "Hoe Drop-To-Inventory" - }, - "hungryshield": { + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { "name": "Hungry Shield", "description": "Take damage to your hunger before your health.", - "lore1": "Resisted by Hunger" + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { "name": "Herbalist's Luck", "description": "When you break Grass/Flowers, you have a chance to get a random item", - "lore0": "Flowers = Food, and Grass = Seeds", - "lore1": "Chance to get an item from breaking Flowers", - "lore2": "Chance to get an item from breaking Grass" + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { "name": "Harvest & Replant", "description": "Right click a crop with a hoe to harvest & replant it.", - "lore1": "Blocks Replant Radius" + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { "name": "Adrenaline", "description": "Deal more damage the lower health you are (Melee)", - "lore1": "Max Damage" + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { "name": "", "description": "", - "lore1": "You will Gain Poison stacks if you run out of hunger" + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] }, - "droptoinventory": { + "drop_to_inventory": { "name": "Items Drop-To-Inventory", "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", - "lore1": "Whenever an item is dropped from a mob/block you break it goes into your inventory if it can." + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { "name": "Vanishing Step", "description": "When you are struck you gain invisibility, at the cost of hunger", - "lore1": "Gain passive invisibility when struck", - "lore2": "x Invisibility stacks for a 3 seconds on hit", - "lore3": "x Stacking hunger", - "lore4": "Hunger stacks duration and multiplier.", - "lore5": "Invisibility duration" - }, - "jumpboost": { + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { "name": "Hunter's Heights", "description": "When you are struck you gain jump-boost, at the cost of hunger", - "lore1": "Gain passive jump-boost when struck", - "lore2": "x Jump-Boost stacks for a 3 seconds on hit", - "lore3": "x Stacking hunger", - "lore4": "Hunger stacks duration and multiplier.", - "lore5": "Jump-Boost stacks multiplier, not duration." + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { "name": "Hunter's Luck", "description": "When you are struck you gain luck, at the cost of hunger", - "lore1": "Gain passive luck when struck", - "lore2": "x Luck stacks for a 3 seconds on hit", - "lore3": "x Stacking hunger", - "lore4": "Hunger stacks duration and multiplier.", - "lore5": "Luck stacks multiplier, not duration." + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { "name": "Hunter's Regen", "description": "When you are struck you gain regeneration, at the cost of hunger", - "lore1": "Gain passive regeneration when struck", - "lore2": "x Regeneration stacks for a 3 seconds on hit", - "lore3": "x Stacking hunger", - "lore4": "Hunger stacks duration and multiplier.", - "lore5": "Regeneration stacks multiplier, not duration." + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { "name": "Hunter's Resistance", "description": "When you are struck you gain resistance, at the cost of hunger", - "lore1": "Gain passive resistance when struck", - "lore2": "x Resistance stacks for a 3 seconds on hit", - "lore3": "x Stacking hunger", - "lore4": "Hunger stacks duration and multiplier.", - "lore5": "Resistance stacks multiplier, not duration." + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { "name": "Hunter's Speed", "description": "When you are struck you gain speed, at the cost of hunger", - "lore1": "Gain passive speed when struck", - "lore2": "x Speed stacks for a 3 seconds on hit", - "lore3": "x Stacking hunger", - "lore4": "Hunger stacks duration and multiplier.", - "lore5": "Speed stacks multiplier, not duration." + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { "name": "Hunter's Strength", "description": "When you are struck you gain strength, at the cost of hunger", - "lore1": "Gain passive strength when struck", - "lore2": "x Strength stacks for a 3 seconds on hit", - "lore3": "x Stacking hunger", - "lore4": "Hunger stacks duration and multiplier.", - "lore5": "Strength stacks multiplier, not duration." + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { + "skull_toss": { "name": "Wither Skull Throw", - "description1": "Unleash your inner Wither by using", - "description2": "someones", - "description3": "head.", - "lore1": "Seconds of cooldown between skull tosses.", - "lore2": "Using Wither Skull: Toss a ", - "lore3": "Wither Skull", - "lore4": "exploding on impact." - }, - "witherresist": { + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { "name": "Wither Resistance", "description": "Resists withering through the power of Netherite.", - "lore1": "chance to negate withering (per piece).", - "lore2": "Passive: Wearing Netherite Armor has a chance to negate ", - "lore3": "withering." + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] }, - "fireresist": { + "fire_resist": { "name": "Fire Resistance", "description": "Resists fire by hardening your skin.", - "lore1": "chance to negate the burning effect!" + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { + "auto_smelt": { "name": "Autosmelt", "description": "Allows you to smelt mined Vanilla ores", - "lore1": "Ores that can be smelted are smelted automatically", - "lore2": "% chance for an extra" + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { "name": "Ore Chisel", "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", - "lore1": "Chance to Drop", - "lore2": "Tool Wear" + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] }, - "droptoinventory": { + "drop_to_inventory": { "name": "Pickaxe Drop-To-Inventory", "description": "When you break a block it teleports the item into your inventory", - "lore1": "Whenever an item is dropped from a block you break it goes into your inventory if it can." + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] }, - "silkspawner": { + "silk_spawner": { "name": "Pickaxe Silk-Spawner", "description": "Makes Spawners drop when broken", - "lore1": "Makes Spawners breakable with silk touch.", - "lore2": "Makes Spawners breakable while sneaking." + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } }, - "veinminer": { + "vein_miner": { "name": "Veinminer", "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", - "lore1": "Sneak, and mine ORES", - "lore2": "range of vein-mining", - "lore3": "This skill does NOT group all drops together!" + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { + "arrow_recovery": { "name": "Arrow Recovery", "description": "Recover Arrows after you have killed an enemy.", - "lore1": "Chance to Recover Arrows on Hit/Kill", - "lore2": "Chance: " + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] }, - "webshot": { + "web_shot": { "name": "Web Snare", "description": "Surround cobwebs around your target when you hit them!", - "lore1": "8 Cobwebs around a Snowball, and throw!", - "lore2": "seconds of a cage, roughly." + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] }, - "forceshot": { + "force_shot": { "name": "Force Shot", "description": "Shoot projectiles further, faster!", - "advancementname": "Long Shot", - "advancementlore": "Land a shot from over 30 blocks away!", - "lore1": "Projectile Speed" + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] }, - "lungeshot": { + "lunge_shot": { "name": "Lunge Shot", "description": "While falling your arrows toss you in a random direction", - "lore1": "Random Burst Speed" + "lore": [ + "+ {0} Random Burst Speed" + ] }, - "arrowpiercing": { + "arrow_piercing": { "name": "Arrow Piercing", "description": "Adds Piercing to projectiles! Shoot through things!", - "lore1": "Pierce Targets" + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { + "remote_access": { "name": "Remote Access", "description": "Pull from the void, and get into a marked container.", - "lore1": "Enderpearl + Compass = Reliquary Portkey", - "lore2": "This item allows you to access containers remotely", - "lore3": "Once crafted look at item to see usage", - "notcontainer": "That's not a container" + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { "name": "Rift Blink", "description": "Short ranged instant teleportation, Just a blink away!", - "lore1": "Blocks on blink (2x Vertical)", - "lore2": "While Sprinting: Double tap Jump to ", - "lore3": "Blink" + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { "name": "Easy Enderchest", "description": "Open an enderchest by Left-clicking it in your hand.", - "lore1": "Click an Enderchest in your hand to open (Just dont place it)" + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { "name": "Anti-Levitation", "description": "Are you tired of being stuck in the air? This is the skill for you!", - "lore1": "Just Sneak to descend, and you will fall at a less than normal rate!", - "lore2": "Cooldown:" + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { "name": "Rift Gate", "description": "Teleport to a marked location.", - "lore1": "CRAFTING: Emerald + Amethyst shard + Ender Pearl", - "lore2": "Read before using!", - "lore3": "5s delay, ", - "lore4": "you can die while you are in this animation" + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { "name": "Rift Resistance", "description": "Gain Resistance when using Ender Items & Abilities", - "lore1": "+ Passive: Provides resistance when you use rift abilities, or Ender Items", - "lore2": "NOT Including Portable Enderchest, only things you can Consume" + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] }, "visage": { "name": "Rift Visage", "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", - "lore1": "Endermen will not become aggressive if you have Enderpearls in your inventory." + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { "name": "Organic Oxygen Tank", "description": "Hold more oxygen in your tiny lungs!", - "lore1": "Oxygen Capacity Increase" + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] }, - "fishersfantasy": { + "fishers_fantasy": { "name": "Fisher's Fantasy", "description": "Earn more XP from fishing, and get more fish!", - "lore1": "For each level there is a chance to get more XP and Fish!" + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { "name": "Turtle Miner", "description": "While mining underwater you gain haste!", - "lore1": "Haste 3 is applied underwater while mining (stacks with AquaAffinity) after your water breathing effect wears off!" - }, - "nightvision": { + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { "name": "Turtle's Vision", "description": "While underwater, you gain Night Vision", - "lore1": "Simply gain Night Vision while underwater after your water breathing effect wears off!" + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] }, - "dolphingrace": { + "dolphin_grace": { "name": "Dolphin's Grace", "description": "Swim like a dolphin, without the dolphins", - "lore1": "+ Passive: gain ", - "lore2": "x speed (dolphins grace)", - "lore3": "precision german engineeeri- wait that's not right... Not Compatible with Depth Strider" + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { + "ghost_armor": { "name": "Ghost's Armor", "description": "Slow building armor when not taking damage, Lasts for 1 hit", - "lore1": "Max Armor", - "lore2": "Speed" - }, - "nightvision": { + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { "name": "Stealth Vision", "description": "Gain night vision while sneaking", - "lore1": "Gain a burst of ", - "lore2": "night vision", - "lore3": "while sneaking" + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { "name": "Item Snatch", "description": "Snatch Dropped items instantly while sneaking!", - "lore1": "Snatch Radius" + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { "name": "Sneak Speed", "description": "Gain speed while sneaking", - "lore1": "Sneaking Speed" + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] }, - "enderveil": { + "ender_veil": { "name": "Enderveil", "description": "No more Pumpkins to prevent Enderman attacks", - "lore1": "Prevent enderman attacks while sneaking", - "lore2": "Prevent all enderman attacks" + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { "name": "Machete", "description": "Cut through foliage with ease!", - "lore1": "Slash Radius", - "lore2": "Chop Cooldown", - "lore3": "Tool Wear" - }, - "bloodyblade": { + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { "name": "Bloody Blade", "description": "Strikes with your sword, cause Bleeding!", - "lore1": "Striking a Living entity with your Sword causes Bleeding", - "lore2": "Bleed Duration", - "lore3": "Bleed Cooldown" + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] }, - "poisonedblade": { + "poisoned_blade": { "name": "Poisoned Blade", "description": "Strikes with your sword, cause Poison!", - "lore1": "Striking a Living entity with your Sword causes Poison", - "lore2": "Poison Duration", - "lore3": "Poison Cooldown" + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { "name": "Tame Damage", "description": "Increase your tamed animal damage dealt.", - "lore1": "Increased Damage" + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { "name": "Tame Health", "description": "Increase your tamed animal health.", - "lore1": "Increased Health" + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { "name": "Tame Regeneration", "description": "Increase your tamed animal regeneration.", - "lore1": "HP/s" + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { "name": "Thorns", "description": "Reflect damage back to your attacker!", - "lore1": "Damage retaliated when struck" + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { "name": "Globe of Pain", "description": "Divide the Damage you deal based on the number of enemies around you!", - "lore1": "The more enemies around you, the less damage you deal to each of them", - "lore2": "Range: ", - "lore3": "Added Damage to all Entities: " + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { "name": "Will of Pain", "description": "Regain health based on the damage you deal!", - "lore1": "Harming things has never felt so good! Heal from Damage Dealt", - "lore2": "There is a 3 Second damage window, for healing and a 1 Second cooldown ", - "lore3": "Healing Per Damage Percent: " + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { "name": "Corpse Lances", "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", - "lore1": "Lances will Seek out from anything you kill, AND if This ability kills an enemy.", - "lore2": "Sacrifice a portion of your life in order to create the lances (this can kill you)", - "lore3": "Max Lances: 1 + " + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { + "glass_cannon": { "name": "Glass Cannon", "description": "Bonus Unarmed Damage the lower your armor value is", - "lore1": "x Damage at 0 armor", - "lore2": "PerLevel Bonus Damage" + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { "name": "Unarmed Power", "description": "Improved Unarmed Damage", - "lore1": "Damage" + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] }, - "suckerpunch": { + "sucker_punch": { "name": "Sucker Punch", "description": "Sprint punches, but more deadly.", - "lore1": "Damage", - "lore2": "Damage increases by with your speed while punching" + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/es_ES.json b/src/main/resources/es_ES.json index dea09a1b8..2e6fa9b6e 100644 --- a/src/main/resources/es_ES.json +++ b/src/main/resources/es_ES.json @@ -231,912 +231,1285 @@ "challenge_pickaxe_5m": { "title": "Minero legendario", "description": "Rompe 5,000,000 Bloques" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "name": "Traslador relicario", - "usage1": "Mayús + clic izquierdo para enlazar", - "usage2": "Haga clic con el botón derecho para acceder al inventario enlazado" - }, - "boundeyeofender": { - "name": "ancla ocular", - "usage1": "Haga clic derecho para consumir y teletransportarse a la ubicación enlazada", - "usage2": "Shift + clic izquierdo para enlazar a un bloque" - }, - "boundredstonetorch": { - "name": "Mando a distancia de piedra roja", - "usage1": "Haga clic con el botón derecho para crear un pulso Redstone de 1 tic", - "usage2": "Mayús + clic izquierdo en un bloque 'Objetivo' para enlazar" - }, - "boundsnowball": { - "name": "¡Trampa web!", - "usage1": "Lanzar para crear una trampa web temporal en la ubicación" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Nivel", - "knowledge": "Conocimiento", - "powerused": "Poder Utilizado", - "notlearned": "No aprendido", - "xp": "XP a", - "welcome": "¡Bienvenidos!", - "welcomeback": "¡Bienvenido de nuevo!", - "xpbonusfortime": "XP para", - "unlockthisbyclicking": "Desbloquee esto haciendo clic derecho:", - "back": "atrás", - "unlearnall": "Desaprender todo", - "unlearnedall": "desaprendido todo" - }, - "adaptmenu": { - "maynotunlearn": "NO PUEDES DESAPRENDER", - "mayunlearn": "PUEDES APRENDER/DESAPRENDER", - "knowledgecost": "Coste del conocimiento", - "knowledgeavailable": "Conocimiento disponible", - "alreadylearned": "Ya aprendido", - "unlearnrefund": "Haga clic para desaprender y reembolsar", - "norefunds": "HARDCORE, REEMBOLSOS DESHABILITADOS", - "knowledge": "Conocimiento", - "clicklearn": "Haga clic para aprender", - "noknowledge": "(No tienes ningún Conocimiento)", - "youonlyhave": "Sólo tienes", - "howtolevelup": "Subir de nivel las habilidades para aumentar tu poder máximo.", - "notenoughpower": "¡No tienes suficiente poder! Cada nivel de habilidad cuesta 1 poder.", - "power": "Poder", - "powerdrain": "Drenaje de energía", - "learned": "Aprendida ", - "unlearned": "No aprendido ", - "activatorblock": "Estante para libros" - }, - "knowledgeorb": { - "contains": "Contiene", - "knowledge": "Conocimiento", - "rightclick": "Clic derecho", - "togainknowledge": "Para obtener este conocimiento", - "knowledgeorb": "Orbe de conocimiento" - }, - "experienceorb": { - "contains": "Contiene", - "xp": "Experiencia", - "rightclick": "Clic derecho", - "togainxp": "Para ganar esta experiencia", - "xporb": "Orbe de Experiencia" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Agilidad", + "name": "Agility", "icon": "⇉", - "description": "La agilidad es la capacidad de moverse con rapidez y fluidez." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Arquitecto", + "name": "Architect", "icon": "⬧", - "description": "Las estructuras son los bloques de construcción del mundo. La realidad está en tus manos, la controlas tú." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Ejes", - "icon": "❖", - "description1": "Por qué cortar árboles, cuando puedes cortar ", - "description2": "cosas", - "description3": "en su lugar, ¡el mismo resultado final!" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Elaboración de la cerveza", - "icon": "❖", - "description": "Burbuja doble, burbuja triple, burbuja cuádruple - Todavía no puedo poner esta poción en un caldero" + "name": "Brewing", + "icon": "❦", + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Bloqueo", - "icon": "▒", - "description": "Palos y piedras no romperán tus huesos, pero un escudo sí." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Craftear", - "icon": "❖", - "description": "Sin más piezas que colocar, ¿por qué no hacer otra?" + "name": "Crafting", + "icon": "⌂", + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Descubrimiento", + "name": "Discovery", "icon": "⚛", - "description": "A medida que tu Percepción se expande, tu mente se desenvuelve para descubrir lo que no" + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Encantador", - "icon": "⚜", - "description": "¿De qué se trata? Profecías, visiones, chácharas supersticiosas?" + "name": "Enchanting", + "icon": "♰", + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Excavación", - "icon": "✥", - "description": "Diggey Diggey hole..." + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "Hierbalismo", + "name": "Herbalism", "icon": "⚘", - "description": "No puedo encontrar ninguna planta, pero puedo encontrar algunas semillas y- es que... ¿Hierba?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "Cazador", + "name": "Hunter", "icon": "☠", - "description": "La caza consiste en el viaje, no en el resultado." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "nether", + "name": "Nether", "icon": "₪", - "description": "Desde las profundidades del propio Nether." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Pico", + "name": "Pickaxe", "icon": "⛏", - "description": "Los enanos son los mineros, pero he aprendido un par de cosas en mi tiempo. SOY SUECO" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "A Distancia", + "name": "Ranged", "icon": "🏹", - "description": "La distancia es la clave de la victoria, y la clave de la supervivencia." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "Grieta", + "name": "Rift", "icon": "❍", - "description": "La Grieta es un arnés cáustico, pero tú has aprovechado el arnés." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "Maritimo", - "icon": "🌊", - "description": "Con esta habilidad, puedes hacer las maravillas del reyno del agua" + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "Sigilo", - "icon": "✠", - "description": "El arte de lo que no se ve. Camina entre las sombras." + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Espadas", + "name": "Swords", "icon": "⚔", - "description": "¡Por el poder de la Piedra Gris!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "Domando", + "name": "Taming", "icon": "♥", - "description": "Los loros y las abejas... ¿y tú?" + "description": "The parrots and the bees... and you?" }, "tragoul": { "name": "TragOul", - "icon": "▼", - "description": "La sangre corre por las venas del universo.Apretado por tus manos." + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "Cronos", - "icon": "۞", - "description": "La cuerda al reloj del universo experimenta el fluir.Rompe el reloj y conviertete en el." + "name": "Chronos", + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "Desarmado", - "icon": "⚜", - "description": "Sin arma no es sin fuerza" + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Armadura", - "description": "¡Consigue más armadura cuanto más tiempo corras!", - "lore1": "Armadura máxima", - "lore2": "Tiempo de Armadura" - }, - "superjump": { - "name": "Súper salto", - "description": "Ventaja de altura excepcional", - "lore1": "Altura máxima de salto", - "lore2": "Agachate + salta y saltaras super alto!" - }, - "walljump": { - "name": "Salto de pared", - "description": "Mantén el turno mientras estás en el aire contra una pared para engancharla y saltar.", - "lore1": "Salto máximo", - "lore2": "Altura de salto" - }, - "windup": { - "name": "Sube el ritmo", - "description": "Acelera cuanto más tiempo corras.", - "lore1": "Velocidad máxima", - "lore2": "Tiempo de aceleración" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "Fundación mágica", - "description": "¡Esto te permite escabullirte y colocar una base temporal debajo de ti!", - "lore1": "Crea mágicamente : ", - "lore2": "¡Bloques debajo de ti!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Vidrio con tacto de seda", - "description": "Esto te permite evitar esencialmente la pérdida de bloques de cristal cuando los rompes con la mano vacía.", - "lore1": "Tus manos ganan el toque de seda para el vidrio" - }, - "wirelessredstone": { - "name": "Mando a distancia de piedra roja", - "description": "¡Esto le permite usar una antorcha de piedra roja para alternar la piedra roja, de forma remota!", - "lore1": "Objetivo + Antorcha Redstone + Enderperal = 1 Control remoto Redstone" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Varita de constructor", - "description": "te permite colocar varios bloques a la vez para activar el Colocador, ¡y sostener un bloque que coincida con el que estás buscando y colocarlo! Ten en cuenta que es posible que tengas que moverte un poco para activar la limitación de las cajas.", - "lore1": "Necesitas", - "lore2": "bloques en tu mano para colocar esto", - "lore3": "Una varita de constructor de materiales" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Hacha de corte", - "description": "Corta los árboles haciendo clic con el botón derecho del ratón en el tronco base.", - "lore1": "Bloques por corte", - "lore2": "Recarga del corte", - "lore3": "Desgaste de la herramienta" - }, - "logswap": { - "name": "Intercambiador de troncos de Lucy", - "description": "¡Cambia el sabor de los troncos en una mesa de elaboración!", - "lore1": "1 tronco de cualquier tipo + 1 árbol joven = 1 tronco del tipo del árbol joven" - }, - "droptoinventory": { - "name": "Hachas de caída al inventario" - }, - "groundsmash": { - "name": "Golpe de tierra con el hacha", - "description": "Salta, agáchate y golpea a todos los enemigos cercanos.", - "lore1": "Daño", - "lore2": "Radio de bloqueo", - "lore3": "Fuerza", - "lore4": "Recarga de Smash" - }, - "leafminer": { - "name": "minero de hojas", - "description": "¡Te permite romper hojas a granel a la vez!", - "lore1": "Shiftea, y las mías HOJAS", - "lore2": "gama de Leaf-mining", - "lore3": "No obtendrás los drops de las hojas (Prevención de exploits)" - }, - "woodminer": { - "name": "minero de madera", - "description": "¡Le permite romper madera a granel a la vez!", - "lore1": "Escabullirse y extraer MADERA/TRONCOS (no tablones)", - "lore2": "gama de madera-minería", - "lore3": "Funciona con Drop to Inventory" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "Brebaje persistente", - "description": "Las pociones elaboradas duran más.", - "lore1": "Duración", - "lore2": "Duración" - }, - "superheated": { - "name": "Elaboración de cerveza supercaliente", - "description": "Los puestos de elaboración de cerveza funcionan más rápido cuanto más calientes estén.", - "lore1": "Por tocar el bloque de fuego", - "lore2": "Por tocar el bloque de lava" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "Oscuridad embotellada", - "description": "No estoy seguro de por qué necesitas esto, ¡pero aquí tienes!", - "lore1": "Poción de visión nocturna + Concreto negro = Poción de oscuridad (30 segundos)", - "lore2": "Cabe señalar que ¡Esto evita que el usuario Sprinte!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "Prisa embotellada", - "description": "Cuando la eficiencia no es suficiente", - "lore1": "Poción de velocidad + Fragmento de amatista = Poción de celeridad (60 segundos)", - "lore2": "Poción de velocidad + Bloque de amatista = Poción de celeridad-2 (30 segundos)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Absorción embotellada", - "description": "¡Endurezca el cuerpo!", - "lore1": "Curación instantánea + Cuarzo = Poción de absorción (60 segundos)", - "lore2": "Curación instantánea + Bloque de cuarzo = Poción de absorción-2 (30 segundos)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Fatiga embotellada", - "description": "¡Debilita el cuerpo!", - "lore1": "Poción de debilidad + Bola de baba = Poción de fatiga (30 segundos)", - "lore2": "Poción de debilidad + Bloque de limo = Poción de fatiga-2 (15 segundos)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Hambre embotellada", - "description": "¡Alimenta a los insaciables!", - "lore1": "Poción incómoda + Carne podrida = Poción de hambre (30 segundos)", - "lore2": "Poción de debilidad + Carne podrida = Poción de hambre-3 (15 segundos)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "náuseas embotelladas", - "description": "¡Me das asco!", - "lore1": "Poción incómoda + Champiñón marrón = Poción de náuseas (16 segundos)", - "lore2": "Poción incómoda + Hongo carmesí = Poción de náuseas-2 (8 segundos)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Ceguera embotellada", - "description": "Eres una persona horrible...", - "lore1": "Poción incómoda + Saco de tinta = Poción de ceguera (30 segundos)", - "lore2": "Poción incómoda + Saco de tinta brillante = Poción de ceguera-2 (15 segundos)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Resistencia embotellada", - "description": "¡Fortificación en su máxima expresión!", - "lore1": "Poción incómoda + Lingote de hierro = Poción de resistencia (60 segundos)", - "lore2": "Poción incómoda + Bloque de hierro = Poción de resistencia-2 (30 segundos)" - }, - "healthboost": { - "name": "Vida embotellada", - "description": "Cuando la salud máxima no es suficiente...", - "lore1": "Poción de curación instantánea + Manzana dorada = Poción de mejora de la salud (120 segundos)", - "lore2": "Poción de curación instantánea + Manzana dorada encantada = Poción de potenciador de salud-2 (120 segundos)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Deterioro embotellado", - "description": "¿Quién sabía que Detritus sería tan útil?", - "lore1": "Poción de debilidad + Patata venenosa = Poción de Wither (16 segundos)", - "lore2": "Poción de debilidad + Raíces carmesí = Poción de Wither-2 (8 segundos)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Saturación embotellada", - "description": "Ya sabes... ni siquiera tengo hambre...", - "lore1": "Poción de regeneración + Patata al horno = Poción de saturación", - "lore2": "Regen Potion + Hay Bale = Poción de saturación-2" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Cadenas de Mefistófeles", - "description": "Te permite fabricar una armadura de cota de malla.", - "lore1": "La receta de Elaboración es la misma que cualquier otra, pero con pepitas de hierro en su lugar." - }, - "horsearmorer": { - "name": "Armadura de caballo fabricable", - "description": "Te permite fabricar armaduras de caballo.", - "lore1": "Rodea una silla de montar con el material que quieras usar para fabricar la armadura." - }, - "saddlecrafter": { - "name": "Silla de montar fabricable", - "description": "Fabrica una silla de montar con cuero", - "lore1": "Receta: 5 Cuero:" - }, - "multiarmor": { - "name": "Multi-Armadura", - "description": "Vincular élitros a la armadura", - "lore1": "Esta es una habilidad increíble para viajar.", - "lore2": "¡Fusiona y cambia dinámicamente Armor/Elytra sobre la marcha!", - "lore3": "para fusionar, haga clic en un elemento sobre otro en su inventario.", - "lore4": "para desvincular la Armadura, Sneak-Drop el artículo, y se desarmará.", - "lore5": "Si se destruye su MultiArmor, perderá todos los elementos que contenga.", - "lore6": "No necesito armadura, me decepciona..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Deconstrucción", - "description": "Deconstruye bloques y objetos para convertirlos en componentes básicos recuperables.", - "lore1": "Coloca cualquier item + tijeras", - "lore2": "en una mesa de herrería para deconstruir." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "XP de artesanía", - "description": "Gana experiencia pasiva cuando construyes.", - "lore1": "Gana XP al craftear" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Reconstrucción de minerales", - "description": "¡Reconstruye los minerales a partir de sus componentes básicos!", - "lore1": "8 de minerales y 1 Host = 1 mineral (sin forma)", - "lore2": "Los ores deben ser fundidas (si corresponde)", - "lore3": "No incluye: Desechos, Cuartos, Esmeraldas, etc...", - "lore4": "Anfitrión = Revestimiento. es decir: Piedra, Netherack, Deepslate" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Cuero artesanal", - "description": "Fabricar cuero a partir de carne podrida", - "lore1": "¡Solo tíralo (carne podrida) en la fogata!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "¡Mochilas de Boutilier!", - "description": "¡Esto solo trae el Mojang Bundle al juego!", - "lore1": "Necesitas estar en Supervivencia para usar esto", - "lore2": "XLX : Cuero, Plomo, Cuero", - "lore3": "XSX : Cuero, Caja Shulker, Cuero", - "lore4": "XCX : Cuero, Cofre, Cuero" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "¡Mesas portátiles!", - "description": "¡Usa una mesa en la palma de tu mano!", - "lore2": "¡CUALQUIER ARTÍCULO QUE OLVIDE EN LA MESA CUANDO CERRADO SE PIERDE PARA SIEMPRE!", - "lore3": "Tablas válidas: Yunque, Artesanía, Muela, Cartografía, Cantero, Telar" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Calaveras crafteables!", - "description": "¡Usando materiales puedes crear calaveras de la mafia!", - "lore1": "Rodea un bloque de huesos con lo siguiente para obtener una calavera:", - "lore2": "Zombi: carne podrida", - "lore3": "Esqueleto: Hueso", - "lore4": "Enredadera: pólvora", - "lore5": "Wither: Ladrillo abisal", - "lore6": "Dragón: Aliento de dragón" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Armadura del mundo", - "description": "Armadura pasiva en función de la dureza del bloque cercano.", - "lore1": "Armadura pasiva", - "lore2": "Basada en la dureza de los bloques cercanos", - "lore3": "Fuerza de la armadura: +" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Unidad experimental", - "description": "Recoger orbes de experiencia añade XP a habilidades aleatorias.", - "lore1": "XP", - "lore2": "Por orbes de experiencia" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Resistencia Experimental", - "description": "Consume experiencia para mitigar el daño que recibes de todas las fuentes\n", - "lore0": "Esto sólo puede ocurrir una vez cada 15 segundos", - "lore1": "% de daño reducido", - "lore2": "Experiencia drenada" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Atracción de aldeanos", - "description": "¡Te permite obtener mejores intercambios con los aldeanos!", - "lore1": "Esto consume XP por interacción con los aldeanos.", - "lore2": "Probabilidad por interacción de consumir XP y mejorar los intercambios", - "lore3": "Drenaje de XP requerido por interacción" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Retorno de Lapis", - "description": "A costa de 1 nivel más de XP, y tiene la posibilidad de darte lapis gratis a cambio", - "lore1": "Por cada nivel, aumenta el coste de encantamiento, en 1, pero puede devolver hasta 3 Lapis" - }, - "quickenchant": { - "name": "Encantar con un clic rápido", - "description": "Encanta objetos haciendo clic en los libros de encantamiento directamente sobre ellos.", - "lore1": "Niveles máximos combinados", - "lore2": "No se puede encantar un objeto con más de ", - "lore3": "poder" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "Devolución de XP", - "description": "La XP de encantamiento se te devuelve cuando encantas un objeto.", - "lore1": "La experiencia gastada tiene una posibilidad de ser devuelta cuando encantas un objeto", - "lore2": "Experiencia por encantamiento" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Excavador apresurado", - "description": "Acelera el proceso de excavación, ¡con prisa minera!", - "lore1": "Gana prisa minera mientras excavas", - "lore2": "x Niveles de prisa minera cuando empiezas a excavar cualquier bloque." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "¡Espeleólogo supervidente!", - "description": "Ver Ores con los ojos, ¡pero a través del suelo!", - "lore1": "¡Ore en tu mano secundaria, Glowberries en tu mano principal y Shiftea!", - "lore2": "Rango de bloque:", - "lore3": "Consume Glowberry para usar" - }, - "droptoinventory": { - "name": "Pala de caída al inventario" - }, - "omnitool": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { "name": "OMNI - T.O.O.L.", - "description": "La opulenta pala de Tackle", - "lore1": "Probablemente el más potente de todos te permite", - "lore2": "fusionar y cambiar dinámicamente las herramientas sobre la marcha, en función de tus necesidades.", - "lore3": "para fusionar, haz clic con el botón shift en un elemento sobre otro de tu inventario.", - "lore4": "para desunir herramientas, suelta el objeto y se desmontará.", - "lore5": "no puedes romper herramientas en este leatherman, pero no puedes usar herramientas rotas", - "lore6": "total de artículos fusionables", - "lore7": "puedes usar cinco o seis herramientas, ¡o sólo una!" + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Aura de crecimiento", - "description": "Haz crecer la naturaleza a tu alrededor en un aura", - "lore1": "Radio de bloqueo", - "lore2": "Fuerza del Aura de Crecimiento", - "lore3": "Coste de la comida" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Hipopótamo de hierbalismo", - "description": "Consumir comida, te da más saturación", - "lore1": "+ Comida) puntos de saturación adicionales al consumirla" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Hierbalismo de Hongo", - "description": "Te da la capacidad de elaborar micelio", - "lore1": "Cualquier tierra, y un hongo marrón y rojo crean micelio." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Terralid de herbolario", - "description": "Te da la capacidad de crear bloques de hierba.", - "lore1": "Tres Semillas, sobre 3 Tierra, crearán 3 Bloques de Hierba." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Creador de telarañas", - "description": "Te da la habilidad de crear telarañas en una mesa de trabajo.", - "lore1": "Nine String, creará una telaraña." - }, - "mushroomblocks": { - "name": "fabricante de hongos", - "description": "Te da la capacidad de crear bloques de hongos en una mesa de trabajo.", - "lore1": "Cuatro Hongos para hacer un bloque, o un bloque para hacer un tallo." - }, - "droptoinventory": { - "name": "Azada de caída al inventario" - }, - "hungryshield": { - "name": "Escudo de hambre", - "description": "Recibe el daño de tu hambre antes que el de tu salud", - "lore1": "Protegido por el hambre" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "Hierbalismo de la suerte", - "description": "Cuando rompes Hierba/Flores, tienes la oportunidad de obtener un item aleatorio", - "lore0": "Flores = comida, and hierba = Semillas", - "lore1": "Oportunidad de obtener un item rompiendo Flores", - "lore2": "Oportunidad de obtener un item al romper la hierba" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Cosecha y replantación", - "description": "Haz clic con el botón derecho en un cultivo con una azada para cosechar y replantar.", - "lore1": "Radio de replantación" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "Adrenalina", - "description": "Inflige más daño cuando tienes menos vida (cuerpo a cuerpo)", - "lore1": "Daño máximo" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "You will Gain Poison stacks if you run out of hunger" - }, - "droptoinventory": { - "name": "Telepatia de inventario", - "description": "Cuando matas algo / rompes un bloque con una espada, teletransporta los drops a tu inventario", - "lore1": "Cada vez que un item cae de un mob/bloque que rompes va a tu inventario si puede." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Paso de invisibilidad", - "description": "Cuando te golpean ganas invisibilidad, a costa del hambre", - "lore1": "Ganas rapidez cuando te golpean", - "lore2": "x La invisibilidad se acumula durante 3 segundos al ser golpeado", - "lore3": "x Hambre acumulada", - "lore4": "El hambre acumula la duración y el multiplicador.", - "lore5": "Duración de la invisibilidad" - }, - "jumpboost": { - "name": "Cumbres del cazador", - "description": "Cuando te golpean, obtienes un impulso de salto, a costa del hambre", - "lore1": "Obtiene un impulso de salto al ser golpeado", - "lore2": "x El impulso de salto se acumula durante 3 segundos al ser golpeado", - "lore3": "x Apilamiento de hambre", - "lore4": "El hambre acumula la duración y el multiplicador.", - "lore5": "El potenciador de salto acumula el multiplicador, no la duración." + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "Suerte del cazador", - "description": "Cuando te golpean, ganas suerte, a costa del hambre", - "lore1": "Ganas suerte cuando te golpean", - "lore2": "x Suerte se acumula durante 3 segundos al ser golpeado", - "lore3": "x Acumulacion de hambre", - "lore4": "El hambre acumula la duración y el multiplicador.", - "lore5": "La suerte se acumula con el multiplicador, no con la duración." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Regeneración del cazador", - "description": "Cuando te golpean, obtienes regeneración, a costa del hambre", - "lore1": "Obtienes regeneración cuando te golpean", - "lore2": "x Regeneración se acumula durante 3 segundos al ser golpeado", - "lore3": "x Acumulacion de hambre", - "lore4": "El hambre acumula la duración y el multiplicador.", - "lore5": "El multiplicador de regeneración se acumula, no la duración." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Resistencia del cazador", - "description": "Cuando te golpean, ganas resistencia, a costa de hambre", - "lore1": "Ganas resistencia cuando te golpean", - "lore2": "x La resistencia se acumula durante 3 segundos al ser golpeado", - "lore3": "x Acumulacion de hambre", - "lore4": "El hambre acumula la duración y el multiplicador.", - "lore5": "La resistencia se acumula con un multiplicador, no con la duración." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Velocidad del cazador", - "description": "Cuando te golpean, ganas velocidad, a costa de hambre", - "lore1": "Ganas velocidad cuando te golpean", - "lore2": "x Velocidad se acumula durante 3 segundos al ser golpeado", - "lore3": "x Acumulacion de hambre", - "lore4": "Duración y multiplicador de las pilas de hambre.", - "lore5": "El multiplicador de velocidad se acumula, no la duración." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Fuerza del cazador", - "description": "Cuando te golpean, ganas fuerza, a costa del hambre", - "lore1": "Ganas fuerza al ser golpeado", - "lore2": "x Fuerza se acumula durante 3 segundos al ser golpeado", - "lore3": "x Acumulacion de hambre", - "lore4": "Duración y multiplicador de las acumulaciones de hambre.", - "lore5": "La fuerza se acumula con el multiplicador, no con la duración." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Lanzamiento de cabezas de wither", - "description1": "Da rienda suelta a tu Wither interior utilizando ", - "description2": "alguien", - "description3": "cabeza.", - "lore1": "Segundos de recarga entre lanzamientos de calavera.", - "lore2": "Uso de Cabeza de wither: Lanza una ", - "lore3": "Cabeza de wither", - "lore4": "que explota al impactar." - }, - "witherresist": { - "name": "Resistencia a la descomposicion", - "description": "Resiste a la descomposicion mediante el poder del Netherite.", - "lore1": "Probabilidad de anular la descomposicion (por pieza).", - "lore2": "Pasiva: Llevar una armadura de netherita tiene una probabilidad de anular ", - "lore3": "la descomposicion." - }, - "fireresist": { - "name": "Resistente al fuego", - "description": "Resiste al fuego endureciendo tu piel.", - "lore1": "oportunidad de negar el efecto de quema!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "Fundición automática", - "description": "Te permite fundir minerales de vanilla extraídos.", - "lore1": "Los minerales que se pueden fundir se funden automáticamente", - "lore2": "Probabilidad de un extra de" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "Cincelado de mineral", - "description": "Haz clic con el botón derecho del ratón en los minerales para cincelar más mineral de ellos, con un gran coste de durabilidad.", - "lore1": "Probabilidad de soltar", - "lore2": "Desgaste de la herramienta" - }, - "droptoinventory": { - "name": "Pico de Telepatia", - "description": "Cuando rompes un bloque se teletransporta el item a tu inventario", - "lore1": "Cada vez que se suelta un iem de un bloque que rompes va a tu inventario si puede." - }, - "veinminer": { - "name": "Minar por radio", - "description": "Te permite romper bloques en un radio de Menas de Vanilla", - "lore1": "Agachate, y minar ORES", - "lore2": "rango de radio de minado", - "lore3": "¡Esta habilidad NO agrupa todos los drops!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Recuperación de flechas", - "description": "Recupera las flechas después de matar a un enemigo.", - "lore1": "Probabilidad de recuperar flechas al golpear/matar", - "lore2": "Oportunidad:" - }, - "webshot": { - "name": "trampa web", - "description": "¡Rodea telarañas alrededor de tu objetivo cuando los golpeas!", - "lore1": "8 Telarañas alrededor de una Bola de Nieve, ¡y a lanzar!", - "lore2": "segundos de una jaula, aproximadamente." - }, - "forceshot": { - "name": "Tiro con fuerza", - "description": "Dispara proyectiles más lejos y más rápido.", - "advancementname": "Tiro largo", - "advancementlore": "Dispara desde más de 30 bloques de distancia.", - "lore1": "Velocidad de los proyectiles" - }, - "lungeshot": { - "name": "Tiro de empuje", - "description": "Mientras caes tus flechas te lanzan en una dirección aleatoria", - "lore1": "Velocidad de ráfaga aleatoria" - }, - "arrowpiercing": { - "name": "Perforación de flechas", - "description": "¡Añade perforación a los proyectiles! ¡Dispara a través de cosas!", - "lore1": "Perfora objetivos" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Acceso remoto", - "description": "Saca del vacío y entra en un contenedor marcado.", - "lore1": "Enderpearl + Brújula = Llave de puerto del relicario", - "lore2": "Este item te permite acceder a los contenedores de forma remota", - "lore3": "Una vez fabricado, mira el item para ver su uso", - "notcontainer": "Eso no es un contenedor" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Parpadeo de la grieta", - "description": "Teletransporte instantáneo de corto alcance, ¡sólo un parpadeo!", - "lore1": "Bloquea al parpadear (2x vertical)", - "lore2": "Mientras esprinta: Doble toque para saltar a ", - "lore3": "Blink" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Cofre fácil", - "description": "Abre un cofre con un clic izquierdo en tu mano.", - "lore1": "Haz clic en un cofre en tu mano para abrirlo (pero no lo coloques)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Anti-Levitación", - "description": "¿Estás cansado de estar atrapado en el aire? ¡Esta es la habilidad para ti!", - "lore1": "¡Simplemente camine sigilosamente para descender y caerá a un ritmo inferior al normal!", - "lore2": "Enfriarse:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "Puerta de la Grieta", - "description": "Teletranspórtate a un lugar marcado.", - "lore1": "CRAFTING: Esmeralda + Fragmento de amatista + Perla de Ender", - "lore2": "¡Leer antes de usar!", - "lore3": "Recarga de 5s, ", - "lore4": "puedes morir mientras estás en esta animación" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "Resistencia a la Grieta", - "description": "Gana resistencia al usar objetos y habilidades de Ender", - "lore1": "+ Pasiva: Proporciona resistencia cuando usas habilidades de la grieta, o ítems de Ender", - "lore2": "NO incluye el cofre portátil de Ender, sólo las cosas que puedes consumir" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Tanque de oxígeno orgánico", - "description": "Mantiene más oxígeno en tus pequeños pulmones", - "lore1": "Aumento de la capacidad de oxígeno" - }, - "fishersfantasy": { - "name": "la fantasía del pescador", - "description": "¡gana más XP pescando y consigue más peces!", - "lore1": "¡Para cada nivel existe la posibilidad de obtener más XP y mas peces!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "minero tortuga", - "description": "¡Mientras mina bajo el agua ganas prisa!", - "lore1": "¡Haste 3 se aplica bajo el agua mientras se extrae (se acumula con Afinidad Acuatica) después de que desaparece el efecto de respiración acuática!" - }, - "nightvision": { - "name": "Visión de tortuga", - "description": "Mientras estás bajo el agua, obtienes visión nocturna", - "lore1": "¡Simplemente obtenga visión nocturna mientras está bajo el agua después de que desaparezca el efecto de respiración acuática!" - }, - "dolphingrace": { - "name": "Gracia de delfín", - "description": "Nada como un delfín, sin los delfines", - "lore1": "+ Pasiva: gana ", - "lore2": "x velocidad (gracia de delfín)", - "lore3": "Precisión de maquinista alemán... Espera, eso no está bien..." + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Armadura del fantasma", - "description": "Armadura de construcción lenta cuando no recibe daño, dura 1 golpe", - "lore1": "Armadura máxima", - "lore2": "Velocidad" - }, - "nightvision": { - "name": "Visión Sigilosa", - "description": "Gana visión nocturna mientras se escape", - "lore1": "Obtiene una ráfaga de ", - "lore2": "visión nocturna", - "lore3": "mientras te escapas" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Arrebato de objetos", - "description": "Atrapa al instante los objetos que se te caen mientras te escapas.", - "lore1": "Radio de robo" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Velocidad de colada", - "description": "Gana velocidad mientras te escapas", - "lore1": "Velocidad de escapar" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "machete", - "description": "Corta la madera de los arboles con facilidad", - "lore1": "Radio de corte", - "lore2": "Recarga del hacha", - "lore3": "Desgaste de herramientas" - }, - "bloodyblade": { - "name": "Hoja sangrienta", - "description": "¡Golpea con tu espada, causa sangrado!", - "lore1": "Golpear a una entidad viva con tu espada causa sangrado", - "lore2": "Duración del sangrado", - "lore3": "Enfriamiento de sangrado" - }, - "poisonedblade": { - "name": "Hoja envenenada", - "description": "¡Golpea con tu espada, causa veneno!", - "lore1": "Golpear a una entidad viva con tu espada causa veneno", - "lore2": "Duración del veneno", - "lore3": "Enfriamiento de veneno" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Daño de domesticación", - "description": "Aumenta el daño infligido por tu animal domesticado.", - "lore1": "Daño aumentado" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Salud del animal domado", - "description": "Aumenta la salud de tu animal domado.", - "lore1": "Aumento de la salud" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Regeneración de animales domados", - "description": "Aumenta la regeneración de tu animal domesticado.", - "lore1": "HP/s" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "espinas", - "description": "¡Refleja el daño hacia tu atacante!", - "lore1": "Daño represaliado cuando es golpeado" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Globo de dolor", - "description": "¡Divida el daño que inflige según la cantidad de enemigos que lo rodean!", - "lore1": "Cuantos más enemigos te rodean, menos daño les haces a cada uno de ellos.", - "lore2": "Rango:", - "lore3": "Daño agregado a todas las entidades:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Voluntad del dolor", - "description": "¡Recupera salud según el daño que inflijas!", - "lore1": "¡Hacer daño nunca se ha sentido tan bien! Curar del daño infligido", - "lore2": "Hay una ventana de daño de 3 segundos, para la curación y un tiempo de reutilización de 1 segundo", - "lore3": "Curación por porcentaje de daño:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Lanzas para cadáveres", - "description": "Al matar a un enemigo o hacer que una habilidad mate a un enemigo, aparece una lanza que inflige daño a un enemigo cercano.", - "lore1": "Las lanzas saldrán de cualquier cosa que mates, Y si esta habilidad mata a un enemigo.", - "lore2": "Sacrifica una parte de tu vida para crear las lanzas (esto puede matarte)", - "lore3": "Lanzas máximas: 1 +" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Cañón de cristal", - "description": "Bonificación de daño sin armas cuanto menor sea tu valor de armadura", - "lore1": "x Daño a 0 de armadura", - "lore2": "Bonificación de daño por nivel" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Poder desarmado", - "description": "Daño sin armas mejorado", - "lore1": "Daño" - }, - "suckerpunch": { - "name": "Puñetazo de chupete", - "description": "agachese golpea, pero más mortal.", - "lore1": "Daño", - "lore2": "El daño aumenta con tu velocidad de golpe" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/fi_FI.json b/src/main/resources/fi_FI.json index e7388a083..e4e8012ff 100644 --- a/src/main/resources/fi_FI.json +++ b/src/main/resources/fi_FI.json @@ -231,890 +231,1285 @@ "challenge_pickaxe_5m": { "title": "Legendaarinen kaivosmies", "description": "Riko 5 000 000 Palikkaa" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "usage1": "Shift + Vasen Klikkaa to bind", - "usage2": "Oikea Klikkaa to access the bound Inventory" - }, - "boundeyeofender": { - "usage1": "Oikea Klikkaa to consume and teleport to the bound location", - "usage2": "Shift + Vasen Klikkaa to bind to a block" - }, - "boundredstonetorch": { - "name": "Punakivi Säädin", - "usage1": "Oikea Klikkaa tehdäksesi 1-Tick Punakivi signaali", - "usage2": "Shift + Vasen Klikkaa 'Kohde'-Palikkaa sitoaksesi" - }, - "boundsnowball": { - "name": "Seittiansa", - "usage1": "Heitä tehdäksesi väliaikainen seittiansa" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Taso", - "knowledge": "tietämys", - "powerused": "Voimaa käytetty", - "notlearned": "Et ole Oppinut", - "xp": "XP to", - "welcome": "Tervetuloa!", - "welcomeback": "Tervetuloa takaisin!", - "xpbonusfortime": "XP varten", - "unlockthisbyclicking": "Avaa tämä Vasen-Klikkaamalla:", - "back": "Takaisin", - "unlearnall": "Unohda kaikki", - "unlearnedall": "Kaikki unohdetut" - }, - "adaptmenu": { - "maynotunlearn": "ET VOI POISTAA OPPIMISTA", - "mayunlearn": "VOIT OPPIA/EPÄ OPPIA", - "knowledgecost": "Tietämys Hinta", - "knowledgeavailable": "Tietämystä Saatavilla", - "alreadylearned": "Olet jo oppinut", - "unlearnrefund": "Klikkaa Unohtaaksesi oppi & Hyvitys", - "norefunds": "HARDCORE, HYVITYKSET POIS PÄÄLTÄ", - "knowledge": "Tietämys", - "clicklearn": "Klikkaa oppiaksesi", - "noknowledge": "(Sinulla ei ole yhtään Tietämystä)", - "youonlyhave": "Sinulla on vain", - "howtolevelup": "Nosta taitojasi lisätäksesi maksimitehoasi.", - "notenoughpower": "Teho ei riitä! Jokainen taitotaso maksaa 1 tehon.", - "power": "voima", - "powerdrain": "Virran tyhjennys", - "learned": "Opit", - "unlearned": "Unohdit opin", - "activatorblock": "Kirjahylly" - }, - "knowledgeorb": { - "contains": "sisältää", - "knowledge": "tietämys", - "rightclick": "Oikea-Klikkaa", - "togainknowledge": "saadakseen tämän tietämyksen", - "knowledgeorb": "Tietämys Kuula" - }, - "experienceorb": { - "contains": "sisältää", - "xp": "Kokemus", - "rightclick": "Oikea-Klikkaa", - "togainxp": "saadakseen tämän kokemuksen", - "xporb": "Kokemus Kuula" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Ketteryys", + "name": "Agility", "icon": "⇉", - "description": "Ketteryys on kykyä liikkua nopeasti ja sujuvasti esteiden ylitse." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Arkkitehti", + "name": "Architect", "icon": "⬧", - "description": "Rakennukset ovat maailman rakennuspalikoita. Todellisuus on sinun käsissäsi." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Kirveet", + "name": "Axes", "icon": "🪓", - "description1": "Miksi kaataa puita, kun voit kaataa", - "description2": " ", - "description3": "koko metsän!" + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Panimo", + "name": "Brewing", "icon": "❦", - "description": "Et voi laittaa tätä taikajuomaa kattilaan" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Torjuminen", - "icon": "▒", - "description": "Kepit ja kivet eivät riko luita, mutta kilpi sen tekee." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Askartelu", + "name": "Crafting", "icon": "⌂", - "description": "Kun ei ole enää kappaleita jäljellä, miksi et tekisi uusia?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Löytö", + "name": "Discovery", "icon": "⚛", - "description": "Kun havaintosi laajenee, mielesi purkautuu löytääkseen sen, mitä et tehnyt" + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Lumoaminen", + "name": "Enchanting", "icon": "♰", - "description": "Mitä sinä oikein teet? Profetiat, näyt, taikauskoinen juoruilu?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Kaivaminen", + "name": "Excavation", "icon": "ᛳ", - "description": "Kaiva Kaiva reikä..." + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "Maanviljely", + "name": "Herbalism", "icon": "⚘", - "description": "En löydä kasveja, mutta voin löytää siemeniä ja - onko se... Rikkaruoho?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "Metsästäjä", + "name": "Hunter", "icon": "☠", - "description": "Metsästyksessä on kyse matkasta, ei tuloksesta." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "Horna", + "name": "Nether", "icon": "₪", - "description": "Itse Hornan syvyyksistä." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Hakku", + "name": "Pickaxe", "icon": "⛏", - "description": "Kääpiöt ovat kaivostyöläisiä, mutta olen oppinut aikanani pari asiaa. IM RUOTSIN" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "Etäisyys", + "name": "Ranged", "icon": "🏹", - "description": "Etäisyys on avain voittoon ja selviytymiseen." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "Maagisuus", + "name": "Rift", "icon": "❍", - "description": "Maagisuus on syövyttävä valjaat, mutta olet valjastanut valjaat." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "Merellä", - "icon": "🌊", - "description": "Tällä taidolla voit tehdä veden ihmeitä" + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "Salakavaluus", - "icon": "✠", - "description": "Näkymättömän taide. Kävele varjoissa." + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Miekat", + "name": "Swords", "icon": "⚔", - "description": "Harmaan kiven voima!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "Kesyttäminen", + "name": "Taming", "icon": "♥", - "description": "Papukaijat ja mehiläiset... ja sinä?" + "description": "The parrots and the bees... and you?" }, "tragoul": { - "name": "Vampirismi", + "name": "TragOul", "icon": "🗡", - "description": "Veri virtaa universumin suonissa. Käsien puristama." + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { "name": "Chronos", "icon": "⏳", - "description": "Pyöritä universumin kelloa, koe virtaus. Riko kello, tule siitä." + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "Aseeton", + "name": "Unarmed", "icon": "»", - "description": "Ilman asetta ei ole ilman voimaa" + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Nouseva Panssarointi", - "description": "Ansaitset enemmän panssaria, mitä pidempään juokset!", - "lore1": "Maximi Armori", - "lore2": "Lisääntyvä Panssarointi Kesto" - }, - "superjump": { - "name": "Super Hyppy", - "description": "Poikkeuksellinen korkeusetu", - "lore1": "Maksimi Hyppy Korkaus", - "lore2": "Kyykkää + Hyppää tehdäksesi Superhyppy!" - }, - "walljump": { - "name": "Seinähyppy", - "description": "Pidä vaihtoa painettuna seinää vasten ja hyppää!", - "lore1": "Maksimi Hypyt", - "lore2": "Hyppykorkeus" - }, - "windup": { - "name": "Lisääntyvä Nopeus", - "description": "Ole nopeampi mitä pidempään juokset!", - "lore1": "Maksimi nopeus", - "lore2": "Lisääntyvä Nopeus Aika" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "Maaginen Silta", - "description": "Näin voit livahtaa ja asettaa allesi väliaikaisen perustan!", - "lore1": "Maagisesti luo: ", - "lore2": "Palikat allasi!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Silkkinen Lasi Kosketus", - "description": "Voit estää lasipalikoiden katoamisen, kun rikot ne tyhjällä kädellä!", - "lore1": "Kätesi saavat silkkisen kosketuksen Glassia varten" - }, - "wirelessredstone": { - "name": "Punakivi Säädin", - "description": "Tämän avulla voit käyttää Punakivi-soihtua Punakiven virroittamiseen etänä!", - "lore1": "Kohde + Punakivi Soihtu + Enderperal = 1 Punakivi Säädin" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Rakentajan Sauva", - "description": "Voit asettaa useita palikoita kerralla aktivoidaksesi Sneakin. Pidä palikkaa kädessä, joka vastaa palikkaa jota katsot! Muista, että saatat joutua liikkumaan hieman laatikoiden rajaamisen käynnistämiseksi!", - "lore1": "Sinä tarvitset", - "lore2": "lohkoja kädessäsi tämän sijoittamiseksi", - "lore3": "Materiaali Rakentajan Sauva" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Kirveellä Hakkaus", - "description": "Katkaise puita hiiren oikealla painikkeella pohjalokia!", - "lore1": "Palikkaa per Hakkaus", - "lore2": "Hakkaus Odotusaika", - "lore3": "Työkalujen kuluminen" - }, - "logswap": { - "name": "Onnekas Puun-Vaihtaja", - "description": "Muuta hirsien makua askartelupöydässä!", - "lore1": "8 tukki mitä tahansa + 1 taimi = 8 tukki taimen tyyppiä" - }, - "droptoinventory": { - "name": "Kirves Pudottaa Tavaraluetteloon" - }, - "groundsmash": { - "name": "Kirves Murskaus", - "description": "Hyppää, kyyristy ja murskaa kaikki lähellä olevat viholliset.", - "lore1": "Vahinko", - "lore2": "Estä säde", - "lore3": "Pakottaa", - "lore4": "Isku Odotusaika" - }, - "leafminer": { - "name": "Lehtien kaivosmies", - "description": "Voit katkaista lehtiä kerralla!", - "lore1": "Hiipiä, ja MINUN LÄHTEENI", - "lore2": "Alueellinen Lehtien-leikkaus", - "lore3": "Et saa pisaroita lehdistä (Räjähdys suoja)" - }, - "woodminer": { - "name": "Puunkaataja", - "description": "Mahdollistaa irtopuun murtamisen kerralla!", - "lore1": "Hiipiä ja louhi PUU/TUKKI (ei lankkuja)", - "lore2": "alueellinen Puunkaato", - "lore3": "Toimii pudottamalla varastoon" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "Viipyvä Hautuminen", - "description": "Valmistetut taikajuomat kestävät pidempään!", - "lore1": "Kesto", - "lore2": "Kesto" - }, - "superheated": { - "name": "Super Lämmitetty Hautuminen", - "description": "Keittotelineet toimivat sitä nopeammin mitä kuumempia ne ovat.", - "lore1": "Koskettavan palolohkon mukaan", - "lore2": "Koskettavaa laavalohkoa kohden" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "Pullotettu pimeys", - "description": "Etkö ole varma, miksi tarvitset tätä, mutta ole hyvä!", - "lore1": "Yönäkö Taikajuoma + musta betoni = Pimeyden taikajuoma (30 sekuntia)", - "lore2": "On huomattava, että tämä estää pelaajaa Juoksemasta!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "Pullotettu Kiire", - "description": "Kun tehokkuus ei riitä", - "lore1": "Nopeus taikajuoma + Ametisti rykelmä = Kiire taikajuoma (60 sekuntia)", - "lore2": "Nopeus taikajuoma + Ametistikuutio = Kiire taikajuoma-2 (30 sekuntia)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Pullotettu Imeytyminen", - "description": "Koveta keho!", - "lore1": "Välitön elpyminen taikajuoma + Kvartsi = Potion of Absorption (60 sekuntia)", - "lore2": "Välitön elpyminen taikajuoma + Kvartsi Palikka = Absorption taikajuoma-2 (30 sekuntia)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Pullotettu väsymys", - "description": "Heikentää kehoa!", - "lore1": "Heikkoustaikajuoma + Limapallo = Väsymystaikajuoma (30 sekuntia)", - "lore2": "Heikkoustaikajuoma + Slime Block = Väsymystaikajuoma-2 (15 sekuntia)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Pullotettu Nälkä", - "description": "Ruoki kyltymättömiä!", - "lore1": "Kiusallinen taikajuoma + mätä liha = nälkätaikajuoma (30 sekuntia)", - "lore2": "Heikkoustaikajuoma + Mätä liha = Nälkätaikajuoma-3 (15 sekuntia)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "Pullotettu pahoinvointi", - "description": "Olet kauhea ihminen...", - "lore1": "Kiusallinen taikajuoma + Ruskea Sieni = Pahoinvointi Taikajuoma (16 sekuntia)", - "lore2": "Awkward Potion + Crimson Fungus = Pahoinvointi taikajuoma-2 (8 sekuntia)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Pullotettu sokeus", - "description": "Olet kauhea ihminen...", - "lore1": "Awkward Potion + mustesäkki = Potion of Blindness (30 sekuntia)", - "lore2": "Hankala taikajuoma + hehkuva mustesäkki = sokeuden taikajuoma-2 (15 sekuntia)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Pullotettu vastustuskyky", - "description": "Linnoitus parhaimmillaan!", - "lore1": "Hankala taikajuoma + rautaharkko = vastustus taikajuoma (60 sekuntia)", - "lore2": "Awkward Potion + Iron Block = Potion of Resistance-2 (30 sekuntia)" - }, - "healthboost": { - "name": "Pullotettu elämä", - "description": "Kun maksimaalinen terveys ei riitä...", - "lore1": "Välittömästi parantava taikajuoma + kultainen omena = terveyttä vahvistava taikajuoma (120 sekuntia)", - "lore2": "Välittömästi parantava taikajuoma + Lumottu kultainen omena = Enemmän elämiä Taikajuoma-2 (120 sekuntia)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Pullotettu hajoaminen", - "description": "Kuka tiesi, että Detritus olisi niin hyödyllinen?", - "lore1": "Heikkous taikajuoma + Myrkyllinen peruna = Wither taikajuoma (16 sekuntia)", - "lore2": "Heikkous taikajuoma + Crimson Roots = Wither taikajuoma-2 (8 sekuntia)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Pullotettu kylläisyys", - "description": "Tiedätkö, minulla ei ole edes nälkä...", - "lore1": "Parannu nopeammin taikajuoma + uuniperuna = kyllästys taikajuoma (120 sekuntia)", - "lore2": "Prannu nopeammin taikajuoma + Heinäpaali = Kyllästys taikajuoma (120 sekuntia)" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Mefistofeleen ketjut", - "description": "Mahdollistaa Chainmail Armorin luomisen", - "lore1": "Crafting-resepti on sama kuin mikä tahansa muu, mutta sen sijaan rautahippuja" - }, - "horsearmorer": { - "name": "Muokattava hevospanssari", - "description": "Mahdollistaa hevospanssarin luomisen", - "lore1": "Ympäröi satula materiaalilla, jota haluat käyttää panssarin tekemiseen" - }, - "saddlecrafter": { - "name": "Muodostettava satula", - "description": "Valmista satula nahalla", - "lore1": "Resepti: 5 Nahkaa:" - }, - "multiarmor": { + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { "name": "Multi-Armor", - "description": "Sido Elytra panssariin", - "lore1": "Tämä on uskomaton taito matkustamiseen.", - "lore2": "yhdistä ja muuta Armor/Elytra dynaamisesti lennossa!", - "lore3": "yhdistääksesi siirrä tavaraluettelon kohdetta toisen päälle.", - "lore4": "Irrota Armor, Sneak-Drop esine, niin se puretaan.", - "lore5": "Jos MultiArmorisi tuhoutuu, menetät kaikki siinä olevat esineet.", - "lore6": "En tarvitse panssaria, se tuottaa minulle pettymyksen..." + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Dekonstruktio", - "description": "Pura lohkot ja esineet pelastettaviksi peruskomponenteiksi!", - "lore1": "Aseta mikä tahansa esine + sakset", - "lore2": "seppäpöydässä purkamaan." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "XP:n tekeminen", - "description": "Hanki passiivinen XP luomisen aikana", - "lore1": "Hanki XP:tä luodessasi" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Malmin jälleenrakennus" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Muodostettava nahka", - "description": "Rotten Fleshin käsityönahkaa", - "lore1": "Heitä se (mätä liha) nuotiolle!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "Boutilierin reput!", - "description": "Tämä vain tuo Mojang Bundlen peliin!", - "lore1": "Sinun on oltava Survivalissa käyttääksesi tätä", - "lore2": "XLX: Nahka, Lyijy, Nahka", - "lore3": "XSX: Nahka, tynnyrilaatikko, nahka", - "lore4": "XCX: Nahka, rintakehä, nahka" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Kannettavat Pöydät!", - "description": "Käytä pöytää kädessäsi!", - "lore2": "KAIKKI TAVARAT, JOTKA UNOHDAT PÖYDÄLLE, MENETÄT NE IKUISESTII!", - "lore3": "Kelvolliset pöydät: Alasin, Työpöytä, Tahko, Karttapöytä, Kivileikkuri, Kangaspuut" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Muodostettavat pääkallot!", - "description": "Materiaalien avulla voit valmistaa Mob-kalloja!", - "lore1": "Ympäröi luulohko seuraavilla aineilla saadaksesi kallon:", - "lore2": "Zombi: Mädäntynyt Liha", - "lore3": "Luuranko: Luu", - "lore4": "Lurkki: Ruuti", - "lore5": "Witheri: Nether Tiili", - "lore6": "Lohikäärme: Lohikäärmeen Henkäys" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Maailman Armori", - "description": "Passiivinen panssari riippuen läheisen lohkon kovuudesta.", - "lore1": "Passiivinen panssari", - "lore2": "Perustuu läheisen lohkon kovuuteen", - "lore3": "Panssarin vahvuus:" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Kokeellinen yhtenäisyys", - "description": "Kokemuspallojen kerääminen lisää XP:tä satunnaisiin taitoihin.", - "lore1": "XP", - "lore2": "Per Orb" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Kokeellinen vastustuskyky", - "description": "Käytä kokemusta lieventämään kaikista lähteistä aiheutuvia vahinkoja", - "lore0": "Tämä voi tapahtua vain kerran 15 sekunnissa", - "lore1": " Vähentynyt vahinko", - "lore2": "kokemus loppunut" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Kyläläisen nähtävyys", - "description": "Mahdollistaa paremman kaupankäynnin kyläläisten kanssa!", - "lore1": "Tämä kuluttaa XP:tä per vuorovaikutus kyläläisten kanssa", - "lore2": "Mahdollisuus vuorovaikutusta kohti kuluttaa XP:tä ja parantaa kauppoja", - "lore3": "vaaditaan XP:n tyhjennys vuorovaikutusta kohti" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Lapin paluu", - "description": "Hintaan vielä 1 XP-taso, ja sinulla on mahdollisuus antaa sinulle ilmaisia lapeja vastineeksi", - "lore1": "Jokaisella tasolla se lisää lumoamisen kustannuksia yhdellä, mutta voi palauttaa jopa 3 lappia" - }, - "quickenchant": { - "name": "Pika-Lumoaminen", - "description": "Lumo esineitä klikkaamalla lumoa kirjoja suoraan niiden päällä.", - "lore1": "Yhdistetyt enimmäistasot", - "lore2": "Kohdetta ei voi lumoaa enemmän kuin", - "lore3": "voima" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "XP:n palautus", - "description": "Lumoava XP palautetaan sinulle, kun lumoat kohteen.", - "lore1": "Käytetyllä kokemuksella on mahdollisuus saada rahat takaisin, kun lumoat kohteen", - "lore2": "Kokemus per Lumous" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Kiireinen kaivinkone", - "description": "Tämä nopeuttaa louhintaprosessia HASTE:lla!", - "lore1": "Pidä kiirettä kaivaessasi", - "lore2": "x Kiirettä, kun alat louhia MITÄ tahansa lohkoa." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Super-näkevä Spelunker!", - "description": "Katso malmit silmilläsi, mutta maan läpi!", - "lore1": "Malmi kädessäsi, Herkkumarja pääkädessäsi ja Kyykkää!", - "lore2": "Estä alue:", - "lore3": "Syö Herkkumarjoja käyttääksesi" - }, - "droptoinventory": { - "name": "Lapio Pudottaa Tavaraluetteloon" - }, - "omnitool": { - "name": "OMNI - T.Y.Ö.K.A.L.U.", - "description": "Tacklen ylisuunniteltu ylellinen Leatherman", - "lore1": "Luultavasti tehokkain monista antaa sinulle mahdollisuuden", - "lore2": "yhdistä ja muuta työkaluja dynaamisesti lennossa tarpeidesi mukaan.", - "lore3": "yhdistääksesi siirrä tavaraluettelon kohdetta toisen päälle.", - "lore4": "irrota työkalut Sneak-Drop -pudottamalla esine, niin se puretaan.", - "lore5": "et voi rikkoa työkaluja tässä Leathermanissa, mutta et voi käyttää rikkinäisiä työkaluja", - "lore6": "yhdistettävissä olevat kohteet yhteensä", - "lore7": "voit käyttää viittä tai kuutta työkalua tai vain yhtä!" + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { + "name": "OMNI - T.O.O.L.", + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Kasvu Aura", - "description": "Kasvata luontoa ympärilläsi aurassa", - "lore1": "Estä säde", - "lore2": "Kasvu Aura Vahvuus", - "lore3": "Ruuan Hinta" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Maanviljelijän Virtahepo", - "description": "Ruoan syöminen antaa sinulle enemmän kylläisyyttä", - "lore1": "Ruoka) lisäkyllästyspisteitä kulutuksessa" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Maanviljelijän Sienienviljely", - "description": "Antaa sinulle mahdollisuuden valmistaa rihmastoa", - "lore1": "Kaikki lika ja ruskea ja punainen sieni luovat rihmastoa." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Maanviljelijän Viherpeukalo", - "description": "Antaa sinulle mahdollisuuden tehdä ruoholohkoja", - "lore1": "Kolme siementä, yli 3 likaa, muodostaa 3 ruoholohkoa." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Seitin Kutoja", - "description": "Antaa sinulle mahdollisuuden luoda hämähäkinverkkoja askartelupöydässä", - "lore1": "Yhdeksän Lankaa, voi askarrella Hämähäkinseitin." - }, - "mushroomblocks": { - "name": "Sienien Tekijä", - "description": "Antaa sinulle mahdollisuuden tehdä sienipalikoita askartelupöydässä", - "lore1": "Neljä sientä lohkon tekemiseksi tai lohko varren tekemiseksi." - }, - "droptoinventory": { - "name": "Kuokka Pudottaa Tavaraluetteloon" - }, - "hungryshield": { - "name": "Nälkä Kilpi", - "description": "Tee vahinkoa nälkällesi ennen terveyttäsi.", - "lore1": "Nälkä vastusti" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "Maanviljelijän Onni", - "description": "Kun rikot Grass/Flowersin, sinulla on mahdollisuus saada satunnainen esine", - "lore0": "Kukat = ruoka ja ruoho = siemenet", - "lore1": "Mahdollisuus saada esine rikkoutuneesta Flowersista", - "lore2": "Mahdollisuus saada esine rikkoutuneesta ruohosta" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Sadonkorjuu ja uudelleen istutus", - "description": "Oikea-klikkaa satoa kuokalla korjataksesi ja istuttaaksesi se.", - "lore1": "Viljely Alue" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "Adrenaliini", - "description": "Tee enemmän vahinkoa mitä heikompi terveydesi olet (Melee)", - "lore1": "Maksimi Vahinko" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "Saat Poison-pinot, jos nälkä loppuu" - }, - "droptoinventory": { - "name": "Tuotteet pudotetaan tavaraluetteloon", - "description": "Kun tapat jotain / rikot lohkon miekalla, se teleporttaa pisarat varastoosi", - "lore1": "Aina kun esine putoaa olennosta/rikot palikan, se menee varastoosi, jos mahdollista." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Kadonnut askel", - "description": "Kun saat iskun, saavutat näkymättömyyden nälän kustannuksella", - "lore1": "Saavuta passiivinen näkymättömyys, kun lyötiin", - "lore2": "x Näkyvyys pinoaa 3 sekuntia osuman jälkeen", - "lore3": "x Pinottava nälkä", - "lore4": "Nälkäpinojen kesto ja kerroin.", - "lore5": "Näkymättömyyden kesto" - }, - "jumpboost": { + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { "name": "Hunter's Heights", - "description": "Kun saat iskun, saat hyppylisäyksen nälän kustannuksella", - "lore1": "Saa passiivista hyppytehoa iskun yhteydessä", - "lore2": "x Hyppytehostus pinoutuu 3 sekuntia osumasta", - "lore3": "x Pinoutuva nälkä", - "lore4": "Nälkäpinojen kesto ja kerroin.", - "lore5": "Hyppytehostuksen kerroin pinoutuu, ei kesto." + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "Metsästäjän tuuri", - "description": "Kun sinua lyö, voitat onnea nälän kustannuksella", - "lore1": "Saa passiivista onnea osuessaan", - "lore2": "x Onni pinoutuu 3 sekunniksi osumasta", - "lore3": "x Pinoutuva nälkä", - "lore4": "Nälkäpinojen kesto ja kerroin.", - "lore5": "Onnenpinojen kerroin, ei kesto." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Metsästäjän Elpyminen", - "description": "Kun olet iskenyt, saat elpymisen nälän kustannuksella", - "lore1": "Saavuta passiivista elpymistä iskussa", - "lore2": "x Elpyminen pinoutuu 3 sekuntia osumasta", - "lore3": "x Pinottava nälkä", - "lore4": "Nälkäpinojen kesto ja kerroin.", - "lore5": "Elpymisen pinojen kerroin, ei kesto." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Metsästäjän Vastus", - "description": "Kun saat iskun, saavutat vastustusta nälän kustannuksella", - "lore1": "Saavuta passiivinen vastus, kun se osuu", - "lore2": "x Vastustus pinoaa 3 sekuntia osumasta", - "lore3": "x Pinottava nälkä", - "lore4": "Nälkäpinojen kesto ja kerroin.", - "lore5": "Vastustus pinojen kerroin, ei kesto." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Metsästäjän Nopeus", - "description": "Kun saat iskun, saat vauhtia nälän kustannuksella", - "lore1": "Lisää passiivista nopeutta törmäyksessä", - "lore2": "x Nopeus pinoaa 3 sekuntia osuman jälkeen", - "lore3": "x Pinottava nälkä", - "lore4": "Nälkä pinojen kesto ja kerroin.", - "lore5": "Nopeus pinojen kerroin, ei kesto." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Metsästäjän Vahvuus", - "description": "Kun saat iskun, saat voimaa nälän kustannuksella", - "lore1": "Saa passiivista voimaa iskussa", - "lore2": "x Voimapinot 3 sekuntia osuman jälkeen", - "lore3": "x Pinottava nälkä", - "lore4": "Nälkäpinojen kesto ja kerroin.", - "lore5": "Vahvuuspinojen kerroin, ei kesto." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Näivettäjän Pääkallon Ampuminen", - "description1": "Vapauta sisäinen Näivettäjäsi käyttämällä", - "description2": "joku", - "description3": "pää.", - "lore1": "Sekuntia jäähdyttelyä kallonheittojen välillä.", - "lore2": "Näivettäjän Pääkallon käyttäminen: Heitä ", - "lore3": "Näivettäjän Pääkallo", - "lore4": "räjähtää törmäyksessä." - }, - "witherresist": { - "name": "Kuihtumisvastus", - "description": "Vastustaa kuihtumista netheriitin voimalla.", - "lore1": "mahdollisuus estää kuihtuminen (per kappale).", - "lore2": "Passiivinen: Netherite-panssarin käyttämisellä on mahdollisuus tehdä tyhjäksi", - "lore3": "näivetys." - }, - "fireresist": { - "name": "Tulenkestävyys", - "description": "Kestää paloa kovettamalla ihoasi.", - "lore1": "mahdollisuus kumota polttava vaikutus!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "Automaattinen sulatus", - "description": "Voit sulattaa louhittuja vanilla malmeja", - "lore1": "Malmit, jotka voidaan sulattaa, sulatetaan automaattisesti", - "lore2": "% mahdollisuus ylimääräiseen" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "Malmitaltta", - "description": "Klikkaa malmeja hiiren oikealla painikkeella talttataksesi niistä lisää malmia kovilla kestävyyskustannuksilla.", - "lore1": "Mahdollisuus Tippua", - "lore2": "Työkalujen kuluminen" - }, - "droptoinventory": { - "name": "Hakku Pudottaa Tavaraluetteloon", - "description": "Kun rikot lohkon, se teleporttaa kohteen varastoosi", - "lore1": "Aina kun rikkomasi palikka tiputtaa jotain, se menee varastoosi, jos mahdollista." - }, - "veinminer": { - "name": "Suonikaivaja", - "description": "Voit kaivaa isoja malmi esiintymiä helposti", - "lore1": "Hiipiä ja kaivaa malmia", - "lore2": "valikoima suonten louhintaa", - "lore3": "Tämä taito EI ryhmittele kaikkia pisaroita yhteen!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Palautuva Nuoli", - "description": "Palauta nuolet, kun olet tappanut vihollisen.", - "lore1": "Mahdollisuus palauttaa nuolet osumaan/tappamiseen", - "lore2": "Mahdollisuus: " - }, - "webshot": { - "name": "Seittiansa", - "lore1": "8 Hämähäkinseittiä lumipallon ympärille ja heitä" - }, - "forceshot": { - "name": "Voimalaukaus", - "description": "Ammu ammukset pidemmälle, nopeammin!", - "advancementname": "Pitkä laukaus", - "advancementlore": "Laske laukaus yli 30 korttelin päästä!", - "lore1": "Ammuksen nopeus" - }, - "lungeshot": { - "name": "Metsästyslaukaus", - "description": "Pudotessaan nuolet heittävät sinua satunnaiseen suuntaan", - "lore1": "Satunnainen sarjanopeus" - }, - "arrowpiercing": { - "name": "Nuoli Lävistys", - "description": "Lisää lävistyksiä ammuksiin! Ammu asioita läpi!", - "lore1": "Pierce Targets" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Etäyhteys", - "description": "Vedä tyhjiöstä ja mene merkittyyn astiaan.", - "lore1": "Enderpearl + kompassi = Reliquary Portkey", - "lore2": "Tämän kohteen avulla voit käyttää säiliöitä etänä", - "lore3": "Kun olet valmis, katso tuotetta käyttääksesi", - "notcontainer": "Se ei ole säiliö" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { "name": "Rift Blink", - "description": "Lyhyen matkan välitön teleportaatio, vain silmää räpsäyttämällä!", - "lore1": "Blocks vilkkuessa (2x pystysuora)", - "lore2": "Sprintin aikana: Kaksoisnapauta Jump to", - "lore3": "Räpäytys" + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Helppo Ääriarkku", - "description": "Avaa ääriarkku klikkaamalla sitä hiiren oikealla painikkeella kädessäsi.", - "lore1": "Napsauta kädessäsi olevaa Ääriarkkua avataksesi (älä vain aseta sitä)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Leijumisenvastainen", - "description": "Oletko kyllästynyt olemaan jumissa ilmassa? Tämä taito on sinulle!", - "lore1": "Kyykkää vain laskeutumaan, niin putoat normaalia hitaammin!" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { "name": "Rift Gate", - "description": "Teleportoi merkittyyn paikkaan.", - "lore1": "KÄSITTELY: Emeraldi + ametistin sirpale + Ender Pearl", - "lore2": "Lue ennen käyttöä!", - "lore3": "5s viive,", - "lore4": "voit kuolla ollessasi tässä animaatiossa" + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { "name": "Rift Resistance", - "description": "Saavuta vastus, kun käytät Ender Items & Abilities -tuotteita", - "lore1": "+ Passiivinen: Tarjoaa vastusta, kun käytät rift-kykyjä tai Ender-esineitä", - "lore2": "EI sisällä kannettavaa Ääriarkku, vain asioita, joita voit kuluttaa" + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Orgaaninen happisäiliö", - "description": "Pidä enemmän happea pienissä keuhkoissasi!", - "lore1": "Happikapasiteetin Lisäys" - }, - "fishersfantasy": { - "name": "Kalastajan Fantasia", - "description": "Ansaitse enemmän XP:tä kalastuksesta ja hanki enemmän kalaa!", - "lore1": "Jokaisella tasolla on mahdollisuus saada lisää XP:tä ja kalaa!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "Kilpikonnakaivosmies", - "description": "Kun louhit veden alla, saat kiirettä!", - "lore1": "Haste 3 levitetään veden alle kaivostoiminnan aikana (pinotaan AquaAffinityllä) sen jälkeen, kun vesihengitysvaikutuksesi loppuu!" - }, - "nightvision": { - "name": "Kilpikonnan Näkö", - "description": "Veden alla ollessasi saat Hämäränäön", - "lore1": "Hanki vain Hämäränäön veden alla, kun vesihengitysvaikutuksesi loppuu!" - }, - "dolphingrace": { - "name": "Delfiinin Kiito", - "description": "Ui kuin delfiini, ilman delfiinejä", - "lore1": "+ Passiivinen: vahvistus", - "lore2": "x nopeus (delfiinin kiito)", - "lore3": "tarkkuus saksalainen insinööri - odota, se ei ole oikein... Ei yhteensopiva Vesivipellyksen kanssa" + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Haamu Panssari", - "description": "Hidas panssarin rakentaminen, kun se ei ota vahinkoa, kestää 1 osuman", - "lore1": "Maksimi Panssari", - "lore2": "Nopeus\n" - }, - "nightvision": { - "name": "Salakavalanäkeminen", - "description": "Saat hämäränäkö hiipiessäsi", - "lore1": "Hanki räjähdys", - "lore2": "yönäkö", - "lore3": "hiipiessään" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Esine Sieppaaminen", - "description": "Nappaa pudonneet tavarat heti hiipiessä!", - "lore1": "Nappaamissäde" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Kyykkimis Nopeus", - "description": "Lisää nopeutta hiipiessäsi", - "lore1": "Hiipimisnopeus" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "Viidakkoveitsi", - "description": "Leikkaa lehtien läpi helposti!", - "lore1": "Viiltosäde", - "lore2": "Puun hakkaamisen Odotusaika", - "lore3": "Työkalujen kuluminen" - }, - "bloodyblade": { - "name": "Verinen Terä", - "description": "Iske miekallasi, aiheuta verenvuotoa!", - "lore1": "Elävän olennon lyöminen miekalla aiheuttaa verenvuotoa", - "lore2": "Verenvuodon kesto", - "lore3": "Verenvuodon odotusaika" - }, - "poisonedblade": { - "name": "Myrkytetty terä", - "description": "Iske miekallasi, aiheuta Myrkytys!", - "lore1": "Elävän olennon lyöminen miekalla aiheuttaa myrkytyksen", - "lore2": "Myrkytyksen kesto", - "lore3": "Myrkytyksen odotusaika" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Kesytysvahinko", - "description": "Kasvata kesytettyjen eläinten aiheuttamaa vahinkoa.", - "lore1": "Kasvanut vahinko" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Kesytys-Terveys", - "description": "Kasvattaa kesytettyjen eläinten terveyttä.", - "lore1": "Kasvanut Terveys" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Kesytysksen Uudelleenparantuminen", - "description": "Kasvattaa kesytetyn eläimen uudellenparantumista.", - "lore1": "Elämää/sekunnissa" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "Piikikäs", - "description": "Heijasta vahinko takaisin hyökkääjällesi!", - "lore1": "Palautettu vahinko iskusta" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "lore2": "Alue:", - "lore3": "Lisätty Vahinko kaikille Olennoille:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Kivun tahto" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Lasinen tykki", - "description": "Bonus aseeton vahinko, mitä pienempi panssariarvosi on", - "lore1": "x Vahinko 0 panssarin kohdalla", - "lore2": "Tasollinen Bonus Vahinko" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Aseeton voima", - "description": "Parannettu aseeton vahinko", - "lore1": "Vahinko" - }, - "suckerpunch": { - "name": "Imu Lyönti", - "description": "Juoksulyöntejä, mutta tappavampia.", - "lore1": "Vahinko", - "lore2": "Vahinko kasvaa nopeuden myötä lyönnin aikana" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/fr_FR.json b/src/main/resources/fr_FR.json index bfe92313a..dc73b741d 100644 --- a/src/main/resources/fr_FR.json +++ b/src/main/resources/fr_FR.json @@ -231,912 +231,1285 @@ "challenge_pickaxe_5m": { "title": "Mineur légendaire", "description": "Cassez 5 000 000 de blocs" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "name": "Portoloin reliquaire", - "usage1": "Maj + clic gauche pour lier", - "usage2": "Clic droit pour accéder à l'inventaire lié" - }, - "boundeyeofender": { - "name": "Ancre oculaire", - "usage1": "Clic droit pour consommer et se téléporter à l'emplacement lié", - "usage2": "Maj + clic gauche pour lier à un bloc" - }, - "boundredstonetorch": { - "name": "Télécommande Redstone", - "usage1": "Clic droit pour créer une impulsion Redstone 1-Tick", - "usage2": "Maj + clic gauche sur un bloc 'cible' à lier" - }, - "boundsnowball": { - "name": "Piège Web !", - "usage1": "Lancer pour créer un piège Web temporaire à l'emplacement" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Niveau", - "knowledge": "connaissances", - "powerused": "Puissance utilisée", - "notlearned": "Non appris", - "xp": "XP à", - "welcome": "Accueillir!", - "welcomeback": "Content de te revoir!", - "xpbonusfortime": "XP pour", - "unlockthisbyclicking": "Déverrouillez ceci en faisant un clic droit :", - "back": "Retour", - "unlearnall": "Tout désapprendre", - "unlearnedall": "Tout désappris" - }, - "adaptmenu": { - "maynotunlearn": "VOUS NE POURREZ PAS DÉSAPPRENDRE", - "mayunlearn": "VOUS POUVEZ APPRENDRE/DÉSAPPRENDRE", - "knowledgecost": "Coût des connaissances", - "knowledgeavailable": "Connaissances disponibles", - "alreadylearned": "Déjà appris", - "unlearnrefund": "Cliquez pour désapprendre et rembourser", - "norefunds": "HARDCORE, REMBOURSEMENTS DÉSACTIVÉS", - "knowledge": "connaissances", - "clicklearn": "Cliquez pour apprendre", - "noknowledge": "(Vous n'avez aucune connaissance)", - "youonlyhave": "Vous n'avez que", - "howtolevelup": "Améliorez les compétences pour augmenter votre puissance maximale.", - "notenoughpower": "Pas assez de puissance ! Chaque niveau de capacité coûte 1 pouvoir.", - "power": "Puissance", - "powerdrain": "Puissance drainée", - "learned": "Appris", - "unlearned": "Désappris", - "activatorblock": "Étagère à livres" - }, - "knowledgeorb": { - "contains": "contient", - "knowledge": "connaissances", - "rightclick": "Clic-droit", - "togainknowledge": "pour acquérir cette connaissance", - "knowledgeorb": "Orbe de connaissance" - }, - "experienceorb": { - "contains": "contient", - "xp": "Vivre", - "rightclick": "Clic-droit", - "togainxp": "pour acquérir cette expérience", - "xporb": "Orbe d'expérience" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Agilité", + "name": "Agility", "icon": "⇉", - "description": "L'agilité est la capacité à se déplacer rapidement et avec fluidité face aux obstacles." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Architecte", + "name": "Architect", "icon": "⬧", - "description": "Les structures sont les éléments constitutifs du monde. La réalité est entre vos mains, vous pouvez la contrôler." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Haches", - "icon": "❖", - "description1": "Pourquoi abattre des arbres, quand on pouvait abattre", - "description2": "des choses", - "description3": "au lieu de cela, même résultat final!" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Brassage", + "name": "Brewing", "icon": "❦", - "description": "Double Bulle, Triple Bulle, Quadruple Bulle - Je ne peux toujours pas mettre cette potion dans un chaudron" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Blocage", - "icon": "▒", - "description": "Les bâtons et les pierres ne briseront pas vos os, mais un bouclier le fera." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Artisanat", + "name": "Crafting", "icon": "⌂", - "description": "N'ayant plus de pièces à placer, pourquoi ne pas en créer une autre ?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Découverte", + "name": "Discovery", "icon": "⚛", - "description": "Au fur et à mesure que votre perception s'élargit, votre esprit s'effiloche pour découvrir ce que vous n'aviez pas" + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Enchanteur", + "name": "Enchanting", "icon": "♰", - "description": "De quoi parles-tu ? Prophéties, visions, jabber superstitieux ?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Les fouilles", - "icon": "✥", - "description": "Diggey Diggey trou..." + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "Herboristerie", + "name": "Herbalism", "icon": "⚘", - "description": "Je ne trouve aucune plante, mais je peux trouver des graines et- est-ce que... de l'herbe ?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "Chasseur", + "name": "Hunter", "icon": "☠", - "description": "La chasse concerne le voyage et non le résultat." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "Bas", + "name": "Nether", "icon": "₪", - "description": "Des profondeurs du Nether lui-même." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Pioche", + "name": "Pickaxe", "icon": "⛏", - "description": "Les nains sont les mineurs, mais j'ai appris une chose ou deux de mon temps. JE SUIS SUÉDOIS" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "À distance", + "name": "Ranged", "icon": "🏹", - "description": "La distance est la clé de la victoire et la clé de la survie." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "Crevasse", + "name": "Rift", "icon": "❍", - "description": "Le Rift est un harnais caustique, mais vous avez harnaché le harnais." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "Maritime", - "icon": "🌊", - "description": "Avec cette compétence, vous pourrez découvrir les merveilles de l'eau" + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "Furtivité", - "icon": "✠", - "description": "L'art de l'invisible. Marchez dans l'ombre." + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Épées", + "name": "Swords", "icon": "⚔", - "description": "Par la puissance de GreyStone !" + "description": "By the power of GreyStone!" }, "taming": { - "name": "Apprivoisement", + "name": "Taming", "icon": "♥", - "description": "Les perroquets et les abeilles... et vous ?" + "description": "The parrots and the bees... and you?" }, "tragoul": { "name": "TragOul", - "icon": "▼", - "description": "Le sang coule dans les veines de l'univers. Resserré par vos mains." + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { "name": "Chronos", - "icon": "۞", - "description": "Remontez l'horloge de l'univers, faites l'expérience du flux. Cassez l'horloge, devenez-le." + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "Sans armes", - "icon": "⚜", - "description": "Sans arme n'est pas sans force" + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Armure renforcée", - "description": "Obtenez plus d'armure plus vous sprintez!", - "lore1": "Armure maximale", - "lore2": "Temps d'armure" - }, - "superjump": { - "name": "Super saut", - "description": "Avantage de hauteur exceptionnel", - "lore1": "Hauteur de saut maximale", - "lore2": "Faufilez-vous + sautez jusqu'au super saut !" - }, - "walljump": { - "name": "Saut de mur", - "description": "Maintenez la touche Maj en l'air contre un loquet mur à mur et sautez !", - "lore1": "Sauts maximum", - "lore2": "Hauteur du saut" - }, - "windup": { - "name": "Liquider", - "description": "Obtenez plus vite plus vous sprintez!", - "lore1": "Vitesse maximale", - "lore2": "Temps de liquidation" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "Fondation magique", - "description": "Cela vous permet de vous faufiler et de placer une fondation temporaire sous vous !", - "lore1": "Créez magiquement :", - "lore2": "Blocs sous vous !" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Verre au toucher soyeux", - "description": "Cela vous permet essentiellement d'éviter la perte de blocs de verre lorsque vous les cassez avec une main vide !", - "lore1": "Vos mains gagnent un toucher de soie pour le verre" - }, - "wirelessredstone": { - "name": "Télécommande Redstone", - "description": "Cela vous permet d'utiliser une torche de redstone pour activer la redstone à distance !", - "lore1": "Cible + Torche Redstone + Enderperal = 1 Télécommande Redstone" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Baguette des constructeurs", - "description": "Vous permet de placer plusieurs blocs à la fois pour activer Sneak et de tenir un bloc qui correspond à votre bloc et à votre emplacement ! Gardez à l'esprit que vous devrez peut-être vous déplacer un peu pour déclencher la délimitation des cases !", - "lore1": "Vous avez besoin", - "lore2": "blocs dans votre main pour placer ceci", - "lore3": "Une baguette de constructeurs de matériaux" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Coup de hache", - "description": "Abattez des arbres en faisant un clic droit sur le journal de base !", - "lore1": "Blocs par côtelette", - "lore2": "Temps de recharge pour hacher", - "lore3": "Usure des outils" - }, - "logswap": { - "name": "Échangeur de bûches de Lucy", - "description": "Changez la saveur des bûches dans une table d'artisanat !", - "lore1": "8 bûche de n'importe quel type + 1 jeune arbre = 8 bûche du type du jeune arbre" - }, - "droptoinventory": { - "name": "Hache Drop-To-Inventory" - }, - "groundsmash": { - "name": "Frappe au sol à la hache", - "description": "Saute, puis accroupis-toi et écrase tous les ennemis proches.", - "lore1": "Dégâts", - "lore2": "Rayon de bloc", - "lore3": "Force", - "lore4": "Temps de recharge d'écrasement" - }, - "leafminer": { - "name": "Mineuse des feuilles", - "description": "Vous permet de casser les feuilles en vrac à la fois !", - "lore1": "Sneak, et le mien FEUILLES", - "lore2": "gamme de Leaf-mining", - "lore3": "Vous n'obtiendrez pas les gouttes des feuilles (Exploit Prevention)" - }, - "woodminer": { - "name": "Mineur de bois", - "description": "Vous permet de casser du bois en vrac à la fois !", - "lore1": "Se faufiler et extraire du BOIS/BOIS (pas des planches)", - "lore2": "gamme de Mines de bois", - "lore3": "Fonctionne avec Déposer dans l'inventaire" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "Infusion persistante", - "description": "Les potions que vous fabriquez durent plus longtemps", - "lore1": "Durée", - "lore2": "Durée" - }, - "superheated": { - "name": "Infusion super chauffée", - "description": "Les stands de brassage fonctionnent plus vite plus ils sont chauds.", - "lore1": "Par bloc de feu touchant", - "lore2": "Par bloc de lave touchant" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "Ténèbres en bouteille", - "description": "Je ne sais pas pourquoi vous en avez besoin, mais c'est parti !", - "lore1": "Potion de vision nocturne + Béton noir = Potion des ténèbres (30 secondes)", - "lore2": "Il convient de noter que cela empêche l'utilisateur de sprinter !" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "Hâte en bouteille", - "description": "Quand l'efficacité ne suffit pas", - "lore1": "Potion de vitesse + Éclat d'améthyste = Potion de hâte (60 secondes)", - "lore2": "Potion de vitesse + Bloc d'améthyste = Potion de hâte-2 (30 secondes)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Absorption en bouteille", - "description": "Durcissez le corps !", - "lore1": "Soins instantanés + Quartz = Potion d'absorption (60 secondes)", - "lore2": "Soins instantanés + Bloc de quartz = Potion d'absorption-2 (30 secondes)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Fatigue en bouteille", - "description": "Affaiblir le corps !", - "lore1": "Potion de faiblesse + Boule de Slime = Potion de fatigue (30 secondes)", - "lore2": "Potion de faiblesse + Bloc de Slime = Potion de fatigue-2 (15 secondes)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Faim en bouteille", - "description": "Nourrissez les Insatiables !", - "lore1": "Potion maladroite + Chair pourrie = Potion de faim (30 secondes)", - "lore2": "Potion de faiblesse + Chair pourrie = Potion de faim-3 (15 secondes)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "Nausée en bouteille", - "description": "Vous me dégoûtez!", - "lore1": "Potion maladroite + Champignon brun = Potion de nausée (16 secondes)", - "lore2": "Potion maladroite + Champignon cramoisi = Potion de nausée-2 (8 secondes)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Cécité en bouteille", - "description": "Tu es une personne horrible...", - "lore1": "Potion maladroite + Sac d'encre = Potion d'aveuglement (30 secondes)", - "lore2": "Potion maladroite + Sac d'encre incandescent = Potion d'aveuglement-2 (15 secondes)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Résistance en bouteille", - "description": "La fortification à son meilleur!", - "lore1": "Potion maladroite + Lingot de fer = Potion de résistance (60 secondes)", - "lore2": "Potion maladroite + Bloc de fer = Potion de résistance-2 (30 secondes)" - }, - "healthboost": { - "name": "La vie en bouteille", - "description": "Quand la santé maximale ne suffit pas...", - "lore1": "Potion de guérison instantanée + Pomme dorée = Potion de boost de santé (120 secondes)", - "lore2": "Potion de guérison instantanée + Pomme dorée enchantée = Potion de boost de santé-2 (120 secondes)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Décomposition en bouteille", - "description": "Qui aurait cru que Détritus serait si utile ?", - "lore1": "Potion de faiblesse + Pomme de terre vénéneuse = Potion de Wither (16 secondes)", - "lore2": "Potion de faiblesse + Racines cramoisies = Potion de Wither-2 (8 secondes)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Saturation en bouteille", - "description": "Tu sais... je n'ai même pas faim...", - "lore1": "Potion de régénération + Pomme de terre au four = Potion de saturation", - "lore2": "Potion de régénération + botte de foin = potion de saturation-2" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Chaînes de Méphistophélès", - "description": "Vous permet de fabriquer une armure de cotte de mailles", - "lore1": "La recette d'artisanat est la même que n'importe quelle autre, mais avec des pépites de fer à la place" - }, - "horsearmorer": { - "name": "Armure de cheval à fabriquer", - "description": "Permet de fabriquer une armure de cheval", - "lore1": "Entourez une selle avec le matériau que vous souhaitez utiliser pour fabriquer l'armure" - }, - "saddlecrafter": { - "name": "Selle à fabriquer", - "description": "Fabriquer une selle avec du cuir", - "lore1": "Recette : 5 Cuir :" - }, - "multiarmor": { - "name": "Multi-armure", - "description": "Lier Elytras à Armor", - "lore1": "C'est une compétence incroyable pour voyager.", - "lore2": "fusionner et changer dynamiquement Armor/Elytra à la volée !", - "lore3": "pour fusionner, déplacez le clic d'un élément sur un autre dans votre inventaire.", - "lore4": "pour dissocier l'armure, déposez l'objet en douce et il se désassemblera.", - "lore5": "Si votre MultiArmor est détruit, vous perdrez tous les objets qu'il contient.", - "lore6": "Je n'ai pas besoin d'armure, ça me déçoit..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Déconstruction", - "description": "Déconstruisez des blocs et des objets en composants de base récupérables !", - "lore1": "Placez un article quelconque + cisailles", - "lore2": "dans une table de forge à déconstruire." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "XP d'artisanat", - "description": "Gagnez de l'XP passif lors de la fabrication", - "lore1": "Gagnez de l'XP lors de la fabrication" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Reconstruction du minerai", - "description": "Recréez des minerais à partir de leurs composants de base !", - "lore1": "8 des gouttes et 1 hôte = 1 minerai (sans forme)", - "lore2": "Les gouttes doivent être fondues (le cas échéant)", - "lore3": "N'inclut pas : chutes, quarts et émeraudes, etc.", - "lore4": "Hôte = Enveloppe. c'est-à-dire: Pierre, Netherack, Deepslate" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Cuir artisanal", - "description": "Fabriquer du cuir à partir de chair pourrie", - "lore1": "Il suffit de le jeter (chair pourrie) sur le feu de camp !" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "Les sacs à dos d'un Boutilier !", - "description": "Cela apporte juste le Mojang Bundle dans le jeu !", - "lore1": "Vous devez être en survie pour l'utiliser", - "lore2": "XLX : Cuir, Plomb, Cuir", - "lore3": "XSX : Cuir, Barrel Box, Cuir", - "lore4": "XCX : Cuir, Poitrine, Cuir" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Tableaux portables !", - "description": "Utilisez une table dans la paume de votre main !", - "lore2": "TOUS LES ÉLÉMENTS QUE VOUS OUBLIEZ DANS LE TABLEAU LORSQU'ILS SONT FERMÉS SONT PERDUS POUR TOUJOURS !", - "lore3": "Tables valides : enclume, artisanat, meule, cartographie, tailleur de pierre, métier à tisser" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Crânes à fabriquer !", - "description": "En utilisant des matériaux, vous pouvez fabriquer des crânes de foule !", - "lore1": "Entourez un bloc d'os avec ce qui suit pour obtenir un crâne :", - "lore2": "Zombie : Chair pourrissante", - "lore3": "Squelette : Os", - "lore4": "Plante grimpante : poudre à canon", - "lore5": "Wither : Brique du Nether", - "lore6": "Dragon : souffle du dragon" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Armure du monde", - "description": "Armure passive en fonction de la dureté des blocs à proximité.", - "lore1": "Armure passive", - "lore2": "Basé sur la dureté du bloc à proximité", - "lore3": "Force d'armure :" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Unité expérimentale", - "description": "Collecter des orbes d'expérience ajoute de l'XP aux compétences aléatoires.", - "lore1": "XP", - "lore2": "Par orbe" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Résistance expérimentale", - "description": "Consommez de l'expérience pour atténuer les dégâts que vous subissez de toutes les sources", - "lore0": "Cela ne peut se produire qu'une fois toutes les 15 secondes", - "lore1": " Dégâts réduits", - "lore2": "expérience épuisée" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Attraction villageoise", - "description": "Vous permet d'obtenir de meilleurs échanges avec les villageois !", - "lore1": "Cela consomme de l'XP par interaction avec les villageois", - "lore2": "Chance par interaction de consommer de l'XP et d'améliorer les échanges", - "lore3": "drain XP requis par interaction" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Retour Lapis", - "description": "Au prix d'un niveau supplémentaire d'XP, et a une chance de vous donner des lapis gratuits en retour", - "lore1": "Pour chaque niveau, il augmente le coût de l'enchantement de 1, mais peut revenir jusqu'à 3 Lapis" - }, - "quickenchant": { - "name": "Enchantement par clic rapide", - "description": "Enchantez des objets en cliquant directement sur les livres d'enchantement.", - "lore1": "Niveaux combinés maximum", - "lore2": "Impossible d'enchanter un objet avec plus de", - "lore3": "Puissance" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "Retour d'XP", - "description": "Enchanting XP vous est rendu lorsque vous enchantez un objet.", - "lore1": "L'expérience dépensée a une chance d'être remboursée lorsque vous enchantez un objet", - "lore2": "Expérience par enchantement" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Excavatrice hâtive", - "description": "Cela accélérera le processus d'excavation, avec HASTE !", - "lore1": "Gagner de la hâte lors de l'excavation", - "lore2": "x Niveaux de hâte lorsque vous commencez à miner N'IMPORTE QUEL bloc." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Spéléologue super-voyant !", - "description": "Voyez Ores avec vos yeux, mais à travers le sol !", - "lore1": "Ore dans votre main désinvolte, Glowberries dans votre main principale et Sneak !", - "lore2": "Plage de blocs :", - "lore3": "Consomme Glowberry lors de son utilisation" - }, - "droptoinventory": { - "name": "Pelle Drop-To-Inventory" - }, - "omnitool": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { "name": "OMNI - T.O.O.L.", - "description": "L'opulent Leatherman surconçu de Tackle", - "lore1": "Probablement le plus puissant de beaucoup vous permet de", - "lore2": "fusionnez dynamiquement et modifiez les outils à la volée, en fonction de vos besoins.", - "lore3": "pour fusionner, déplacez le clic d'un élément sur un autre dans votre inventaire.", - "lore4": "pour délier les outils, Sneak-Drop l'article, et il se démontera.", - "lore5": "vous ne pouvez pas casser d'outils dans ce leatherman mais vous ne pouvez pas utiliser d'outils cassés", - "lore6": "nombre total d'éléments fusionnables", - "lore7": "vous pouvez utiliser cinq ou six outils, ou un seul !" + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Aura de croissance", - "description": "Cultivez la nature autour de vous dans une aura", - "lore1": "Rayon de bloc", - "lore2": "Force de l'Aura de Croissance", - "lore3": "Le prix de la nourriture" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Hippopotame de l'herboriste", - "description": "Consommer de la nourriture, vous donne plus de saturation", - "lore1": "Alimentation) points de saturation supplémentaires sur la consommation" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Myconide de l'herboristerie", - "description": "Vous donne la possibilité de fabriquer du mycélium", - "lore1": "N'importe quelle saleté et un champignon brun et rouge fabriqueront du mycélium." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Terralide d'herboriste", - "description": "Vous donne la possibilité de fabriquer des blocs d'herbe", - "lore1": "Trois graines, plus de 3 saletés, fabriqueront 3 blocs d'herbe." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Créateur Webby", - "description": "Vous donne la possibilité de fabriquer des toiles d'araignée dans une table d'artisanat", - "lore1": "Nine String, fabriquera une toile d'araignée." - }, - "mushroomblocks": { - "name": "Fabricant de champignons", - "description": "Vous donne la possibilité de fabriquer des blocs de champignons dans une table de fabrication", - "lore1": "Quatre Champignons pour faire un bloc, ou un bloc pour faire une tige." - }, - "droptoinventory": { - "name": "Hoe Drop-To-Inventory" - }, - "hungryshield": { - "name": "Bouclier affamé", - "description": "Prenez des dommages à votre faim avant votre santé.", - "lore1": "Résiste à la faim" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "La chance de l'herboriste", - "description": "Lorsque vous cassez de l'herbe/des fleurs, vous avez une chance d'obtenir un objet aléatoire", - "lore0": "Fleurs = Nourriture et Herbe = Graines", - "lore1": "Chance d'obtenir un objet en cassant des fleurs", - "lore2": "Chance d'obtenir un objet en cassant de l'herbe" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Récolter et replanter", - "description": "Faites un clic droit sur une culture avec une houe pour la récolter et la replanter.", - "lore1": "Rayon de replantation des blocs" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "Adrénaline", - "description": "Infligez plus de dégâts plus votre santé est faible (Mêlée)", - "lore1": "Dégâts maximum" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "Vous gagnerez des piles de poison si vous n'avez plus faim" - }, - "droptoinventory": { - "name": "Articles déposés dans l'inventaire", - "description": "Lorsque vous tuez quelque chose / cassez un bloc avec une épée, il téléporte les gouttes dans votre inventaire", - "lore1": "Chaque fois qu'un objet tombe d'un mob/bloc que vous cassez, il va dans votre inventaire s'il le peut." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Pas de fuite", - "description": "Lorsque vous êtes frappé, vous gagnez en invisibilité, au prix de la faim", - "lore1": "Gagnez en invisibilité passive lorsque vous êtes touché", - "lore2": "x L'invisibilité se cumule pendant 3 secondes en cas d'attaque", - "lore3": "x Empiler la faim", - "lore4": "La faim cumule la durée et le multiplicateur.", - "lore5": "Durée d'invisibilité" - }, - "jumpboost": { - "name": "Hauteurs du chasseur", - "description": "Lorsque vous êtes frappé, vous obtenez un boost de saut, au prix de la faim", - "lore1": "Gagne un boost de saut passif lorsqu'il est frappé", - "lore2": "x Jump-Boost se cumule pendant 3 secondes en cas de coup", - "lore3": "x Empiler la faim", - "lore4": "La faim cumule la durée et le multiplicateur.", - "lore5": "Jump-Boost cumule le multiplicateur, pas la durée." + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "La chance du chasseur", - "description": "Quand tu es frappé, tu gagnes de la chance, au prix de la faim", - "lore1": "Gagnez de la chance passive lorsque vous êtes frappé", - "lore2": "x La chance se cumule pendant 3 secondes en cas de coup", - "lore3": "x Empiler la faim", - "lore4": "La faim cumule la durée et le multiplicateur.", - "lore5": "La chance cumule le multiplicateur, pas la durée." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Régénération du chasseur", - "description": "Lorsque vous êtes frappé, vous gagnez en régénération, au prix de la faim", - "lore1": "Gagne une régénération passive lorsqu'il est touché", - "lore2": "x La régénération se cumule pendant 3 secondes en cas d'attaque", - "lore3": "x Empiler la faim", - "lore4": "La faim cumule la durée et le multiplicateur.", - "lore5": "La régénération cumule le multiplicateur, pas la durée." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Résistance du chasseur", - "description": "Lorsque vous êtes frappé, vous gagnez en résistance, au prix de la faim", - "lore1": "Gagne une résistance passive lorsqu'il est touché", - "lore2": "x La résistance se cumule pendant 3 secondes en cas de coup", - "lore3": "x Empiler la faim", - "lore4": "La faim cumule la durée et le multiplicateur.", - "lore5": "La résistance cumule le multiplicateur, pas la durée." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Vitesse du chasseur", - "description": "Lorsque vous êtes frappé, vous gagnez en vitesse, au prix de la faim", - "lore1": "Gagne de la vitesse passive lorsqu'il est frappé", - "lore2": "x La vitesse se cumule pendant 3 secondes en cas de coup", - "lore3": "x Empiler la faim", - "lore4": "La faim cumule la durée et le multiplicateur.", - "lore5": "Multiplicateur de piles de vitesse, pas de durée." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Force du chasseur", - "description": "Quand tu es frappé, tu gagnes en force, au prix de la faim", - "lore1": "Gagne de la force passive lorsqu'il est frappé", - "lore2": "x La force se cumule pendant 3 secondes en cas de coup", - "lore3": "x Empiler la faim", - "lore4": "La faim cumule la durée et le multiplicateur.", - "lore5": "La force cumule le multiplicateur, pas la durée." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Lancer du crâne Wither", - "description1": "Libérez votre Wither intérieur en utilisant", - "description2": "quelques uns", - "description3": "tête.", - "lore1": "Secondes de temps de recharge entre les lancers de crâne.", - "lore2": "Utilisation de Wither Skull : lancez un", - "lore3": "Crâne de Wither", - "lore4": "exploser à l'impact." - }, - "witherresist": { - "name": "Résistance au flétrissement", - "description": "Résiste au flétrissement grâce au pouvoir de Netherite.", - "lore1": "chance d'annuler le flétrissement (par pièce).", - "lore2": "Passif : Porter une armure de Netherite a une chance d'annuler", - "lore3": "dépérissement." - }, - "fireresist": { - "name": "Résistance au feu", - "description": "Résiste au feu en durcissant votre peau.", - "lore1": "chance d'annuler l'effet de brûlure !" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "Fusion automatique", - "description": "Vous permet de fondre les minerais de vanille extraits", - "lore1": "Les minerais qui peuvent être fondus sont fondus automatiquement", - "lore2": "% de chance pour un extra" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "Ciseau à minerai", - "description": "Faites un clic droit sur les minerais pour en extraire plus de minerai, à un coût de durabilité élevé.", - "lore1": "Chance de laisser tomber", - "lore2": "Usure des outils" - }, - "droptoinventory": { - "name": "Pioche Drop-To-Inventory", - "description": "Lorsque vous cassez un bloc, il téléporte l'objet dans votre inventaire", - "lore1": "Chaque fois qu'un objet tombe d'un bloc que vous cassez, il va dans votre inventaire s'il le peut." - }, - "veinminer": { - "name": "Mineur de veine", - "description": "Vous permet de casser des blocs dans une veine/un cluster de minerais de vanille", - "lore1": "Sneak, et mine ORES", - "lore2": "gamme d'extraction de veines", - "lore3": "Cette compétence ne regroupe PAS toutes les gouttes ensemble !" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Récupération de flèche", - "description": "Récupérez des Flèches après avoir tué un ennemi.", - "lore1": "Chance de récupérer des flèches en touchant/tuant", - "lore2": "Chance:" - }, - "webshot": { - "name": "Piège Web", - "description": "Entourez les toiles d'araignée autour de votre cible lorsque vous la touchez !", - "lore1": "8 Toiles d'Araignée autour d'une Boule de Neige, et lancez !", - "lore2": "secondes d'une cage, à peu près." - }, - "forceshot": { - "name": "Tir forcé", - "description": "Tirez des projectiles plus loin, plus vite !", - "advancementname": "Tir long", - "advancementlore": "Décrochez un tir à plus de 30 pâtés de maisons !", - "lore1": "Vitesse des projectiles" - }, - "lungeshot": { - "name": "Coup de fente", - "description": "En tombant vos flèches vous lancent dans une direction aléatoire", - "lore1": "Vitesse de rafale aléatoire" - }, - "arrowpiercing": { - "name": "Piercing Flèche", - "description": "Ajoute le perçage aux projectiles ! Tirez à travers les choses !", - "lore1": "Percer les cibles" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Accès à distance", - "description": "Tirez du vide et entrez dans un récipient marqué.", - "lore1": "Enderpearl + Boussole = Portoloin Reliquaire", - "lore2": "Cet article vous permet d'accéder à distance aux conteneurs", - "lore3": "Une fois fabriqué, regardez l'article pour voir son utilisation", - "notcontainer": "Ce n'est pas un conteneur" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Clignotement de faille", - "description": "Téléportation instantanée à courte portée, en un clin d'œil !", - "lore1": "Bloque le clignotement (2x vertical)", - "lore2": "Pendant le sprint : appuyez deux fois sur Aller à", - "lore3": "Cligner" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Enderchest facile", - "description": "Ouvrez un Enderchest en cliquant dessus avec le bouton gauche de votre main.", - "lore1": "Cliquez sur un Enderchest dans votre main pour l'ouvrir (mais ne le placez pas)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Anti-lévitation", - "description": "Êtes-vous fatigué d'être coincé dans les airs? C'est la compétence pour vous!", - "lore1": "Faufilez-vous simplement pour descendre et vous tomberez à un rythme inférieur à la normale !", - "lore2": "Refroidir:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "Porte de la Faille", - "description": "Téléportez-vous à un endroit marqué.", - "lore1": "ARTISANAT : Émeraude + Éclat d'améthyste + Perle de l'Ender", - "lore2": "A lire avant utilisation !", - "lore3": "5s de retard,", - "lore4": "vous pouvez mourir pendant que vous êtes dans cette animation" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "Résistance à la faille", - "description": "Gagnez de la résistance lorsque vous utilisez des objets et des capacités Ender", - "lore1": "+ Passif : Fournit une résistance lorsque vous utilisez des capacités de faille ou des objets Ender", - "lore2": "N'incluant pas l'Enderchest portable, seules les choses que vous pouvez consommer" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Réservoir d'oxygène organique", - "description": "Maintenez plus d'oxygène dans vos petits poumons !", - "lore1": "Augmentation de la capacité en oxygène" - }, - "fishersfantasy": { - "name": "Fantaisie de Fisher", - "description": "Gagnez plus d'XP en pêchant et obtenez plus de poissons !", - "lore1": "Pour chaque niveau, il y a une chance d'obtenir plus d'XP et de poisson !" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "Mineur de tortue", - "description": "En minant sous l'eau, vous gagnez en hâte !", - "lore1": "Haste 3 est appliqué sous l'eau pendant l'exploitation minière (se cumule avec AquaAffinity) après que votre effet de respiration aquatique se soit dissipé !" - }, - "nightvision": { - "name": "Vision de tortue", - "description": "Sous l'eau, vous gagnez la vision nocturne", - "lore1": "Gagnez simplement la vision nocturne sous l'eau une fois que votre effet de respiration aquatique s'est dissipé !" - }, - "dolphingrace": { - "name": "La grâce du dauphin", - "description": "Nager comme un dauphin, sans les dauphins", - "lore1": "+ Passif : gain", - "lore2": "x vitesse (grâce des dauphins)", - "lore3": "Ingénieur allemand de précision - attendez ce n'est pas bien... Non compatible avec Depth Strider" + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Armure de fantôme", - "description": "Construction lente de l'armure lorsqu'elle ne subit pas de dégâts, dure 1 coup", - "lore1": "Armure maximale", - "lore2": "La rapidité" - }, - "nightvision": { - "name": "Vision furtive", - "description": "Gagnez en vision nocturne en vous faufilant", - "lore1": "Gagnez une rafale de", - "lore2": "vision nocturne", - "lore3": "en se faufilant" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Article extrait", - "description": "Arrachez les objets abandonnés instantanément tout en vous faufilant !", - "lore1": "Rayon d'arrachement" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Vitesse furtive", - "description": "Gagnez de la vitesse en vous faufilant", - "lore1": "Vitesse furtive" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "Machette", - "description": "Coupez facilement le feuillage !", - "lore1": "Rayon de barre oblique", - "lore2": "Temps de recharge pour hacher", - "lore3": "Usure des outils" - }, - "bloodyblade": { - "name": "Lame sanglante", - "description": "Frappe avec votre épée, cause le saignement !", - "lore1": "Frapper une entité vivante avec votre épée provoque un saignement", - "lore2": "Durée de saignement", - "lore3": "Temps de recharge de saignement" - }, - "poisonedblade": { - "name": "Lame empoisonnée", - "description": "Frappe avec votre épée, cause Poison !", - "lore1": "Frapper une entité vivante avec votre épée cause du poison", - "lore2": "Durée du poison", - "lore3": "Temps de recharge du poison" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Apprivoiser les dégâts", - "description": "Augmentez les dégâts que vous infligez aux animaux apprivoisés.", - "lore1": "Dégâts accrus" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Apprivoiser la santé", - "description": "Augmentez la santé de votre animal apprivoisé.", - "lore1": "La santé amélioré" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Apprivoiser la régénération", - "description": "Augmentez votre régénération animale apprivoisée.", - "lore1": "CV/s" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "Les épines", - "description": "Renvoyez les dégâts à votre attaquant !", - "lore1": "Dégâts subis en cas de coup" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Globe de douleur", - "description": "Divisez les dégâts que vous infligez en fonction du nombre d'ennemis autour de vous !", - "lore1": "Plus il y a d'ennemis autour de vous, moins vous infligez de dégâts à chacun d'eux", - "lore2": "Gamme:", - "lore3": "Dégâts ajoutés à toutes les entités :" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Volonté de douleur", - "description": "Retrouver la santé en fonction des dégâts que vous infligez !", - "lore1": "Faire du mal aux choses n'a jamais été aussi agréable ! Guérir des dégâts infligés", - "lore2": "Il y a une fenêtre de dégâts de 3 secondes, pour la guérison et un temps de recharge de 1 seconde", - "lore3": "Soins par pourcentage de dégâts :" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Lances de cadavre", - "description": "Tuer un ennemi ou avoir une capacité tuer un ennemi, engendre une lance qui inflige des dégâts à un ennemi proche !", - "lore1": "Les lances rechercheront tout ce que vous tuez, ET si cette capacité tue un ennemi.", - "lore2": "Sacrifiez une partie de votre vie afin de créer les lances (cela peut vous tuer)", - "lore3": "Max Lances : 1 +" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Canon de verre", - "description": "Bonus de dégâts à mains nues plus votre valeur d'armure est basse", - "lore1": "x Dégâts à 0 armure", - "lore2": "Dégâts bonus par niveau" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Puissance non armée", - "description": "Dégâts à mains nues améliorés", - "lore1": "Dégâts" - }, - "suckerpunch": { + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { "name": "Sucker Punch", - "description": "Coups de poing Sprint, mais plus mortels.", - "lore1": "Dégâts", - "lore2": "Les dégâts augmentent avec votre vitesse de frappe" + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/he_IL.json b/src/main/resources/he_IL.json index 053ea4909..0aea4ad59 100644 --- a/src/main/resources/he_IL.json +++ b/src/main/resources/he_IL.json @@ -179,852 +179,1337 @@ "challenge_excavate_5m": { "title": "חופר אניגמטי", "description": "חפרו 5,000,000 בלוקים" + }, + "horrible_person": { + "title": "You're a Horrible Person", + "description": "Unfathomable, really" + }, + "challenge_turtle_egg_smasher": { + "title": "Turtle Egg Smasher!", + "description": "Break 100 turtle eggs" + }, + "challenge_turtle_egg_annihilator": { + "title": "Turtle Egg Annihilator!", + "description": "Break 500 turtle eggs" + }, + "challenge_novice_hunter": { + "title": "Novice Hunter!", + "description": "Kill 100 entities" + }, + "challenge_intermediate_hunter": { + "title": "Intermediate Hunter!", + "description": "Kill 500 entities" + }, + "challenge_advanced_hunter": { + "title": "Advanced Hunter!", + "description": "Kill 5000 entities" + }, + "challenge_creeper_conqueror": { + "title": "Creeper Conqueror!", + "description": "Kill 50 creepers" + }, + "challenge_creeper_annihilator": { + "title": "Creeper Annihilator!", + "description": "Kill 200 creepers" + }, + "challenge_pickaxe_1k": { + "title": "Novice Miner", + "description": "Break 1000 Blocks" + }, + "challenge_pickaxe_5k": { + "title": "Skilled Miner", + "description": "Break 5000 Blocks" + }, + "challenge_pickaxe_50k": { + "title": "Expert Miner", + "description": "Break 50,000 Blocks" + }, + "challenge_pickaxe_500k": { + "title": "Master Miner", + "description": "Break 500,000 Blocks" + }, + "challenge_pickaxe_5m": { + "title": "Legendary Miner", + "description": "Break 5,000,000 Blocks" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "name": "רליקווארי פוטרי", - "usage1": "Shift + קליק שמאלי כדי לאגד", - "usage2": "לחץ לחיצה ימנית כדי לגשת למלאי המחובר" - }, - "boundeyeofender": { - "name": "עוגן עיני", - "usage1": "לחץ באמצעות לחצן העכבר הימני כדי לצרוך ולטלפורט למיקום המחובר", - "usage2": "Shift + לחץ שמאלה כדי לאגד לבלוק" - }, - "boundredstonetorch": { - "name": "שלט רדסטון", - "usage1": "לחץ לחיצה ימנית כדי ליצור דופק 1-טיק רדסטון", - "usage2": "Shift + שמאל לחץ על בלוק 'יעד' כדי לאגד" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "רמה", - "knowledge": "ידע", - "powerused": "כוח משומש", - "notlearned": "לא נלמד", - "xp": "אקספי ל", - "welcome": "ברוך הבא!", - "welcomeback": "ברוך שובך!", - "xpbonusfortime": "XP עבור", - "unlockthisbyclicking": "בטל את הנעילה על ידי לחיצה ימנית על בלוק ההתאמה!", - "back": "חזור", - "unlearnall": "הסר הכל", - "unlearnedall": "לא למד הכל" - }, - "adaptmenu": { - "maynotunlearn": "יתכן שלא תתחיל ללמוד", - "mayunlearn": "אתה יכול ללמוד/להתעלם", - "knowledgecost": "עלות ידע", - "alreadylearned": "כבר נלמד", - "unlearnrefund": "לחץ כדי לבטל ולהחזיר", - "norefunds": "HARDCORE, החזרים כספיים מושבתים", - "knowledge": "ידע", - "clicklearn": "לחץ כדי ללמוד", - "noknowledge": "(אין לך שום ידע)", - "youonlyhave": "יש לך רק", - "howtolevelup": "מיומנויות ברמה כדי להגדיל את הכוח המקסימלי שלך.", - "notenoughpower": "לא מספיק כוח! כל רמת יכולת עולה כוח 1.", - "power": "כוח", - "powerdrain": "ניקוז כוח", - "learned": "נלמד ", - "unlearned": "לא נלמד " - }, - "knowledgeorb": { - "contains": "מכיל", - "knowledge": "ידע", - "rightclick": "לחיצה ימנית", - "togainknowledge": "להשיג את הידע הזה", - "knowledgeorb": "ידיעה אורב" - }, - "experienceorb": { - "contains": "מכיל", - "xp": "ניסיון", - "rightclick": "לחיצה ימנית", - "togainxp": "כדיי להשיג את היכולת הזאת", - "xporb": "נוזל אקספי" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "זְרִיזוּת", + "name": "Agility", "icon": "⇉", - "description": "זריזות היא היכולת לנוע במהירות ובזוזות אל מול מכשולים." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "אַדְרִיכָל", + "name": "Architect", "icon": "⬧", - "description": "מבנים הם אבני הבניין של העולם.המציאות בידיים שלך, שלך לשלוט." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "גרזנים", - "icon": "❖", - "description1": "למה לקצוץ עצים, כשאתה יכול לשבור ", - "description2": "דברים", - "description3": "במקום זאת, אותה תוצאה סופית!" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "מבשלת", + "name": "Brewing", "icon": "❦", - "description": "בועה כפולה, בועה משולשת, בועה מרובעת- אני עדיין לא יכולה להכניס את השיקוי הזה לקדרה" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "חסימה", - "icon": "▒", - "description": "מקלות ואבנים לא ישברו את העצמות שלך, אבל מגן ישבור." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "יצירה", + "name": "Crafting", "icon": "⌂", - "description": "בלי שנותרו עוד חתיכות למקום, למה לא להכין עוד?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "תַגלִית", + "name": "Discovery", "icon": "⚛", - "description": "ככל שהתפיסה שלך מתרחבת, המוח שלך מתפרק כדי לגלות את מה שלא עשית" + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "מַקסִים", + "name": "Enchanting", "icon": "♰", - "description": "על מה אתה מדבר?נבואות, חזיונות, ג'יבר-ג'בר-אמונה טפלה?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "חֲפִירָה", - "icon": "✥", - "description": "חור דיגגי דגי ..." + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "צמחי מרפא", + "name": "Herbalism", "icon": "⚘", - "description": "אני לא יכול למצוא צמחים, אבל אני יכול למצוא כמה זרעים וזה- האם זה ... ירוק?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "צַיָד", + "name": "Hunter", "icon": "☠", - "description": "ציד הוא על המסע ולא התוצאה." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "נדר", + "name": "Nether", "icon": "₪", - "description": "ממעמקי הנדר בעצמו" + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "מכוש", + "name": "Pickaxe", "icon": "⛏", - "description": "גמדים הם הכורים, אבל למדתי דבר או שניים בזמני.אני שוודי" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "טווח", + "name": "Ranged", "icon": "🏹", - "description": "מרחק הוא המפתח לניצחון, והמפתח להישרדות." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "קֶרַע", + "name": "Rift", "icon": "❍", - "description": "השבר הוא רתמה קאוסטית, אבל רתמת את הרתמה." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "seaborne", - "icon": "🌊", - "description": "עם מיומנות זו, יתכן שתפלאי המים" + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "הִתגַנְבוּת", - "icon": "✠", - "description": "אומנות הבלתי נראית.ללכת בצללים." + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "חרבות", + "name": "Swords", "icon": "⚔", - "description": "בכוחו של גרייסטון!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "אִלוּף", + "name": "Taming", "icon": "♥", - "description": "התוכים והדבורים ... ואתה?" + "description": "The parrots and the bees... and you?" }, "tragoul": { - "name": "שִׁיר", - "icon": "▼", - "description": "הדם זורם בעורקי היקום.מכווץ בידיים שלך." + "name": "TragOul", + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "כרונוס", - "icon": "۞", - "description": "רוח את שעון היקום, חווה את הזרימה.לשבור את השעון, הפוך לזה." + "name": "Chronos", + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "לא חמוש", - "icon": "⚜", - "description": "ללא נשק אינו חסר כוח" + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "שריון-אפ", - "description": "קבל יותר שריון ככל שאתה ספרינט זמן רב יותר!", - "lore1": "מקסימום שריון", - "lore2": "זמן שריון" - }, - "superjump": { - "name": "סופר קפיצה", - "description": "יתרון גובה יוצא דופן", - "lore1": "גובה קפיצה מקסימום", - "lore2": "להתגנב + קפיצה לסופר קפיצה!" - }, - "walljump": { - "name": "קפיצת קיר", - "description": "החזיקו את המשמרת בזמן אמצע אוויר על קיר לתפס קיר וקפיצה!", - "lore1": "מקסימום קופץ", - "lore2": "גובה קפיצה" - }, - "windup": { - "name": "לְסַכֵּם", - "description": "קבל מהר יותר ככל שאתה ספרינט יותר!", - "lore1": "מהירות מקסימלית", - "lore2": "זמן רוח" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "קרן קסמים", - "description": "זה מאפשר לך להתגנב ולהניח בסיס זמני שמתחתך!", - "lore1": "ליצור קסם: ", - "lore2": "חסימות מתחתיך!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "כוס משי מגע", - "description": "זה מאפשר לך למעשה למנוע אובדן של אבני זכוכית כשאתה שובר אותם ביד ריקה!", - "lore1": "הידיים שלך משיגות מגע משי לזכוכית" - }, - "wirelessredstone": { - "name": "שלט של רדסטון", - "description": "זה מאפשר לך להשתמש בלפיד אדום אבן כדי להחליף אבן אדום, מרחוק!", - "lore1": "מטרה + לפיד רסטון + אנדפרל= שלט של רדסטון אחד" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "בוני שרביט", - "description": "מאפשר לך למקם מספר בלוקים בבת אחת כדי להפעיל את ההתגנבות, ולהחזיק בלוק שמתאים לחסימה למראה שלך ולמקם!זכור, ייתכן שתצטרך להזיז מעט כדי להפעיל את התיבות!", - "lore1": "אתה צריך", - "lore2": "חוסם בידך כדי למקם זאת", - "lore3": "שרביט בוני חומרים" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "קוצץ גרזן", - "description": "קוצצים עצים על ידי לחיצה ימנית על יומן הבסיס!", - "lore1": "חסימות לכל קוצץ", - "lore2": "קוצצים קולדאון", - "lore3": "ללבוש כלים" - }, - "logswap": { - "name": "קוטל העצים של לוסי", - "description": "שנה את הסוג של בולי עץ בשולחן יצירה!", - "lore1": "1 בול עץ מכל סוג + 1 שתיל = 1 בול עץ מסוג השתיל" - }, - "droptoinventory": { - "name": "גרזן ירידה למפגש" - }, - "groundsmash": { - "name": "גרזן קרקע", - "description": "לקפוץ, ואז לרסק את כל האויבים הסמוכים.", - "lore1": "נֵזֶק", - "lore2": "חסימת רדיוס", - "lore3": "כּוֹחַ", - "lore4": "smashCooldown" - }, - "leafminer": { - "name": "חוצב עלים", - "description": "מאפשר לך לשבור עלים בתפזורת בבת אחת!", - "lore1": "להתגנב, והעלים שלי", - "lore2": "מגוון של כריית עלים", - "lore3": "לא תקבל את הטיפות מהעלים (מניעת ניצול)" - }, - "woodminer": { - "name": "כורה עצים", - "description": "מאפשר לך לשבור עץ בתפזורת בבת אחת!", - "lore1": "להגניב, ושלי עץ/יומנים (לא קרשים)", - "lore2": "מגוון של כריית עץ", - "lore3": "עובד עם ירידה למלאי" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "מבשלה מתמשכת", - "description": "שיקויים מבושלים נמשכים זמן רב יותר!", - "lore1": "מֶשֶׁך", - "lore2": "מֶשֶׁך" - }, - "superheated": { - "name": "מבשלת סופר מחוממת", - "description": "דוכני הבישול עובדים מהר יותר ככל שהם חמים יותר.", - "lore1": "לכל גוש אש נוגע ללב", - "lore2": "לכל גוש לבה נוגע ללב" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "חושך בבקבוק", - "description": "לא בטוח למה אתה צריך את זה, אבל הנה לך!", - "lore1": "NightVision Potion + בטון שחור = שיקוי החושך (30 שניות)", - "lore2": "יש לציין שזה מונע מהמשתמש לרוץ!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "חיפזון בבקבוקים", - "description": "כאשר היעילות אינה מספיקה", - "lore1": "שיקוי מהירות + שבר אמטיסט = שיקוי חיפזון (60 שניות)", - "lore2": "Speed Potion + אמטיסט בלוק = Potion of Haste-2 (30 שניות)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "קליטה בבקבוקים", - "description": "להקשיח את הגוף!", - "lore1": "ריפוי מיידי + קוורץ = שיקוי ספיגה (60 שניות)", - "lore2": "ריפוי מיידי + בלוק קוורץ = שיקוי ספיגה-2 (30 שניות)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "עייפות בבקבוקים", - "description": "להחליש את הגוף!", - "lore1": "שיקוי חולשה + כדור סליים = שיקוי עייפות (30 שניות)", - "lore2": "שיקוי חולשה + בלוק סליים = שיקוי עייפות-2 (15 שניות)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "רעב בבקבוק", - "description": "האכילו את הבלתי שובעים!", - "lore1": "שיקוי מביך + בשר רקוב = שיקוי רעב (30 שניות)", - "lore2": "שיקוי חולשה + בשר רקוב = שיקוי רעב-3 (15 שניות)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "בחילה בבקבוק", - "description": "אתה מחליא אותי!", - "lore1": "שיקוי מביך + פטריה חומה = שיקוי בחילה (16 שניות)", - "lore2": "שיקוי מביך + פטריית ארגמן = שיקוי בחילה-2 (8 שניות)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "עיוורון בבקבוקים", - "description": "אתה אדם נורא...", - "lore1": "שיקוי מביך + שק דיו = שיקוי עיוורון (30 שניות)", - "lore2": "שיקוי מביך + שק דיו זוהר = שיקוי עיוורון-2 (15 שניות)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "התנגדות לבקבוקים", - "description": "ביצור במיטבו!", - "lore1": "שיקוי מביך + מטיל ברזל = שיקוי התנגדות (60 שניות)", - "lore2": "שיקוי מביך + בלוק ברזל = שיקוי התנגדות-2 (30 שניות)" - }, - "healthboost": { - "name": "חיים בבקבוקים", - "description": "כאשר בריאות מקסימלית אינה מספיקה...", - "lore1": "שיקוי ריפוי מיידי + תפוח זהב = שיקוי לבריאות (120 שניות)", - "lore2": "שיקוי ריפוי מיידי + תפוח זהב קסום = שיקוי בריאות Boost-2 (120 שניות)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "ריקבון בבקבוקים", - "description": "מי ידע שדטריטוס יהיה כל כך שימושי?", - "lore1": "שיקוי חולשה + תפוח אדמה רעיל = שיקוי קמל (16 שניות)", - "lore2": "שיקוי חולשה + שורשי ארגמן = שיקוי קמל-2 (8 שניות)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "רוויה בבקבוק", - "description": "אתה יודע... אני אפילו לא רעב...", - "lore1": "שיקוי ריגן + תפוח אדמה אפוי = שיקוי רוויה (120 שניות)", - "lore2": "שיקוי ריגן + בייל חציר = שיקוי רוויה (120 שניות)" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "שרשראות מפיסטופלס", - "description": "מאפשר לך ליצור שריון שרשרת", - "lore1": "זהה למתכון הרגיל, אבל במקום זאת עם נאגטס ברזל" - }, - "horsearmorer": { - "name": "שריון סוס ניתן ליצירה", - "description": "מאפשר לך ליצור שריון שרשרת", - "lore1": "הקף אוכף עם החומר שבו אתה רוצה להשתמש כדי ליצור את השריון" - }, - "saddlecrafter": { - "name": "אוכף ניתן ליצירה", - "description": "צור אוכף עם עור", - "lore1": "צור אוכף עם עור:\nX X X\n L X L\n L L L" - }, - "multiarmor": { - "name": "רב שריון", - "description": "לאגד את אליטראס לשריון", - "lore1": "זוהי מיומנות מדהימה לטיולים.", - "lore2": "מיזוג ושנה באופן דינמי את Armor/Elytra on the Fly!", - "lore3": "כדי למזג, לחץ על העברה על פריט אחר במלאי שלך.", - "lore4": "כדי לשחרר את Armor, Sneak-Drop את הפריט, והוא יתפרק.", - "lore5": "אם ה-MultiArmor שלך ייהרס, אתה תאבד את כל הפריטים שבו.", - "lore6": "אני לא צריך שריון, זה מאכזב אותי..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "פירוק", - "description": "פירוק חסימות ופריטים לרכיבי בסיס הניתנים להצלה!", - "lore1": "מקם כל פריט + מספריים", - "lore2": "בשולחן SMITHERT." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "יצירה XP", - "description": "השג את XP פסיבי בעת יצירת יצירה", - "lore1": "השג את XP בעת יצירת יצירה" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] + }, + "reconstruction": { + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "עור ניתן ליצירה", - "description": "בנו עור מעור זומבים", - "lore1": "פשוט לזרוק אותו (בשר רקוב) על המדורה!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "תרמילים של בוטילייה!", - "description": "זה רק מביא את צרור מוג'אנג למשחק!", - "lore1": "אתה צריך להיות ב-Survival כדי להשתמש בזה", - "lore2": "XLX: עור, עופרת, עור", - "lore3": "XSX: עור, קופסת שולקר, עור", - "lore4": "XCX: עור, חזה, עור" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "שולחנות ניידים!", - "description": "השתמש בשולחן בכף היד שלך!", - "lore2": "כל פריט שאתה שוכח בטבלה כשהוא סגור אבוד לנצח!", - "lore3": "שולחנות תקפים: סדן, יצירה, אבן שחיקה, קרטוגרפיה, חוטב אבן, נול" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "גולגולות שניתן ליצור!", - "description": "באמצעות חומרים אתה יכול ליצור גולגולות אספסוף!", - "lore1": "הקף בלוק עצם עם הדברים הבאים כדי לקבל גולגולת:", - "lore2": "זומבי: בשר רקוב", - "lore3": "שלד: עצם", - "lore4": "קריפר: אבק שריפה", - "lore5": "קמל: לבנה תחתית", - "lore6": "Dragon: Dragons Breath" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "שריון עולמי", - "description": "שריון פסיבי תלוי בקשיות החסימה הסמוכה.", - "lore1": "שריון פסיבי", - "lore2": "מבוסס על קשיות חסימות סמוכה", - "lore3": "כוח שריון: +" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "אחדות ניסיונית", - "description": "איסוף חוויה כדורים מוסיף XP למיומנויות אקראיות.", - "lore1": "אקספי ", - "lore2": "לכל אורב" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "התנגדות ניסיונית", - "description": "לצרוך ניסיון להפחתת הנזק שאתה לוקח מכל המקורות\n", - "lore0": "זה עשוי להתרחש רק פעם אחת לכל 15 שניות", - "lore1": "% נזק מופחת", - "lore2": "ניסיון מרוקן" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "אטרקציה לכפריים", - "description": "מאפשר לך להשיג עסקאות טובות יותר עם תושבי הכפר!", - "lore1": "זה צורך XP לכל אינטראקציה עם הכפריים", - "lore2": "סיכוי לכל אינטראקציה לצרוך XP ולשפר את העסקאות", - "lore3": "ניקוז XP נדרש לכל אינטראקציה" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "לאפיס חוזר", - "description": "במחיר של רמה אחת נוספת של XP, ויש לו סיכוי לתת לך לפיס בחינם בתמורה", - "lore1": "לכל רמה זה מגדיל את עלות הקסום, על ידי 1, אך יכול לחזור כלפי מעלה של 3 לפיס" - }, - "quickenchant": { - "name": "לחיצה מהירה על קסם", - "description": "פריטי קסם על ידי לחיצה על ספרי קסם ישירות עליהם.", - "lore1": "מקסימום רמות משולבות", - "lore2": "לא יכול לקסם פריט עם יותר מ ", - "lore3": "כּוֹחַ" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "XP RETURN", - "description": "קסום XP מוחזר אליך כשאתה קסם פריט.", - "lore1": "לחוויה שבילוי יש סיכוי להחזיר אותו כשאתה קסם פריט", - "lore2": "ניסיון לכל קסם" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "מחפר חפוז", - "description": "זה יאיץ את תהליך החפירה, בחיפזון!", - "lore1": "צאו לחיפזון בזמן חפירה", - "lore2": "x רמות חיפזון כשאתה מתחיל לכרות כל בלוק." - }, - "droptoinventory": { - "name": "חפירה נשירה למפגש" - }, - "omnitool": { + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] + }, + "spelunker": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { "name": "OMNI - T.O.O.L.", - "description": "העבר המפואר של מתמודד עם מתמודד", - "lore1": "כנראה שהחזקה מבין רבים מאפשרת לך", - "lore2": "ממזג ושנה כלים באופן דינמי, על סמך הצורך שלךs.", - "lore3": "למיזוג, העבר לחץ על פריט על פני מלאי במלאי שלך.", - "lore4": "כדי לפתוח כלים, השחרר את הפריט והוא יפרק.", - "lore5": "אתה לא יכול לשבור כלים ב Leatherman זה אבל אתה לא יכול להשתמש בכלים שבורים", - "lore6": "פריטים המסוגלים למיזוג", - "lore7": "אתה יכול להשתמש בחמישה או שישה כלים, או רק אחד!" + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "הילה צמיחה", - "description": "לגדל את הטבע סביבך בהילה", - "lore1": "חסימת רדיוס", - "lore2": "חוזק ההילה של צמיחה", - "lore3": "עלות אוכל" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "ההיפו של הרבליסט", - "description": "צריכת אוכל, נותנת לך יותר רוויה", - "lore1": "אוכל) נקודות רוויה נוספות על הצריכה" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "מיקוניד של הרבליסט", - "description": "נותן לך את היכולת ליצור mycelium", - "lore1": "כל לכלוך, ופטריות חומות ואדומות יצרו mycelium." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Terralid של הרבליסט", - "description": "נותן לך את היכולת ליצור קוביות דשא", - "lore1": "Three Seeds, מעל 3 Dirt, יעצבו 3 גושי דשא." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "יוצר וובים", - "description": "נותן לך את היכולת ליצור קורי עכביש בשולחן יצירה", - "lore1": "ארבע מיתרים, יעצב קורי עכביש." - }, - "mushroomblocks": { - "name": "מכין פטריות", - "description": "נותן לך את היכולת ליצור בלוקי פטריות בשולחן יצירה", - "lore1": "ארבע פטריות ליצירת גוש, או גוש ליצירת גזע." - }, - "droptoinventory": { - "name": "מעדר ירידה למנוי" - }, - "hungryshield": { - "name": "מגן רעב", - "description": "קח נזק לרעב שלך לפני בריאותך.", - "lore1": "התנגד לרעב" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "המזל של הרבליסט", - "description": "כשאתה שובר דשא/פרחים, יש לך סיכוי לקבל פריט אקראי", - "lore0": "פרחים = אוכל, ועשב = זרעים", - "lore1": "סיכוי להשיג פריט משבירת פרחים", - "lore2": "סיכוי להשיג פריט משבירת דשא" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "קציר ושתול מחדש", - "description": "לחץ באמצעות לחצן העכבר הימני על יבול עם מעדר כדי לקצור ולשבת אותו מחדש.", - "lore1": "חוסם רדיוס מחדש" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "אדרנלין", - "description": "להתמודד יותר נזק לבריאות התחתונה שאתה (תגרה)", - "lore1": "נזק מקסימום" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "אתה תקבל ערימות רעל אם נגמר לך הרעב" - }, - "droptoinventory": { - "name": "פריטים נופלים למפגש", - "description": "כשאתה הורג משהו / שובר חסימה עם חרב זה טלפורט של הטיפות למלאי שלך", - "lore1": "בכל פעם שנשמט פריט מהמון/חסימה אתה נשבר הוא נכנס למלאי שלך אם הוא יכול." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "צעד נעלם", - "description": "כשאתה מכה אתה צובר בלתי נראות, במחיר הרעב", - "lore1": "להשיג אי נראות פסיבית כשנפגעים", - "lore2": "x נראות ערימות למשך 3 שניות בלהיט", - "lore3": "x רעב ערימה", - "lore4": "ערימות רעב משך זמן ומכפיל.", - "lore5": "משך בלתי נראות" - }, - "jumpboost": { - "name": "הייטס של האנטר", - "description": "כשאתה מכה אתה צובר קפיצה, במחיר הרעב", - "lore1": "צברו קפיצה פסיבית כשנפגעים", - "lore2": "x ערימות קפיצה קפיצה למשך 3 שניות בלהיט", - "lore3": "x רעב ערימה", - "lore4": "ערימות רעב משך זמן ומכפיל.", - "lore5": "מכפיל ערימות קפיצה, לא משך זמן." + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "המזל של האנטר", - "description": "כשאתה מכה אתה זוכה למזל, במחיר הרעב", - "lore1": "להשיג מזל פסיבי כשנפגע", - "lore2": "x מזל ערימה למשך 3 שניות בלהיט", - "lore3": "x רעב ערימה", - "lore4": "ערימות רעב משך זמן ומכפיל.", - "lore5": "מזל ערימות מכפיל, לא משך זמן." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "רגן של האנטר", - "description": "כשאתה מכה אתה מקבל התחדשות, במחיר הרעב", - "lore1": "צברו התחדשות פסיבית כשמכה", - "lore2": "X התחדשות ערימה למשך 3 שניות בלהיט", - "lore3": "x רעב ערימה", - "lore4": "ערימות רעב משך זמן ומכפיל.", - "lore5": "התחדשות ערימות מכפיל, לא משך זמן." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "ההתנגדות של האנטר", - "description": "כשאתה מכה אתה מקבל התנגדות, במחיר הרעב", - "lore1": "להשיג התנגדות פסיבית כשמכה", - "lore2": "x ערימות התנגדות למשך 3 שניות בלהיט", - "lore3": "x רעב ערימה", - "lore4": "משך ערימות רעב ומכפיל.", - "lore5": "ערימות התנגדות מכפיל, לא משך זמן." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "המהירות של האנטר", - "description": "כשאתה מכה אתה צובר במהירות, במחיר הרעב", - "lore1": "צבר מהירות פסיבית כשנפגעים", - "lore2": "x מהירות ערימות למשך 3 שניות בלהיט", - "lore3": "x רעב ערימה", - "lore4": "ערימות רעב משך זמן ומכפיל.", - "lore5": "מהירות ערימות מכפיל, לא משך זמן." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "כוחו של האנטר", - "description": "כשאתה מכה אתה צובר כוח, במחיר הרעב", - "lore1": "להשיג כוח פסיבי כשמכה", - "lore2": "x חוזק ערימות למשך 3 שניות בלהיט", - "lore3": "x רעב ערימה", - "lore4": "ערימות רעב משך זמן ומכפיל.", - "lore5": "ערימות חוזק מכפיל, לא משך זמן." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "זריקת גולגולת קמלית", - "description1": "לשחרר את הקמל הפנימי שלך על ידי שימוש", - "description2": "מישהו", - "description3": "רֹאשׁ.", - "lore1": "שניות של חוטם בין השלכת גולגולת.", - "lore2": "באמצעות גולגולת קמלית: זורק א ", - "lore3": "גולגולת קמלית", - "lore4": "התפוצצות על ההשפעה." - }, - "witherresist": { - "name": "התנגדות קמלית", - "description": "מתנגד לנבול בכוחו של הולנטייט.", - "lore1": "סיכוי לשלול את הקמל (לכל חתיכה).", - "lore2": "פסיבי: ללבוש שריון נטריט יש סיכוי לשלול ", - "lore3": "קְמִילָה." + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "מכוניות מכוניות", - "description": "מאפשר לך להריך עפרות וניל מכרות", - "lore1": "עפרות שניתן להכות מכתים באופן אוטומטי באופן אוטומטי", - "lore2": "% סיכוי לתוספת" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "אזמל עפרות", - "description": "לחץ באמצעות לחצן העכבר הימני על עפרות כדי לסחרר עפרות נוספות מתוכם, בעלות עמידות קשה.", - "lore1": "סיכוי לרדת", - "lore2": "ללבוש כלים" - }, - "droptoinventory": { - "name": "ירידה למפגשים של מכוש", - "description": "כשאתה שובר חסימה זה טלפורטט את הפריט למלאי שלך", - "lore1": "בכל פעם שנשמט פריט מבלוק אתה נשבר הוא נכנס למלאי שלך אם הוא יכול." - }, - "veinminer": { - "name": "ורינמינר", - "description": "מאפשר לך לשבור בלוקים בעורק/אשכול של עפרות וניל", - "lore1": "להתגנב, ועפרות שלי", - "lore2": "מגוון כריית ורידים", - "lore3": "מיומנות זו לא מקבצת את כל צונחות זה לזה!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "התאוששות חץ", - "description": "לשחזר חצים לאחר שהרגת אויב.", - "lore1": "סיכוי לשחזר חצים בלהיט/להרוג" - }, - "forceshot": { - "name": "יריית כוח", - "description": "תירה טילים עוד יותר, מהר יותר!", - "advancementname": "סכוי קלוש", - "advancementlore": "הנחת זריקה מיותר מ -30 רחובות משם!", - "lore1": "מהירות טיל" - }, - "lungeshot": { - "name": "לונג ירה", - "description": "בזמן שנפילת החצים שלך זורקים אותך לכיוון אקראי", - "lore1": "מהירות פרץ אקראית" - }, - "arrowpiercing": { - "name": "פירסינג חץ", - "description": "מוסיף פירסינג לטילים!תירה בדברים!", - "lore1": "יעדי פירס" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "גישה מרחוק", - "description": "משוך מהחלל ונכנס למיכל מסומן.", - "lore1": " אנרלפרל + מצפן= Reliquary Portkey", - "lore2": "פריט זה מאפשר לך לגשת למכולות מרחוק", - "lore3": "פעם מעוצבת התבונן בפריט כדי לראות שימוש", - "notcontainer": "זה לא מיכל" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "מצמוץ קרע", - "description": "טלפורטציה מיידית קצרה טווחת, רק מהבהב!", - "lore1": "בלוקים על מצמוץ (2x אנכי)", - "lore2": "בזמן ריצה: ברז כפול קפוץ ל ", - "lore3": "לְמַצְמֵץ" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "אנדרצ'סט קל", - "description": "פתח את Enderchest על ידי לחיצה על שמאל אותו בידך.", - "lore1": "לחץ על Enderchest ביד כדי לפתוח (פשוט אל תניח אותו)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] + }, + "descent": { + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "שער קרע", - "description": "טלפורט למיקום מסומן.", - "lore1": "יצירה: אמרלד + אמטיסט שרד + אנדר פרל", - "lore2": "קרא לפני השימוש!", - "lore3": "עיכוב 5S, ", - "lore4": "אתה יכול למות בזמן שאתה באנימציה הזו" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "התנגדות לקרע", - "description": "קבל התנגדות בעת שימוש בפריטים ויכולות של Ender", - "lore1": "+ פסיבי: מספק התנגדות כשאתה משתמש ביכולות קרע, או בפריטים של ender", - "lore2": "לא כולל אנדרצ'סט נייד, רק דברים שאתה יכול לצרוך" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "מיכל חמצן אורגני", - "description": "החזק יותר חמצן בריאות הזעירות שלך!", - "lore1": "חַמצָן" - }, - "fishersfantasy": { - "name": "הפנטזיה של פישר", - "description": "הרוויח יותר XP מדיג, וקבל יותר דגים!", - "lore1": "לכל רמה יש סיכוי לקבל יותר XP ודגים!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "כורה צבים", - "description": "בזמן כרייה מתחת למים אתה צובר חיפזון!", - "lore1": "חיפזון 3 מיושם מתחת למים בזמן הכרייה (ערימות עם AquaAffinity) לאחר שאפקט נשימת המים שלך פוחת!" - }, - "nightvision": { - "name": "החזון של צב", - "description": "כשאתה מתחת למים, אתה מקבל ראיית לילה", - "lore1": "כל שעליך לעשות הוא להשיג ראיית לילה בעודך מתחת למים לאחר שאפקט נשימת המים שלך פוחת!" - }, - "dolphingrace": { - "name": "החסד של דולפין", - "description": "לשחות כמו דולפין, בלי הדולפינים", - "lore1": "+ פסיבי: רווח ", - "lore2": "x מהירות (גרייס דולפינים)", - "lore3": "דיוק גרמני engineeei- רגע שזה לא בסדר ..." + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "השריון של רוח רפאים", - "description": "שריון בניין איטי כשלא נגרם נזק, נמשך מכה אחת", - "lore1": "מקסימום שריון", - "lore2": "מְהִירוּת" - }, - "nightvision": { - "name": "חזון התגנבות", - "description": "להשיג ראיית לילה תוך כדי התגנבות", - "lore1": "לְהִכָּנֵעַ פרץ של ", - "lore2": "ראיית לילה", - "lore3": "תוך כדי התגנבות" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "פריט חטוף", - "description": "חטוף הפיל פריטים מייד תוך כדי התגנבות!", - "lore1": "רדיוס חטוף" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "מהירות להתגנב", - "description": "להשיג מהירות תוך כדי התגנבות", - "lore1": "מהירות מתגנבת" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "MACHETE", - "description": "חתוך את העלווה בקלות!", - "lore1": "רדיוס סלאש", - "lore2": "קוצצים קולדאון", - "lore3": "ללבוש כלים" - }, - "bloodyblade": { - "name": "בלאדי בלייד", - "description": "מכה עם החרב שלך, גורם לדימום!", - "lore1": "פגיעה בישות חיה עם החרב שלך גורמת לדימום", - "lore2": "משך דימום", - "lore3": "דימום קירור" - }, - "poisonedblade": { - "name": "להב מורעל", - "description": "מכה עם החרב שלך, לגרום לרעל!", - "lore1": "פגיעה בישות חיה עם החרב שלך גורמת לרעל", - "lore2": "משך הרעל", - "lore3": "קירור רעל" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "נזק מאולף", - "description": "הגדלו.", - "lore1": "נזק מוגבר" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "מאולף בריאות", - "description": "הגדל את בריאות בעלי החיים המואשפת שלך.", - "lore1": "בריאות מוגברת" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "התחדשות מאולפת", - "description": "הגדל את התחדשות החיות המואשפת שלך.", - "lore1": "HP/s" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "קוצים", - "description": "החזר נזק לתוקף שלך!", - "lore1": "הנזק מתקבל כאשר אתם נפגעים" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] + }, + "globe": { + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] + }, + "healing": { + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] + }, + "lance": { + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "תותח זכוכית", - "description": "נזק בונוס לא חמוש, ערך השריון שלך נמוך יותר", - "lore1": "x נזק בשריון 0", - "lore2": "נזק בונוס של פרל" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "כוח לא חמוש", - "description": "שיפור נזק לא חמוש", - "lore1": "נֵזֶק" - }, - "suckerpunch": { - "name": "אגרוף פראייר", - "description": "ספרינט אגרוף, אבל קטלני יותר.", - "lore1": "נֵזֶק", - "lore2": "הנזק גדל במהירות שלך בזמן האגרוף" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/it_IT.json b/src/main/resources/it_IT.json index 5e32282a5..7bb05ec59 100644 --- a/src/main/resources/it_IT.json +++ b/src/main/resources/it_IT.json @@ -231,912 +231,1285 @@ "challenge_pickaxe_5m": { "title": "Minatore leggendario", "description": "Rompi 5.000.000 di blocchi" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "name": "Passaporta reliquiario", - "usage1": "Maiusc + clic sinistro per legare", - "usage2": "Fare clic con il tasto destro per accedere all'inventario associato" - }, - "boundeyeofender": { - "name": "Ancora oculare", - "usage1": "Fare clic con il pulsante destro del mouse per consumare e teletrasportarsi nella posizione vincolata", - "usage2": "Maiusc + clic sinistro per collegarsi a un blocco" - }, - "boundredstonetorch": { - "name": "Telecomando di pietrarossa", - "usage1": "Fare clic con il pulsante destro del mouse per creare un impulso Redstone da 1 segno di spunta", - "usage2": "Maiusc + clic sinistro su un blocco \"bersaglio\" da legare" - }, - "boundsnowball": { - "name": "Ragnatela!", - "usage1": "Lancia per creare una web trap temporanea nella posizione" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Livello", - "knowledge": "Conoscenze", - "powerused": "Potere Usato", - "notlearned": "Non appreso", - "xp": "XP a", - "welcome": "Ben arrivato!", - "welcomeback": "Ben tornato!", - "xpbonusfortime": "XP per", - "unlockthisbyclicking": "Sbloccalo facendo clic con il pulsante destro del mouse:", - "back": "Di ritorno", - "unlearnall": "Disimpara tutto", - "unlearnedall": "Tutto disimparato" - }, - "adaptmenu": { - "maynotunlearn": "NON PUOI DISimparare", - "mayunlearn": "PUOI IMPARARE/DISimparare", - "knowledgecost": "Costo della conoscenza", - "knowledgeavailable": "Conoscenza disponibile", - "alreadylearned": "Già appreso", - "unlearnrefund": "Clicca per disimparare e rimborsare", - "norefunds": "HARDCORE, RIMBORSI DISABILI", - "knowledge": "Conoscenze", - "clicklearn": "Clicca per imparare", - "noknowledge": "(Non hai alcuna conoscenza)", - "youonlyhave": "Hai solo", - "howtolevelup": "Aumenta le abilità di livello per aumentare la tua potenza massima.", - "notenoughpower": "Non c'è abbastanza potenza! Ogni livello di abilità costa 1 potere.", - "power": "Potere", - "powerdrain": "Scarico di corrente", - "learned": "Imparato ", - "unlearned": "Non appreso ", - "activatorblock": "Libreria" - }, - "knowledgeorb": { - "contains": "Contiene", - "knowledge": "Conoscenze", - "rightclick": "Cliccare con il tasto destro del mouse", - "togainknowledge": "per ottenere questa conoscenza", - "knowledgeorb": "Globo della Conoscenza" - }, - "experienceorb": { - "contains": "contains", - "xp": "Experience", - "rightclick": "Right-Click", - "togainxp": "to gain this experience", - "xporb": "Experience Orb" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Agilità", + "name": "Agility", "icon": "⇉", - "description": "L'agilità è la capacità di muoversi rapidamente e fluidamente di fronte agli ostacoli." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Architetto", + "name": "Architect", "icon": "⬧", - "description": "Le strutture sono i mattoni del mondo. La realtà è nelle vostre mani, la potete controllare." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Assi", - "icon": "❖", - "description1": "Perché abbattere alberi, quando si possono abbattere ", - "description2": "cose", - "description3": "invece, lo stesso risultato finale!" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Birra", - "icon": "❖", - "description": "Doppia bolla, tripla bolla, quadrupla bolla: non riesco ancora a mettere questa pozione in un calderone." + "name": "Brewing", + "icon": "❦", + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Blocco", - "icon": "▒", - "description": "Bastoni e pietre non ti spezzeranno le ossa, ma uno scudo sì." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Artigianato", - "icon": "❖", - "description": "Non essendoci più pezzi da posizionare, perché non farne un altro?" + "name": "Crafting", + "icon": "⌂", + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Scoperta", + "name": "Discovery", "icon": "⚛", - "description": "Mentre la tua percezione si espande, la tua mente si dipana per scoprire ciò che non conoscevi." + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Incanto", - "icon": "⚜", - "description": "Di che cosa state parlando? Profezie, visioni, chiacchiere superstiziose?" + "name": "Enchanting", + "icon": "♰", + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Scavo", - "icon": "✥", - "description": "Scavare un buco..." + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "Erboristeria", + "name": "Herbalism", "icon": "⚘", - "description": "Non trovo nessuna pianta, ma trovo dei semi e... è...? Erba?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "Cacciatore", + "name": "Hunter", "icon": "☠", - "description": "La caccia riguarda il viaggio, non il risultato." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "Nettuno", + "name": "Nether", "icon": "₪", - "description": "Dalle profondità del Nether stesso." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Piccone", + "name": "Pickaxe", "icon": "⛏", - "description": "I nani sono i minatori, ma ho imparato un paio di cose nel mio tempo. SVEDESE" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "A distanza", + "name": "Ranged", "icon": "🏹", - "description": "La distanza è la chiave della vittoria e della sopravvivenza." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { "name": "Rift", "icon": "❍", - "description": "La Rift è un'imbracatura caustica, ma voi avete imbrigliato l'imbracatura." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "seaborne", - "icon": "🌊", - "description": "Con questa abilità, potrete godere delle meraviglie dell'acqua." + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "Furtività", - "icon": "✠", - "description": "L'arte di non farsi vedere. Camminare nell'ombra." + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Spade", + "name": "Swords", "icon": "⚔", - "description": "Per il potere della Pietra Grigia!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "Domare", + "name": "Taming", "icon": "♥", - "description": "I pappagalli e le api... e voi?" + "description": "The parrots and the bees... and you?" }, "tragoul": { "name": "TragOul", - "icon": "▼", + "icon": "🗡", "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "chronos", - "icon": "۞", - "description": "Wind the Clock of the universe, experience the flow. Break the clock, Become it." + "name": "Chronos", + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "Disarmato", - "icon": "⚜", - "description": "Senza un'arma non è senza forza" + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Armatura-Up", - "description": "Ottieni più armatura più a lungo fai uno sprint!", - "lore1": "Armatura massima", - "lore2": "Tempo di aumento dell'armatura" - }, - "superjump": { - "name": "Super salto", - "description": "Vantaggio di altezza eccezionale", - "lore1": "Altezza massima di salto", - "lore2": "* Sgattaiolare + Saltare per Super Saltare!" - }, - "walljump": { - "name": "Salto a muro", - "description": "Tieni premuto il cambio mentre sei a mezz'aria contro un muro per agganciarlo e saltare!", - "lore1": "Salti massimi", - "lore2": "Altezza di salto" - }, - "windup": { - "name": "Vento in su", - "description": "Diventa più veloce quanto più a lungo fai uno sprint!", - "lore1": "Velocità massima", - "lore2": "Tempo di avvolgimento" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "Fondazione magica", - "description": "Permette di intrufolarsi e di posizionare una fondazione temporanea sotto di voi!", - "lore1": "Crea magicamente dei : ", - "lore2": "Blocchi sotto di voi!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Vetro al tocco di seta", - "description": "Permette di evitare la perdita di blocchi di vetro quando li rompete con una mano vuota!", - "lore1": "Le mani acquistano il tocco di seta per il vetro" - }, - "wirelessredstone": { - "name": "Telecomando di pietrarossa", - "description": "Ciò ti consente di utilizzare una torcia di pietra rossa per attivare la pietra rossa, da remoto!", - "lore1": "Target + Redstone Torch + Enderperal = 1 Redstone Remote" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Bacchetta dei costruttori", - "description": "permette di posizionare più blocchi contemporaneamente per attivare l'effetto furtivo e di tenere un blocco che corrisponde a quello che state cercando e posizionarlo! Tenete presente che potrebbe essere necessario spostarsi un po' per attivare la delimitazione delle caselle!", - "lore1": "Avete bisogno di", - "lore2": "blocchi in mano per posizionare questo", - "lore3": "Bacchetta del costruttore di materiali" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Ascia da taglio", - "description": "Abbattete gli alberi cliccando con il tasto destro del mouse sul tronco di base!", - "lore1": "Blocchi per taglio", - "lore2": "Tempo di attesa per il taglio", - "lore3": "Usura dell'attrezzo" - }, - "logswap": { - "name": "Lo scambiatore di log di Lucy", - "description": "Cambia il sapore dei tronchi in un tavolo da lavoro!", - "lore1": "1 ceppo di qualsiasi tipo + 1 alberello = 1 ceppo del tipo ad alberello" - }, - "droptoinventory": { - "name": "Ascia caduta nell'inventario" - }, - "groundsmash": { - "name": "Ascia Smash a terra", - "description": "Salta, poi accovacciati e colpisci tutti i nemici vicini.", - "lore1": "Danni", - "lore2": "Raggio di blocco", - "lore3": "Forza", - "lore4": "Cooldown dello Smash" - }, - "leafminer": { - "name": "Minatore di foglie", - "description": "Ti permette di rompere le foglie sfuse in una volta!", - "lore1": "Sgattaiolare, e le mie FOGLIE", - "lore2": "gamma di estrazione di foglie", - "lore3": "Non otterrai le gocce dalle foglie (Exploit Prevention)" - }, - "woodminer": { - "name": "Minatore di legno", - "description": "Ti permette di rompere il legno sfuso in una volta!", - "lore1": "Sneak, and mine WOOD/LOGS (non tavole)", - "lore2": "gamma di estrazione del legno", - "lore3": "Funziona con Drop to inventory" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "Infuso persistente", - "description": "Le pozioni preparate durano più a lungo!", - "lore1": "Durata", - "lore2": "Durata" - }, - "superheated": { - "name": "Infuso super riscaldato", - "description": "I banchi di infusione funzionano tanto più velocemente quanto più sono caldi.", - "lore1": "Per ogni blocco di fuoco toccato", - "lore2": "Per ogni blocco di lava toccato" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "Oscurità imbottigliata", - "description": "Non sono sicuro del motivo per cui ne hai bisogno, ma ecco qua!", - "lore1": "Pozione Visione Notturna + Cemento Nero = Pozione dell'Oscurità (30 secondi)", - "lore2": "Va notato che Ciò impedisce all'utente di Sprint!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "Fretta in bottiglia", - "description": "Quando l'efficienza non basta", - "lore1": "Pozione della Velocità + Frammento di Ametista = Pozione della Fretta (60 secondi)", - "lore2": "Pozione della Velocità + Blocco di Ametista = Pozione della Fretta-2 (30 secondi)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Assorbimento in bottiglia", - "description": "Rafforza il corpo!", - "lore1": "Guarigione Istantanea + Quarzo = Pozione dell'Assorbimento (60 secondi)", - "lore2": "Guarigione Istantanea + Blocco di Quarzo = Pozione di Assorbimento-2 (30 secondi)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Fatica in bottiglia", - "description": "Indebolisci il corpo!", - "lore1": "Pozione della debolezza + Palla di melma = Pozione della fatica (30 secondi)", - "lore2": "Pozione della debolezza + Blocco di melma = Pozione della fatica-2 (15 secondi)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Fame in bottiglia", - "description": "Dai da mangiare all'insaziabile!", - "lore1": "Pozione imbarazzante + Carne marcia = Pozione della fame (30 secondi)", - "lore2": "Pozione della debolezza + Carne marcia = Pozione della fame-3 (15 secondi)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "Nausea in bottiglia", - "description": "sei una persona orribile...", - "lore1": "Pozione imbarazzante + Fungo marrone = Pozione della nausea (16 secondi)", - "lore2": "Pozione imbarazzante + Fungo cremisi = Pozione della nausea-2 (8 secondi)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Cecità in bottiglia", - "description": "sei una persona orribile...", - "lore1": "Pozione imbarazzante + Sacco d'inchiostro = Pozione della cecità (30 secondi)", - "lore2": "Pozione imbarazzante + Sacco d'inchiostro luminoso = Pozione della cecità-2 (15 secondi)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Resistenza in bottiglia", - "description": "Fortificazione al suo meglio!", - "lore1": "Pozione imbarazzante + Lingotto di ferro = Pozione di resistenza (60 secondi)", - "lore2": "Pozione imbarazzante + Blocco di ferro = Pozione di resistenza-2 (30 secondi)" - }, - "healthboost": { - "name": "Vita in bottiglia", - "description": "Quando la massima salute non basta...", - "lore1": "Pozione di guarigione istantanea + Mela d'oro = Potenziamento della pozione della salute (120 secondi)", - "lore2": "Pozione di guarigione istantanea + Mela d'oro incantata = Pozione della salute Boost-2 (120 secondi)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Decadimento in bottiglia", - "description": "Chi sapeva che Detritus sarebbe stato così utile?", - "lore1": "Pozione di debolezza + Patata velenosa = Pozione di avvizzimento (16 secondi)", - "lore2": "Pozione di debolezza + Radici cremisi = Pozione di avvizzire-2 (8 secondi)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Saturazione in bottiglia", - "description": "Sai... non ho nemmeno fame...", - "lore1": "Pozione Regen + Patata al Forno = Pozione della Saturazione (120 secondi)", - "lore2": "Pozione rigenerante + Balla di fieno = Pozione della saturazione (120 secondi)" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Catene di Mefistofele", - "description": "Ti permette di creare un'armatura di cotta di maglia", - "lore1": "La ricetta del Crafting è la stessa di tutte le altre, ma con le pepite di ferro" - }, - "horsearmorer": { - "name": "Armatura da cavallo artigianale", - "description": "Ti permette di creare armature per cavalli", - "lore1": "Circonda una sella con il materiale che vuoi usare per fabbricare l'armatura" - }, - "saddlecrafter": { - "name": "Sella artigianale", - "description": "Crea una sella con pelle", - "lore1": "Ricetta: 5 Pelle:" - }, - "multiarmor": { - "name": "Multi-armatura", - "description": "Lega le Elitre all'Armatura", - "lore1": "Questa è un'abilità straordinaria per viaggiare.", - "lore2": "unisci e cambia dinamicamente armatura/elitre al volo!", - "lore3": "per unire, fai clic maiuscolo su un articolo su un altro nel tuo inventario.", - "lore4": "per sciogliere l'armatura, lascia cadere l'oggetto e si smonterà.", - "lore5": "Se la tua MultiArmor viene distrutta, perderai tutti gli oggetti in essa contenuti.", - "lore6": "Non ho bisogno di armature, mi delude..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Decostruzione", - "description": "Decostruisci blocchi e oggetti in componenti di base recuperabili!", - "lore1": "Posizionare un oggetto qualsiasi + cesoie", - "lore2": "in un tavolo da fabbro per decostruire." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "XP di artigianato", - "description": "Guadagna XP passivi durante il crafting", - "lore1": "Guadagna XP durante il crafting" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Ricostruzione del minerale", - "description": "Ricrea i minerali dai loro componenti di base!", - "lore1": "8 delle gocce e 1 host = 1 minerale (informe)", - "lore2": "Le gocce devono essere fuse (se applicabile)", - "lore3": "Escluso: scarti, quarti e smeraldi ecc...", - "lore4": "Ospite = Involucro. vale a dire: Pietra, Netherack, Deepslate" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Pelle lavorabile", - "description": "Crea pelle dalla carne marcia", - "lore1": "Basta gettarlo (carne marcia) sul fuoco!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "Gli zaini di un Boutilier!", - "description": "Questo porta il pacchetto Mojang nel gioco!", - "lore1": "Devi essere in Survival per usarlo", - "lore2": "XLX: Pelle, Piombo, Pelle", - "lore3": "XSX: Pelle, Scatola Shulker, Pelle", - "lore4": "XCX : Pelle, Petto, Pelle" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Tavoli portatili!", - "description": "Usa un tavolo nel palmo della tua mano!", - "lore2": "TUTTI GLI ARTICOLI CHE DIMENTICHI NEL TAVOLO QUANDO CHIUSO SONO PERSI PER SEMPRE!", - "lore3": "Tabelle valide: Incudine, Lavorazione, Mola, Cartografia, Tagliapietre, Telaio" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Teschi artigianali!", - "description": "Usando i materiali puoi creare teschi di mob!", - "lore1": "Circonda un blocco d'ossa con quanto segue per ottenere un teschio:", - "lore2": "Zombie: carne in decomposizione", - "lore3": "Scheletro: osso", - "lore4": "Rampicante: polvere da sparo", - "lore5": "Wither: mattone del Nether", - "lore6": "Drago: Il respiro del drago" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Armatura mondiale", - "description": "Armatura passiva che dipende dalla durezza dei blocchi vicini.", - "lore1": "Armatura passiva", - "lore2": "In base alla durezza dei blocchi vicini", - "lore3": "Forza dell'armatura: +" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Unità sperimentale", - "description": "Raccogliere sfere di esperienza aggiunge XP alle abilità casuali.", - "lore1": "XP ", - "lore2": "Per sfera" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Resistenza sperimentale", - "description": "Consumare esperienza per mitigare i danni subiti da tutte le fonti.\n", - "lore0": "Può verificarsi solo una volta ogni 15 secondi", - "lore1": "% Danno ridotto", - "lore2": "esperienza drenata" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Attrazione del villaggio", - "description": "Ti permette di ottenere migliori scambi con gli abitanti del villaggio!", - "lore1": "Questo consuma XP per interazione con gli abitanti del villaggio", - "lore2": "Possibilità per interazione di consumare XP e migliorare gli scambi", - "lore3": "consumo di PE richiesto per interazione" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Ritorno del Lapis", - "description": "Al costo di 1 livello in più di XP, ha la possibilità di restituire lapis gratis.", - "lore1": "Per ogni livello, aumenta di 1 punto il costo dell'incantamento, ma può restituire fino a 3 Lapis." - }, - "quickenchant": { - "name": "Incantare con un clic", - "description": "Incanta gli oggetti facendo clic sui libri degli incantesimi direttamente su di essi.", - "lore1": "Livelli massimi combinati", - "lore2": "Non si può incantare un oggetto con più di ", - "lore3": "Potenza" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "Ritorno di XP", - "description": "La XP d'incanto viene restituita quando si incanta un oggetto.", - "lore1": "L'esperienza spesa ha una possibilità di essere rimborsata quando si incanta un oggetto.", - "lore2": "Esperienza per incanto" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Scavatore frettoloso", - "description": "Accelera il processo di scavo con la FASTE!", - "lore1": "Guadagna fretta durante gli scavi", - "lore2": "x Livelli di fretta quando si inizia a scavare in QUALSIASI blocco." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Spelunker super-veggente!", - "description": "Guarda i minerali con i tuoi occhi, ma attraverso il terreno!", - "lore1": "Minerale nella tua mano secondaria, Lucciole nella tua mano principale e Sneak!", - "lore2": "Intervallo blocco:", - "lore3": "Consuma Glowberry durante l'uso" - }, - "droptoinventory": { - "name": "Pala da lasciare nell'inventario" - }, - "omnitool": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { "name": "OMNI - T.O.O.L.", - "description": "L'opulento Leatherman di Tackle, dal design eccessivo.", - "lore1": "Probabilmente il più potente tra i tanti, permette di", - "lore2": "unire e cambiare dinamicamente gli attrezzi al volo, in base alle proprie esigenze.", - "lore3": "Per unire gli strumenti, fare clic su un oggetto sopra un altro nell'inventario.", - "lore4": "Per disincastrare gli strumenti, lasciate cadere l'oggetto e questo si smonterà.", - "lore5": "non si possono rompere gli attrezzi in questo leatherman, ma non si possono usare attrezzi rotti.", - "lore6": "totale degli oggetti che si possono unire", - "lore7": "si possono usare cinque o sei attrezzi, oppure uno solo!" + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Aura di crescita", - "description": "Fai crescere la natura intorno a te con un'aura", - "lore1": "Raggio di blocco", - "lore2": "Forza dell'aura di crescita", - "lore3": "Costo del cibo" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Ippopotamo dell'erborista", - "description": "Consumando cibo, si ottiene una maggiore saturazione", - "lore1": "+ Cibo) punti di saturazione aggiuntivi al consumo" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { "name": "Herbalist's Myconid", "description": "Gives you the ability to craft Mycelium", - "lore1": "Any Dirt, and a Brown & Red Mushroom will craft Mycelium." + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Terralide dell'erborista", - "description": "Ti dà la possibilità di creare blocchi d'erba", - "lore1": "Tre semi, oltre 3 terriccio, creeranno 3 blocchi d'erba." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Creatore di Webby", - "description": "Ti dà la possibilità di creare ragnatele in un tavolo da lavoro", - "lore1": "Nine String, creerà una ragnatela." - }, - "mushroomblocks": { - "name": "Creatore di funghi", - "description": "Ti dà la possibilità di creare blocchi di funghi in un tavolo da lavoro", - "lore1": "Quattro funghi per fare un blocco, o un blocco per fare un gambo." - }, - "droptoinventory": { - "name": "Goccia di zappa nell'inventario" - }, - "hungryshield": { - "name": "Scudo della fame", - "description": "Subisce danni alla fame prima che alla salute", - "lore1": "Resistente alla fame" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { "name": "Herbalist's Luck", "description": "When you break Grass/Flowers, you have a chance to get a random item", - "lore0": "Flowers = Food, and Grass = Seeds", - "lore1": "Chance to get an item from breaking Flowers", - "lore2": "Chance to get an item from breaking Grass" + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Raccogliere e ripiantare", - "description": "Cliccate con il tasto destro del mouse su una coltura con la zappa per raccoglierla e ripiantarla.", - "lore1": "Blocca il raggio di reimpianto" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "Adrenalina", - "description": "Infligge più danni quanto più basso è il livello di salute (mischia).", - "lore1": "Danno massimo" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "You will Gain Poison stacks if you run out of hunger" - }, - "droptoinventory": { - "name": "Oggetti che cadono nell'inventario", - "description": "Quando si uccide qualcosa o si rompe un blocco con la spada, gli oggetti vengono teletrasportati nell'inventario.", - "lore1": "Ogni volta che un oggetto viene lasciato cadere da un mob o da un blocco che hai rotto, va nel tuo inventario, se possibile." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Passo di fuga", - "description": "Quando si viene colpiti si ottiene un aumento di salto, al costo della fame.", - "lore1": "Guadagna velocità passiva quando viene colpito", - "lore2": "x L'invisibilità si impila per 3 secondi quando si viene colpiti", - "lore3": "x Fame impilabile", - "lore4": "La fame impila la durata e il moltiplicatore.", - "lore5": "Durata dell'invisibilità" - }, - "jumpboost": { - "name": "Altezza del cacciatore", - "description": "Quando si viene colpiti si ottiene un potenziamento del salto, al costo della fame.", - "lore1": "Guadagna un boost passivo di salto quando viene colpito", - "lore2": "x Il potenziamento del salto si impila per 3 secondi al momento del colpo.", - "lore3": "x Fame impilata", - "lore4": "La fame impila la durata e il moltiplicatore.", - "lore5": "Il salto aumenta il moltiplicatore, non la durata." + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "Fortuna del cacciatore", - "description": "Quando si viene colpiti si guadagna fortuna, al costo della fame.", - "lore1": "Guadagna fortuna passiva quando viene colpito", - "lore2": "x La fortuna si impila per 3 secondi al colpo", - "lore3": "x Fame impilata", - "lore4": "La fame impila la durata e il moltiplicatore.", - "lore5": "La fortuna si accumula nel moltiplicatore, non nella durata." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Rigenerazione del cacciatore", - "description": "Quando si viene colpiti si guadagna rigenerazione, al costo della fame.", - "lore1": "Guadagna rigenerazione passiva quando viene colpito", - "lore2": "x La rigenerazione si impila per 3 secondi dopo il colpo", - "lore3": "x Fame impilata", - "lore4": "La fame impila la durata e il moltiplicatore.", - "lore5": "La rigenerazione si impila nel moltiplicatore, non nella durata." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Resistenza del cacciatore", - "description": "Quando si viene colpiti si guadagna resistenza, al costo della fame.", - "lore1": "Guadagna resistenza passiva quando viene colpito", - "lore2": "x La resistenza si impila per 3 secondi dopo il colpo.", - "lore3": "x Fame impilata", - "lore4": "Durata e moltiplicatore delle pile di fame.", - "lore5": "La resistenza si impila con un moltiplicatore, non con la durata." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Velocità del cacciatore", - "description": "Quando si viene colpiti si guadagna velocità, al costo della fame.", - "lore1": "Guadagna velocità passiva quando viene colpito", - "lore2": "x La velocità si impila per 3 secondi dopo il colpo.", - "lore3": "x Fame da accatastamento", - "lore4": "Durata e moltiplicatore delle pile della fame.", - "lore5": "Moltiplicatore di velocità, non di durata." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Forza del cacciatore", - "description": "Quando si viene colpiti si guadagna forza, al costo della fame.", - "lore1": "Guadagna forza passiva quando viene colpito", - "lore2": "x La forza si impila per 3 secondi dopo il colpo", - "lore3": "x Accatastamento della fame", - "lore4": "Durata e moltiplicatore delle pile della fame.", - "lore5": "Il moltiplicatore della forza non ha durata." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Lancio del teschio appassito", - "description1": "Scatenate il vostro Wither interiore usando ", - "description2": "qualcuno", - "description3": "testa di qualcuno.", - "lore1": "Il lancio del teschio ha un cooldown di pochi secondi.", - "lore2": "Usare il Teschio dell'Avvizzitore: Lancia un ", - "lore3": "Teschio Avvizzito", - "lore4": "che esplode all'impatto." - }, - "witherresist": { - "name": "Resistenza all'avvizzimento", - "description": "Resiste all'avvizzimento grazie al potere della Netherite.", - "lore1": "possibilità di annullare l'avvizzimento (per pezzo).", - "lore2": "Passiva: Indossare un'armatura di Netherite ha una possibilità di annullare l'appassimento. ", - "lore3": "l'avvizzimento." - }, - "fireresist": { - "name": "Resistenza al fuoco", - "description": "Resiste al fuoco indurendo la tua pelle.", - "lore1": "possibilità di annullare l'effetto bruciante!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "Autofusione", - "description": "Permette di fondere i minerali di vaniglia estratti.", - "lore1": "I minerali che possono essere fusi vengono fusi automaticamente.", - "lore2": "% di possibilità per un extra" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "Scalpello dei minerali", - "description": "Cliccate con il tasto destro del mouse sui minerali per scalpellarne di più, con un costo elevato in termini di durata.", - "lore1": "Probabilità di cadere", - "lore2": "Usura dell'attrezzo" - }, - "droptoinventory": { - "name": "Pickaxe - Caduta nell'inventario", - "description": "Quando si rompe un blocco, l'oggetto viene teletrasportato nell'inventario.", - "lore1": "Ogni volta che un oggetto viene lasciato cadere da un blocco che si rompe, va nell'inventario, se possibile." - }, - "veinminer": { - "name": "veinminer", - "description": "Permette di rompere i blocchi in una vena o in un gruppo di minerali Vanilla.", - "lore1": "Sgattaiolare e estrarre minerali", - "lore2": "raggio d'azione di Vein-mining", - "lore3": "Questa abilità NON raggruppa tutti i drop!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Recupero frecce", - "description": "Recupera le frecce dopo aver ucciso un nemico.", - "lore1": "Possibilità di recuperare le frecce dopo un colpo/un'uccisione.", - "lore2": "Opportunità:" - }, - "webshot": { - "name": "Ragnatela", - "description": "Avvolgi le ragnatele intorno al tuo bersaglio quando lo colpisci!", - "lore1": "8 ragnatele attorno a una palla di neve e lancia!", - "lore2": "secondi di una gabbia, all'incirca." - }, - "forceshot": { - "name": "Colpo di forza", - "description": "Spara proiettili più lontano, più velocemente!", - "advancementname": "Colpo lungo", - "advancementlore": "Esegui un colpo da oltre 30 isolati di distanza!", - "lore1": "Velocità del proiettile" - }, - "lungeshot": { - "name": "Colpo d'allungo", - "description": "Mentre cadi, le tue frecce ti lanciano in una direzione casuale.", - "lore1": "Velocità di esplosione casuale" - }, - "arrowpiercing": { - "name": "Freccia perforante", - "description": "Aggiunge il piercing ai proiettili! Spara attraverso gli oggetti!", - "lore1": "Trafiggi i bersagli" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Accesso remoto", - "description": "Estrai dal vuoto ed entra in un contenitore contrassegnato.", - "lore1": "Enderpearl + Bussola = Chiave del Reliquiario", - "lore2": "Questo oggetto permette di accedere ai contenitori a distanza.", - "lore3": "Una volta creato, guardate l'oggetto per vedere l'uso", - "notcontainer": "Quello non è un contenitore" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Lampo di Rift", - "description": "Teletrasporto istantaneo a breve distanza, basta un battito di ciglia!", - "lore1": "Blocca in un batter d'occhio (2x verticale)", - "lore2": "Durante lo sprint: Doppio tocco per saltare a ", - "lore3": "Lampeggiare" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Scrigno facile", - "description": "Aprire uno scrigno cliccando con il tasto sinistro del mouse sulla mano.", - "lore1": "Clicca su un Enderchest nella tua mano per aprirlo (ma non posizionarlo)." + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Anti-Levitazione", - "description": "Sei stanco di essere bloccato in aria? Questa è l'abilità che fa per te!", - "lore1": "Sgattaiola per scendere e cadrai a una velocità inferiore al normale!", - "lore2": "Raffreddare:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "Porta del Rift", - "description": "Teletrasporta in un luogo contrassegnato.", - "lore1": "CRAFTING: Smeraldo + Frammento di ametista + Perla Ender", - "lore2": "Leggere prima di usare!", - "lore3": "Ritardo di 5 secondi, ", - "lore4": "si può morire mentre si è in questa animazione" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "Resistenza del Varco", - "description": "Guadagna resistenza quando si usano oggetti e abilità di Ender.", - "lore1": "+ Passiva: Fornisce resistenza quando si usano le abilità della spaccatura o gli oggetti Ender.", - "lore2": "NON include l'Enderchest portatile, ma solo le cose che si possono consumare." + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Serbatoio organico di ossigeno", - "description": "Trattiene più ossigeno nei suoi piccoli polmoni!", - "lore1": "Aumento della capacità di ossigeno" - }, - "fishersfantasy": { - "name": "La fantasia di Fisher", - "description": "guadagna più XP dalla pesca e ottieni più pesci!", - "lore1": "Per ogni livello c'è la possibilità di ottenere più XP e Pesce!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "Minatore di tartarughe", - "description": "Durante l'estrazione sott'acqua guadagni in fretta!", - "lore1": "Haste 3 viene applicato sott'acqua durante l'estrazione (si accumula con AquaAffinity) dopo che l'effetto di respirazione dell'acqua svanisce!" - }, - "nightvision": { - "name": "Visione della tartaruga", - "description": "Mentre sei sott'acqua, ottieni Visione notturna", - "lore1": "Ottieni semplicemente la visione notturna mentre sei sott'acqua dopo che l'effetto di respirazione dell'acqua svanisce!" - }, - "dolphingrace": { - "name": "Grazia del delfino", - "description": "Nuota come un delfino, senza i delfini.", - "lore1": "+ Passiva: guadagna ", - "lore2": "x velocità (grazia dei delfini)", - "lore3": "motore tedesco di precisione... aspetta, non è giusto..." + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Armatura del fantasma", - "description": "Armatura ad accumulo lento quando non subisce danni, dura per 1 colpo.", - "lore1": "Armatura massima", - "lore2": "Velocità" - }, - "nightvision": { - "name": "Visione furtiva", - "description": "Guadagna la visione notturna mentre sgattaiola", - "lore1": "Guadagna una raffica di ", - "lore2": "visione notturna", - "lore3": "mentre si muove furtivamente" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Sgraffignare oggetti", - "description": "Strappa istantaneamente gli oggetti caduti mentre sgattaioli!", - "lore1": "Raggio di cattura" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Velocità di sgattaiolamento", - "description": "Guadagna velocità mentre sgattaiola", - "lore1": "Velocità di sgattaiolamento" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "machete", - "description": "Taglia il fogliame con facilità!", - "lore1": "Raggio del fendente", - "lore2": "Tempo di raffreddamento del taglio", - "lore3": "Usura dell'attrezzo" - }, - "bloodyblade": { - "name": "Lama insanguinata", - "description": "Colpisce con la tua spada, causa Sanguinamento!", - "lore1": "Colpire un essere vivente con la tua spada provoca sanguinamento", - "lore2": "Durata del sanguinamento", - "lore3": "Tempo di recupero dell'emorragia" - }, - "poisonedblade": { - "name": "Lama avvelenata", - "description": "Colpisce con la tua spada, causa Veleno!", - "lore1": "Colpire un essere vivente con la tua spada provoca Veleno", - "lore2": "Durata del veleno", - "lore3": "Tempo di recupero del veleno" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Danno da addomesticamento", - "description": "Aumenta i danni inflitti agli animali addomesticati.", - "lore1": "Danno aumentato" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Salute dell'animale domato", - "description": "Aumenta la salute dell'animale domato.", - "lore1": "Aumento della salute" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Rigenerazione dell'animale domato", - "description": "Aumenta la rigenerazione degli animali addomesticati.", - "lore1": "HP/s" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "Spine", - "description": "Rifletti il danno sul tuo attaccante!", - "lore1": "Il danno ha reagito quando colpito" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Globo del dolore", - "description": "Dividi il danno che infliggi in base al numero di nemici intorno a te!", - "lore1": "Più nemici ti circondano, meno danni infliggi a ciascuno di loro", - "lore2": "Allineare:", - "lore3": "Aggiunto danno a tutte le entità:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Volontà di Dolore", - "description": "Recupera la salute in base al danno che infliggi!", - "lore1": "Fare del male alle cose non è mai stato così bello! Guarisci dai danni inflitti", - "lore2": "C'è una finestra di danno di 3 secondi, per la guarigione e un tempo di recupero di 1 secondo", - "lore3": "Guarigione per percentuale di danno:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Lance cadavere", - "description": "Uccidere un nemico o avere un'abilità che uccida un nemico genera una lancia che infligge danni a un nemico vicino!", - "lore1": "Lance cercherà qualsiasi cosa tu uccida E se questa abilità uccide un nemico.", - "lore2": "Sacrifica una parte della tua vita per creare le lance (questo può ucciderti)", - "lore3": "Max Lance: 1+" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Cannone di vetro", - "description": "Danno da disarmato bonus più basso è il valore dell'armatura", - "lore1": "x Danno a 0 armatura", - "lore2": "Danno bonus per livello" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Potere disarmato", - "description": "Danno da disarmato migliorato", - "lore1": "Danni" - }, - "suckerpunch": { - "name": "Pugno a tradimento", - "description": "Pugni sprint, ma più letali.", - "lore1": "Danno", - "lore2": "I danni aumentano in base alla velocità dei pugni." + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/ja-JP.json b/src/main/resources/ja-JP.json deleted file mode 100644 index f28ae1cb4..000000000 --- a/src/main/resources/ja-JP.json +++ /dev/null @@ -1,1202 +0,0 @@ -{ - "advancement": { - "challenge_move_1k": { - "title": "動かなきゃ!", - "description": "1キロメートル(1,000ブロック)以上歩く" - }, - "challenge_sprint_5k": { - "title": "5Kを全力疾走!", - "description": "5キロメートル(5,000ブロック)以上歩く" - }, - "challenge_sprint_50k": { - "title": "50Kをズーム!", - "description": "50キロメートル(50,000ブロック)以上歩く" - }, - "challenge_sprint_500k": { - "title": "宇宙を横断せよ!!", - "description": "500キロメートル(50万ブロック)以上歩く" - }, - "challenge_sprint_marathon": { - "title": "文字通りのマラソンを全力疾走しましょう!", - "description": "42,195 ブロックを全力疾走!" - }, - "challenge_place_1k": { - "title": "初心者ビルダー!", - "description": "ブロックを1,000個配置する" - }, - "challenge_place_5k": { - "title": "中級ビルダー!", - "description": "5,000個のブロックを配置する" - }, - "challenge_place_50k": { - "title": "上級ビルダー!", - "description": "50,000個のブロックを配置する" - }, - "challenge_place_500k": { - "title": "マスタービルダー!", - "description": "500,000個のブロックを配置する" - }, - "challenge_place_5m": { - "title": "シンメトリーの侍者!", - "description": "現実はあなたの遊び場です! (500 万ブロック)" - }, - "challenge_chop_1k": { - "title": "木こりの新米!", - "description": "1,000ブロックを切り刻む" - }, - "challenge_chop_5k": { - "title": "木こり中級者!", - "description": "5,000ブロックを切り刻む" - }, - "challenge_chop_50k": { - "title": "木こり上級者!", - "description": "50,000ブロックを切り刻む" - }, - "challenge_chop_500k": { - "title": "木こりの達人!", - "description": "500,000ブロックを切り刻む" - }, - "challenge_chop_5m": { - "title": "犬のジャクソン", - "description": "最高のいい子!(500万ブロック)" - }, - "challenge_block_1k": { - "title": "かろうじて防御!", - "description": "1000回の攻撃をブロック" - }, - "challenge_block_5k": { - "title": "防御は楽しい!", - "description": "5000回の攻撃を防御" - }, - "challenge_block_50k": { - "title": "防御こそ私の人生!", - "description": "50,000回の攻撃を防御" - }, - "challenge_block_500k": { - "title": "防御こそ私の使命!", - "description": "500,000回の攻撃を防御" - }, - "challenge_block_5m": { - "title": "防御こそ私だ!", - "description": "5,000,000回の攻撃を防御" - }, - "challenge_brew_1k": { - "title": "新米錬金術師!", - "description": "ポーションを1000個消費する" - }, - "challenge_brew_5k": { - "title": "中級錬金術師!", - "description": "ポーションを5000個消費する" - }, - "challenge_brew_50k": { - "title": "上級錬金術師!", - "description": "ポーションを50,000個消費する" - }, - "challenge_brew_500k": { - "title": "錬金術の達人!", - "description": "ポーションを500,000個消費する" - }, - "challenge_brew_5m": { - "title": "錬金術師", - "description": "ポーションを5,000,000個消費する" - }, - "challenge_brewsplash_1k": { - "title": "初心者ポーション投げ師!", - "description": "1000スプラッシュポーションを投げる" - }, - "challenge_brewsplash_5k": { - "title": "中級ポーション投げ師!", - "description": "5000スプラッシュポーションを投げる" - }, - "challenge_brewsplash_50k": { - "title": "上級ポーション投げ師!", - "description": "50,000スプラッシュポーションを投げる" - }, - "challenge_brewsplash_500k": { - "title": "マスターポーション投げ師!", - "description": "500,000スプラッシュポーションを投げる" - }, - "challenge_brewsplash_5m": { - "title": "スプラッシュマイスター", - "description": "5,000,000スプラッシュポーションを投げる" - }, - "challenge_craft_1k": { - "title": "クラフトマン!", - "description": "1000個のアイテムを作成する" - }, - "challenge_craft_5k": { - "title": "意地悪な職人!", - "description": "5000個のアイテムを作成する" - }, - "challenge_craft_50k": { - "title": "卑屈な職人!", - "description": "50,000個のアイテムを作成" - }, - "challenge_craft_500k": { - "title": "カオス級の職人!", - "description": "500,000個のアイテムを作成" - }, - "challenge_craft_5m": { - "title": "災難級の職人", - "description": "5,000,000個のアイテムを作成" - }, - "challenge_enchant_1k": { - "title": "初心者エンチャンター!", - "description": "1000個のアイテムをエンチャントする" - }, - "challenge_enchant_5k": { - "title": "中級エンチャンター!", - "description": "5000個のアイテムをエンチャントする" - }, - "challenge_enchant_50k": { - "title": "上級エンチャンター!", - "description": "50,000個のアイテムをエンチャントする" - }, - "challenge_enchant_500k": { - "title": "マスターエンチャンター!", - "description": "500,000個のアイテムをエンチャントする" - }, - "challenge_enchant_5m": { - "title": "謎のエンチャンター", - "description": "5,000,000個のアイテムをエンチャントする" - }, - "challenge_excavate_1k": { - "title": "誘惑された掘削機!", - "description": "1000ブロックを発掘する" - }, - "challenge_excavate_5k": { - "title": "中級掘削機!", - "description": "5000個のブロックを発掘する" - }, - "challenge_excavate_50k": { - "title": "先進的な掘削機!", - "description": "50,000個のブロックを発掘する" - }, - "challenge_excavate_500k": { - "title": "マスター掘削機!", - "description": "500,000個のブロックを発掘する" - }, - "challenge_excavate_5m": { - "title": "謎の掘削機", - "description": "5,000,000個のブロックを発掘する" - }, - "horrible_person": { - "title": "あなたはひどい人だ", - "description": "本当に計り知れない" - }, - "challenge_turtle_egg_smasher": { - "title": "亀の卵を潰す!", - "description": "カメの卵を100個割る" - }, - "challenge_turtle_egg_annihilator": { - "title": "タートルエッグアナイアレイター!", - "description": "カメの卵を500個割る" - }, - "challenge_novice_hunter": { - "title": "初心者ハンター!", - "description": "100体のエンティティを倒す" - }, - "challenge_intermediate_hunter": { - "title": "中級ハンター!", - "description": "500体のエンティティを倒す" - }, - "challenge_advanced_hunter": { - "title": "上級ハンター!", - "description": "5000体のエンティティを倒す" - }, - "challenge_creeper_conqueror": { - "title": "クリーパー征服者!", - "description": "クリーパーを50体倒す" - }, - "challenge_creeper_annihilator": { - "title": "クリーパー全滅者!", - "description": "クリーパーを200体倒す" - }, - "challenge_pickaxe_1k": { - "title": "初心者の鉱山掘り", - "description": "1000個のブロックを壊す" - }, - "challenge_pickaxe_5k": { - "title": "熟練の鉱山掘り", - "description": "5000ブロックを壊す" - }, - "challenge_pickaxe_50k": { - "title": "専門の鉱山掘り", - "description": "50,000ブロックを破壊" - }, - "challenge_pickaxe_500k": { - "title": "マスター鉱山掘り", - "description": "500,000 ブロックを破壊" - }, - "challenge_pickaxe_5m": { - "title": "伝説級鉱山掘り", - "description": "5,000,000 ブロックを破壊" - }, - "challenge_eat_100": { - "title": "食べるものがたくさんあります!", - "description": "100品目以上を食べよう!" - }, - "challenge_eat_1000": { - "title": "抑えきれない空腹!", - "description": "1,000品目以上を食べ尽くせ!" - }, - "challenge_eat_10000": { - "title": "永遠の飢餓!", - "description": "10,000品目以上を食べよう!" - }, - "challenge_harvest_100": { - "title": "フルハーベスト", - "description": "100種類以上の作物を収穫しよう!" - }, - "challenge_harvest_1000": { - "title": "グランドハーベスト", - "description": "1,000以上の作物を収穫しましょう!" - }, - "challenge_swim_1nm": { - "title": "人間潜水艦!", - "description": "1海里(1,852ブロック)泳ぐ" - }, - "challenge_sneak_1k": { - "title": "膝の痛み", - "description": "1キロメートル(1,000ブロック)をこっそり進む" - } - }, - "items": { - "boundenderperal": { - "name": "聖遺物ポートキー", - "usage1": "Shift + 左クリックでバインド", - "usage2": "右クリックしてバインドされたインベントリにアクセスします" - }, - "boundeyeofender": { - "name": "眼のアンカー", - "usage1": "右クリックして消費し、バインドされた場所にテレポートします", - "usage2": "Shift + 左クリックでブロックにバインドします" - }, - "boundredstonetorch": { - "name": "レッドストーンリモート", - "usage1": "右クリックして1ティックのレッドストーンパルスを作成します", - "usage2": "Shift + 左クリックで「ターゲット」ブロックをバインドする" - }, - "boundsnowball": { - "name": "ウェブスネア!", - "usage1": "投げるとその場所に一時的なウェブトラップが作成されます" - }, - "elevatorblock": { - "name": "エレベーターブロック", - "usage1": "ジャンプしてテレポート", - "usage2": "シフトして下にテレポート", - "usage3": "エレベーター間の空間は最低2つ必要" - } - }, - "snippets": { - "gui": { - "level": "レベル", - "knowledge": "知識", - "powerused": "使用電力", - "notlearned": "学習されていない", - "xp": "XPから", - "welcome": "いらっしゃいませ!", - "welcomeback": "おかえり!", - "xpbonusfortime": "XP用", - "maxabilitypower": "最大能力パワー", - "unlockthisbyclicking": "右クリックしてロックを解除します:", - "back": "戻る", - "unlearnall": "すべてを忘れる", - "unlearnedall": "すべて忘れ去られた" - }, - "adaptmenu": { - "maynotunlearn": "忘れてはいけない", - "mayunlearn": "学ぶ/忘れる", - "knowledgecost": "知識コスト", - "knowledgeavailable": "利用可能な知識", - "alreadylearned": "すでに学習済み", - "unlearnrefund": "クリックして解除して返金", - "norefunds": "ハードコア、払い戻し無効", - "knowledge": "知識", - "clicklearn": "クリックして学ぶ", - "noknowledge": "(あなたには知識がありません)", - "youonlyhave": "あなたには", - "howtolevelup": "スキルをレベルアップして最大パワーを上げましょう。", - "notenoughpower": "パワーが足りません! 各能力レベルには 1 パワーかかります。", - "power": "力", - "powerdrain": "電力消費", - "learned": "学んだ", - "unlearned": "学ばない", - "activatorblock": "本棚" - }, - "knowledgeorb": { - "contains": "含む", - "knowledge": "知識", - "rightclick": "右クリック", - "togainknowledge": "この知識を得るために", - "knowledgeorb": "知識のオーブ" - }, - "experienceorb": { - "contains": "含む", - "xp": "経験", - "rightclick": "右クリック", - "togainxp": "この経験を得るために", - "xporb": "エクスペリエンスオーブ" - } - }, - "skill": { - "agility": { - "name": "敏捷性", - "icon": "⇉", - "description": "敏捷性とは、障害物に直面しても素早くスムーズに動く能力です。" - }, - "architect": { - "name": "建築家", - "icon": "⬧", - "description": "構造は世界を構成する要素です。現実はあなたの手の中にあり、あなたがコントロールします。" - }, - "axes": { - "name": "斧", - "icon": "🪓", - "description1": "なぜ木を切り倒すのか?", - "description2": "なぜ他のものを伐採しないのか", - "description3": "結局同じ結果になるのに!" - }, - "brewing": { - "name": "醸造", - "icon": "❦", - "description": "ダブルバブル、トリプルバブル、クアドラプルバブル - まだこのポーションを大釜に入れることができない" - }, - "blocking": { - "name": "防御", - "icon": "🛡", - "description": "棒や石では骨は折れないが、盾なら折れる。" - }, - "crafting": { - "name": "クラフト", - "icon": "⌂", - "description": "配置するピースがもう残っていないので、別のピースを作ってみませんか?" - }, - "discovery": { - "name": "発見", - "icon": "⚛", - "description": "あなたの知覚が広がるにつれて、あなたの心は解き明かされ、あなたが気づかなかったものを発見するようになります。" - }, - "enchanting": { - "name": "エンチャント", - "icon": "♰", - "description": "何を言っているのですか? 予言、ビジョン、迷信的なつまらない話?" - }, - "excavation": { - "name": "発掘", - "icon": "ᛳ", - "description": "掘り掘り穴..." - }, - "herbalism": { - "name": "ハーブ術", - "icon": "⚘", - "description": "植物は見つからないけど、種は見つけられる…これはまさか、雑草!?" - }, - "hunter": { - "name": "ハンター", - "icon": "☠", - "description": "狩りは結果ではなく、その過程が重要だ。" - }, - "nether": { - "name": "ネザー", - "icon": "₪", - "description": "ネザーの深淵から来た者" - }, - "pickaxe": { - "name": "つるはし", - "icon": "⛏", - "description": "ドワーフは鉱夫だが、私も少しは学んだ。私はスウェーデン人だ。" - }, - "ranged": { - "name": "遠距離攻撃", - "icon": "🏹", - "description": "距離は勝利への鍵であり、生き残るための鍵です。" - }, - "rift": { - "name": "リフト", - "icon": "❍", - "description": "リフトは腐食的な力だが、あなたはその力を制御している。" - }, - "seaborne": { - "name": "海の民", - "icon": "🎣", - "description": "このスキルで、水の奇跡を操ることができる。" - }, - "stealth": { - "name": "ステルス", - "icon": "☯", - "description": "見えざる技術。影の中を歩け。" - }, - "swords": { - "name": "剣", - "icon": "⚔", - "description": "グレイストーンの力で!" - }, - "taming": { - "name": "飼育", - "icon": "♥", - "description": "オウムや蜂…そして、あなたは?" - }, - "tragoul": { - "name": "トラゴウル", - "icon": "🗡", - "description": "血は宇宙の静脈を流れている。あなたの手によって締め付けられる。" - }, - "chronos": { - "name": "クロノス", - "icon": "⏳", - "description": "宇宙の時計を巻き戻し、流れを体験せよ。時計を壊すことで、それを超えろ。" - }, - "unarmed": { - "name": "素手", - "icon": "»", - "description": "武器がなくても力は失われない。" - } - }, - "agility": { - "armorup": { - "name": "アーマーアップ", - "description": "より長くダッシュすればするほど、より多くのアーマーを獲得できます!", - "lore1": "最大防具", - "lore2": "防具強化時間" - }, - "superjump": { - "name": "スーパージャンプ", - "description": "卓越した高さの利点。", - "lore1": "最大ジャンプ高さ", - "lore2": "スニーク+ジャンプでスーパージャンプ!" - }, - "walljump": { - "name": "壁ジャンプ", - "description": "空中で壁に近づき、シフトを押しながら壁に飛びついてジャンプ!", - "lore1": "最大ジャンプ", - "lore2": "ジャンプの高さ" - }, - "windup": { - "name": "ウィンドアップ", - "description": "走るほど速くなる!", - "lore1": "最高速度", - "lore2": "ウィンドアップ時間" - } - }, - "architect": { - "elevator": { - "name": "エレベーター", - "description": "これにより、垂直方向に高速テレポートするエレベーターを構築できるようになります。", - "lore1": "エレベーターのレシピをアンロック: X=羊毛、Y=エンダーパール", - "lore2": "XXX", - "lore3": "XYX", - "lore4": "XXX" - }, - "foundation": { - "name": "魔法の基礎", - "description": "これにより、しゃがみながら自分の下に仮の基礎を置けるようになる!", - "lore1": "魔法で作成:", - "lore2": "あなたの下にブロック!" - }, - "glass": { - "name": "シルクタッチガラス", - "description": "これにより、ガラスブロックを手で壊しても、ガラスが失われない!", - "lore1": "手にシルクタッチを追加" - }, - "wirelessredstone": { - "name": "遠隔レッドストーン", - "description": "これにより、レッドストーントーチを使用して、遠隔でレッドストーンを切り替えることができます。", - "lore1": "ターゲット + レッドストーントーチ + エンダーパール = 1 個のレッドストーンリモート" - }, - "placement": { - "name": "ビルダーズワンド", - "description": "複数のブロックを一度に設置できるようにする!シフトを押して、設置したいブロックを手に持ちながら配置しよう。範囲をトリガーするには少し動く必要がある場合もあるので注意!", - "lore1": "あなたに必要がある", - "lore2": "ブロックを手に持って置く", - "lore3": "マテリアルビルダーワンド" - } - }, - "axe": { - "chop": { - "name": "斧の伐採", - "description": "木の根元を右クリックして木を切り倒す!", - "lore1": "1回の伐採で切れるブロック数", - "lore2": "伐採クールダウン", - "lore3": "ツールの摩耗" - }, - "logswap": { - "name": "ルーシーの丸太交換機", - "description": "クラフトテーブルで丸太の種類を変える!", - "lore1": "8 本の丸太(任意の種類)+ 1 本の苗木 = 苗木と同じ種類の丸太 8 本" - }, - "droptoinventory": { - "name": "斧のインベントリにドロップ" - }, - "groundsmash": { - "name": "斧の地面スマッシュ", - "description": "ジャンプして、しゃがんで周囲の敵を一掃。", - "lore1": "ダメージ", - "lore2": "ブロック範囲", - "lore3": "力", - "lore4": "スマッシュクールダウン" - }, - "leafminer": { - "name": "リーフマイナー", - "description": "大量の葉を一度に壊すことができる!", - "lore1": "スニークして葉を採掘", - "lore2": "リーフマイニング範囲", - "lore3": "葉からのドロップは得られない(防止策)" - }, - "woodminer": { - "name": "ウッドマイナー", - "description": "大量の木を一度に壊すことができる!", - "lore1": "スニークして木材や丸太を採掘(板材は対象外)", - "lore2": "ウッドマイニング範囲", - "lore3": "インベントリにドロップ対応" - } - }, - "brewing": { - "lingering": { - "name": "残留ブレンド", - "description": "作ったポーションの効果が長く続く!", - "lore1": "持続時間", - "lore2": "持続時間" - }, - "superheated": { - "name": "超加熱ブレンド", - "description": "醸造台が熱いほど速く作業が進む。", - "lore1": "接触した火のブロックによる速度", - "lore2": "接触した溶岩ブロックによる速度" - }, - "darkness": { - "name": "暗黒のポーション", - "description": "なぜこれが必要かはわからないが、とりあえずどうぞ!", - "lore1": "ナイトビジョンポーション + 黒いコンクリート = 暗黒のポーション(30秒)", - "lore2": "このポーションを使うと、走ることができなくなることに注意!" - }, - "haste": { - "name": "速攻ボトル", - "description": "効率が足りないときに", - "lore1": "スピードポーション + アメジストの破片 = ハステポーション (60秒)", - "lore2": "スピードポーション + アメジストのブロック = ハステポーション-2 (30秒)" - }, - "absorption": { - "name": "吸収ボトル", - "description": "体を強化する!", - "lore1": "インスタントヒール + クォーツ = 吸収ポーション (60秒)", - "lore2": "ンスタントヒール + クォーツブロック = 吸収ポーション-2 (30秒)" - }, - "fatigue": { - "name": "疲労ボトル", - "description": "体を弱体化させる!", - "lore1": "弱体化ポーション + スライムボール = 疲労ポーション (30秒)", - "lore2": "弱体化ポーション + スライムブロック = 疲労ポーション-2 (15秒)" - }, - "hunger": { - "name": "飢餓ボトル", - "description": "飢えた者に食物を!", - "lore1": "奇妙なポーション + 腐った肉 = 飢餓ポーション (30秒)", - "lore2": "弱体化ポーション + 腐った肉 = 飢餓ポーション-3 (15秒)" - }, - "nausea": { - "name": "吐き気ボトル\n", - "description": "気分が悪い!\n", - "lore1": "奇妙なポーション + 茶色いキノコ = 吐き気ポーション (16秒)\n", - "lore2": "奇妙なポーション + 真紅のキノコ = 吐き気ポーション-2 (8秒)\n" - }, - "blindness": { - "name": "盲目ボトル", - "description": "あなたはひどい人だ...", - "lore1": "奇妙なポーション + イカスミ = 盲目ポーション (30秒)", - "lore2": "奇妙なポーション + 輝くイカスミ = 盲目ポーション-2 (15秒)" - }, - "resistance": { - "name": "耐性ボトル", - "description": "防御の極み!", - "lore1": "奇妙なポーション + 鉄のインゴット = 耐性ポーション (60秒)", - "lore2": "奇妙なポーション + 鉄ブロック = 耐性ポーション-2 (30秒)" - }, - "healthboost": { - "name": "ライフボトル", - "description": "最大体力では足りない時に...", - "lore1": "即時回復ポーション + 金のリンゴ = 体力増強ポーション (120秒)", - "lore2": "即時回復ポーション + エンチャント金のリンゴ = 体力増強ポーション-2 (120秒)" - }, - "decay": { - "name": "腐敗ボトル", - "description": "デトリタスがこんなに役立つとは!", - "lore1": "弱体化ポーション + 毒のジャガイモ = 衰弱ポーション (16秒)", - "lore2": "弱体化ポーション + 真紅の根 = 衰弱ポーション-2 (8秒)" - }, - "saturation": { - "name": "飽和ボトル", - "description": "ねえ… もうお腹いっぱいだよ…", - "lore1": "再生ポーション + 焼きジャガイモ = 飽和ポーション", - "lore2": "再生ポーション + 干草の俵 = 飽和ポーション-2" - } - }, - "blocking": { - "chainarmorer": { - "name": "メフィストフェレスの鎖", - "description": "鎖の防具を作成できるようになります", - "lore1": "クラフトレシピは他の防具と同じですが、鉄のインゴットを代わりに使用します" - }, - "horsearmorer": { - "name": "作成可能な馬の防具", - "description": "馬の防具を作成できるようになります", - "lore1": "サドルを囲むことで、使用する材料で防具を作成できます" - }, - "saddlecrafter": { - "name": "作成可能なサドル", - "description": "革を使ってサドルを作成", - "lore1": "レシピ: 5つの革" - }, - "multiarmor": { - "name": "マルチアーマー", - "description": "エリトラを防具に結びつけます", - "lore1": "旅行に最適な素晴らしいスキルです。", - "lore2": "動的に防具/エリトラを変更できます!", - "lore3": "アイテムをシフトクリックしてインベントリ内で合成します。", - "lore4": "防具を解除するには、シフトドロップしてアイテムを分解します。", - "lore5": "マルチアーマーが破壊されると、中にあるアイテムはすべて失われます。", - "lore6": "防具なんて必要ない、私はそれに失望している…" - } - }, - "crafting": { - "deconstruction": { - "name": "解体", - "description": "ブロックやアイテムを再利用可能な基本コンポーネントに分解!", - "lore1": "任意のアイテムを地面に落とします。", - "lore2": "その後、シフトを押しながらハサミで右クリックします" - }, - "xp": { - "name": "クラフトXP", - "description": "クラフト時にパッシブXPを獲得", - "lore1": "クラフト時にXPを獲得" - }, - "reconstruction": { - "name": "鉱石再構築", - "description": "鉱石を基本コンポーネントから再作成!", - "lore1": "ドロップ8個とホスト1個 = 1つの鉱石(シェイプレス)", - "lore2": "ドロップは精錬する必要があります(適用される場合)", - "lore3": "スクラップ、クォーツ、エメラルドなどは含まれていません。", - "lore4": "ホスト = 包囲。例: 石、ネザーラック、ディープスレート" - }, - "leather": { - "name": "作成可能な革", - "description": "腐った肉から革を作成", - "lore1": "腐った肉を焚き火に置いてください!" - }, - "backpacks": { - "name": "ブティリエのバックパック!", - "description": "モジャンのバンドルをゲーム内に持ち込む!", - "lore1": "サバイバルモードで使用する必要があります", - "lore2": "XLX : 革、リード、革", - "lore3": "XSX : 革、樽ボックス、革", - "lore4": "XCX : 革、チェスト、革" - }, - "stations": { - "name": "ポータブルテーブル!", - "description": "手のひらでテーブルを使える!", - "lore2": "テーブルに閉じ込めたアイテムは永遠に失われます!", - "lore3": "有効なテーブル:金床、クラフト、グラインドストーン、地図製作、石切り、織機" - }, - "skulls": { - "name": "作成可能な頭蓋骨!", - "description": "材料を使ってモブの頭蓋骨を作成!", - "lore1": "ボーンブロックを囲んで次の材料で頭蓋骨を作成できます:", - "lore2": "ゾンビ:腐った肉", - "lore3": "スケルトン:骨", - "lore4": "クリーパー:火薬", - "lore5": "ウィザー:ネザーブロック", - "lore6": "ドラゴン:ドラゴンの息" - } - }, - "discovery": { - "armor": { - "name": "ワールドアーマー", - "description": "周囲のブロック硬度に応じたパッシブアーマー。", - "lore1": "パッシブアーマー", - "lore2": "周囲のブロック硬度に基づく", - "lore3": "アーマー強度:" - }, - "unity": { - "name": "実験的ユニティ", - "description": "経験値オーブを集めることでランダムなスキルにXPが追加されます。", - "lore1": "XP ", - "lore2": "オーブごと" - }, - "resist": { - "name": "実験的抵抗", - "description": "経験値を消費して、あらゆるダメージを軽減", - "lore0": "これは15秒ごとに1回しか発動しません", - "lore1": "減少したダメージ", - "lore2": "消費された経験値" - }, - "villager": { - "name": "村人の魅力", - "description": "村人との取引を良くする!", - "lore1": "村人とのやり取りごとにXPを消費します", - "lore2": "やり取りごとにXPを消費し、取引を強化するチャンス", - "lore3": "必要XP消費量" - } - }, - "enchanting": { - "lapisreturn": { - "name": "ラピスリターン", - "description": "1レベル分のXPを追加で消費し、代わりにラピスを無料で受け取るチャンスがあります。", - "lore1": "レベルごとにエンチャントの費用が1増加しますが、最大3個のラピスを返却する可能性があります。" - }, - "quickenchant": { - "name": "クイック・クリックエンチャント", - "description": "エンチャントブックをアイテムに直接クリックしてエンチャントします。", - "lore1": "最大結合レベル", - "lore2": "アイテムにエンチャントできる最大値は", - "lore3": "力" - }, - "return": { - "name": "XPリターン", - "description": "エンチャントする際にXPが返却されます。", - "lore1": "エンチャント時に消費した経験値が返却されるチャンスがあります。", - "lore2": "エンチャントごとの経験値" - } - }, - "excavation": { - "haste": { - "name": "速掘り", - "description": "採掘速度がHASTEで速くなります!", - "lore1": "発掘中に採掘速度上昇を得る", - "lore2": "任意のブロックを掘ると、x レベルのHASTE効果を得る" - }, - "spelunker": { - "name": "スーパーシーイングスペランカー!", - "description": "地下にある鉱石を目で見ることができます!", - "lore1": "オフハンドに鉱石、メインハンドにグロウベリーを持って、しゃがんでください!", - "lore2": "ブロックの範囲:", - "lore3": "使用時にグロウベリーを消費" - }, - "droptoinventory": { - "name": "シャベル アイテムドロップ・インベントリ" - }, - "omnitool": { - "name": "OMNI - T.O.O.L.", - "description": "オーバーデザインされた豪華なレザーマンツール", - "lore1": "おそらく最も強力なツールで", - "lore2": "必要に応じてツールを動的に統合・変更できます。", - "lore3": "アイテムをシフトクリックでインベントリ内で他のアイテムと統合できます。", - "lore4": "ツールを解除するには、しゃがんでアイテムをドロップすると分解されます。", - "lore5": "このレザーマンツールではツールを壊せませんが、壊れたツールは使用できません。", - "lore6": "統合可能なアイテム数。", - "lore7": "5つや6つのツールを使うことも、一つのツールだけでも使用できます!" - } - }, - "herbalism": { - "growthaura": { - "name": "グロースオーラ", - "description": "周囲の自然をオーラで成長させます", - "lore1": "ブロック範囲", - "lore2": "グロースオーラの強さ", - "lore3": "食料コスト" - }, - "hippo": { - "name": "ハーバリストのヒッポ", - "description": "食べ物を消費すると、飽きがさらに回復します", - "lore1": "食べ物の消費時に追加の飽き回復" - }, - "myconid": { - "name": "ハーバリストのマイコニッド", - "description": "菌糸を作る能力を得ます", - "lore1": "任意の土と茶色&赤のキノコで菌糸を作ることができます。" - }, - "terralid": { - "name": "ハーバリストのテラリッド", - "description": "草ブロックを作る能力を得ます", - "lore1": "3つの種を3つの土の上に配置すると、3つの草ブロックを作成できます。" - }, - "cobweb": { - "name": "ウェブ作成者", - "description": "クラフトテーブルでクモの巣を作る能力を得ます", - "lore1": "9つの糸でクモの巣を作成できます。" - }, - "mushroomblocks": { - "name": "キノコ作成者", - "description": "クラフトテーブルでキノコブロックを作成する能力を得ます", - "lore1": "4つのキノコでブロックを作ることができ、ブロックを使って茎を作成できます。" - }, - "droptoinventory": { - "name": "ホー アイテムドロップ・インベントリ" - }, - "hungryshield": { - "name": "ハングリーシールド", - "description": "体力より先に飢餓ダメージを受けます。", - "lore1": "飢餓によって抵抗されます" - }, - "luck": { - "name": "ハーバリストの幸運", - "description": "草や花を壊すと、ランダムなアイテムを手に入れることがあります", - "lore0": "花=食べ物、草=種", - "lore1": "花を壊すとアイテムを手に入れるチャンス", - "lore2": "草を壊すとアイテムを手に入れるチャンス" - }, - "replant": { - "name": "収穫&再植", - "description": "ホーで作物を右クリックすると、収穫して再植します。", - "lore1": "ブロック再植範囲" - } - }, - "hunter": { - "adrenaline": { - "name": "アドレナリン", - "description": "体力が低いほど、ダメージが増加します(近接)", - "lore1": "最大ダメージ" - }, - "penalty": { - "lore1": "飢餓が尽きると、毒スタックが増加します" - }, - "droptoinventory": { - "name": "アイテムドロップ・インベントリ", - "description": "何かを倒したり、剣でブロックを壊すと、そのドロップがインベントリに転送されます。", - "lore1": "モブや壊したブロックからアイテムがドロップすると、インベントリに入ります。" - }, - "invisibility": { - "name": "ヴァニシングステップ", - "description": "攻撃を受けると、空腹の代償として透明になります。", - "lore1": "攻撃を受けるとパッシブ透明化", - "lore2": "攻撃を受けてから3秒間、x回透明化がスタックします", - "lore3": "空腹 xスタック", - "lore4": "空腹スタックは持続時間と倍率に影響します。", - "lore5": "透明化の持続時間" - }, - "jumpboost": { - "name": "ハンターの高み", - "description": "攻撃を受けると、空腹の代償としてジャンプブーストを得ます。", - "lore1": "攻撃を受けるとパッシブジャンプブースト", - "lore2": "攻撃を受けてから3秒間、x回ジャンプブーストがスタックします", - "lore3": "空腹 xスタック", - "lore4": "空腹スタックは持続時間と倍率に影響します。", - "lore5": "ジャンプブーストは持続時間ではなく倍率に影響します。" - }, - "luck": { - "name": "ハンターの幸運", - "description": "攻撃を受けると、空腹の代償として幸運を得ます。", - "lore1": "攻撃を受けるとパッシブ幸運", - "lore2": "攻撃を受けてから3秒間、x回幸運がスタックします", - "lore3": "空腹 xスタック", - "lore4": "空腹スタックは持続時間と倍率に影響します。", - "lore5": "幸運は持続時間ではなく倍率に影響します。" - }, - "regen": { - "name": "ハンターの再生", - "description": "攻撃を受けると再生効果が得られますが、代わりに空腹になります。", - "lore1": "攻撃を受けるとパッシブ再生効果が得られます", - "lore2": "攻撃を受けてから3秒間、x回再生効果がスタックします", - "lore3": "空腹 xスタック", - "lore4": "空腹のスタック時間と倍率", - "lore5": "再生スタック倍率(時間ではありません)" - }, - "resistance": { - "name": "ハンターの耐性", - "description": "攻撃を受けると耐性が得られますが、代わりに空腹になります。", - "lore1": "攻撃を受けるとパッシブ耐性が得られます", - "lore2": "攻撃を受けてから3秒間、x回耐性がスタックします", - "lore3": "空腹 xスタック", - "lore4": "空腹のスタック時間と倍率", - "lore5": "耐性スタック倍率(時間ではありません)" - }, - "speed": { - "name": "ハンターのスピード", - "description": "攻撃を受けるとスピードが得られますが、代わりに空腹になります。", - "lore1": "攻撃を受けるとパッシブスピードが得られます", - "lore2": "攻撃を受けてから3秒間、x回スピードがスタックします", - "lore3": "空腹 xスタック", - "lore4": "空腹のスタック時間と倍率", - "lore5": "スピードスタック倍率(時間ではありません)" - }, - "strength": { - "name": "ハンターの強さ", - "description": "攻撃を受けると強さが得られますが、代わりに空腹になります", - "lore1": "攻撃を受けるとパッシブ強さが得られます", - "lore2": "攻撃を受けてから3秒間、x回強さがスタックします", - "lore3": "空腹がスタックします", - "lore4": "空腹のスタック時間と倍率", - "lore5": "強さスタック倍率(時間ではありません)" - } - }, - "nether": { - "skulltoss": { - "name": "ウィザーの頭投げ", - "description1": "自分の内なるウィザーを解き放つために", - "description2": "誰かの", - "description3": "頭を使います", - "lore1": "頭投げの間隔(クールダウン)", - "lore2": "ウィザーの頭を使う:頭を投げる", - "lore3": "ウィザーの頭が", - "lore4": "衝突時に爆発します。" - }, - "witherresist": { - "name": "ウィザー耐性", - "description": "ネザライトの力でウィザーの効果を軽減します。", - "lore1": "ウィザー効果を無効にする確率(部位ごと)", - "lore2": "パッシブ:ネザライトの防具を装備していると", - "lore3": "ウィザー効果を無効化するときがあります。" - }, - "fireresist": { - "name": "火炎耐性", - "description": "肌を硬化させて火を防ぎます。", - "lore1": "火傷効果を無効にする確率" - } - }, - "pickaxe": { - "autosmelt": { - "name": "自動精錬", - "description": "採掘したバニラ鉱石を自動で溶かします", - "lore1": "溶かせる鉱石は自動で溶けます", - "lore2": "%の確率で追加で" - }, - "chisel": { - "name": "鉱石彫刻", - "description": "鉱石を右クリックして、耐久値を大きく消費してさらに鉱石を得ることができます。", - "lore1": "ドロップする確率", - "lore2": "ツールの耐久値" - }, - "droptoinventory": { - "name": "ドロップ・トゥ・インベントリ", - "description": "ブロックを壊すとアイテムがインベントリに転送されます", - "lore1": "ブロックからドロップしたアイテムがインベントリに自動で転送されます(可能な場合)" - }, - "silkspawner": { - "name": "ピッケルシルクスポナー", - "description": "スポナーが破壊されるとドロップする", - "lore1": "スポナーをシルクタッチで破壊可能にします。", - "lore2": "スニーク中にスポナーを破壊できるようにします。" - }, - "veinminer": { - "name": "ヴェインマイナー", - "description": "バニラ鉱石のヴェイン/クラスターを一度に壊せるようになります", - "lore1": "シフトを押して、鉱石を採掘します", - "lore2": "ヴェインマイニングの範囲", - "lore3": "このスキルはすべてのアイテムをまとめてドロップするわけではありません!" - } - }, - "ranged": { - "arrowrecovery": { - "name": "矢の回収", - "description": "敵を倒した後、矢を回収します。", - "lore1": "ヒット/キル時に矢を回収する確率", - "lore2": "確率" - }, - "webshot": { - "name": "ウェブスネア\n", - "description": "ターゲットに当たったときに、周囲にクモの巣を展開します!", - "lore1": "雪玉を8つのクモの巣で囲み、投げます!", - "lore2": "数秒間の篭のような効果。" - }, - "forceshot": { - "name": "フォースショット\n", - "description": "射出速度を速く、遠くへ!\n", - "advancementname": "ロングショット", - "advancementlore": "30ブロック以上離れた場所から射撃!\n", - "lore1": "投射速度" - }, - "lungeshot": { - "name": "ランジショット", - "description": "落下中、矢がランダムな方向に飛びます", - "lore1": "ランダムバースト速度" - }, - "arrowpiercing": { - "name": "矢の貫通\n", - "description": "矢に貫通効果を付与!物を貫通して射撃!", - "lore1": "ターゲットを貫通" - } - }, - "rift": { - "remoteaccess": { - "name": "リモートアクセス", - "description": "虚無から引き寄せ、マークされたコンテナにアクセスします。", - "lore1": "エンダーパール + コンパス = レリクワリーポートキー", - "lore2": "このアイテムでコンテナにリモートでアクセスできます", - "lore3": "作成後、アイテムを見て使用方法を確認", - "notcontainer": "それはコンテナではありません\n" - }, - "blink": { - "name": "リフトブリンク", - "description": "短距離瞬間移動、ほんの一瞬で!", - "lore1": "ブリンク中にブロックを通過(垂直2倍)", - "lore2": "スプリント中:ジャンプを2回押して", - "lore3": "ブリンク" - }, - "chest": { - "name": "簡単なエンダーチェスト", - "description": "手に持った状態でエンダーチェストを左クリックして開きます。", - "lore1": "エンダーチェストを手に持った状態でクリックして開く(設置しないでください)" - }, - "descent": { - "name": "アンチリベレーション", - "description": "空中に閉じ込められるのが嫌ですか?このスキルが解決します!", - "lore1": "シフトを押して降下すると、通常よりもゆっくり落下します。", - "lore2": "クールダウン:" - }, - "gate": { - "name": "リフトゲート", - "description": "マークされた場所へテレポートします。", - "lore1": "クラフト:エメラルド + アメジストの破片 + エンダーパール", - "lore2": "使用前に読んでください!", - "lore3": "5秒の遅延", - "lore4": "このアニメーション中に死亡する可能性があります" - }, - "resist": { - "name": "リフト耐性", - "description": "エンダーアイテムとアビリティを使用する際に耐性を得る", - "lore1": "+ パッシブ:リフトアビリティやエンダーアイテム使用時に耐性を付与", - "lore2": "ポータブルエンダーチェストを除く、消費可能なアイテムにのみ適用" - }, - "visage": { - "name": "リフトの顔", - "description": "インベントリにエンダーパールを持っているとエンダーマンが攻撃的になりません。", - "lore1": "エンダーパールを持っているとエンダーマンは攻撃的になりません。" - } - }, - "seaborn": { - "oxygen": { - "name": "有機酸素タンク", - "description": "小さな肺でもより多くの酸素を蓄えられる!", - "lore1": "酸素容量の増加" - }, - "fishersfantasy": { - "name": "釣り人の幻想", - "description": "釣りでより多くの経験値と魚を獲得!", - "lore1": "レベルに応じて、より多くの経験値と魚を獲得するチャンスが増加" - }, - "haste": { - "name": "タートルマイナー", - "description": "水中で採掘していると、採掘速度が上昇!", - "lore1": "水中で採掘中、酸素呼吸の効果が切れると採掘速度上昇IIIが適用されます(アクアアフィニティと重複可能)" - }, - "nightvision": { - "name": "タートルビジョン", - "description": "水中で暗視効果を得ることができます。", - "lore1": "水中で酸素呼吸の効果が切れると、暗視効果を獲得します。" - }, - "dolphingrace": { - "name": "イルカの加護", - "description": "イルカなしでも、イルカのように速く泳げる!", - "lore1": "+ パッシブ効果: 移動速度アップ(イルカの加護)", - "lore2": "xスピード(イルカの加護)", - "lore3": "精密なドイツ製エンジン―違った、これは…※水中歩行とは併用できません" - } - }, - "stealth": { - "ghostarmor": { - "name": "ゴーストアーマー", - "description": "ダメージを受けていないときはアーマーの構築が遅くなり、1回の攻撃で持続します", - "lore1": "最大防具強度", - "lore2": "スピード" - }, - "nightvision": { - "name": "空腹", - "description": "スニーク時に暗視を獲得する", - "lore1": "一気に獲得", - "lore2": "暗視", - "lore3": "スニーク時" - }, - "snatch": { - "name": "アイテムスナッチ", - "description": "こっそり潜入しながら落としたアイテムを瞬時に奪い取ろう!", - "lore1": "スナッチ半径" - }, - "speed": { - "name": "スニークスピード", - "description": "スニーク時のスピードを上げる", - "lore1": "スニーク速度" - }, - "enderveil": { - "name": "エンダーヴェイル", - "description": "エンダーマンの攻撃を防ぐためのカボチャは不要", - "lore1": "スニーク時にエンダーマンの攻撃を防ぐ", - "lore2": "エンダーマンの攻撃をすべて防ぐ" - } - }, - "sword": { - "machete": { - "name": "マチェーテ", - "description": "葉を簡単に切り抜けます!", - "lore1": "スラッシュ半径", - "lore2": "チョップクールダウン", - "lore3": "ツールの摩耗" - }, - "bloodyblade": { - "name": "ブラッディブレード", - "description": "剣で攻撃して出血させろ!", - "lore1": "剣で生き物を攻撃すると出血を引き起こす", - "lore2": "出血持続時間", - "lore3": "出血クールダウン" - }, - "poisonedblade": { - "name": "毒刃", - "description": "剣で攻撃すれば毒が発生!", - "lore1": "剣で生き物を攻撃すると毒が発生します", - "lore2": "毒の持続時間", - "lore3": "毒クールダウン" - } - }, - "taming": { - "damage": { - "name": "ダメージを抑える", - "description": "飼いならした動物が与えるダメージが増加します。", - "lore1": "ダメージ増加\n" - }, - "health": { - "name": "健康を維持する\n", - "description": "飼いならした動物の健康状態を向上させます。", - "lore1": "健康増進" - }, - "regeneration": { - "name": "再生を飼いならす", - "description": "飼いならした動物の再生力を高めます。", - "lore1": "HP/s" - } - }, - "tragoul": { - "thorns": { - "name": "棘", - "description": "攻撃を相手に反撃します!", - "lore1": "打撃を受けたときに反射されるダメージ" - }, - "globe": { - "name": "痛みの球", - "description": "周囲の敵の数に応じて与えるダメージを分割します。", - "lore1": "周囲に敵が多いほど、敵に与えるダメージは少なくなります", - "lore2": "範囲:", - "lore3": "すべてのエンティティにダメージを追加:" - }, - "healing": { - "name": "痛みの意志", - "description": "与えたダメージに応じて体力が回復します!", - "lore1": "物を傷つけるのはこんなに気持ちいいことはありません!与えたダメージを回復します", - "lore2": "3秒間のダメージウィンドウがあり、回復と1秒間のクールダウンがあります。", - "lore3": "ダメージごとの回復率:" - }, - "lance": { - "name": "死体槍", - "description": "敵を倒すか、能力で敵を倒すと、近くの敵にダメージを与える槍が出現します。", - "lore1": "ランスはあなたが殺したものすべてを探し出します。また、この能力で敵を殺した場合も同様です。", - "lore2": "槍を作るために自分の人生の一部を犠牲にする(これは命取りになる可能性がある)", - "lore3": "最大槍数: 1 +" - } - }, - "unarmed": { - "glasscannon": { - "name": "ガラスの大砲", - "description": "アーマー値が低いほど素手ダメージが増加する", - "lore1": "x アーマー値が0のときのダメージ", - "lore2": "レベルごとのボーナスダメージ" - }, - "power": { - "name": "非武装の力", - "description": "素手ダメージの向上", - "lore1": "ダメージ" - }, - "suckerpunch": { - "name": "不意打ち", - "description": "スプリントパンチですが、より致命的です。", - "lore1": "ダメージ", - "lore2": "パンチ中の速度に応じてダメージが増加します" - } - } -} diff --git a/src/main/resources/ja_JP.json b/src/main/resources/ja_JP.json new file mode 100644 index 000000000..4d2c2b8c4 --- /dev/null +++ b/src/main/resources/ja_JP.json @@ -0,0 +1,1515 @@ +{ + "advancement": { + "challenge_move_1k": { + "title": "動かなきゃ!", + "description": "1キロメートル(1,000ブロック)以上歩く" + }, + "challenge_sprint_5k": { + "title": "5Kを全力疾走!", + "description": "5キロメートル(5,000ブロック)以上歩く" + }, + "challenge_sprint_50k": { + "title": "50Kをズーム!", + "description": "50キロメートル(50,000ブロック)以上歩く" + }, + "challenge_sprint_500k": { + "title": "宇宙を横断せよ!!", + "description": "500キロメートル(50万ブロック)以上歩く" + }, + "challenge_sprint_marathon": { + "title": "文字通りのマラソンを全力疾走しましょう!", + "description": "42,195 ブロックを全力疾走!" + }, + "challenge_place_1k": { + "title": "初心者ビルダー!", + "description": "ブロックを1,000個配置する" + }, + "challenge_place_5k": { + "title": "中級ビルダー!", + "description": "5,000個のブロックを配置する" + }, + "challenge_place_50k": { + "title": "上級ビルダー!", + "description": "50,000個のブロックを配置する" + }, + "challenge_place_500k": { + "title": "マスタービルダー!", + "description": "500,000個のブロックを配置する" + }, + "challenge_place_5m": { + "title": "シンメトリーの侍者!", + "description": "現実はあなたの遊び場です! (500 万ブロック)" + }, + "challenge_chop_1k": { + "title": "木こりの新米!", + "description": "1,000ブロックを切り刻む" + }, + "challenge_chop_5k": { + "title": "木こり中級者!", + "description": "5,000ブロックを切り刻む" + }, + "challenge_chop_50k": { + "title": "木こり上級者!", + "description": "50,000ブロックを切り刻む" + }, + "challenge_chop_500k": { + "title": "木こりの達人!", + "description": "500,000ブロックを切り刻む" + }, + "challenge_chop_5m": { + "title": "犬のジャクソン", + "description": "最高のいい子!(500万ブロック)" + }, + "challenge_block_1k": { + "title": "かろうじて防御!", + "description": "1000回の攻撃をブロック" + }, + "challenge_block_5k": { + "title": "防御は楽しい!", + "description": "5000回の攻撃を防御" + }, + "challenge_block_50k": { + "title": "防御こそ私の人生!", + "description": "50,000回の攻撃を防御" + }, + "challenge_block_500k": { + "title": "防御こそ私の使命!", + "description": "500,000回の攻撃を防御" + }, + "challenge_block_5m": { + "title": "防御こそ私だ!", + "description": "5,000,000回の攻撃を防御" + }, + "challenge_brew_1k": { + "title": "新米錬金術師!", + "description": "ポーションを1000個消費する" + }, + "challenge_brew_5k": { + "title": "中級錬金術師!", + "description": "ポーションを5000個消費する" + }, + "challenge_brew_50k": { + "title": "上級錬金術師!", + "description": "ポーションを50,000個消費する" + }, + "challenge_brew_500k": { + "title": "錬金術の達人!", + "description": "ポーションを500,000個消費する" + }, + "challenge_brew_5m": { + "title": "錬金術師", + "description": "ポーションを5,000,000個消費する" + }, + "challenge_brewsplash_1k": { + "title": "初心者ポーション投げ師!", + "description": "1000スプラッシュポーションを投げる" + }, + "challenge_brewsplash_5k": { + "title": "中級ポーション投げ師!", + "description": "5000スプラッシュポーションを投げる" + }, + "challenge_brewsplash_50k": { + "title": "上級ポーション投げ師!", + "description": "50,000スプラッシュポーションを投げる" + }, + "challenge_brewsplash_500k": { + "title": "マスターポーション投げ師!", + "description": "500,000スプラッシュポーションを投げる" + }, + "challenge_brewsplash_5m": { + "title": "スプラッシュマイスター", + "description": "5,000,000スプラッシュポーションを投げる" + }, + "challenge_craft_1k": { + "title": "クラフトマン!", + "description": "1000個のアイテムを作成する" + }, + "challenge_craft_5k": { + "title": "意地悪な職人!", + "description": "5000個のアイテムを作成する" + }, + "challenge_craft_50k": { + "title": "卑屈な職人!", + "description": "50,000個のアイテムを作成" + }, + "challenge_craft_500k": { + "title": "カオス級の職人!", + "description": "500,000個のアイテムを作成" + }, + "challenge_craft_5m": { + "title": "災難級の職人", + "description": "5,000,000個のアイテムを作成" + }, + "challenge_enchant_1k": { + "title": "初心者エンチャンター!", + "description": "1000個のアイテムをエンチャントする" + }, + "challenge_enchant_5k": { + "title": "中級エンチャンター!", + "description": "5000個のアイテムをエンチャントする" + }, + "challenge_enchant_50k": { + "title": "上級エンチャンター!", + "description": "50,000個のアイテムをエンチャントする" + }, + "challenge_enchant_500k": { + "title": "マスターエンチャンター!", + "description": "500,000個のアイテムをエンチャントする" + }, + "challenge_enchant_5m": { + "title": "謎のエンチャンター", + "description": "5,000,000個のアイテムをエンチャントする" + }, + "challenge_excavate_1k": { + "title": "誘惑された掘削機!", + "description": "1000ブロックを発掘する" + }, + "challenge_excavate_5k": { + "title": "中級掘削機!", + "description": "5000個のブロックを発掘する" + }, + "challenge_excavate_50k": { + "title": "先進的な掘削機!", + "description": "50,000個のブロックを発掘する" + }, + "challenge_excavate_500k": { + "title": "マスター掘削機!", + "description": "500,000個のブロックを発掘する" + }, + "challenge_excavate_5m": { + "title": "謎の掘削機", + "description": "5,000,000個のブロックを発掘する" + }, + "horrible_person": { + "title": "あなたはひどい人だ", + "description": "本当に計り知れない" + }, + "challenge_turtle_egg_smasher": { + "title": "亀の卵を潰す!", + "description": "カメの卵を100個割る" + }, + "challenge_turtle_egg_annihilator": { + "title": "タートルエッグアナイアレイター!", + "description": "カメの卵を500個割る" + }, + "challenge_novice_hunter": { + "title": "初心者ハンター!", + "description": "100体のエンティティを倒す" + }, + "challenge_intermediate_hunter": { + "title": "中級ハンター!", + "description": "500体のエンティティを倒す" + }, + "challenge_advanced_hunter": { + "title": "上級ハンター!", + "description": "5000体のエンティティを倒す" + }, + "challenge_creeper_conqueror": { + "title": "クリーパー征服者!", + "description": "クリーパーを50体倒す" + }, + "challenge_creeper_annihilator": { + "title": "クリーパー全滅者!", + "description": "クリーパーを200体倒す" + }, + "challenge_pickaxe_1k": { + "title": "初心者の鉱山掘り", + "description": "1000個のブロックを壊す" + }, + "challenge_pickaxe_5k": { + "title": "熟練の鉱山掘り", + "description": "5000ブロックを壊す" + }, + "challenge_pickaxe_50k": { + "title": "専門の鉱山掘り", + "description": "50,000ブロックを破壊" + }, + "challenge_pickaxe_500k": { + "title": "マスター鉱山掘り", + "description": "500,000 ブロックを破壊" + }, + "challenge_pickaxe_5m": { + "title": "伝説級鉱山掘り", + "description": "5,000,000 ブロックを破壊" + }, + "challenge_eat_100": { + "title": "食べるものがたくさんあります!", + "description": "100品目以上を食べよう!" + }, + "challenge_eat_1000": { + "title": "抑えきれない空腹!", + "description": "1,000品目以上を食べ尽くせ!" + }, + "challenge_eat_10000": { + "title": "永遠の飢餓!", + "description": "10,000品目以上を食べよう!" + }, + "challenge_harvest_100": { + "title": "フルハーベスト", + "description": "100種類以上の作物を収穫しよう!" + }, + "challenge_harvest_1000": { + "title": "グランドハーベスト", + "description": "1,000以上の作物を収穫しましょう!" + }, + "challenge_swim_1nm": { + "title": "人間潜水艦!", + "description": "1海里(1,852ブロック)泳ぐ" + }, + "challenge_sneak_1k": { + "title": "膝の痛み", + "description": "1キロメートル(1,000ブロック)をこっそり進む" + } + }, + "items": { + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" + } + }, + "snippets": { + "gui": { + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" + } + }, + "skill": { + "agility": { + "name": "Agility", + "icon": "⇉", + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." + }, + "architect": { + "name": "Architect", + "icon": "⬧", + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." + }, + "axes": { + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" + }, + "brewing": { + "name": "Brewing", + "icon": "❦", + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" + }, + "blocking": { + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." + }, + "crafting": { + "name": "Crafting", + "icon": "⌂", + "description": "With no more pieces left to place, why not make another?" + }, + "discovery": { + "name": "Discovery", + "icon": "⚛", + "description": "As your perception expands, your mind unravels to discover that which you did not." + }, + "enchanting": { + "name": "Enchanting", + "icon": "♰", + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" + }, + "excavation": { + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." + }, + "herbalism": { + "name": "Herbalism", + "icon": "⚘", + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" + }, + "hunter": { + "name": "Hunter", + "icon": "☠", + "description": "Hunting is about the journey not the outcome." + }, + "nether": { + "name": "Nether", + "icon": "₪", + "description": "From the depths of the Nether itself." + }, + "pickaxe": { + "name": "Pickaxe", + "icon": "⛏", + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" + }, + "ranged": { + "name": "Ranged", + "icon": "🏹", + "description": "Distance is the key to victory, and the key to survival." + }, + "rift": { + "name": "Rift", + "icon": "❍", + "description": "The Rift is a caustic harness, but you have harnessed the harness." + }, + "seaborne": { + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." + }, + "stealth": { + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." + }, + "swords": { + "name": "Swords", + "icon": "⚔", + "description": "By the power of GreyStone!" + }, + "taming": { + "name": "Taming", + "icon": "♥", + "description": "The parrots and the bees... and you?" + }, + "tragoul": { + "name": "TragOul", + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." + }, + "chronos": { + "name": "Chronos", + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." + }, + "unarmed": { + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." + } + }, + "agility": { + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] + } + }, + "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, + "foundation": { + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] + }, + "glass": { + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] + }, + "placement": { + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] + } + }, + "axe": { + "chop": { + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] + } + }, + "brewing": { + "lingering": { + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] + }, + "darkness": { + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] + }, + "haste": { + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] + }, + "absorption": { + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] + }, + "fatigue": { + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] + }, + "hunger": { + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] + }, + "nausea": { + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] + }, + "blindness": { + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] + }, + "resistance": { + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] + }, + "decay": { + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] + }, + "saturation": { + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] + } + }, + "blocking": { + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] + } + }, + "crafting": { + "deconstruction": { + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] + }, + "xp": { + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] + }, + "reconstruction": { + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] + }, + "leather": { + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] + }, + "backpacks": { + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] + }, + "stations": { + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] + }, + "skulls": { + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] + } + }, + "discovery": { + "armor": { + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] + }, + "unity": { + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] + }, + "resist": { + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] + }, + "villager": { + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] + } + }, + "enchanting": { + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] + }, + "return": { + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] + } + }, + "excavation": { + "haste": { + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] + }, + "spelunker": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { + "name": "OMNI - T.O.O.L.", + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] + } + }, + "herbalism": { + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] + }, + "hippo": { + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] + }, + "myconid": { + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] + }, + "terralid": { + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] + }, + "cobweb": { + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] + }, + "luck": { + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] + }, + "replant": { + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] + } + }, + "hunter": { + "adrenaline": { + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] + }, + "penalty": { + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] + }, + "invisibility": { + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "luck": { + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "regen": { + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "resistance": { + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "speed": { + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "strength": { + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + } + }, + "nether": { + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] + } + }, + "pickaxe": { + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] + }, + "chisel": { + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] + } + }, + "ranged": { + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] + } + }, + "rift": { + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] + }, + "blink": { + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] + }, + "chest": { + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] + }, + "descent": { + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] + }, + "gate": { + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] + }, + "resist": { + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] + } + }, + "seaborn": { + "oxygen": { + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] + }, + "haste": { + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] + } + }, + "stealth": { + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] + }, + "snatch": { + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] + }, + "speed": { + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } + } + }, + "sword": { + "machete": { + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] + } + }, + "taming": { + "damage": { + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] + }, + "health": { + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] + }, + "regeneration": { + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] + } + }, + "tragoul": { + "thorns": { + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] + }, + "globe": { + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] + }, + "healing": { + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] + }, + "lance": { + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] + } + }, + "unarmed": { + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] + }, + "power": { + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/ko_KR.json b/src/main/resources/ko_KR.json index d0ffd57de..ee95c1179 100644 --- a/src/main/resources/ko_KR.json +++ b/src/main/resources/ko_KR.json @@ -262,941 +262,1254 @@ } }, "items": { - "boundenderperal": { - "name": "원격 상자", - "usage1": "원하는 상자에 웅크리기 + 좌클릭을 해서 연결하세요", - "usage2": "우클릭으로 열수있습니다" - }, - "boundeyeofender": { - "name": "랑데부", - "usage1": "우클릭시 아이템을 소모하여 '연결'한 위치로 순간이동합니다", - "usage2": "해당 블럭에 웅크리기 + 좌클릭으로 '연결'" - }, - "boundredstonetorch": { - "name": "리모콘", - "usage1": "우클릭: 1틱의 레드스톤 신호를 발생시킵니다", - "usage2": "신호를 줄 블럭에 웅크리기 + 좌클릭" - }, - "boundsnowball": { - "name": "인스네어!", - "usage1": "던져서 해당 구역에 임시 거미줄 함정을 만듭니다" - }, - "elevatorblock": { - "name": "엘리베이터 블록", - "usage1": "순간이동으로 점프", - "usage2": "아래로 순간이동하려면 Shift를 누르세요", - "usage3": "엘리베이터 사이에 최소 2개의 공기 블록이 있어야 합니다." + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "레벨", - "knowledge": "스킬 포인트", - "powerused": "사용중인 마력", - "notlearned": "배우지않음", - "xp": "XP 다음레벨", - "welcome": "반갑습니다!", - "welcomeback": "다시 오신 것을 환영합니다!", - "xpbonusfortime": "XP", - "maxabilitypower": "최대 능력치", - "unlockthisbyclicking": "우클릭하여 잠금해제:", - "back": "뒤로 가기", - "unlearnall": "모두 배우지않음", - "unlearnedall": "모두 배우지 않았음" - }, - "adaptmenu": { - "maynotunlearn": "배울 수 없습니다", - "mayunlearn": "배우거나 배우지 않을 수 있습니다", - "knowledgecost": "필요한 스킬포인트", - "knowledgeavailable": "사용 가능한 스킬포인트", - "alreadylearned": "이미 배움", - "unlearnrefund": "클릭하여 습득 포기 및 환불을 받습니다", - "norefunds": "하드코어, 환불 불가", - "knowledge": "스킬포인트", - "clicklearn": "클릭하여 배웁니다 : ", - "noknowledge": "(스킬포인트를 갖고 있지 않습니다)", - "youonlyhave": "현재 보유중인 스킬포인트: ", - "howtolevelup": "레벨업을 하여 최대 마력을 높이세요", - "notenoughpower": "마력이 부족합니다!", - "power": "마력", - "powerdrain": "의 마력 사용", - "learned": "배움:", - "unlearned": "배우지않음: ", - "activatorblock": "책장" - }, - "knowledgeorb": { - "contains": "포함", - "knowledge": "스킬포인트", - "rightclick": "우클릭", - "togainknowledge": "이 스킬을 얻기 위해", - "knowledgeorb": "지식의 구체" - }, - "experienceorb": { - "contains": "포함", - "xp": "경험", - "rightclick": "우클릭", - "togainxp": "이 경험을 얻기 위해", - "xporb": "경험의 구체" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "민첩성", + "name": "Agility", "icon": "⇉", - "description": "빠르게 움직이고 대처하는 능력" + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "건축", + "name": "Architect", "icon": "⬧", - "description": "당신이 꿈꾸는 세상은 당신의 손에 달려 있습니다." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "도끼", + "name": "Axes", "icon": "🪓", - "description1": "나무를 베어 넘길 수 있다", - "description2": "것들", - "description3": "그 대신, 똑같은 결과가 나왔습니다!" + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "양조술", + "name": "Brewing", "icon": "❦", - "description": "양조가 될지 연금술이 될지..\n무한한 가능성이 열려있습니다" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "방패", + "name": "Blocking", "icon": "🛡", - "description": "강력한 방어를 제공하는 능력" + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "제작", + "name": "Crafting", "icon": "⌂", - "description": "우리 함께 새로운 가능성을 열어보자구요!" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "탐험", + "name": "Discovery", "icon": "⚛", - "description": "당신의 인식이 확장됨에 따라, 당신의 마음은 당신이 알지 못했던 것을 발견하기 위해 풀립니다." + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "인챈트", + "name": "Enchanting", "icon": "♰", - "description": "마법부여의 길" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "발굴", + "name": "Excavation", "icon": "ᛳ", - "description": "디기 디기 홀..." + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "생명공학", + "name": "Herbalism", "icon": "⚘", - "description": "생명에 대해 자세히 알아가는 능력" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "사냥꾼", + "name": "Hunter", "icon": "☠", - "description": "생존하기 위해 사냥하는 것이 아닌 사냥하기 위해 생존하는 것이다" + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "네더", + "name": "Nether", "icon": "₪", - "description": "또 다른 세계의 깊은 곳에서 나오는 능력." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "곡괭이", + "name": "Pickaxe", "icon": "⛏", - "description": "지하 탐험에 가장 큰 영향을 주는 능력" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "사격", + "name": "Ranged", "icon": "🏹", - "description": "가장 안전한 승리와 생존의 방법입니다" + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "균열", + "name": "Rift", "icon": "❍", - "description": "세계와 세계 사이의 충돌로 발생한 불가사의한 균열의 힘" + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "해상", + "name": "Seaborne", "icon": "🎣", - "description": "이 기술을 사용하면 물의 경이로움을 느낄 수 있습니다." + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "잡입", + "name": "Stealth", "icon": "☯", - "description": "보이지 않는 것의 예술, 어둠 속을 걷다" + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "검술", + "name": "Swords", "icon": "⚔", - "description": "모든 것을 베어버리는 능력" + "description": "By the power of GreyStone!" }, "taming": { - "name": "조련", + "name": "Taming", "icon": "♥", - "description": "동물을 길들이는 능력" + "description": "The parrots and the bees... and you?" }, "tragoul": { - "name": "사령술", + "name": "TragOul", "icon": "🗡", - "description": "나는 군단이다." + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "크로노스", + "name": "Chronos", "icon": "⏳", - "description": "우주의 시계를 감고, 그 흐름을 경험하세요. 시계를 깨고, 그 흐름이 되어 보세요." + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "비무장", + "name": "Unarmed", "icon": "»", - "description": "무기가 없으면 힘도 없다." + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "방어구 강화", - "description": "오래 달릴수록 더 많은 방어력을 얻을 수 있습니다!", - "lore1": "최대 방어구 적용", - "lore2": "방어력 상승 시간" - }, - "superjump": { - "name": "슈퍼 점프", - "description": "뛰어난 높이의 이점.", - "lore1": "최대 점프 높이", - "lore2": "웅크리기 + 점프" - }, - "walljump": { - "name": "벽타기", - "description": "벽을 기댄상태로 웅크리면 한번더 점프할수 있습니다!", - "lore1": "최대 점프", - "lore2": "점프 높이" - }, - "windup": { - "name": "가속 강화", - "description": "더 빠르게 가속하세요!", - "lore1": "최대 속도", - "lore2": "가속 시간" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { "elevator": { - "name": "엘리베이터", - "description": "이를 통해 수직으로 빠르게 순간이동하는 엘리베이터를 건설할 수 있습니다!", - "lore1": "엘리베이터 레시피 잠금 해제: X=WOOL, Y=ENDER PEARL", - "lore2": "XXX", - "lore3": "XYX", - "lore4": "XXX" + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] }, "foundation": { - "name": "마법 발판", - "description": "웅크려서 발 밑에 임시 발판 블럭을 생성합니다", - "lore1": "한번에 생성할수있는 발판:", - "lore2": "당신 아래에 블록이 있어요!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "유리전용 섬세한 손길", - "description": "유리 블럭을 캐도 돌려받을수 있습니다.", - "lore1": "자신에게 유리에 대한 섬세한 손길 효과를 부여합니다" - }, - "wirelessredstone": { - "name": "원격 레드스톤", - "description": "원격으로 제어할수있는 레드스톤 리모콘을 만들수 있습니다!", - "lore1": "타겟 + 레드스톤 토치 + 엔더펄 = 레드스톤 리모컨 1개" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "건축도구", - "description": "웅크려 범위를 지정해 한번에 여러 블럭을 설치할 수 있습니다.", - "lore1": "필요한 블럭 수: ", - "lore2": " 이걸 놓기 위해 블록을 손에 넣으세요", - "lore3": "건축도구 재료" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "찹트리", - "description": "나무를 우클릭하여 한번에 베어버리세요", - "lore1": "블럭 갯수", - "lore2": "쿨타임", - "lore3": "내구도 감소" - }, - "logswap": { - "name": "나무 교환", - "description": "제작대에서 나무의 종류를 변경하세요!", - "lore1": "아무 종류의 원목 1개 + 묘목 1개 = 묘목과 같은 종류의 원목 1개" - }, - "droptoinventory": { - "name": "자석 도끼" - }, - "groundsmash": { - "name": "도끼 나가신다!", - "description": "점프하고 웅크려서 공격하여 주변 몹에게 광역 피해를 가합니다", - "lore1": "대미지", - "lore2": "대미지 범위", - "lore3": "힘", - "lore4": "쿨타임" - }, - "leafminer": { - "name": "나뭇잎 제거", - "description": "한번에 많은 나뭇잎을 제거할 수 있습니다!", - "lore1": "웅크리고 나뭇잎을 부수세요", - "lore2": "나뭇잎 제거 범위", - "lore3": "부서진 나뭇잎은 아이템을 떨구지 않습니다" - }, - "woodminer": { - "name": "나무 제거", - "description": "큰 나무 뭉치를 한 번에 깰 수 있습니다!", - "lore1": "웅크려 나무/통나무를 캐십시오( 판자 적용안됨)", - "lore2": "목재 채굴의 범위", - "lore3": "자석도끼와 함께 작동" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "잔잔한 양조주", - "description": "양조 물약이 더 오래 지속됩니다!", - "lore1": "지속", - "lore2": "지속" - }, - "superheated": { - "name": "초 고열 양조", - "description": "양조기가 뜨거울수록 더 빨리 작동합니다.", - "lore1": "닿은 불 블록당", - "lore2": "닿는 용암 블록당" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "어둠의 물약", - "description": "이것이 왜 필요한지 잘 모르겠지만 여기 있습니다!", - "lore1": "야간 투시 물약 + 검은색 콘크리트 = 어둠의 물약 (30초)", - "lore2": "목표가 뛰는 것을 방지합니다" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "성급함의 물약", - "description": "효율성이 충분하지 않을 때", - "lore1": "신속 물약 + 자수정 조각 = Potion of Haste (60 seconds)", - "lore2": "신속 물약 + 자수정 블럭 = Potion of Haste-2 (30 seconds)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "흡수의 물약", - "description": "몸을 단단하게 합니다!", - "lore1": "즉시 치유 + 석영 = 흡수의 물약(60초)", - "lore2": "즉시 치유 + 석영 블록 = 흡수의 물약-2(30초)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "피로의 물약", - "description": "허약하게 만들어 채굴하는속도를 줄입니다...", - "lore1": "약점포션 + 슬라임볼 = 피로의 포션 (30초)", - "lore2": "약점 물약 + 슬라임 블록 = 피로의 물약-2 (15초)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "굶주림의 물약", - "description": "끝없는 공복감!", - "lore1": "어색한 물약 + 썩은 살점 = 굶주림의 물약(30초)", - "lore2": "약점 물약 + 썩은 살 = 굶주림의 물약-3 (15초)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "멀미의 물약", - "description": "구와아아악!", - "lore1": "어색한 물약 + 갈색 버섯 = 메스꺼움의 물약(16초)", - "lore2": "어색한 물약 + 진홍색 곰팡이 = 메스꺼움의 물약-2 (8초)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "실명의 물약", - "description": "티모가 화살에 바르고는 했죠..", - "lore1": "어색한 물약 + 잉크 자루 = 실명의 물약(30초)", - "lore2": "어색한 물약 + 빛나는 잉크 자루 = 실명의 물약-2 (15초)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "저항의 물약", - "description": "최강의 강화!", - "lore1": "어색한 물약 + 철 주괴 = 저항의 물약(60초)", - "lore2": "어색한 물약 + 철 블록 = 저항의 물약-2 (30초)" - }, - "healthboost": { - "name": "생명의 물약", - "description": "최대 체력이 부족할 때...", - "lore1": "즉시 치유 물약 + 황금 사과 = 건강 증진 물약(120초)", - "lore2": "즉시 치유 물약 + 마법에 걸린 황금 사과 = 건강 증진 물약-2 (120초)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "부패 물약", - "description": "개똥을 약에쓰면 병난다..", - "lore1": "약점 물약 + 독 감자 = 시들기의 물약 (16초)", - "lore2": "약점 물약 + 크림슨 뿌리 = 위더-2의 물약(8초)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "포만감의 물약", - "description": "음식을 갈아넣은것일까요?", - "lore1": "재생 물약 + 구운 감자 = 포화 물약", - "lore2": "재생 물약 + 건초 더미 = 포화 물약-2" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "메피스토펠레스의 사슬", - "description": "사슬 갑옷을 제작할 수 있습니다.", - "lore1": "제작 레시피는 기존 레시피와 동일하지만 대신 철 조각이 필요합니다." - }, - "horsearmorer": { - "name": "제작 가능한 말 갑옷", - "description": "말 갑옷을 만들 수 있습니다.", - "lore1": "갑옷 제작에 사용할 재료로 안장을 둘러싸세요. 예시)다이아몬드" - }, - "saddlecrafter": { - "name": "제작 가능한 안장", - "description": "가죽으로 안장 만들기", - "lore1": "레시피: 5 가죽:" - }, - "multiarmor": { - "name": "다중 갑옷", - "description": "겉날개를 갑옷에 묶기", - "lore1": "이것은 여행에 대한 놀라운 기술입니다.", - "lore2": "갑옷/엘리트라를 즉석에서 동적으로 병합하고 변경하세요!", - "lore3": "병합하려면 인벤토리에서 한 아이템을 다른 아이템 위에 올려놓고 Shift 키를 누른 채로 클릭하세요.", - "lore4": "방어구를 풀려면 해당 아이템을 몰래 떨어뜨리면 분해됩니다.", - "lore5": "합친 장비가 파괴되면 그 안의 모든 아이템을 잃게 됩니다.", - "lore6": "평범한 갑옷은 필요없어요. 실망스럽네요..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "해체", - "description": "블록과 아이템을 재료로 분해하십시오!", - "lore1": "물건을 땅에 떨어뜨리세요.", - "lore2": "그런 다음 가위로 몰래 움직이고 마우스 오른쪽 버튼을 클릭하세요." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "경험치 제작", - "description": "제작 시 패시브 XP 획득", - "lore1": "제작 시 XP 획득" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "광석 복원", - "description": "광물 원석을 만들 수 있습니다", - "lore1": "광물8개와 돌 1개 = 광석 1개", - "lore2": "방울을 제련해야 합니다(해당되는 경우).", - "lore3": "제외: 파편, 석영, 에메랄드 등...", - "lore4": "예시 : 돌, 네더랙, 심층암" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "제작 가능한 가죽", - "description": "썩은 살로 가죽 만들기", - "lore1": "모닥불에 (썩은 살코기) 던지기만 하면 끝!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "보조 주머니", - "description": "이것은 Mojang 번들을 게임으로 가져옵니다!", - "lore1": "이것을 사용하려면 서바이벌에 있어야 합니다.", - "lore2": "XLX : 가죽, 끈, 가죽", - "lore3": "XSX : 가죽, 통, 가죽", - "lore4": "XCX : 가죽, 상자, 가죽" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "휴대용 테이블", - "description": "제작대를 사용하세요!", - "lore2": "테이블을 닫을 때 놔둔 항목은 영원히 사라집니다!", - "lore3": "유효한 테이블: 모루, 제작대, 숫돌, 지도제작대, 석재절단기, 베틀" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "제작 가능한 머리!", - "description": "재료를 사용하여 해골을 만들 수 있습니다! 와샌즈!", - "lore1": "해골을 얻으려면 뼈 블록을 다음과 같이 둘러싸십시오.", - "lore2": "좀비: 썩어가는 살", - "lore3": "해골: 뼈", - "lore4": "크리퍼: 화약", - "lore5": "위더: 네더 벽돌", - "lore6": "드래곤: 드래곤 브레스" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "월드 아머", - "description": "주변 블록 경도에 따른 패시브 아머.", - "lore1": "패시브 아머", - "lore2": "주변 블록 경도 기준", - "lore3": "방어력:" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "경험치 결합", - "description": "경험치 구체를 모으면 랜덤 스킬에 XP가 추가됩니다.", - "lore1": "XP", - "lore2": "오브 당" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "실험적 저항", - "description": "경험치를 소모하여 모든 출처에서 받는 피해를 완화합니다.", - "lore0": "15초에 한 번만 발생할 수 있습니다.", - "lore1": " 피해 감소", - "lore2": "경험치 소모량" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "주민 교류", - "description": "마을 사람들과 더 나은 거래를 할 수 있습니다!", - "lore1": "이것은 주민과의 상호작용당 XP를 소모합니다.", - "lore2": "상호작용당 XP를 소비하고 거래를 강화할 기회", - "lore3": "상호작용당 필요한 XP 소모" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "청금석 반환", - "description": "XP 1레벨 추가 비용으로 무료 청금석을 대가로 받을 수 있습니다.", - "lore1": "레벨마다 마법부여 비용이 1씩 증가하지만 최대 3라피스까지 반환할 수 있습니다." - }, - "quickenchant": { - "name": "퀵 인챈트", - "description": "책에 직접 마법 부여를 클릭하여 아이템에 마법을 부여하십시오.", - "lore1": "최대 결합 레벨", - "lore2": "이상으로 아이템을 인챈트할 수 없습니다.", - "lore3": "마력" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "XP 반환", - "description": "아이템에 마법을 부여하면 마법 부여 XP가 반환됩니다.", - "lore1": "아이템을 인챈트하면 소모한 경험치가 일정 확률로 환불됩니다.", - "lore2": "인챈트당 경험치" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "성급한 굴착기", - "description": "이렇게 하면 HASTE와 함께 굴착 프로세스의 속도가 빨라집니다!", - "lore1": "발굴하는 동안 가속 획득", - "lore2": "x 블록 채굴을 시작할 때의 성급함 수준." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "발광 엑스레이!", - "description": "원하는 광물을 골라 볼 수 있습니다!", - "lore1": "왼손에 광석 오른손엔 발광열매를 들고 웅크리세요!", - "lore2": "블록 범위:", - "lore3": "사용시 발광열매 소모" - }, - "droptoinventory": { - "name": "자석 삽" - }, - "omnitool": { - "name": "도적의 7가지 도구", - "description": "맥가이버칼이라고도 부르죠.", - "lore1": "아마도 가장 강력한 것은 당신이 할 수 있는 것입니다", - "lore2": "필요에 따라 즉시 도구를 동적으로 병합하고 변경할 수 있습니다.", - "lore3": "병합하려면 인벤토리에서 한 아이템을 다른 아이템 위에 올려놓고 Shift 키를 누른 채로 클릭하세요.", - "lore4": "도구의 연결을 해제하려면 해당 도구를 몰래 떨어뜨리면 분해됩니다.", - "lore5": "이 레더맨에서는 도구를 부술 수 없지만 깨진 도구를 사용할 수는 없습니다.", - "lore6": "병합 가능한 항목의 총 개수.", - "lore7": "도구를 5~6개 사용할 수도 있고, 1개만 사용할 수도 있습니다!" + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { + "name": "OMNI - T.O.O.L.", + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "성장의 오라", - "description": "주변의 자연을 아우라로 성장시키세요", - "lore1": "블록 반경", - "lore2": "성장 오라 힘", - "lore3": "배고픔 비용" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "풀먹는 하마", - "description": "음식을 섭취하면 더 많은 포만감을 줍니다. 풀 먹는 하마가 끝내줍니다~", - "lore1": "음식) 섭취시 포만감" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "약초학자의 균류", - "description": "균사체를 만드는 능력을 줍니다.", - "lore1": "모든 흙, 그리고 갈색과 붉은 버섯은 균사체를 만들 것입니다." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "잔디 심기", - "description": "잔디 블록을 만들 수 있는 능력 제공", - "lore1": "3개의 씨앗, 3개 이상의 흙으로 3개의 잔디 블록을 만들 수 있습니다." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "거미줄 제작자", - "description": "제작대에서 거미줄을 만드는 기능을 제공합니다.", - "lore1": "9개의 실로 거미줄을 만들수있습니다." - }, - "mushroomblocks": { - "name": "버섯 제조기", - "description": "제작대에서 버섯 블록을 제작할 수 있습니다.", - "lore1": "4개의 버섯으로 블록을 만들거나 블록으로 줄기를 만듭니다." - }, - "droptoinventory": { - "name": "자석 괭이" - }, - "hungryshield": { - "name": "배고픔 방패", - "description": "배고플때 대미지를 받지않습니다", - "lore1": "배고픔에 저항" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "약초꾼의 행운", - "description": "풀/꽃을 부수면 일정 확률로 랜덤 아이템 획득", - "lore0": "꽃 = 음식, 풀 = 씨앗", - "lore1": "꽃을 부수면 아이템 획득 확률", - "lore2": "풀을 부수면 아이템 획득 확률" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "수확 및 이식", - "description": "괭이로 작물을 마우스 우클릭하여 수확하고 다시 심습니다.", - "lore1": "블록 이식 반경" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "아드레날린", - "description": "체력이 낮을수록 더 많은 피해를 줍니다(근접)", - "lore1": "최대 피해" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "배고픔이 떨어지면 독 스택을 얻습니다." - }, - "droptoinventory": { - "name": "자석 아이템", - "description": "당신이 무언가를 죽일 때 / 블록을 부술 때 그것을 당신의 인벤토리로 아이템을 순간 이동시킵니다.", - "lore1": "몹/블록에서 아이템을 드랍할 때마다 가능한 한 인벤토리로 들어갑니다." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "배니싱 스텝", - "description": "공격을 받으면 굶주림을 대가로 투명화를 얻습니다.", - "lore1": "피격 시 임시 투명화 획득", - "lore2": "x 적중 시 3초 동안 투명화 중첩", - "lore3": "x 쌓인 배고픔", - "lore4": "굶주림은 지속 시간과 승수를 중첩합니다.", - "lore5": "투명화 지속시간" - }, - "jumpboost": { - "name": "헌터스 하이츠", - "description": "공격을 받으면 굶주림을 희생하여 점프 부스트를 얻습니다.", - "lore1": "타격 시 패시브 점프 부스트 획득", - "lore2": "x 적중 시 3초 동안 점프 부스트 중첩", - "lore3": "x 쌓인 배고픔", - "lore4": "배고픔은 지속 시간과 스택을 중첩합니다.", - "lore5": "점프 부스트 스택 배수가 아니라 지속 시간입니다." + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "사냥꾼의 행운", - "description": "공격당하면 배고픔을 대가로 행운을 얻습니다", - "lore1": "공격을 받으면 패시브 운을 얻습니다.", - "lore2": "x 행운은 적중 시 3초 동안 중첩됩니다.", - "lore3": "x 쌓인 배고픔", - "lore4": "배고픔은 지속 시간과 스택을 중첩합니다.", - "lore5": "행운은 지속 시간이 아니라 배율을 중첩합니다." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "사냥꾼의 재생", - "description": "공격을 받으면 굶주림을 희생하여 재생력을 얻습니다.", - "lore1": "공격을 받으면 패시브 재생을 얻습니다.", - "lore2": "x 적중 시 3초 동안 재생 중첩", - "lore3": "x 쌓인 배고픔", - "lore4": "배고픔은 지속 시간과 스택을 중첩합니다.", - "lore5": "지속 시간이 아니라 재생 스택 배수입니다." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "사냥꾼의 저항", - "description": "공격을 받으면 배고픔을 대가로 저항력을 얻습니다.", - "lore1": "패시브 - 공격을 받으면 저항을 얻습니다.", - "lore2": "x 적중 시 3초 동안 저항 중첩", - "lore3": "x 쌓인 배고픔", - "lore4": "배고픔은 지속 시간과 스택을 중첩합니다.", - "lore5": "지속 시간이 아니라 저항 스택 배수입니다." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "사냥꾼의 속도", - "description": "공격을 받으면 배고픔을 희생하여 속도를 얻습니다.", - "lore1": "패시브 - 공격을 받으면 속도를 얻습니다.", - "lore2": "x 속도는 적중 시 3초 동안 중첩됩니다.", - "lore3": "x 쌓인 배고픔", - "lore4": "배고픔은 지속 시간과 스택을 중첩합니다.", - "lore5": "지속 시간이 아니라 속도 스택 배수입니다." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "사냥꾼의 힘", - "description": "공격을 받으면 힘을 얻고 굶주림을 대가로", - "lore1": "패시브 - 공격을 받으면 힘을 얻습니다.", - "lore2": "x 힘은 적중 시 3초 동안 중첩됩니다.", - "lore3": "x 쌓인 배고픔", - "lore4": "굶주림은 지속 시간과 승수를 중첩합니다.", - "lore5": "지속 시간이 아니라 강도 스택 배수입니다." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "위더 해골 던지기", - "description1": "사용하여 내면의 위더를 해방하십시오.", - "description2": "누군가", - "description3": "머리.", - "lore1": "해골 던지기 사이에 몇 초의 쿨다운이 있습니다.", - "lore2": "위더 해골 사용: 던지기", - "lore3": "위더 해골", - "lore4": "충격에 폭발." - }, - "witherresist": { - "name": "위더 저항", - "description": "네더라이트의 힘으로 시들기를 저항합니다.", - "lore1": "시들음을 무효화할 기회(부위당).", - "lore2": "패시브: 네더라이트 갑옷을 입으면 일정 확률로 무효화됩니다.", - "lore3": "시들게 하는." - }, - "fireresist": { - "name": "화염 저항", - "description": "피부를 단단하게 하여 불에 저항합니다.", - "lore1": "불탐 효과 무효화 기회!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "자동 제련", - "description": "채굴된 바닐라 광석을 제련할 수 있습니다.", - "lore1": "제련 가능한 광석은 자동으로 제련됩니다.", - "lore2": "추가 확률 %" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "광석 끌", - "description": "광석을 마우스 우클릭하면 많은 내구도 소모로 더 많은 광석을 얻을 수 있습니다.", - "lore1": "드롭 기회", - "lore2": "도구 마모" - }, - "droptoinventory": { - "name": "자석 곡괭이", - "description": "블록을 깨면 아이템을 인벤토리로 텔레포트합니다.", - "lore1": "아이템이 블록에서 떨어질 때마다 가능한 경우 인벤토리로 들어갑니다." - }, - "silkspawner": { - "name": "곡괭이 섬세한 스포너", - "description": "파괴 시 스포너가 떨어집니다.", - "lore1": "스포너를 섬세한 손길로 부술 수 있게 만듭니다.", - "lore2": "은신 중에 스포너를 부술 수 있게 됩니다." - }, - "veinminer": { - "name": "광맥 채굴가", - "description": "자연상태의 광물을 광맥상태로 채굴할 수 있습니다.", - "lore1": "웅크린채, 광물을 채굴해보세요", - "lore2": "광맥 채광 범위", - "lore3": "이 기술은 모든 아이템을 함께 그룹화하지 않습니다!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "화살 회수", - "description": "적을 죽인 후 화살을 회복하십시오.", - "lore1": "적중/사살 시 화살 회수 확률", - "lore2": "확률: " - }, - "webshot": { - "name": "웹 스네어", - "description": "목표물을 맞힐 때 목표물 주위에 거미줄을 둘러싸세요!", - "lore1": "눈덩이 주위에 8개의 거미줄을 던지고 던지세요!", - "lore2": "우리에 가두었군. (쑻)" - }, - "forceshot": { - "name": "포스 샷", - "description": "더 멀리, 더 빠르게 화살을 쏴라!", - "advancementname": "장거리 슛", - "advancementlore": "30블록 이상 떨어진 곳에서 사격하세요!", - "lore1": "발사체 속도" - }, - "lungeshot": { - "name": "런지 샷", - "description": "화살을 발사할 때, 사용자가 무작위 방향으로 뜁니다", - "lore1": "랜덤 뜀 속도" - }, - "arrowpiercing": { - "name": "화살 피어싱", - "description": "발사체에 피어싱을 추가합니다! 꿰뚫어 보세요!", - "lore1": "꿰뚫을 타겟" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "원격 연결", - "description": "공허에서 당겨서 표시된 용기에 넣으십시오.", - "lore1": "엔더진주 + 나침반 = 유물포트키", - "lore2": "이 항목을 사용하면 원격으로 상자에 액세스할 수 있습니다.", - "lore3": "일단 제작된 아이템을 보고 사용법을 확인하세요.", - "notcontainer": "저건 보관함이 아닌거같다.." + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "균열 점멸", - "description": "근거리 순간이동, 눈 깜짝할 사이!", - "lore1": "블록 순간이동(2x 수직)", - "lore2": "질주 중: 두 번 탭하여 점프", - "lore3": "순간이동" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "엔더상자 개선", - "description": "엔더상자를 손에서 마우스 왼쪽 버튼으로 클릭하여 엽니다.", - "lore1": "손에 있는 엔더상자를 클릭하여 엽니다(두지 마세요)." + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "공중 부양 방지", - "description": "셜커가 지겹습니까? 이것은 당신을 위한 기술입니다!", - "lore1": "웅크리면 천천히 하강합니다", - "lore2": "쿨타임:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "균열 게이트", - "description": "표시된 위치로 순간이동합니다.", - "lore1": "제작: 에메랄드 + 자수정 조각 + 엔더 진주", - "lore2": "사용하기 전에 읽어보세요!", - "lore3": "5초 지연,", - "lore4": "사용중엔 무방비 상태라 죽을 수 있습니다." + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "균열 저항", - "description": "엔더 아이템 및 능력 사용 시 저항력 획득", - "lore1": "+ 패시브: 균열 능력 또는 엔더 아이템을 사용할 때 저항을 제공합니다.", - "lore2": "소비 아이템만 해당." + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] }, "visage": { - "name": "균열 비지지", - "description": "인벤토리에 엔더펄이 있을 경우 엔더맨이 공격적으로 변하는 것을 방지합니다.", - "lore1": "인벤토리에 엔더펄이 있으면 엔더맨은 공격적으로 변하지 않습니다." + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "유기 산소 탱크", - "description": "작은 폐에 더 많은 산소를 담으십시오!", - "lore1": "산소 용량 증가" - }, - "fishersfantasy": { - "name": "낚시꾼의 판타지", - "description": "낚시에서 더 많은 XP를 얻고 더 많은 물고기를 얻으십시오!", - "lore1": "각 레벨마다 더 많은 XP와 물고기를 얻을 수 있는 기회가 있습니다!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "거북이 광부", - "description": "수중에서 채굴하는 동안 가속을 얻습니다!", - "lore1": "성급함 3은 수중 호흡 효과가 사라진 후 채광하는 동안 수중에서 적용됩니다!" - }, - "nightvision": { - "name": "거북이의 시야", - "description": "수중에서 야간 투시를 얻습니다.", - "lore1": "수중 호흡 효과가 사라진 후에 수중에서 간단하게 야간 시력을 얻을 수 있습니다!" - }, - "dolphingrace": { - "name": "돌고래의 은혜", - "description": "돌고래 없이 돌고래처럼 헤엄쳐라", - "lore1": "+ 패시브: 이득", - "lore2": "x 속도(돌핀스 그레이스)", - "lore3": "정밀 독일 엔지니어 - 잠깐, 그게 맞지 않아요... Depth Strider와 호환되지 않습니다." + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "망자의 갑옷", - "description": "피해를 입지 않을 때 느리게 방어력 추가, 피해를 입기 전까지 지속", - "lore1": "최대 갑옷", - "lore2": "속도" - }, - "nightvision": { - "name": "잠행 투시", - "description": "웅크리는 동안 야간 투시 적용", - "lore1": "버스트 획득", - "lore2": "야간 투시경", - "lore3": "웅크리고 있는 동안" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "아이템 스내치", - "description": "은신 중 드랍된 아이템을 즉시 낚아채세요!", - "lore1": "스내치 반경" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "잠행", - "description": "은신하는 동안 속도를 얻습니다.", - "lore1": "웅크린채 움직이는 속도" - }, - "enderveil": { - "name": "엔더베일", - "description": "엔더맨의 공격을 방지하기 위한 호박이 더 이상 필요하지 않습니다.", - "lore1": "웅크리는 동안 엔더맨의 공격을 방지합니다.", - "lore2": "엔더맨의 모든 공격을 방지합니다." + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "마체테", - "description": "쉽게 나뭇잎을 자르세요", - "lore1": "슬래시 반경", - "lore2": "쿨타임", - "lore3": "도구 마모" - }, - "bloodyblade": { - "name": "블러디 블레이드", - "description": "검을 휘둘러 출혈을 일으켜라!", - "lore1": "검으로 살아있는 개체를 공격하면 출혈이 발생합니다.", - "lore2": "출혈 지속 시간", - "lore3": "출혈 재사용 대기시간" - }, - "poisonedblade": { - "name": "독검", - "description": "검을 휘둘러 독을 일으켜라!", - "lore1": "검으로 살아있는 개체를 공격하면 독이 발생합니다.", - "lore2": "독 지속시간", - "lore3": "독 쿨다운" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "펫 대미지", - "description": "길들인 동물이 입히는 피해를 늘립니다.", - "lore1": "데미지 증가" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "건강한 펫", - "description": "길들인 동물의 체력을 높이십시오.", - "lore1": "체력 증가" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "펫 재생", - "description": "펫의 재생력을 높이세요.", - "lore1": "HP/초" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "가시", - "description": "공격자에게 피해를 되돌려 주세요!", - "lore1": "피격시 반사" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "고통의 구체", - "description": "주변 적의 수에 따라 피해를 나누세요!", - "lore1": "주변에 적이 많을수록 적에게 주는 피해가 줄어듭니다.", - "lore2": "범위:", - "lore3": "모든 엔티티에 추가 피해:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "고통의 의지", - "description": "입힌 피해에 따라 체력을 회복하십시오!", - "lore1": "입힌 피해로부터 일정 체력 회복", - "lore2": "치유를 위한 3초의 피해와 1초의 재사용 대기시간이 있습니다.", - "lore3": "대미지 퍼센트당 치유:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "시체 창", - "description": "적을 죽이거나 적을 죽이는 능력이 있으면 근처의 적에게 피해를 주는 창이 생성됩니다!", - "lore1": "창은 당신이 죽이는 모든 것에서 발현될 것입니다. 그리고 이 능력이 적을 죽일 수 있습니다.", - "lore2": "창을 만들기 위해 삶의 일부를 희생하십시오(이것은 당신을 죽일 수 있습니다)", - "lore3": "최대 창: 1 +" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "유리 대포", - "description": "비무장 피해는 방어력 값이 낮을수록 보너스", - "lore1": "x 방어력이 0일 때의 피해", - "lore2": "레벨당 보너스 데미지" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "비무장 파워", - "description": "비무장 피해 개선", - "lore1": "손상" - }, - "suckerpunch": { - "name": "기습", - "description": "나비처럼 날아서 벌처럼 쏘세요.", - "lore1": "대미지", - "lore2": "달리는 동안 속도에 따라 대미지가 증가합니다." + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/lt_LT.json b/src/main/resources/lt_LT.json index 56b155e8c..89c286a9d 100644 --- a/src/main/resources/lt_LT.json +++ b/src/main/resources/lt_LT.json @@ -262,941 +262,1254 @@ } }, "items": { - "boundenderperal": { - "name": "Relikvijoriaus Prievado Raktas", - "usage1": "Shift + Kairys paspaudimas, kad susieti", - "usage2": "Dešinys paspaudimas, kad pasiektumėte susietą inventorių" - }, - "boundeyeofender": { - "name": "Akių Inkaras", - "usage1": "Dešinys Paspaudimas, kad vartoti ir teleportuotis į susietą vietą", - "usage2": "Shift + Kairys paspaudimas, kad susieti prie bloko" - }, - "boundredstonetorch": { - "name": "Raudonakmenio valdymo pultas", - "usage1": "Dešinys Paspaudimas, kad sukurti 1-tick raudonakmenio impulsą", - "usage2": "Shift + Kairys paspaudimas ant tikslaus bloko, kad būtų galima susieti" - }, - "boundsnowball": { - "name": "Voratinklių Spąstai!", - "usage1": "Meskite, kad vietoje sukurtumėte laikinus voratinklių spąstus" - }, - "elevatorblock": { - "name": "Lifto Blokas", - "usage1": "Peršokti, kad teleportuotis aukštyn", - "usage2": "Shift, kad teleportuotumėtes žemyn", - "usage3": "Mažiausiai 2 oro blokai tarp liftų" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Levelis", - "knowledge": "žinios", - "powerused": "Galios", - "notlearned": "Neišmokta", - "xp": "XP iki", - "welcome": "Sveikas!", - "welcomeback": "Sveikas sugrįžęs!", - "xpbonusfortime": "XP už", - "maxabilitypower": "Didžiausia Gebėjimų Galia", - "unlockthisbyclicking": "Atrakinkite tai paspausdami dešiniuoju pelės mygtuku:", - "back": "Grįžti", - "unlearnall": "Pamiršti viską", - "unlearnedall": "Viskas pamiršta" - }, - "adaptmenu": { - "maynotunlearn": "JŪS NEGALĖSITE PAMIRŠTI", - "mayunlearn": "GALITE IŠMOKTI/PAMIRŠTI", - "knowledgecost": "Žinių kaina", - "knowledgeavailable": "Žinia Prieinama", - "alreadylearned": "Jau išmokta", - "unlearnrefund": "Spausk, kad pamirštum & Atlygintu", - "norefunds": "HARDCORE, GRĄŽINIMAS IŠJUNGTAS", - "knowledge": "žinių", - "clicklearn": "Spausk, kad išmoktum", - "noknowledge": "(Jūs neturite pakankamai žinių)", - "youonlyhave": "Tu turi tik", - "howtolevelup": "Pasikelkite įgūdžius, kad padidintumėte maksimalią galią.", - "notenoughpower": "Nepakanka galios! Kiekvienas Gebėjimų lygis kainuoja 1 galią.", - "power": "galia", - "powerdrain": "Galios Eikvavimas", - "learned": "Išmokta ", - "unlearned": "Pamiršta ", - "activatorblock": "Knygų Lentyna" - }, - "knowledgeorb": { - "contains": "yra", - "knowledge": "žinių", - "rightclick": "Dešinys-paspaudimas", - "togainknowledge": ",kad įgyti šių žinių", - "knowledgeorb": "Žinių Rutulys" - }, - "experienceorb": { - "contains": "yra", - "xp": "XP", - "rightclick": "Dešinys-paspaudimas", - "togainxp": "įgyti šios patirties", - "xporb": "Patirties Rutulys" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Judrumas", + "name": "Agility", "icon": "⇉", - "description": "Judrumas – tai gebėjimas greitai ir sklandžiai judėti susidūrus su kliūtimis." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Architektas", + "name": "Architect", "icon": "⬧", - "description": "Struktūros yra pasaulio statybiniai blokai. Realybė yra jūsų rankose, jūs turite tai valdyti." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Medkirtystė", - "icon": "❖", - "description1": "Kam kirsti medžius, kai gali kirsti ", - "description2": "dalykus", - "description3": "vietoj to vistiek tas pats dalykas!" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Vyrimas", + "name": "Brewing", "icon": "❦", - "description": "Dvigubas burbulas, Įrigubas burbulas, Keturgubas burbulas – aš vis tiek dar negaliu įpilti šio gėrimo į katilą" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Blokavimas", - "icon": "▒", - "description": "Lazdos ir akmenys tau kaulų nesulaužys, bet skydas sulaužys." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Gamyba", + "name": "Crafting", "icon": "⌂", - "description": "Jei nebeliko resursų, kuriuos būtų galima įdėti, kodėl gi nepadarius kitų?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Aptikimas", + "name": "Discovery", "icon": "⚛", - "description": "Kai jūsų suvokimas plečiasi, jūsų protas išsiskleidžia ir atranda tai, ko nepadarėte." + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Kerėjimas", + "name": "Enchanting", "icon": "♰", - "description": "Ką tu darai? Pranašystės, regėjimai, prietaringi šlamštai?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Kasinėjimas", - "icon": "✥", - "description": "Kasam Kasam Duobę..." + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "Žolininkystė", + "name": "Herbalism", "icon": "⚘", - "description": "Aš nerandu augalų, bet galiu rasti keletą sėklų ir... ar tai... Piktžolė?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "Medžiotojas", + "name": "Hunter", "icon": "☠", - "description": "Medžioklė – tai kelionė, o ne rezultatas" + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "Pragaras", + "name": "Nether", "icon": "₪", - "description": "Iš paties pragaro gelmių." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Kalnakasys", + "name": "Pickaxe", "icon": "⛏", - "description": "Visa kūrinija yra kasykla, o kiekvienas žmogus yra kalnakasys." + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "Nuotolis", + "name": "Ranged", "icon": "🏹", - "description": "Atstumas yra raktas į pergalę ir raktas į išlikimą." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "Slėnis", + "name": "Rift", "icon": "❍", - "description": "Kelias yra čia, - tyliai pasakė jis. - Bet jūs galite laisvai eiti juo arba pasirinkti kitą kelią." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "Jūrininkas", - "icon": "🌊", - "description": "Turėdami šį įgūdį galėsite patirti vandens stebuklus." + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "Slaptumas", - "icon": "✠", - "description": "Nematomo menas. Vaikščiokite šešėlyje." + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Ginklai", + "name": "Swords", "icon": "⚔", - "description": "Pilko akmens galia!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "Prisijaukinimas", + "name": "Taming", "icon": "♥", - "description": "Papūgos ir bitės... ir tu?" + "description": "The parrots and the bees... and you?" }, "tragoul": { - "name": "Trag'Oul", - "icon": "▼", - "description": "Kraujas teka visatos gyslomis. Suspaustas tavo rankomis." + "name": "TragOul", + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { "name": "Chronos", - "icon": "۞", - "description": "Sukite visatos laikrodį, patirkite tėkmę. Sudaužyk laikrodį, tapk juo." + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "Beginklis", - "icon": "⚜", - "description": "Be ginklo nebūnate be jėgos." + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Šarvai Aukštyn", - "description": "Kuo ilgiau bėgsite, tuo daugiau šarvų!", - "lore1": "Max Šarvai", - "lore2": "Šarvai Aukštyn laikas" - }, - "superjump": { - "name": "Super Šuolis", - "description": "Išskirtinis aukščio pranašumas.", - "lore1": "Maksimalus šuolio aukštis", - "lore2": "Sėlinti + Pašokti, kad panaudoti super šuolį!" - }, - "walljump": { - "name": "Sienos Šuolis", - "description": "Laikykite shift, kol ore nuo sienos iki sienos ir šokinėkite!", - "lore1": "Max Šuoliai", - "lore2": "Šuolio aukštis" - }, - "windup": { - "name": "Greitis", - "description": "Kuo ilgiau bėgsit, bėksite greičiau!", - "lore1": "Max Greitis", - "lore2": "Užbaigimo laikas" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { "elevator": { - "name": "Liftas", - "description": "Tai leidžia jums pastatyti liftą, kuris greitai leis teleportuotis vertikaliai!", - "lore1": "Atrakina lifto receptą: X=VILNA, Y=ENDERIO PERLAS", - "lore2": "XXX", - "lore3": "XYX", - "lore4": "XXX" + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] }, "foundation": { - "name": "Magiškas fondas", - "description": "Tai leidžia sėlinti ir pasidėti po savimi laikiną pagrindą!", - "lore1": "Magiškai sukurti: ", - "lore2": "Blokai po tavimi!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Šilko jutiklinis stiklas", - "description": "Tai leidžia iš esmės išvengti stiklo blokelių praradimo, kai juos sulaužysite tuščia ranka!", - "lore1": "Jūsų rankos įgauna šilko prisilietimą stiklui" - }, - "wirelessredstone": { - "name": "Redstone valdymo pultas", - "description": "Tai leidžia naudoti restone deglą, kad perjungtumėte Redstone nuotoliniu būdu!", - "lore1": "Tikslas + Raudonakmenio Deglas + Ender perlas = 1 Raudonakmenio Nuotolinio Valdymo Pultas" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Statybininkų lazdelė", - "description": "Leidžia dėti kelis blokus vienu metu, kad suaktyvintumėte spauskite shift, ir dėkite tokį patį bloką į kurį žiūrite! Atminkite, kad gali tekti šiek tiek pajudėti, kad suaktyvintumėte langelių apribojimą!", - "lore1": "Tau reikia", - "lore2": "blokų, kad statyti", - "lore3": "Medžiagų statybininkų lazdelę" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Kapotojas", - "description": "Nukirskite medžius dešiniuoju pelės mygtuku spausdami ant pagrindinio rąsto!", - "lore1": "Blokai per nukirtimą", - "lore2": "Kirtimo laiko tarpas", - "lore3": "Įrankio susidėvėjimas" - }, - "logswap": { - "name": "Liucijos rąstų keitiklis", - "description": "Pakeiskite rąstų tipą darbastalyje!", - "lore1": "8 betkokio tipo rąstai + 1 sodinukas = 8 sodinuko tipo rąstas" - }, - "droptoinventory": { - "name": "Kirvio Trauka" - }, - "groundsmash": { - "name": "Žemės Drebėjimas", - "description": "Pašokite, tada pritūpkite ir sudaužykite visus netoliese esančius priešus.", - "lore1": "Žala", - "lore2": "Blokų spindulys", - "lore3": "Jėga", - "lore4": "Drebėjimo laiko tarpas" - }, - "leafminer": { - "name": "Lapų Kirtėjas", - "description": "Leidžia vienu metu sudraskyti masinius lapus!", - "lore1": "Sėlink, ir kirsk LAPUS", - "lore2": "lapų kirtimo spindulys", - "lore3": "Negausite dropų nuo lapų (Exploit prevencija)" - }, - "woodminer": { - "name": "Medienos Kirtėjas", - "description": "Leidžia iš karto nukirsti masinį kiekį medienos!", - "lore1": "Sėlink, ir kirsk medieną ( Ne Lentas )", - "lore2": "Medinos kirtimo spindulys", - "lore3": "Veikia kartu su Kirvio Trauka" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "Užsitęsęs Vyrimas", - "description": "Paruošti eleksyrai išsilaiko ilgiau!", - "lore1": "Trukmė", - "lore2": "Trukmė" - }, - "superheated": { - "name": "Super Įkaitęs Stovas", - "description": "Eleksyrų stovai dirba greičiau, kai yra kuo karštesni.", - "lore1": "Už Priliestą Ugnies Bloką", - "lore2": "Už Priliestą Lavos Bloką" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "Butelių Tamsa", - "description": "Nežinome, kodėl jums to reikia, bet štai!", - "lore1": "NightVision Eleksyras + Juodas Betonas = Tamsos Eleksyras (30 sekundžių)", - "lore2": "Reikėtų pažymėti, kad tai neleidžia žaidėjui bėgti greitai!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "Greitas Kasimas", - "description": "Kai efektyvumo nepakanka", - "lore1": "Greičio eleksyras + ametisto šukė = greito kasimo eleksyras (60 sekundžių)", - "lore2": "Greičio eleksyras + ametisto blokas = greito kasimo eleksyras-2 (30 sekundžių)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Absorbcija", - "description": "Grūdinti kūną!", - "lore1": "Momentinis gydymas + kvarcas = absorbcijos eleksyras (60 sekundžių)", - "lore2": "Momentinis gydymas + kvarco blokas = absorbcijos eleksyras-2 (30 sekundžių)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Nuovargis", - "description": "Susilpninkite kūną!", - "lore1": "Silpnumo Eleksyras + Gleivių Kamuolys = Silpnumo Eleksyras (30 sekundžių)", - "lore2": "Silpnumo Eleksyras + Gleivių Blokas = Silpnumo Eleksyras-2 (15 sekundžių)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Badas", - "description": "Maitinkite nepasotinamąjį!", - "lore1": "Keistas Eleksyras + Supuvusi Mėsa = Bado Eleksyras (30 sekundžių)", - "lore2": "Silpnumo Eleksyras + Supuvusi Mėsa = Bado Eleksyras-3 (15 sekundžių)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "Pykinimas", - "description": "Man nuo tavęs bloga!", - "lore1": "Keistas Eleksyras + Rudas Grybas = Pykinimo Eleksyras (16 sekundžių)", - "lore2": "KeistasEleksyras + Raudonasis Grybas (Pragaro) = Pykinimo Eleksyras-2 (8 sekundžių)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Aklumas", - "description": "Tu esi baisus žmogus...", - "lore1": "Keistas Eleksyras + Rašalo Maišas = Aklumo Eleksyras (30 sekundžių)", - "lore2": "Keistas Eleksyras + Švytintis Rašalo Maišas = Aklumo Eleksyras-2 (15 sekundžių)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Atsparumas", - "description": "Įtvirtinimai geriausiu būdu!", - "lore1": "Keistas Eleksyras + Geležies Liejinys = Atsparumo Eleksyras (60 sekundžių)", - "lore2": "Keistas Eleksyras + Geležies Blokas = Atsparumo Eleksyras-2 (30 sekundžių)" - }, - "healthboost": { - "name": "Givybė", - "description": "Kai maksimalios givybių nepakanka...", - "lore1": "Momentinis Gydymas Eleksyras + Auksinis Obuolys = Sveikatos Stiprinimo Eleksyras (120 sekundžių)", - "lore2": "Momentinis Gydymas Eleksyras + Užburtas Auksinis Obuolys = Sveikatos Stiprinimo Eleksyras-2 (120 sekundžių)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Nykimas", - "description": "Kas žinojo, kad Detritus bus toks naudingas?", - "lore1": "Silpnumo Eleksyras + Nuodinga Bulvė = Nykimo Eleksyras (16 sekundžių)", - "lore2": "Silpnumo Eleksyras + Raudonio Šaknys = Nykimo Eleksyras-2 (8 sekundes)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Saturacija", - "description": "Žinai... aš net ne alkanas...", - "lore1": "Regeneracijos Eleksyras + Kepta Bulvė = Saturacijos Eleksyras", - "lore2": "Regeneracijos Eleksyras + Šieno Ryšulys = Saturacijos Eleksyras-2" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Grandininiai Šarvai", - "description": "Leidžia jums gaminti grandininius šarvus.", - "lore1": "Gaminimo receptas yra toks pat kaip ir bet kuris kitas, tačiau vietoj jo naudojami geležies grynuoliai" - }, - "horsearmorer": { - "name": "Arklių Šarvai", - "description": "Leidžia pasigaminti arklių šarvus", - "lore1": "Apsupkite balną medžiaga, kurią norite naudoti šarvams gaminti" - }, - "saddlecrafter": { - "name": "Balnas", - "description": "Pagaminkite balną iš odos", - "lore1": "Receptas: 5 Odos:" - }, - "multiarmor": { - "name": "Multi-Šarvai", - "description": "Pririškite Elytrą prie šarvų", - "lore1": "Tai nuostabus įgūdis keliaujant.", - "lore2": "Dinamiškai sujunkite ir keiskite Šarvus/Sparnus skraidant!", - "lore3": "Jei norite sujungti, su shift spauskite daiktą virš kito inventoriuje esančio daikto.", - "lore4": "Norėdami atrišti Šarvą, Sėlinkite-Meskite daiktą ir jis bus išardytas.", - "lore5": "Jei jūsų Multi-Šarvai bus sunaikinti, prarasite visus jame esančius daiktus.", - "lore6": "Man nereikia šarvų, tai mane nuvilia..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Dekonstrukcija", - "description": "Išardykite blokus ir daiktus į išgelbėjamus pagrindinius komponentus!", - "lore1": "Numeskite bet kokį daiktą ant žemės.", - "lore2": "Tada Sėlinkite ir Dešiniu pelės mygtuku spauskite su Žirklėmis" + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "Gamybos XP", - "description": "Gamindami gaukite pasyvų XP", - "lore1": "Gaukite XP gamindami" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Rūdų Rekonstrukcija", - "description": "Perdirbkite rūdas iš jų bazinių komponentų!", - "lore1": "8 dropai ir 1 priimantis = 1 rūda (beformė)", - "lore2": "Dropai turi būti išlydyti (jei taikoma)", - "lore3": "Neįskaitant: Neįskaitant atraižų, kvarco, smaragdų ir kt.", - "lore4": "Šeimininkas = Apgaubas, t. y.: Akmuo, Neterio Akmuo, Gilakemnis." + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Gaminama Oda", - "description": "Oda gaminama iš supuvusios mėsos", - "lore1": "Tiesiog išmeskite supuvusią mėsą ant laužo!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "Kurpinės", - "description": "Tai tiesiog įneša į žaidimą Mojang ryšulį!", - "lore1": "Norėdami tai naudoti, turite būti išlikimo režime.", - "lore2": "XLX : Oda, Pavadėlis, Oda", - "lore3": "XSX : Oda, Statinės Dėžė, Oda", - "lore4": "XCX : Oda, Skrynia, Oda" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Nešiojami Stalai!", - "description": "Naudokite stalą savo rankoje!", - "lore2": "VISI DAIKTAI, KURIUOS PALIKSTE ANT STALO KAI UŽDARYSITE, BUS PRARASTI VISAM!", - "lore3": "Galiojantys stalai: Priekalas, Darbastalis, Tekėlas, Kartografijos stalas, Akmens pjaustyklė, Staklės" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Gaminamos Galvos!", - "description": "Naudodami medžiagas galite pagaminto monstrų galvas!", - "lore1": "Apsupkite kaulų bloką šiais daiktais, kad gautumėte galva:", - "lore2": "Zombio: Supuvusi Mėsa", - "lore3": "Skeletono: Kaulas", - "lore4": "Pasalūno: Parakas", - "lore5": "Viterio: Pragaro Plytos", - "lore6": "Drakono: Drakono Dvelksmas" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Pasaulio Šarvai", - "description": "Pasyvūs šarvai, priklausomai nuo šalia esančio bloko kietumo.", - "lore1": "Pasyvūs Šarvai", - "lore2": "Remiantis šalia esančio bloko kietumu", - "lore3": "Šarvų Stiprumas:" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Eksperimentinė Vienybė", - "description": "Patirties kamuolių rinkimas prideda XP prie atsitiktinių įgūdžių.", - "lore1": "XP ", - "lore2": "Per Kamuolį" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Eksperimentinis Atsparumas", - "description": "Pasinaudokite patirtimi, kad sumažintumėte žalą, kurią darote iš visų šaltinių", - "lore0": "Tai gali įvykti tik kartą per 15 sekundžių", - "lore1": " Sumažinta žala", - "lore2": "patirtis išsekusi" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Kaimiečių Atrakcija", - "description": "Leidžia sudaryti geresnius sandorius su kaimo gyventojais!", - "lore1": "Tai sunaudoja XP vienam bendravimui su kaimiečiais", - "lore2": "Tikimybė per sąveiką sunaudoti XP ir pagerinti sandorius", - "lore3": "reikalingas XP suanudojimas vienai sąveikai" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Lapis Sugrįžimas", - "description": "Kaina dar 1 XP lygis, o mainais turite šansą gauti nemokamų lapis", - "lore1": "Kiekvienam lygiui tai padidina kerėjimo kainą - 1, bet gali grąžinti daugiau nei 3 lapis" - }, - "quickenchant": { - "name": "Staigus Burtas", - "description": "Užburkite daiktus dėdami užburtas knygas tiesiai ant jų.", - "lore1": "Maksimalus Kombinuotas Lygis", - "lore2": "Negalima užburti daikto, kuriame yra daugiau nei ", - "lore3": "galia" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "XP Grąžinimas", - "description": "Buriant jums XP grąžinamas, kai užburiate daiktą.", - "lore1": "Išleista patirtis turi galimybę būti grąžinta, kai užburiate daiktą", - "lore2": "Patirtis per Burtą" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Skubus Ekskavatoristas", - "description": "Tai paspartins kasimo procesą, su GREITU KASIMU!", - "lore1": "Gaukite greita kasimą kasant", - "lore2": "x Greito kasimo lygiai, kai pradedate kasti bet kokį bloką." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Super-Žiūrovas Spelunkeris!", - "description": "Žiūrėkite į rūdas pro žemę!", - "lore1": "Rūda laikykite rankose, o Švytinčias uogas laikykite pagrindinėje rankoje ir \"Sneak'ink\"!", - "lore2": "Blokų diapazonas:", - "lore3": "Naudojant sunaudoja švytinčias uogas" - }, - "droptoinventory": { - "name": "Kastuvo Trauka" - }, - "omnitool": { - "name": "OMNI - Į.R.A.N.K.I.S", - "description": "„Tackle“ perdėtas prabangus „Leatherman“.", - "lore1": "Tikriausiai galingiausias iš daugelio leidžia jums", - "lore2": "keisti įrankius skrydžio metu, atsižvelgiant į jūsų poreikius.", - "lore3": "Jei norite sujungti, su shift spauskite daiktą virš kito inventoriuje esančio daikto.", - "lore4": "Norėdami atrišti įrankius, Sėlinkite-Meskite daiktą ir bus išardytas.", - "lore5": "Jūs negalite sulaužyti įrankių šiame odų žmogūje, bet ir negalite naudoti sulaužytų įrankių", - "lore6": "visi galimi sujungti daiktai.", - "lore7": "Galite naudoti penkis ar šešis įrankius arba tik vieną!" + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { + "name": "OMNI - T.O.O.L.", + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Augimo Aura", - "description": "Auginkite gamtą aplink save auroje", - "lore1": "Bloko Spindulys", - "lore2": "Augimo Auros Stiprumas", - "lore3": "Maisto Kaina" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Žolininko Begemotas", - "description": "Maisto vartojimas suteikia daugiau sotumo", - "lore1": "Maistas) papildomi vartojimo prisotinimo taškai" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Žolininkų Mikonidas", - "description": "Suteikia jums galimybę gaminti grybieną", - "lore1": "Bet koks žemės blokas ir rudas & raudonas grybas sukurs grybieną." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Žolininko Žolė", - "description": "Suteikia jums galimybę gaminti žolės blokus", - "lore1": "Trys sėklos, daugiau nei 3 žemės blokai ir sukurs 3 žolės blokus." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Voratinklių Kūrėjas", - "description": "Suteikia galimybę kurti voratinklius darbastalyje", - "lore1": "Devyni siūlai pagamins voratinklį." - }, - "mushroomblocks": { - "name": "Grybų Gamintojas", - "description": "Suteikia jums galimybę gaminti grybų blokus darbastalyje", - "lore1": "Keturi grybai, kad padarytumėte bloką, arba blokas, kad padarytumėte stiebą." - }, - "droptoinventory": { - "name": "Kauptuko Trauka" - }, - "hungryshield": { - "name": "Alkanas Skydas", - "description": "Gaukite žalą savo alkiui prieš savo givybes.", - "lore1": "Apsaugota nuo Alkio" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "Žolininko Sėkmė", - "description": "Kai sulaužysite žolę/gėles, turite galimybę gauti atsitiktinį daiktą", - "lore0": "Gėlės = Maistas, ir Žolė = Sėklos", - "lore1": "Galimybė gauti daiktą griaunant gėles", - "lore2": "Galimybė gauti daiktą sugriovus žolę" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Derliaus nuėmimas ir persodinimas", - "description": "Dešiniuoju pelės mygtuku spauskite ant pasėlių su kapliu, kad nuimtumėte derlių ir persodintumėte.", - "lore1": "Blokų Persodinimo Spindulys" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "Adrenalinas", - "description": "Kuo mažiau givybių, tuo daugiau žalos padarysite (Melee)", - "lore1": "Maksimali žala" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "Jūs gausite vis daugiau nuodų, jeigu tapsite alkanas" - }, - "droptoinventory": { - "name": "Daiktų Trauka", - "description": "Kai ką nors užmušate/sulaužote bloką kardu, daiktai atsiras jūsų inventoriūje", - "lore1": "Kiekvieną kartą, kai daiktas iškrenta iš monstro/bloko, kuri sugriaunate, patenka į jūsų inventorių, jei įmanoma." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Nykstantis Žingsnis", - "description": "Kai esi sumuštas, tu įgyji nematomumą, tai išnaudos daug alkio", - "lore1": "Smūgio metu įgykite pasyvų nematomumą", - "lore2": "x Nematomumas kaupiasi 3 sekundes po smūgio", - "lore3": "x Kaupiamas alkis", - "lore4": "Badas kaups trukmę ir daugiklį.", - "lore5": "Nematomumo trukmė" - }, - "jumpboost": { - "name": "Medžiotojo Aukštumos", - "description": "Kai tave ištiko išpuolis, tu įgyji šuolio impulsą, tai kainuos alkį", - "lore1": "Įgykite pasyvų šuolio padidinimą smūgio metu", - "lore2": "x Šuoliavimas kaupiasi 3 sekundes po smūgio", - "lore3": "x Kaupiamas alkis", - "lore4": "Badas kaups trukmę ir daugiklį.", - "lore5": "Šuoliavima kaups daugiklį, o ne trukmę" + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "Medžiotojo Sėkmė", - "description": "Kai tave užklumpa, tu laimi sėkmę, tai kainuos alkį", - "lore1": "Pasiekite pasyvią sėkmę, kai nukentėsite", - "lore2": "x Sėkmė kaupiasi 3 sekundes po smūgio", - "lore3": "x Kaupiamas alkis", - "lore4": "Badas kaups trukmę ir daugiklį.", - "lore5": "Sėkmė kaups daugiklį, o ne trukmę." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Medžiotojo Regenracija", - "description": "Kai esi sumuštas, tu atsiregenruosi, tai kainuos alkį", - "lore1": "Įgykite pasyvią regeneraciją, kai įtrenkia", - "lore2": "x Regeneracija kaupsis 3 sekundes po smūgio", - "lore3": "x Kaupiamas alkis", - "lore4": "Badas kaups trukmę ir daugiklį.", - "lore5": "Regeneracija kaups daugiklį, ne trukmę." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Medžiotojo Atsparumas", - "description": "Kai tave užklumpa, tu įgyji atsparumą, tai kainuos alkį", - "lore1": "Įgykite pasyvų pasipriešinimą, kai įtrenkia", - "lore2": "x Atsparumas kaupsis 3 sekundes po smūgio", - "lore3": "x Kaupiamas alkis", - "lore4": "Badas kaups trukmę ir daugiklį.", - "lore5": "Atsparumas kaups daugiklį, o ne trukmę." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Medžiotojo Greitis", - "description": "Kai tave užklumpa, tu įgyji greitį, tai kainuos alkį", - "lore1": "Smūgio metu padidinkite pasyvų greitį", - "lore2": "x Greitis kaupiasi 3 sekundes po smūgio", - "lore3": "x Kaupiamas alkis", - "lore4": "Badas kaups trukmę ir daugiklį.", - "lore5": "Greičio kaups daugiklį, o ne trukmę." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Medžiotojo Galia", - "description": "Kai tave muša, tu įgyji jėgų, tai kainuos alkį", - "lore1": "Smūgio metu įgykite pasyvios jėgos", - "lore2": "x Jėga kaupiasi 3 sekundes po smūgio", - "lore3": "x Susikraunantis Alkis", - "lore4": "Bado didėjimo trukmė ir daugiklis.", - "lore5": "Jėgos krūvos daugiklis, ne trukmė." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Nudžiūvusios Kaukolės Metimas", - "description1": "Išlaisvinkite savo vidinį vytumą naudodami", - "description2": "kažkieno", - "description3": "galvą.", - "lore1": "sekundės tarp kaukolės metimų.", - "lore2": "Viterio naudojimas: išmeskite ", - "lore3": "Viterio Galvą", - "lore4": "sprogsta nuo smūgio." - }, - "witherresist": { - "name": "Atsparumas Vytimui", - "description": "Priešinasi vytimui dėl neterito galios.", - "lore1": "galimybė paneigti vytimą (vienam luitui).", - "lore2": "Pasyvus: Nederito šarvų dėvėjimas turi galimybę panaikinti ", - "lore3": "vytimą." - }, - "fireresist": { - "name": "Atsparumas Ugniai", - "description": "Atsparus ugniai, nes sukietina odą.", - "lore1": "galimybė paneigti deginimo efektą!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "Automatinis Lydymas", - "description": "Leidžia lydyti iškastas rūdas.", - "lore1": "Rūdos, kurias galima lydyti, išlydomos automatiškai", - "lore2": "% galimybė gauti papildomą" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "Rūdos Kaltas", - "description": "Dešiniuoju pelės mygtuku spauskite ant Rūdos, kad iš jų išgautumėte daugiau rūdos už didelę ilgaamžiškumo kainą.", - "lore1": "Galimybė numesti", - "lore2": "Įrankių susidėvėjimas" - }, - "droptoinventory": { - "name": "Kirtiklio Trauka", - "description": "Kai nugriausite bloką, daiktas atsiras jūsų inventoriuje", - "lore1": "Vietoj to, kad daiktas iškrenta iš bloko, daiktas pateks į jūsų inventorių, jei įmanoma." - }, - "silkspawner": { - "name": "Kirtiklis Šilko-Narvas", - "description": "Priverčia Narvus nukristi, kai būna sugriauti", - "lore1": "Padaro narvus sugriaunamais šilko prisilietimu.", - "lore2": "Padaro narvus sugriaunamais sėlinant." - }, - "veinminer": { - "name": "Veinkasėjas", - "description": "Leidžia sugriauti rūdų blokus gysloje/klasteryje", - "lore1": "Sėlink, ir kask RŪDAS", - "lore2": "vein kasybos diapazonas", - "lore3": "Šis įgūdis negrupuoja visų dropų kartu!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Strėlės Susigrąžinimas", - "description": "Atgaukite strėles po to, kai nužudėte priešą.", - "lore1": "Galimybė susigrąžinti strėles ant smūgio/nužudymo", - "lore2": "Šansas:" - }, - "webshot": { - "name": "Voratinklių Spąstai", - "description": "Apjuočiate voratinkliais aplink savo taikinį, kai į juos pataikote!", - "lore1": "8 Voratinkliai aplink Sniego gniūžtę ir galite mesti!", - "lore2": "narvo sekundžių, apytiksliai." - }, - "forceshot": { - "name": "Stiprus Šūvis", - "description": "Šaudykite kulkas toliau, greičiau!", - "advancementname": "Tolimas Šūvis", - "advancementlore": "Nušaukite iš daugiau nei 30 blokų!", - "lore1": "Kulkos Greitis" - }, - "lungeshot": { - "name": "Įtūpstas", - "description": "Krintant jūsų strėlės sviedžia jus atsitiktine kryptimi", - "lore1": "Atsitiktinis Sprogimo Greitis" - }, - "arrowpiercing": { - "name": "Pradūrinčios Strėlės", - "description": "Prideda pradūrima prie strėlių! Šaudykite kiaurai per dalykus!", - "lore1": "Taikinių Pradūrimas" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Nuotolinis Prisijungimas", - "description": "Ištraukite iš tuštumos ir supilkite į pažymėtą talpyklą.", - "lore1": "Enderio Perlas + Komposas = Relikvijoriaus prievado raktas", - "lore2": "Šis daiktas leidžia nuotoliniu būdu pasiekti konteinerius", - "lore3": "Pagaminę daiktą pažiūrėkite į jį, kad pamatytumėte vartosena", - "notcontainer": "Tai ne konteineris" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Slėnio Teleportacija", - "description": "Momentinė teleportacija trumpu nuotoliu, vos akimirksniu!", - "lore1": "Blokai teleportacijai (2x Vertikaliai)", - "lore2": "Sprinto metu: Dukart pašokite, kad ", - "lore3": "Teleportuotumėtes" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Lengva Enderio skrynia", - "description": "Atidarykite enderio skrynią kairiuoju pelės mygtuku, laikydami jį rankoje.", - "lore1": "Spauskite ant Enderio Skrynios rankoje, kad atidarytumėte (dėti nereikia)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Anti-Levitacija", - "description": "Ar pavargote būti įstrigę ore? Šis įgūdis kaip tik jums!", - "lore1": "Tiesiog sneak'inkite, kad nusileistumėte, ir krisite mažesniu nei įprasta greičiu!", - "lore2": "Užšaldymas:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "Slėnio Vartai", - "description": "Teleportuokites į pažymėtą vietą.", - "lore1": "GAMYBA: Smaragdas + Ametisto šukė + Enderio Perlas", - "lore2": "Perskaitykite prieš naudodami!", - "lore3": "5s uždelsimas, ", - "lore4": "galite mirti, kol esate šioje animacijoje" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "Slėnio Atsparumas", - "description": "Įgykite apsaugą naudodami Enderio daiktus & galimybes", - "lore1": "+ Pasyvus: Suteikia apsaugą, kai naudojate Slėnio sugebėjimus arba Enderio daiktus.", - "lore2": "Neįeina nešiojamoji Enderio Skrynia, įeina tik tai, ką galite vartoti" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] }, "visage": { - "name": "Rifto Vizažas", - "description": "Neleidžia Endermenams tapti agresyviems, jei jūsų inventoriuje yra Ender perlų.", - "lore1": "Endermenai netaps agresyvūs, jei jūsų inventoriuje yra Ender perlų." + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Organinis Deguonies Bakas", - "description": "Sulaikykite daugiau deguonies savo mažuose plaučiuose!", - "lore1": "Deguonies Talpos Padidėjimas" - }, - "fishersfantasy": { - "name": "Fišerio Fantazija", - "description": "Uždirbkite daugiau XP iš žvejybos ir gaukite daugiau žuvies!", - "lore1": "Kiekviename lygyje yra galimybė gauti daugiau XP ir žuvies!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "Vėžlys Šachtininkas", - "description": "Kasdami po vandeniu jūs gaunate greitą kasimą!", - "lore1": "Greitas Kasimas 3 įgijamas po vandeniu kasant (prisideda kartu ir Naras burtas), kai išnyksta vandens kvėpavimo efektas!" - }, - "nightvision": { - "name": "Vėžlio Regėjimas", - "description": "Būdami po vandeniu, įgyjate naktinį matymą", - "lore1": "Tiesiog gaukite naktinį matymą būdami po vandeniu, kai išnyksta vandens kvėpavimo efektas!" - }, - "dolphingrace": { - "name": "Delfinų Malonė", - "description": "Plauk kaip delfinas, be delfinų", - "lore1": "+ Pasyvus: gauk ", - "lore2": "x greitį (delfinų mlonė)", - "lore3": "tiksli vokiečių inžinerija– palaukite, tai negerai... Nesuderinama su Gilumų plaukimu" + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Vaiduoklio Šarvai", - "description": "Lėtai generuojami šarvai, kai negaunama žalos, veikia tik 1 smūgiui", - "lore1": "Max Šarvai", - "lore2": "Greitis" - }, - "nightvision": { - "name": "Slaptas Regėjimas", - "description": "Įgykite naktinį matymą sėlinant", - "lore1": "Gauk ", - "lore2": "naktinį matymą ", - "lore3": "sėlinant" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Daiktų Pačiupimas", - "description": "Pačiupkite numestus daiktus akimirksniu sėlinant!!", - "lore1": "Pačiupimo Spindulys" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Sėlinimo Greitis", - "description": "Įgykite greitį sėlinant", - "lore1": " Sėlinimo Greitis" - }, - "enderveil": { - "name": "Enderveilas", - "description": "Daugiau jokių moliūgų, kad būtų išvengta Endermano atakų", - "lore1": "Išvengti endermno atakų sėlinant", - "lore2": "Išvengti visų endermeno atakų" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "Mačetė", - "description": "Lengvai nupjaukite lapiją!", - "lore1": "Smūgio Spindulys", - "lore2": "Pjovimo veikimo laiko tarpas", - "lore3": "Įrankių Susidėvėjimas" - }, - "bloodyblade": { - "name": "Kruvini Ašmenys", - "description": "Smūgiuojant kardu, sukelia kraujavimą", - "lore1": "Smūgis į Gyvą būtybę savo kardu sukelia kraujavimą", - "lore2": "Kraujavimo trukmė", - "lore3": "Kraujavimo veikimo laiko tarpas" - }, - "poisonedblade": { - "name": "Apnuodyti Ašmenys", - "description": "Smūgiuojant kardu, sukelia nuodus!", - "lore1": "Smogdamas gyvai būtybei savo kardu būtybė apnuodyjama", - "lore2": "Nuodų trukmė", - "lore3": "Nuodų veikimo laiko tarpas" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Prijaukinimo Žala", - "description": "Padidinkite savo prijaukintam gyvūnui daromą žalą..", - "lore1": "Padidėjusi Žala" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Prijaukinimo Sveikata", - "description": "Pagerinkite savo prijaukintų gyvūnų sveikatą.", - "lore1": "Padidėjęs givybių skaičius" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Prijaukinimo Regeneracija", - "description": "Padidinkite savo prijaukinto gyvūno regeneraciją.", - "lore1": "HP/s" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "Spygliai", - "description": "Atmuškite žalą savo užpuolikui!", - "lore1": "Atkeršyja atgal, kai užpuola" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Skausmo Rutulys", - "description": "Padalykite padarytą žalą pagal aplink jus esančių priešų skaičių!", - "lore1": "Kuo daugiau priešų aplink jus, tuo mažiau žalos darote kiekvienam iš jų.", - "lore2": "Diapazonas:", - "lore3": "Pridėta žala visiems subjektams: " + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Skausmo Valia", - "description": "Atkurkite sveikatą pagal padarytą žalą!", - "lore1": "Žaloti dalykus dar niekada nebuvo taip gerai! Gydymas nuo padarytos žalos", - "lore2": "Yra 3 sekundžių žalos langas, gydymo ir 1 sekundės užšaldymas. ", - "lore3": "Gydymas pagal žalos procentą: " + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Lavonų Ietys", - "description": "Nužudžius priešą arba atlikus gebėjimą nužudyti priešą, atsiranda ietis, daranti žalą netoliese esančiam priešui!", - "lore1": "Iš bet ko, ką nužudysite, ir jei šis gebėjimas nužudys priešą, bus ieškoma ieties.", - "lore2": "Paaukokite dalį savo gyvybės, kad sukurtumėte ietis (tai gali jus nužudyti).", - "lore3": "Max Ietys: 1 + " + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Stiklo Patranka", - "description": "Bonusas už beginklę žalą, tuo mažesnė jūsų šarvų vertė", - "lore1": "x Žala prie 0 šarvų", - "lore2": "Pagal lygį bonus žala" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Beginklė Galia", - "description": "Patobulinta beginklė žala.", - "lore1": "Žala" - }, - "suckerpunch": { - "name": "Atžalos Smūgis", - "description": "Sprinto smūgiai, bet mirtingesni.", - "lore1": "Žala", - "lore2": "Žala didėja didėjant greičiui smūgiuojant" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/nl_NL.json b/src/main/resources/nl_NL.json index b47ca8855..c43d027d3 100644 --- a/src/main/resources/nl_NL.json +++ b/src/main/resources/nl_NL.json @@ -262,941 +262,1254 @@ } }, "items": { - "boundenderperal": { - "name": "Reliekschrijn Portkey", - "usage1": "Shift + linkermuisknop om te binden", - "usage2": "Klik met de rechtermuisknop om toegang te krijgen tot de gebonden inventaris" - }, - "boundeyeofender": { - "name": "Oculair anker", - "usage1": "Klik met de rechtermuisknop om te consumeren en naar de gebonden locatie te teleporteren", - "usage2": "Shift + linkermuisknop om aan een blok te binden" - }, - "boundredstonetorch": { - "name": "Redstone-afstandsbediening", - "usage1": "Klik met de rechtermuisknop om een ​​1-Tick Redstone-puls te maken", - "usage2": "Shift + linkerklik op een 'Doel'-blok om te binden" - }, - "boundsnowball": { - "name": "Webstrik!", - "usage1": "Gooi om een ​​tijdelijke web-valstrik op de locatie te maken" - }, - "elevatorblock": { - "name": "Liftblok", - "usage1": "Spring om omhoog te teleporteren", - "usage2": "Shift om naar beneden te teleporteren", - "usage3": "Minimaal 2 luchtblokken tussen de liften" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Niveau", - "knowledge": "Kennis", - "powerused": "Kracht Gebruikt", - "notlearned": "Niet Geleerd", - "xp": "XP voor", - "welcome": "Welkom!", - "welcomeback": "Welkom terug!", - "xpbonusfortime": "XP voor", - "maxabilitypower": "Maximaal vermogen", - "unlockthisbyclicking": "Ontgrendel dit door met de rechtermuisknop te klikken:", - "back": "Terug", - "unlearnall": "Alles afleren", - "unlearnedall": "Alles afgeleerd" - }, - "adaptmenu": { - "maynotunlearn": "JE MAG NIET LEREN", - "mayunlearn": "JE MAG LEREN/AFLEREN", - "knowledgecost": "Kennis Kosten", - "knowledgeavailable": "Kennis aanwezig", - "alreadylearned": "Al geleerd", - "unlearnrefund": "Klik om te vergeten en terug te krijgen", - "norefunds": "HARDCORE, TERUGBETALINGEN UITGESCHAKELD", - "knowledge": "Kennis", - "clicklearn": "Klik om te leren", - "noknowledge": "(Je hebt geen Kennis)", - "youonlyhave": "Je hebt slechts", - "howtolevelup": "Level-up skills om je maximale kracht te verhogen.", - "notenoughpower": "Niet genoeg Kracht! Elk niveau kost 1 kracht.", - "power": "Kracht", - "powerdrain": "Stroomverbruik", - "learned": "Geleerd ", - "unlearned": "Vergeten ", - "activatorblock": "Boekenplank" - }, - "knowledgeorb": { - "contains": "Bevat", - "knowledge": "Kennis", - "rightclick": "Rechtermuisknop", - "togainknowledge": "om deze kennis te vergaren", - "knowledgeorb": "Kennis Orb (Bol)" - }, - "experienceorb": { - "contains": "bevat", - "xp": "Ervaring", - "rightclick": "Klik met de rechtermuisknop", - "togainxp": "om deze ervaring op te doen", - "xporb": "Ervaar Orb" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Wendbaarheid", + "name": "Agility", "icon": "⇉", - "description": "Wendbaarheid is de bekwaamheid om snel te bewegen en gemakkelijk obstakels te ontwijken." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { "name": "Architect", "icon": "⬧", - "description": "Structuren zijn de bouwblokken van de wereld. De wereld is in jouw handen, doe ermee wat je wilt." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Bijlen", + "name": "Axes", "icon": "🪓", - "description1": "Waarom zou je alleen bomen hakken, als je ook andere", - "description2": "dingen", - "description3": "kunt hakken?" + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Brouwen", + "name": "Brewing", "icon": "❦", - "description": "Dubbel Bubbel, Tripel Bubbel, Vierdubbel Bubbel - Ik kan dit drankje nog steeds niet in een pot doen" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Blokkeren", + "name": "Blocking", "icon": "🛡", - "description": "Stokken en stenen zullen je botten niet breken, maar een schild wel." + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Bouwen", + "name": "Crafting", "icon": "⌂", - "description": "Als je alles hebt geplaatst, maak je toch gewoon een nieuwe?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Ontdekking", + "name": "Discovery", "icon": "⚛", - "description": "Terwijl je waarneming zich verruimt, ontrafelt je geest om te ontdekken wat je niet deed." + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Spreuken", + "name": "Enchanting", "icon": "♰", - "description": "Waar heb je het over...? Voorspellingen, visies, bijgelovig gebrabbel?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Graven", + "name": "Excavation", "icon": "ᛳ", - "description": "Graaf graaf een gat..." + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "Kruiden", + "name": "Herbalism", "icon": "⚘", - "description": "Ik kan mijn planten niet vinden, maar wel wat zaadjes... is dat... wiet?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "Jager", + "name": "Hunter", "icon": "☠", - "description": "Jagen gaat over de reis, niet de bestemming." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "Onderwereld", + "name": "Nether", "icon": "₪", - "description": "Vanuit de diepten van de Nether." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Pikhouweel", + "name": "Pickaxe", "icon": "⛏", - "description": "Dwergen zijn de mijnwerkers, maar ik heb ook het een en ander geleerd in mijn tijd. ZWEDEN!" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "Afstand", + "name": "Ranged", "icon": "🏹", - "description": "Afstand is de sleutel tot success, en tot overleving." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { "name": "Rift", "icon": "❍", - "description": "Een Rift is a scheur in tijd en ruimte, maar wel een die jij kan gebruiken." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "Waterman", + "name": "Seaborne", "icon": "🎣", - "description": "Met deze vaardigheid kun je de wonderen van het water ontdekken." + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "Heimelijkheid", + "name": "Stealth", "icon": "☯", - "description": "De kunst van de schaduw. Loop in het ongeziene." + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Zwaarden", + "name": "Swords", "icon": "⚔", - "description": "Met de kracht van GreyStone!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "Temmen", + "name": "Taming", "icon": "♥", - "description": "De koetjes en de kalfjes... en jij?" + "description": "The parrots and the bees... and you?" }, "tragoul": { "name": "TragOul", "icon": "🗡", - "description": "Bloed stroomt door de aderen van het universum. Vernauwd door je handen." + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { "name": "Chronos", "icon": "⏳", - "description": "Wind de klok van het universum op, ervaar de stroom. Breek de klok, word hem." + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "Ongewapend", + "name": "Unarmed", "icon": "»", - "description": "Zonder wapen is niet zonder kracht." + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Armor-Up", - "description": "Krijg meer pantser naarmate je meer rent!", - "lore1": "Maximaal pantser", - "lore2": "Pantser-Up Tijd" - }, - "superjump": { - "name": "Super Sprong", - "description": "Uitzonderlijk hoogtevoordeel.", - "lore1": "Maximale spronghoogte", - "lore2": "* Sluip + Spring voor Super Sprong!" - }, - "walljump": { - "name": "Muur Sprong", - "description": "Houd shift ingedrukt in de lucht tegen een muur om je vast te houden en te springen!", - "lore1": "Max Sprongen", - "lore2": "Springhoogte" - }, - "windup": { - "name": "Opwinden", - "description": "Wordt sneller naarmate je meer rent!", - "lore1": "Max Snelheid", - "lore2": "Opwind Tijd" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { "elevator": { - "name": "Lift", - "description": "Hiermee kun je een lift bouwen waarmee je snel verticaal kunt teleporteren!", - "lore1": "Ontgrendelt liftrecept: X=WOL, Y=ENDER PEARL", - "lore2": "XXX", - "lore3": "XYX", - "lore4": "XXX" + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] }, "foundation": { - "name": "Magisch Fundament", - "description": "Dit laat je een tijdelijk platform onder je plaatsen als je shift indrukt!", - "lore1": "Creëer magisch: ", - "lore2": "Blokken onder je!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Silk-Touch Glas", - "description": "Dit helpt je je glasblokken te houden als je ze breekt met een lege hand!", - "lore1": "Je handen hebben silk touch voor Glas" - }, - "wirelessredstone": { - "name": "Redstone-afstandsbediening", - "description": "Hierdoor kun je een Redstone-fakkel gebruiken om Redstone op afstand te schakelen!", - "lore1": "Doelwit + Redstone-fakkel + Enderpearl = 1 Redstone-afstandsbediening" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Bouwers Staf", - "description": "laat je meerdere blokken ineens plaatsen als je sluipt, en een blok vasthebt waar je ook naar kijkt, en plaatst! Soms moet je een beetje bewegen om het te laten werken.", - "lore1": "Je hebt", - "lore2": "blokken in je hand nodig om dit te plaatsen", - "lore3": "Bouwers Staf" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Bijl hak", - "description": "Breek bomen door met rechtermuisknop op de stam te klikken!", - "lore1": "Blokken Per Hak", - "lore2": "Hak-afkoeling", - "lore3": "Gereedschapskosten" - }, - "logswap": { - "name": "Lucy's houtwisselaar", - "description": "Verander de smaak van houtblokken in een Crafting Table!", - "lore1": "8 stam van welke soort dan ook + 1 jonge boom = 8 stam van het type van de jonge boom" - }, - "droptoinventory": { - "name": "Bijl drop-naar-inventaris" - }, - "groundsmash": { - "name": "Bijl grondinslag", - "description": "Spring, druk shift en, en stomp alle tegenstanders in de buurt.", - "lore1": "Schade", - "lore2": "Blokken Radius", - "lore3": "Kracht", - "lore4": "Inslag-afkoeling" - }, - "leafminer": { - "name": "Mineervlieg", - "description": "Hiermee kunt u bulkbladeren in één keer breken!", - "lore1": "Sluip, en de mijne BLADEREN", - "lore2": "bereik van Leaf-mining", - "lore3": "Je krijgt de druppels niet van de bladeren (Exploit Preventie)" - }, - "woodminer": { - "name": "Mijnwerker", - "description": "Hiermee kunt u bulkhout in één keer breken!", - "lore1": "Sluip, en mijne HOUT/LOGS (geen planken)", - "lore2": "bereik van houtwinning", - "lore3": "Werkt met Drop to inventory" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "Aanhoudende brouwsel", - "description": "Gebrouwen drankjes duren langer!", - "lore1": "Duratie", - "lore2": "Duratie" - }, - "superheated": { - "name": "Super Heet Brouwen", - "description": "Brouwstandaarden werken sneller des te heter ze zijn.", - "lore1": "Per aanrakend Vuur Blok", - "lore2": "Per aanrakend Lava Blok" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "Gebottelde duisternis", - "description": "Ik weet niet zeker waarom je dit nodig hebt, maar hier ga je!", - "lore1": "NightVision Potion + Black Concrete = Potion of Darkness (30 seconden)", - "lore2": "Opgemerkt moet worden dat Dit voorkomt dat de gebruiker Sprinten!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "Gebotteld Haast", - "description": "Wanneer efficiëntie niet genoeg is", - "lore1": "Snelheidsdrankje + Amethistscherf = Haastdrankje (60 seconden)", - "lore2": "Speed ​​Potion + Amethyst Block = Potion of Haste-2 (30 seconden)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Gebottelde absorptie", - "description": "Verhard het lichaam!", - "lore1": "Onmiddellijke genezing + kwarts = absorptiedrankje (60 seconden)", - "lore2": "Instant Heal + Quartz Block = Drankje van Absorptie-2 (30 seconden)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Vermoeidheid in flessen", - "description": "Verzwak het lichaam!", - "lore1": "Zwaktedrank + Slijmbal = Vermoeidheidsdrank (30 seconden)", - "lore2": "Zwaktedrank + Slijmblok = Vermoeidheidsdrank-2 (15 seconden)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Gebottelde Honger", - "description": "Voed de onverzadigbare!", - "lore1": "Awkward Potion + Rotten Flesh = Potion of Hunger (30 seconden)", - "lore2": "Zwaktedrank + Rottend vlees = Hongerdrank-3 (15 seconden)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "Misselijkheid in flessen", - "description": "Je maakt me ziek!", - "lore1": "Awkward Potion + Brown Mushroom = Potion of Misselijkheid (16 seconden)", - "lore2": "Awkward Potion + Crimson Fungus = Potion of Misselijkheid-2 (8 seconden)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Blindheid in flessen", - "description": "Je bent een verschrikkelijk persoon...", - "lore1": "Awkward Potion + Ink sack = Potion of Blindness (30 seconden)", - "lore2": "Awkward Potion + Glowing Ink Sack = Potion of Blindness-2 (15 seconden)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Weerstand in flessen", - "description": "Vestingwerk op zijn best!", - "lore1": "Awkward Potion + Iron Ingot = Weerstandsdrankje (60 seconden)", - "lore2": "Awkward Potion + Iron Block = Potion of Resistance-2 (30 seconden)" - }, - "healthboost": { - "name": "Leven op fles", - "description": "Wanneer maximale gezondheid niet genoeg is...", - "lore1": "Instant-Healing Potion + Golden Apple = Potion of Health Boost (120 seconden)", - "lore2": "Instant-Healing Potion + Betoverde Gouden Appel = Potion of Health Boost-2 (120 seconden)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Gebotteld verval", - "description": "Wie wist dat Detritus zo nuttig zou zijn?", - "lore1": "Zwaktedrank + Giftige Aardappel = Verdorvendrank (16 seconden)", - "lore2": "Zwaktedrank + Crimson Roots = Witherdrank-2 (8 seconden)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Verzadiging in flessen", - "description": "Weet je... ik heb niet eens honger...", - "lore1": "Regendrank + Gepofte Aardappel = Verzadigingsdrankje", - "lore2": "Regendrank + hooibaal = verzadigingsdrankje-2" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Ketens van Mefistofeles", - "description": "Hiermee kunt u Chainmail Armor maken", - "lore1": "Het Crafting-recept is hetzelfde als alle andere, maar met ijzeren klompjes in plaats daarvan" - }, - "horsearmorer": { - "name": "Maakbaar paardenharnas", - "description": "Hiermee kun je paardenpantser maken", - "lore1": "Omring een zadel met het materiaal dat je wilt gebruiken om het harnas te maken" - }, - "saddlecrafter": { - "name": "Bewerkbaar zadel", - "description": "Maak een zadel met leer", - "lore1": "Recept: 5 Leer:" - }, - "multiarmor": { - "name": "Multi-pantser", - "description": "Bind Elytras aan Armor", - "lore1": "Dit is een geweldige vaardigheid om te reizen.", - "lore2": "Dynamisch samenvoegen en wijzigen van Armor/Elytra tijdens de vlucht!", - "lore3": "Om samen te voegen, klik je met de shift-klik op een item boven een ander item in je inventaris.", - "lore4": "Om Armor los te maken, laat je het item stiekem vallen, waarna het uit elkaar wordt gehaald.", - "lore5": "Als je MultiArmor wordt vernietigd, verlies je alle items erin.", - "lore6": "Ik heb geen harnas nodig, het stelt me teleur..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Deconstructie", - "description": "Ontmantel blokken & items tot bruikbare componenten!", - "lore1": "Laat een voorwerp op de grond vallen.", - "lore2": "Sluip vervolgens en klik met de rechtermuisknop met een schaar" + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "XP maken", - "description": "Verkrijg passieve XP tijdens het maken", - "lore1": "Verdien XP tijdens het maken" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Erts wederopbouw", - "description": "Herbouw ertsen van hun basiscomponenten!", - "lore1": "8 van de druppels en 1 gastheer = 1 erts (vormloos)", - "lore2": "Druppels moeten worden gesmolten (indien van toepassing)", - "lore3": "Exclusief: Scraps, Quarts en Emeralds etc...", - "lore4": "Gastheer = omhulling. dat wil zeggen: Steen, Netherack, Deepslate" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Bewerkbaar leer", - "description": "Ambachtelijk leer van Rotten Flesh", - "lore1": "Gooi het (rotte vlees) gewoon op het kampvuur!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "De rugzakken van een Boutilier!", - "description": "Dit brengt gewoon de Mojang-bundel in het spel!", - "lore1": "Je moet in Survival zijn om dit te gebruiken", - "lore2": "XLX: leer, lood, leer", - "lore3": "XSX: leer, vatdoos, leer", - "lore4": "XCX: leer, borst, leer" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Draagbare tafels!", - "description": "Gebruik een tafel in de palm van je hand!", - "lore2": "ALLE ITEMS DIE JE IN DE TABEL VERGETEN WANNEER GESLOTEN, ZIJN VOOR ALTIJD VERLOREN!", - "lore3": "Geldige tabellen: aambeeld, knutselen, slijpsteen, cartografie, steenhouwer, weefgetouw" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Bewerkbare schedels!", - "description": "Met behulp van materialen kun je maffia-schedels maken!", - "lore1": "Omring een botblok met het volgende om een schedel te krijgen:", - "lore2": "Zombie: rottend vlees", - "lore3": "Skelet: bot", - "lore4": "Klimplant: Buskruit", - "lore5": "Verdorren: Nether Brick", - "lore6": "Draak: Draken Adem" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Wereld pantser", - "description": "Passief pantser afhankelijk van de hardheid van bijzijnde blokken.", - "lore1": "Passief pantser", - "lore2": ", gebaseerd op bijzijne blok-hardheid", - "lore3": "Pantsersterkte:" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Experimentele eenheid", - "description": "Het verzamelen van experience bolletjes (Orbs) geeft XP voor willekeurige skills.", - "lore1": "XP ", - "lore2": "Per Orb" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Experimentele Bescherming", - "description": "Gebruik experience om minder schade te pakken van elke origine\n", - "lore0": "Kan slechts elke 15 seconden worden gebruikt", - "lore1": "% Verminderde Schade", - "lore2": "ervaring uitgeput" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Dorpsattractie", - "description": "Hiermee kunt u betere transacties met dorpelingen krijgen!", - "lore1": "Dit verbruikt XP per interactie met dorpelingen", - "lore2": "Kans per interactie om XP te verbruiken en transacties te verbeteren", - "lore3": "vereiste XP-afvoer per interactie" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Lapis-terugkeer", - "description": "Ten koste van 1 level XP krijg je some gratis Lapis terug", - "lore1": "Voor elk niveau, verhoogt de koste van enchanten met 1, maar geeft tot wel 3 lapis terug." - }, - "quickenchant": { - "name": "Snelklik Enchant", - "description": "Enchant items door met een enchantment boek op het item te klikken.", - "lore1": "Max Gecombineerd Niveau", - "lore2": "Kan geen item enchanten met meer dan ", - "lore3": "kracht" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "XP-retour", - "description": "Krijg XP korting bij het enchanten van items.", - "lore1": "Uitgegeven experience heeft een kans om teruggegeven te worden", - "lore2": "Experience per Enchant" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Haastig Graven", - "description": "Dit versnelt het graafproces, met HAAST!", - "lore1": "Verkrijg haast tijdens het graven", - "lore2": "x Niveaus van haast als je ELK blok begint te minen." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Superziende Spelunker!", - "description": "Zie Ertsen met je ogen, maar dan door de grond!", - "lore1": "Ore in je losse hand, Glowberries in je hoofdhand en Sneak!", - "lore2": "Blok Bereik:", - "lore3": "Verbruikt Glowberry bij gebruik" - }, - "droptoinventory": { - "name": "Schop drop-naar-inventaris" - }, - "omnitool": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { "name": "OMNI - T.O.O.L.", - "description": "Tackle's Zakmes", - "lore1": "Waarschijnlijk staat de krachtigste van velen dat toe", - "lore2": "tools (gereedschappen) samenvoegen en veranderen, zodat je altijd hebt wat je nodig hebt.", - "lore3": "Om samen te voegen, klik je met de shift-klik op een item boven een ander item in je inventaris.", - "lore4": "Om gereedschappen los te maken, laat je het item stiekem vallen, waarna het wordt gedemonteerd.", - "lore5": "Je kunt in deze leerman geen gereedschap breken, maar je kunt geen kapot gereedschap gebruiken", - "lore6": "totaal aantal samenvoegbare onderdelen.", - "lore7": "Je kunt vijf of zes gereedschappen gebruiken, of slechts één!" + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Groei-aura", - "description": "Laat de natuur om je heen groeien in een aura", - "lore1": "Blokken Radius", - "lore2": "Groei Aura Kracht", - "lore3": "Voedsel Kosten" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Kruidkundigen nijlpaard", - "description": "Eten geeft meer voeding!", - "lore1": "+ Voedsel) extra voedingspunten bij het consumeren" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Kruidkundigen Myconid", - "description": "Geeft je de mogelijkheid om Mycelium te maken", - "lore1": "Elk vuil en een bruine en rode paddenstoel zullen Mycelium maken." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Kruidkundigen Terralid", - "description": "Geeft je de mogelijkheid om grasblokken te maken", - "lore1": "Three Seeds, meer dan 3 Dirt, zullen 3 Grass Blocks maken." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Spinnenweb maker", - "description": "Geeft je de mogelijkheid om spinnenwebben te maken in een werktafel", - "lore1": "Negen snaren, zal een spinnenweb maken." - }, - "mushroomblocks": { - "name": "Paddenstoelenmaker", - "description": "Geeft je de mogelijkheid om paddenstoelenblokken te maken in een werktafel", - "lore1": "Vier Paddestoelen om een blok te maken, of een blok om een stengel te maken." - }, - "droptoinventory": { - "name": "Schoffel drop-naar-inventaris" - }, - "hungryshield": { - "name": "Hongerig schild", - "description": "Schade gaat naar je voedingspuntenpunten voor je levenspunten", - "lore1": "Tegengehouden door Voedingspunten" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "Het geluk van de kruidkundige", - "description": "Als je Gras/Bloemen kapot maakt, heb je de kans om een ​​willekeurig item te krijgen", - "lore0": "Bloemen = Voedsel, en Gras = Zaden", - "lore1": "Kans om een ​​voorwerp te krijgen door bloemen te breken", - "lore2": "Kans om een voorwerp te krijgen van het breken van Grass" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Oogsten en opnieuw planten", - "description": "Klik met rechtermuisknop op een plant met een schoffel om de plant te oogsten en herplanten.", - "lore1": "Blokken Herplant Radius" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { "name": "Adrenaline", - "description": "Doe meer schade op lagere levenspunten (Korteafstand)", - "lore1": "Max Schade" + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "You will Gain Poison stacks if you run out of hunger" - }, - "droptoinventory": { - "name": "Voorwerpen drop-naar-inventaris", - "description": "Wanneer je iets doodt / een blok breekt. Met een zwaard teleporteert het de druppels naar je inventaris", - "lore1": "Telkens wanneer een item uit een mob/blok wordt gedropt dat je kapotmaakt, gaat het indien mogelijk naar je inventaris." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Verdwijnende stap", - "description": "Als je wordt geraakt krijg je onzichtbaarheid, ten koste van voedingspunten", - "lore1": "Krijg passieve snelheid als je wordt geraakt", - "lore2": "x Onzichtbaarheid voor 3 seconden als je bent geraakt", - "lore3": "x Hongerpunten", - "lore4": "Honger duratie en factor.", - "lore5": "Onzichtbaarheidsduratie" - }, - "jumpboost": { - "name": "Jagers hoogte", - "description": "Als je wordt geraakt krijg je Super Sprong, ten koste van je voedingspunten", - "lore1": "Krijg passieve springbonus als je bent geraakt", - "lore2": "x Springbonus voor 3 seconds als je bent geraakt", - "lore3": "x Hongerpunten", - "lore4": "Honger duratie en factor.", - "lore5": "Springbonus vermenigvuldigingsfactor." + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "Jagers geluk", - "description": "Als je wordt getroffen, win je geluk, ten koste van de honger", - "lore1": "Verkrijg passief geluk wanneer je wordt geraakt", - "lore2": "x Het geluk stapelt zich gedurende 3 seconden op bij een treffer", - "lore3": "x Honger stapelen", - "lore4": "Hunger stapelt de duur en vermenigvuldiger op.", - "lore5": "Geluk stapelt vermenigvuldiger, niet voortduring." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Jagers Regeneratie", - "description": "Als je getroffen wordt, krijg je herstel, ten koste van de honger", - "lore1": "Krijg passieve regeneratie wanneer je wordt geraakt", - "lore2": "x Regeneratiestapels gedurende 3 seconden bij treffer", - "lore3": "x Honger stapelen", - "lore4": "Honger stapelt de duur en vermenigvuldiger op.", - "lore5": "Regeneratiestapels vermenigvuldiger, niet voortduring." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Jagers Weerstand", - "description": "Als je wordt geslagen, krijg je weerstand, ten koste van de honger", - "lore1": "Krijg passieve weerstand als je wordt geraakt", - "lore2": "x De weerstand stapelt zich gedurende 3 seconden op bij een treffer", - "lore3": "x Honger stapelen", - "lore4": "Hunger stapelt de duur en vermenigvuldiger op.", - "lore5": "De vermenigvuldiger van de weerstandsstapels, niet de duur." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Jagers Snelheid", - "description": "Als je wordt geraakt, win je aan snelheid, ten koste van de honger", - "lore1": "Verkrijg passieve snelheid wanneer je wordt geraakt", - "lore2": "x Snelheid stapelt gedurende 3 seconden bij treffer", - "lore3": "x Honger stapelen", - "lore4": "Honger stapelt de duur en vermenigvuldiger op.", - "lore5": "De vermenigvuldiger van de snelheidsstapels, niet de voortduring." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Jagers Kracht", - "description": "Als je wordt geslagen, krijg je kracht, ten koste van de honger", - "lore1": "Verkrijg passieve kracht wanneer u wordt geraakt", - "lore2": "x Sterkte stapelt zich gedurende 3 seconden op bij een treffer", - "lore3": "x Honger stapelen", - "lore4": "Honger stapelt de duur en vermenigvuldiger op.", - "lore5": "De vermenigvuldiger van de krachtstapels, niet de duur." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Verdorren-schedelworp", - "description1": "Laat je innerlijke Verdorring los door te gebruiken", - "description2": "iemands", - "description3": "hoofd.", - "lore1": "Seconden van cooldown tussen schedelworpen.", - "lore2": "Verdorren schedel gebruiken: Gooi een ", - "lore3": "Verdorren schedel", - "lore4": "exploderend bij impact." - }, - "witherresist": { - "name": "Verdorren weerstand", - "description": "Weerstaat verwelking door de kracht van Netherite.", - "lore1": "kans om verwelking tegen te gaan (per stuk).", - "lore2": "Passief: het dragen van Netherite Armor heeft een kans om teniet te doen ", - "lore3": "verdorren." - }, - "fireresist": { - "name": "Vuurbestendig", - "description": "Weerstaat vuur door je huid te verharden.", - "lore1": "kans om het brandende effect teniet te doen!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { + "auto_smelt": { "name": "Autosmelt", - "description": "Hiermee kun je gedolven vanille-erts ruiken", - "lore1": "Ertsen die kunnen worden gesmolten, worden automatisch gesmolten", - "lore2": "% kans op een extra" + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "Ertsbeitel", - "description": "Klik met de rechtermuisknop op ertsen om er meer erts uit te beitelen, tegen hoge duurzaamheidskosten.", - "lore1": "Kans om te laten vallen", - "lore2": "Gereedschapsslijtage" - }, - "droptoinventory": { - "name": "Houweel drop-naar-inventaris", - "description": "Wanneer je een blok breekt, wordt het item naar je inventaris geteleporteerd", - "lore1": "Telkens wanneer een item uit een door jou gebroken blok wordt verwijderd, wordt het indien mogelijk in je inventaris geplaatst." - }, - "silkspawner": { - "name": "Houweel Silk-Spawner", - "description": "Zorgt ervoor dat Spawners vallen als ze kapot gaan", - "lore1": "Maakt Spawners breekbaar door silk touch.", - "lore2": "Maakt Spawners breekbaar tijdens het sluipen." - }, - "veinminer": { + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { "name": "Veinminer", - "description": "Hiermee kun je blokken breken in een ader/cluster van vanille-erts", - "lore1": "Sluip en mijn ERTSEN", - "lore2": "bereik van adermijnbouw", - "lore3": "Deze vaardigheid groepeert NIET alle druppels bij elkaar!" + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Pijlherstel", - "description": "Herstel pijlen nadat je een vijand hebt gedood.", - "lore1": "Kans om pijlen te herstellen bij Hit/Kill", - "lore2": "Kans: " - }, - "webshot": { - "name": "Webstrik", - "description": "Omring spinnenwebben rond je doelwit wanneer je ze raakt!", - "lore1": "8 spinnenwebben rond een sneeuwbal, en gooien maar!", - "lore2": "seconden van een kooi, ongeveer." - }, - "forceshot": { - "name": "Geforceerde Schot", - "description": "Schiet projectielen verder en sneller!", - "advancementname": "Lange Schot", - "advancementlore": "Land een schot vanaf meer dan 30 blokken verderop!", - "lore1": "Projectielsnelheid" - }, - "lungeshot": { + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { "name": "Lunge Shot", - "description": "Terwijl je valt, gooien je pijlen je in een willekeurige richting", - "lore1": "Willekeurige burst-snelheid" - }, - "arrowpiercing": { - "name": "Pijl piercing", - "description": "Voegt piercing toe aan projectielen! Schiet door dingen!", - "lore1": "Doelen doorboren" + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Toegang op afstand", - "description": "Trek uit de leegte en stap in een gemarkeerde container.", - "lore1": "Enderpearl + Kompas = Reliquary Portkey", - "lore2": "Met dit item kunt u op afstand toegang krijgen tot containers", - "lore3": "Eenmaal gemaakt, kijk naar het item om het gebruik te zien", - "notcontainer": "Dat is geen container" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Rift-knippering", - "description": "Directe teleportatie op korte afstand, slechts een oogwenk verwijderd!", - "lore1": "Blocks on blink (2x Vertical)", - "lore2": "Tijdens het sprinten: Dubbeltik op Spring naar ", - "lore3": "Knipperen" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Gemakkelijke Enderchest", - "description": "Open een enderkist door er met de linkermuisknop op te klikken in uw hand.", - "lore1": "Klik op een Enderchest in je hand om deze te openen (plaats hem gewoon niet)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Anti-levitatie", - "description": "Ben je het beu om vast te zitten in de lucht? Dit is de vaardigheid voor jou!", - "lore1": "Sluip gewoon om af te dalen en je zult minder snel vallen dan normaal!", - "lore2": "Afkoelen:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { "name": "Rift Gate", - "description": "Teleporteer naar een gemarkeerde locatie.", - "lore1": "CRAFTING: Smaragd + Amethist scherf + Ender Parel", - "lore2": "Lezen voordat u het gebruikt!", - "lore3": "5s vertraging, ", - "lore4": "je kunt doodgaan terwijl je in deze animatie zit" + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { "name": "Rift Resistance", - "description": "Krijg weerstand bij het gebruik van Ender-items en -vaardigheden", - "lore1": "+ Passief: biedt weerstand wanneer je rift-vaardigheden of Ender-items gebruikt", - "lore2": "NIET inclusief draagbare Enderchest, alleen dingen die u kunt consumeren" + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] }, "visage": { "name": "Rift Visage", - "description": "Voorkomt dat Endermannen agressief worden als je Enderpearls in je inventaris hebt.", - "lore1": "Endermannen worden niet agressief als je Enderpearls in je inventaris hebt." + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Organische zuurstoftank", - "description": "Houd meer zuurstof vast in je kleine longen!", - "lore1": "Verhoging van de zuurstofcapaciteit" - }, - "fishersfantasy": { - "name": "Fisher's Fantasie", - "description": "verdien meer XP door te vissen en krijg meer vis!", - "lore1": "Voor elk niveau is er een kans om meer XP en Fish te krijgen!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "Schildpad mijnwerker", - "description": "Tijdens het mijnen onder water krijg je haast!", - "lore1": "Haste 3 wordt onder water toegepast tijdens mijnbouw (stapelt met AquaAffinity) nadat je waterademhalingseffect is uitgewerkt!" - }, - "nightvision": { - "name": "Schildpad's visie", - "description": "Onder water krijg je Nachtzicht", - "lore1": "Krijg gewoon Nachtzicht terwijl u onder water bent nadat uw waterademhalingseffect is uitgewerkt!" - }, - "dolphingrace": { - "name": "De genade van Dolfijnen", - "description": "Zwem als een dolfijn, zonder dolfijnen", - "lore1": "+ Passief: winst ", - "lore2": "x snelheid (dolfijnen gratie)", - "lore3": "precisie Duitse ingenieur- wacht, dat klopt niet... Niet compatibel met Depth Strider" + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Het pantser van de geest", - "description": "Langzaam opbouwend pantser als je geen schade oploopt, duurt 1 treffer", - "lore1": "Maximaal Armor", - "lore2": "Snelheid" - }, - "nightvision": { - "name": "Stealth-visie", - "description": "Krijg nachtzicht terwijl u sluipt", - "lore1": "Krijg een uitbarsting van ", - "lore2": "nachtzicht", - "lore3": "tijdens het sluipen" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Voorwerp ruk", - "description": "Grijp gevallen voorwerpen onmiddellijk tijdens het sluipen!", - "lore1": "Snakradius" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Sluipsnelheid", - "description": "Verkrijg snelheid tijdens het sluipen", - "lore1": "Sluipende snelheid" - }, - "enderveil": { + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { "name": "Enderveil", - "description": "Geen pompoenen meer nodig om Enderman-aanvallen te voorkomen", - "lore1": "Voorkom Enderman-aanvallen tijdens het sluipen", - "lore2": "Voorkom alle Enderman-aanvallen" + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { "name": "Machete", - "description": "Snijd gemakkelijk door het gebladerte!", - "lore1": "Snij radius", - "lore2": "Chop-cooldown", - "lore3": "Gereedschapsslijtage" - }, - "bloodyblade": { - "name": "Bloedig mes", - "description": "Slaan met je zwaard, veroorzaakt Bloeding!", - "lore1": "Een levend wezen slaan met je zwaard veroorzaakt bloedingen", - "lore2": "Bloedingsduur", - "lore3": "Bloed Afkoeling" - }, - "poisonedblade": { - "name": "Vergiftigd mes", - "description": "Stakingen met je zwaard, veroorzaken Poison!", - "lore1": "Een levend wezen slaan met je zwaard veroorzaakt vergif", - "lore2": "Vergif Duur", - "lore3": "Gif Afkoeling" + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Temmenschade", - "description": "Verhoog de schade die je aan getemde dieren toebrengt.", - "lore1": "Verhoogde schade" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Temmen gezondheid", - "description": "Verhoog de gezondheid van uw getemde dieren.", - "lore1": "Verbeterde gezondheid" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Temmen regeneratie", - "description": "Verhoog de regeneratie van uw getemde dieren.", - "lore1": "HP/s" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "Doornen", - "description": "Reflecteer schade terug naar je aanvaller!", - "lore1": "Schade wordt vergoed bij aanrijding" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Bol van pijn", - "description": "Verdeel de schade die je toebrengt op basis van het aantal vijanden om je heen!", - "lore1": "Hoe meer vijanden om je heen, hoe minder schade je aan elk van hen toebrengt", - "lore2": "Bereik:", - "lore3": "Schade toegevoegd aan alle entiteiten:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Wil van pijn", - "description": "Krijg gezondheid terug op basis van de schade die je aanricht!", - "lore1": "Dingen schade berokkenen heeft nog nooit zo goed gevoeld! Genezen van toegebrachte schade", - "lore2": "Er is een schadevenster van 3 seconden voor genezing en een afkoelperiode van 1 seconde", - "lore3": "Genezing per schadepercentage:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Lijk Lansen", - "description": "Als je een vijand doodt of de vaardigheid hebt om een ​​vijand te doden, spawnt een lans die schade toebrengt aan een vijand in de buurt!", - "lore1": "Lansen zullen zoeken naar alles wat je doodt, EN als deze vaardigheid een vijand doodt.", - "lore2": "Offer een deel van je leven op om de lansen te maken (dit kan je doden)", - "lore3": "Max Lansen: 1+" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Glazen kanon", - "description": "Bonus ongewapende schade, hoe lager uw pantserwaarde is", - "lore1": "x Schade bij 0 pantser", - "lore2": "Bonusschade per niveau" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Ongewapende macht", - "description": "Verbeterde ongewapende schade", - "lore1": "Schade" - }, - "suckerpunch": { - "name": "Sprintstoten", - "description": "Sprintstoten, maar dodelijker.", - "lore1": "Schade", - "lore2": "De schade neemt toe met je snelheid tijdens het stoten" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/pl_PL.json b/src/main/resources/pl_PL.json index a0954ff4d..cc25d1cb4 100644 --- a/src/main/resources/pl_PL.json +++ b/src/main/resources/pl_PL.json @@ -231,912 +231,1285 @@ "challenge_pickaxe_5m": { "title": "Legendarny Górnik", "description": "Złam 5 000 000 bloków" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "name": "Relikwiarz świstoklik", - "usage1": "Shift + lewy przycisk myszy, aby powiązać", - "usage2": "Kliknij prawym przyciskiem myszy, aby uzyskać dostęp do powiązanego ekwipunku" - }, - "boundeyeofender": { - "name": "Kotwica oka", - "usage1": "Kliknij prawym przyciskiem myszy, aby skonsumować i teleportować się do powiązanej lokalizacji", - "usage2": "Shift + lewy przycisk myszy, aby powiązać z blokiem" - }, - "boundredstonetorch": { - "name": "Pilot Redstone", - "usage1": "Kliknij prawym przyciskiem myszy, aby utworzyć impuls Redstone 1-Tick", - "usage2": "Shift + lewy przycisk myszy na bloku „celu”, aby powiązać" - }, - "boundsnowball": { - "name": "Sieciowy pułapka!", - "usage1": "Rzuć, aby utworzyć tymczasową pułapkę sieciową w tym miejscu" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Poziom", - "knowledge": "Wiedza", - "powerused": "Użyta moc", - "notlearned": "Nie Nauczono", - "xp": "XP do", - "welcome": "Witamy!", - "welcomeback": "Witamy spowrotem!", - "xpbonusfortime": "XP za", - "unlockthisbyclicking": "Odblokuj to, klikając prawym przyciskiem myszy:", - "back": "Z powrotem", - "unlearnall": "Oducz się wszystkich", - "unlearnedall": "Wszystko oduczone" - }, - "adaptmenu": { - "maynotunlearn": "NIE MOŻESZ SIĘ ODUCZYĆ", - "mayunlearn": "MOŻESZ SIĘ UCZYĆ/ODUCZYĆ", - "knowledgecost": "Koszt Wiedzy", - "knowledgeavailable": "Dostępna wiedza", - "alreadylearned": "Już Nauczono", - "unlearnrefund": "Kliknij, aby się oduczyć i otrzymać zwrot XP", - "norefunds": "HARDCORE, ZWROTY ZWROTÓW WYŁĄCZONE", - "knowledge": "Wiedza", - "clicklearn": "Kliknij, aby dowiedzieć się", - "noknowledge": "(Nie masz żadnej wiedzy)", - "youonlyhave": "Posiadasz tylko", - "howtolevelup": "Zwiększaj umiejętności, aby zwiększyć swoją maksymalną moc.", - "notenoughpower": "Za mało mocy! Każdy poziom umiejętności kosztuje 1 moc.", - "power": "Moc", - "powerdrain": "Pobór mocy", - "learned": "Nauczono", - "unlearned": "Nieuczony", - "activatorblock": "Półka na książki" - }, - "knowledgeorb": { - "contains": "Zawiera", - "knowledge": "Wiedza", - "rightclick": "Kliknij Prawym Przyciskiem Myszy", - "togainknowledge": "do zdobycia tej wiedzy", - "knowledgeorb": "Kula Wiedzy" - }, - "experienceorb": { - "contains": "Zawiera", - "xp": "Doświadczenie", - "rightclick": "Prawy Przycisk", - "togainxp": "do zdobycia tego doświadczenia", - "xporb": "Kula Doświadczenia" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Zręczność", + "name": "Agility", "icon": "⇉", - "description": "Zwinność to umiejętność szybkiego i płynnego poruszania się w obliczu przeszkód." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Architekt", + "name": "Architect", "icon": "⬧", - "description": "Struktury są budulcem świata. Rzeczywistość jest w Twoich rękach i pod Twoją kontrolą." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Siekiery", - "icon": "❖", - "description1": "Po co ścinać drzewa, skoro można rąbać", - "description2": "rzeczy", - "description3": "zamiast tego ten sam efekt końcowy!" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Browarnictwo", + "name": "Brewing", "icon": "❦", - "description": "Double Bubble, Triple Bubble, Quadruple Bubble- Nadal nie mogę wlać tej mikstury do kociołka" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Bloking", - "icon": "▒", - "description": "Kije i kamienie nie złamią twoich kości, ale tarcza złamie." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Rzemiosło", + "name": "Crafting", "icon": "⌂", - "description": "Skoro nie ma już kawałków do umieszczenia, dlaczego nie zrobić kolejnego?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Odkrycie", + "name": "Discovery", "icon": "⚛", - "description": "Gdy twoja Percepcja się rozszerza, twój umysł rozplątuje się, by odkryć to, czego nie odkryłeś" + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Uroczy", + "name": "Enchanting", "icon": "♰", - "description": "O czym ty mówisz? Proroctwa, wizje, przesądny bełkot?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Wykop", - "icon": "✥", - "description": "Diggey Diggey otwór..." + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "Zielarstwo", + "name": "Herbalism", "icon": "⚘", - "description": "Nie mogę znaleźć żadnych roślin, ale mogę znaleźć nasiona i- czy to... Ziele?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "Łowca", + "name": "Hunter", "icon": "☠", - "description": "Polowanie dotyczy podróży, a nie wyniku." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "nether", + "name": "Nether", "icon": "₪", - "description": "Z głębi samego Netheru." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Kilof", + "name": "Pickaxe", "icon": "⛏", - "description": "Krasnoludy to górnicy, ale w swoim czasie nauczyłem się kilku rzeczy. JESTEM SZWEDEM" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "Dystansowy", + "name": "Ranged", "icon": "🏹", - "description": "Trzymanie wroga na dystans jest kluczem do zwycięstwa i kluczem do przetrwania." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "Szczelina", + "name": "Rift", "icon": "❍", - "description": "Rift to uprząż żrąca, ale ty ją wykorzystałeś." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "Morski", - "icon": "🌊", - "description": "Dzięki tej umiejętności możesz poznać morskie cuda" + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "Skradanie", - "icon": "✠", - "description": "Sztuka niewidzialnego. Ukryj się w cieniu." + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Miecze", + "name": "Swords", "icon": "⚔", - "description": "Dzięki mocy GreyStone!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "Oswajanie", + "name": "Taming", "icon": "♥", - "description": "Papugi, pszczoły... i ty?" + "description": "The parrots and the bees... and you?" }, "tragoul": { "name": "TragOul", - "icon": "▼", - "description": "Krew płynie żyłami wszechświata. Zaciśnięte przez twoje ręce." + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "chronos", - "icon": "۞", - "description": "Nakręć Zegar wszechświata, poczuj przepływ. Złam zegar, zostań tym." + "name": "Chronos", + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "Nieuzbrojony", - "icon": "⚜", - "description": "Bez broni nie jest bez siły" + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Zbroja-Up", - "description": "Zdobądź więcej pancerza, im dłużej sprintujesz!", - "lore1": "Maksymalny Pancerz", - "lore2": "Czas Do Uzbrojenia" - }, - "superjump": { - "name": "Super Skok", - "description": "Nadzwyczajna Przewaga Wysokości", - "lore1": "Maksymalna Wysokość Skoku", - "lore2": "Skradanie się + skok do superskoku!" - }, - "walljump": { - "name": "Skok Po Ścianie", - "description": "Przytrzymaj shift, gdy jesteś w powietrzu przy ścianie do ściany, zatrzaskuj się i skacz!", - "lore1": "Maksymalna Ilość Skoków", - "lore2": "Wysokość Skoku" - }, - "windup": { - "name": "Zakończyć", - "description": "Nabierz prędkości im dłużej biegniesz!", - "lore1": "Maksymalna Prędkość", - "lore2": "Czas zakończenia" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "Magiczna Fundacja", - "description": "To pozwala ci się zakraść i umieścić pod sobą tymczasowy podkład!", - "lore1": "Stwórz magicznie:", - "lore2": "Bloki pod tobą!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Jedwabny Dotyk Szkła", - "description": "Pozwala to zasadniczo zapobiec utracie pustaków szklanych, gdy rozbijesz je pustą ręką!", - "lore1": "Twoje dłonie zyskują jedwabisty dotyk do szkła" - }, - "wirelessredstone": { - "name": "Pilot Redstone", - "description": "Dzięki temu możesz używać latarki z czerwonego kamienia do zdalnego przełączania czerwonego kamienia!", - "lore1": "Cel + Redstone Torch + Enderperal = 1 Redstone Remote" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Różdzka Konstruktora", - "description": "Pozwala na umieszczenie wielu bloków naraz, aby aktywować Skradanie się i przytrzymanie bloku, który pasuje do Twojego wyglądającego bloku i miejsca! Pamiętaj, że być może będziesz musiał przesunąć odrobinę, aby wywołać ograniczanie pudełek!", - "lore1": "Potrzebujesz", - "lore2": "bloki w dłoni, aby to umieścić", - "lore3": "Różdżka Budowniczych Materiałów" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Uderzenie Siekiery", - "description": "Ścinaj drzewa, klikając prawym przyciskiem myszy dziennik podstawowy!", - "lore1": "Bloki na kotlet", - "lore2": "Czas odnowienia siekania", - "lore3": "Zużycie Narzędzi" - }, - "logswap": { - "name": "Wymieniacz dzienników Lucy", - "description": "Zmień smak dzienników na stole rzemieślniczym!", - "lore1": "1 kłoda dowolnego rodzaju + 1 drzewko = 1 kłoda typu drzewka" - }, - "droptoinventory": { - "name": "Topór wrzuć do ekwipunku" - }, - "groundsmash": { - "name": "Uderzenie toporem", - "description": "Podskocz, a następnie przykucnij i zmiażdż wszystkich pobliskich wrogów.", - "lore1": "Obrażenia", - "lore2": "Zasięg Bloku", - "lore3": "Moc", - "lore4": "Czas odnowienia Uderzenia" - }, - "leafminer": { - "name": "LiśćMiner", - "description": "Pozwala na natychmiastowe rozbicie dużych liści!", - "lore1": "Skradaj się i moje LIŚCIE", - "lore2": "zakres wydobycia liści", - "lore3": "Nie otrzymasz dropów z liści (Aby zapobiec nadużyciu)" - }, - "woodminer": { - "name": "Górnik", - "description": "Umożliwia natychmiastowe rozbicie drewna luzem!", - "lore1": "Skradaj się i wykop DREWNO/LOGI (nie deski)", - "lore2": "zakres wydobycia drewna", - "lore3": "Współpracuje z Drop to Inventory" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "Długotrwały napar", - "description": "Warzone mikstury trwają dłużej!", - "lore1": "Czas Trwania", - "lore2": "Czas Trwania" - }, - "superheated": { - "name": "Super podgrzewany napar", - "description": "Stojaki piwowarskie działają szybciej, im są cieplejsze.", - "lore1": "Za dotknięcie bloku ognia", - "lore2": "Za dotknięcie bloku lawy" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "Butelkowa Ciemność", - "description": "Nie wiem, dlaczego tego potrzebujesz, ale proszę bardzo!", - "lore1": "Mikstura Noktowizora + Czarny Beton = Mikstura Ciemności (30 sekund)", - "lore2": "Należy zauważyć, że uniemożliwia to użytkownikowi Sprint!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "Butelkowy Pośpiech", - "description": "Kiedy Wydajność to za mało", - "lore1": "Mikstura Szybkości + Odłamek Ametystu = Mikstura Pośpiechu (60 sekund)", - "lore2": "Mikstura Szybkości + Blok Ametystu = Mikstura Pośpiechu-2 (30 sekund)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Absorpcja butelkowa", - "description": "Utwardź ciało!", - "lore1": "Natychmiastowe Leczenie + Kwarc = Mikstura Absorpcji (60 sekund)", - "lore2": "Natychmiastowe Uzdrowienie + Kwarcowy Blok = Mikstura Absorpcji-2 (30 sekund)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Zmęczenie butelkowe", - "description": "Osłab ciało!", - "lore1": "Mikstura Słabości + Śluzowa Kula = Mikstura Zmęczenia (30 sekund)", - "lore2": "Mikstura Słabości + Blok Śluzu = Mikstura Zmęczenia-2 (15 sekund)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Butelkowy Głód", - "description": "Nakarm Nienasyconego!", - "lore1": "Niezręczna Mikstura + Zgniłe Ciało = Mikstura Głodu (30 sekund)", - "lore2": "Mikstura Słabości + Zgniłe Ciało = Mikstura Głodu-3 (15 sekund)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "Butelkowe nudności", - "description": "Jesteś okropną osobą...", - "lore1": "Niezręczna Mikstura + Brązowy Grzyb = Mikstura Mdłości (16 sekund)", - "lore2": "Niezręczna Mikstura + Karmazynowy Grzyb = Mikstura Mdłości-2 (8 sekund)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Butelkowa ślepota", - "description": "Jesteś okropną osobą...", - "lore1": "Niezręczna Mikstura + Worek Atramentu = Mikstura Oślepienia (30 sekund)", - "lore2": "Niezręczna Mikstura + Świecący Worek Atramentu = Mikstura Oślepienia-2 (15 sekund)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Odporność na butelkowanie", - "description": "Fortyfikacja w najlepszym wydaniu!", - "lore1": "Niezręczna Mikstura + Sztabka Żelaza = Mikstura Odporności (60 sekund)", - "lore2": "Niezręczna Mikstura + Żelazny Blok = Mikstura Odporności-2 (30 sekund)" - }, - "healthboost": { - "name": "Życie w butelkach", - "description": "Kiedy Maksymalne zdrowie to za mało...", - "lore1": "Mikstura natychmiastowego leczenia + Złote Jabłko = Mikstura Wzmocnienia Zdrowia (120 sekund)", - "lore2": "Mikstura natychmiastowego leczenia + Zaczarowane Złote Jabłko = Mikstura Zdrowia Wzmocnienie-2 (120 sekund)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Butelkowy próchnica", - "description": "Kto by pomyślał, że Detrytus będzie tak przydatny?", - "lore1": "Mikstura Słabości + Trujący Ziemniak = Mikstura Zamętu (16 sekund)", - "lore2": "Mikstura Słabości + Karmazynowe Korzenie = Mikstura Zwiędłości-2 (8 sekund)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Nasycenie w butelkach", - "description": "Wiesz... nawet nie jestem głodny...", - "lore1": "Mikstura Regeneracji + Pieczony Ziemniak = Mikstura Nasycenia (120 sekund)", - "lore2": "Mikstura Regeneracji + Bale Siana = Mikstura Nasycenia (120 sekund)" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Łańcuchy Mefistofelesa", - "description": "Umożliwia tworzenie zbroi kolczugi", - "lore1": "Przepis rzemieślniczy jest taki sam jak każdy inny, ale zawiera bryłki żelaza" - }, - "horsearmorer": { - "name": "Zbroja konia do wykonania", - "description": "Umożliwia tworzenie zbroi konia", - "lore1": "Otocz siodło materiałem, którego chcesz użyć do stworzenia zbroi" - }, - "saddlecrafter": { - "name": "Siodło do wytworzenia", - "description": "Stwórz siodło ze skóry", - "lore1": "Przepis: 5 Skóra:" - }, - "multiarmor": { - "name": "Wielopancerz", - "description": "Powiąż Elytry ze zbroją", - "lore1": "To niesamowita umiejętność podróżowania.", - "lore2": "dynamicznie łącz i zmieniaj Pancerz/Elytrę w locie!", - "lore3": "aby scalić, kliknij z wciśniętym klawiszem Shift element nad innym w ekwipunku.", - "lore4": "aby rozpiąć zbroję, upuść przedmiot z ukrycia, a rozłoży się.", - "lore5": "Jeśli twój MultiArmor zostanie zniszczony, stracisz wszystkie znajdujące się w nim przedmioty.", - "lore6": "Nie potrzebuję zbroi, to mnie rozczarowuje..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Dekonstrukcja", - "description": "Rozłóż bloki i przedmioty na odzyskiwalne elementy bazowe!", - "lore1": "Umieść dowolny przedmiot + użyj nożyce", - "lore2": "w stole kowalskim do rozebrania." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "PD rzemieślnicze", - "description": "Zdobywaj pasywne PD podczas tworzenia", - "lore1": "Zdobywaj PD podczas tworzenia" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Rekonstrukcja rudy", - "description": "Przerabiaj rudy z ich podstawowych komponentów!", - "lore1": "8 kropli i 1 host = 1 ruda (bezkształtna)", - "lore2": "Krople muszą być wytapiane (jeśli dotyczy)", - "lore3": "Nie obejmuje: skrawków, ćwiartek i szmaragdów itp.", - "lore4": "Gospodarz = obudowa. tj.: Stone, Netherack, Deepslate" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Skóra do wytworzenia", - "description": "Skóra rzemieślnicza z Rotten Flesh", - "lore1": "Po prostu wrzuć to (zgniłe mięso) na ognisko!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "Plecaki Butiliera!", - "description": "To właśnie wprowadza do gry pakiet Mojang!", - "lore1": "Aby z tego skorzystać, musisz być w trybie Survival", - "lore2": "XLX: Skóra, Ołów, Skóra", - "lore3": "XSX: Skóra, Pudełko Shulkera, Skóra", - "lore4": "XCX: skóra, klatka piersiowa, skóra" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Stoły przenośne!", - "description": "Użyj stołu w dłoni!", - "lore2": "WSZELKIE POZYCJE, KTÓRE ZAPOMNISZ W TABELI PO ZAMKNIĘCIU SĄ NA ZAWSZE UTRACONE!", - "lore3": "Prawidłowe tabele: Kowadło, Rzemiosło, Kamień szlifierski, Kartografia, Kamieniarz, Krosno" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Czaszki do wytworzenia!", - "description": "Używając materiałów możesz tworzyć czaszki mobów!", - "lore1": "Otocz blok kości następującymi elementami, aby uzyskać czaszkę:", - "lore2": "Zombie: Gnijące Ciało", - "lore3": "Szkielet: kość", - "lore4": "Pnącze: proch strzelniczy", - "lore5": "Więdnięcie: Netherowa cegła", - "lore6": "Smok: Oddech Smoka" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Zbroja świata", - "description": "Pancerz pasywny w zależności od twardości pobliskiego bloku.", - "lore1": "Zbroja Pasywna", - "lore2": "Na podstawie twardości pobliskiego bloku", - "lore3": "Siła Pancerza: +" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Eksperymentalna Jedność", - "description": "Zbieranie kul doświadczenia dodaje PD do losowych umiejętności.", - "lore1": "XP ", - "lore2": "Za kulę" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Eksperymentalny opór", - "description": "Zużywaj doświadczenie, aby złagodzić obrażenia, które otrzymujesz ze wszystkich źródeł\n", - "lore0": "Może się to zdarzyć tylko raz na 15 sekund", - "lore1": "% Zmniejszone Obrażenia", - "lore2": "doświadczenie wyczerpane" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Atrakcja wieśniaka", - "description": "Pozwala na uzyskanie lepszych transakcji z mieszkańcami wioski!", - "lore1": "Zużywa to PD za interakcję z wieśniakami", - "lore2": "Szansa na zużycie PD i ulepszenie wymian na interakcję", - "lore3": "wymagany drenaż XP na interakcję" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Powrót Lapisu", - "description": "Kosztem 1 dodatkowego poziomu XP, a w zamian ma szansę na darmowe lapis", - "lore1": "Na każdy poziom zwiększa koszt zaklęcia o 1, ale może powrócić w górę o 3 Lapis" - }, - "quickenchant": { - "name": "Zaklęcie szybkiego kliknięcia", - "description": "Zaczaruj przedmioty, klikając zaczaruj książki bezpośrednio na nich.", - "lore1": "Maks. połączone poziomy", - "lore2": "Nie można zaczarować przedmiotu z więcej niż", - "lore3": "moc" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "Zwrot XP", - "description": "Zaczarowane PD są zwracane po zaczarowaniu przedmiotu.", - "lore1": "Wydane doświadczenie ma szansę zostać zwrócone, gdy zaczarujesz przedmiot", - "lore2": "Doświadczenie za zaklęcie" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Pośpieszna koparka", - "description": "Przyspieszy to wykopaliska dzięki HASTE!", - "lore1": "Zyskaj pośpiech podczas kopania", - "lore2": "x Poziomy pośpiechu, gdy zaczniesz wydobywać DOWOLNY blok." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Superwidzący grotołaz!", - "description": "Zobacz rudy na własne oczy, ale przez ziemię!", - "lore1": "Ruda w twojej drugiej ręce, Jagody w twojej głównej ręce i Skradanie się!", - "lore2": "Zakres bloków:", - "lore3": "Zużywa Glowberry podczas użycia" - }, - "droptoinventory": { - "name": "Łopata zrzutu do magazynu" - }, - "omnitool": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { "name": "OMNI - T.O.O.L.", - "description": "Przesadnie zaprojektowany, bogaty Leatherman firmy Tackle", - "lore1": "Prawdopodobnie najpotężniejszy z wielu pozwala", - "lore2": "dynamicznie łącz i zmieniaj narzędzia w locie, zgodnie z Twoimi potrzebami.", - "lore3": "aby scalić, kliknij z wciśniętym klawiszem Shift element nad innym w ekwipunku.", - "lore4": "aby odpiąć narzędzia, Sneak-Upuść przedmiot, a zostanie on zdemontowany.", - "lore5": "nie możesz złamać narzędzi w tym skórzanym, ale nie możesz używać zepsutych narzędzi", - "lore6": "całkowita liczba elementów, które można scalić", - "lore7": "możesz użyć pięciu lub sześciu narzędzi lub tylko jednego!" + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Aura wzrostu", - "description": "Rozwijaj przyrodę wokół siebie w aurze", - "lore1": "Promień bloku", - "lore2": "Siła aury wzrostu", - "lore3": "Koszt jedzenia" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Hipopotam zielarza", - "description": "Spożywanie jedzenia daje większe nasycenie", - "lore1": "Jedzenie) dodatkowe punkty nasycenia po spożyciu" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Mykonid zielarza", - "description": "Daje możliwość tworzenia grzybni", - "lore1": "Dowolny brud i brązowy i czerwony grzyb stworzy grzybnię." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Terralid Zielarza", - "description": "Daje możliwość tworzenia bloków trawy", - "lore1": "Trzy nasiona, ponad 3 brud, stworzą 3 bloki trawy." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { "name": "Webby Creator", - "description": "Daje możliwość tworzenia pajęczyn na stole rzemieślniczym", - "lore1": "Nine String, stworzy Pajęczynę." - }, - "mushroomblocks": { - "name": "Pieczarka", - "description": "Daje możliwość tworzenia bloków grzybów na stole rzemieślniczym", - "lore1": "Cztery grzyby do zrobienia bloku lub blok do zrobienia łodygi." - }, - "droptoinventory": { - "name": "Hoe Drop-to-Inwentarz" - }, - "hungryshield": { - "name": "Głodna Tarcza", - "description": "Zniszcz głód przed zdrowiem.", - "lore1": "Odparty przez Głód" + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "Szczęście Zielarza", - "description": "Kiedy rozbijesz Trawę/Kwiaty, masz szansę na losowy przedmiot", - "lore0": "Kwiaty = jedzenie, a trawa = nasiona", - "lore1": "Szansa na zdobycie przedmiotu niszcząc kwiaty", - "lore2": "Szansa na zdobycie przedmiotu z rozbicia Trawy" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Zbiór i Przesadzanie", - "description": "Kliknij prawym przyciskiem myszy na uprawę z motyką, aby ją zebrać i przesadzić.", - "lore1": "Promień przesadzania bloków" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "Adrenalina", - "description": "Zadaj więcej obrażeń, mając mniej zdrowia (walka wręcz)", - "lore1": "Maksymalne Obrażenia" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "Zdobędziesz stosy Trucizny, jeśli zabraknie Ci głodu" - }, - "droptoinventory": { - "name": "Przedmioty zrzucane do ekwipunku", - "description": "Kiedy coś zabijesz / złamiesz blok Mieczem teleportuje krople do twojego ekwipunku", - "lore1": "Za każdym razem, gdy przedmiot zostanie upuszczony z moba/bloku, który złamiesz, trafia on do twojego ekwipunku, jeśli może." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Znikający krok", - "description": "Kiedy zostaniesz uderzony, zyskujesz niewidzialność kosztem głodu", - "lore1": "Zyskaj pasywną niewidzialność po uderzeniu", - "lore2": "x Niewidzialność kumuluje się przez 3 sekundy przy trafieniu", - "lore3": "x Głód układania", - "lore4": "Czas trwania i mnożnik kumulacji głodu.", - "lore5": "Czas trwania niewidzialności" - }, - "jumpboost": { - "name": "Wzgórza Myśliwego", - "description": "Kiedy zostaniesz uderzony, zyskujesz premię do skoku, kosztem głodu", - "lore1": "Po uderzeniu otrzymujesz pasywne wzmocnienie do skoku", - "lore2": "x ładunki Jump-Boost przez 3 sekundy przy trafieniu", - "lore3": "x Głód układania", - "lore4": "Czas trwania i mnożnik kumulacji głodu.", - "lore5": "Mnożnik ładunków Jump-Boost, a nie czas trwania." + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "Szczęście łowcy", - "description": "Kiedy jesteś uderzony, zyskujesz szczęście, kosztem głodu", - "lore1": "Zyskaj pasywne szczęście po uderzeniu", - "lore2": "x Szczęście kumuluje się przez 3 sekundy przy trafieniu", - "lore3": "x Głód układania", - "lore4": "Czas trwania i mnożnik kumulacji głodu.", - "lore5": "Mnożnik kumulacji szczęścia, a nie czas trwania." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Regeneracja Łowcy", - "description": "Kiedy jesteś uderzony, zyskujesz regenerację kosztem głodu", - "lore1": "Zyskaj pasywną regenerację po uderzeniu", - "lore2": "x Regeneracja kumuluje się przez 3 sekundy przy trafieniu", - "lore3": "x Głód układania", - "lore4": "Czas trwania i mnożnik kumulacji głodu.", - "lore5": "Mnożnik kumulacji regeneracji, a nie czas trwania." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Opór Łowcy", - "description": "Kiedy jesteś uderzony, zyskujesz opór kosztem głodu", - "lore1": "Zyskaj pasywną odporność po uderzeniu", - "lore2": "x Odporność kumuluje się przez 3 sekundy po trafieniu", - "lore3": "x Głód układania", - "lore4": "Czas trwania i mnożnik kumulacji głodu.", - "lore5": "Mnożnik kumulacji ruchu oporu, a nie czas trwania." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Szybkość Łowcy", - "description": "Kiedy jesteś uderzony, nabierasz prędkości, kosztem głodu", - "lore1": "Zyskaj pasywną prędkość po uderzeniu", - "lore2": "x Szybkość kumuluje się przez 3 sekundy po trafieniu", - "lore3": "x Głód układania", - "lore4": "Czas trwania i mnożnik kumulacji głodu.", - "lore5": "Mnożnik kumulacji prędkości, a nie czas trwania." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Siła Łowcy", - "description": "Kiedy jesteś uderzony, zyskujesz siłę, kosztem głodu", - "lore1": "Zyskaj pasywną siłę po uderzeniu", - "lore2": "x Siła kumuluje się przez 3 sekundy po trafieniu", - "lore3": "x Głód układania", - "lore4": "Czas trwania i mnożnik kumulacji głodu.", - "lore5": "Mnożnik kumulacji siły, a nie czas trwania." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Rzut Zwiędłej Czaszki", - "description1": "Uwolnij swój wewnętrzny kłąb, używając", - "description2": "kogoś", - "description3": "głowa.", - "lore1": "Sekundy czasu odnowienia między rzutami czaszką.", - "lore2": "Korzystanie z Wither Skull: Rzuć a", - "lore3": "Czaszka Witherowego Szkieleta", - "lore4": "eksploduje przy uderzeniu." - }, - "witherresist": { - "name": "Opór więdnięcia", - "description": "Opiera się miażdżeniu dzięki mocy Netherite.", - "lore1": "szansa na zanegowanie więdnięcia (za sztukę).", - "lore2": "Pasywna: Noszenie Netherite Armor ma szansę na zanegowanie", - "lore3": "miażdżący." - }, - "fireresist": { - "name": "Odporność na ogień", - "description": "Odpiera ogień, utwardzając skórę.", - "lore1": "szansa na zanegowanie efektu palenia!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "Autotopienie", - "description": "Pozwala wytapiać wydobywane rudy wanilii", - "lore1": "Rudy, które można przetopić, są przetapiane automatycznie", - "lore2": "% szansy na dodatkowe" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "Dłuto Rudy", - "description": "Kliknij prawym przyciskiem myszy na rudy, aby wydobyć z nich więcej rudy, przy dużym koszcie wytrzymałości.", - "lore1": "Szansa na Drop", - "lore2": "Zużycie narzędzi" - }, - "droptoinventory": { - "name": "Kilof zrzutu do ekwipunku", - "description": "Kiedy złamiesz blok, teleportuje przedmiot do twojego ekwipunku", - "lore1": "Za każdym razem, gdy przedmiot zostanie upuszczony z bloku, który rozbijesz, trafia on do twojego ekwipunku, jeśli może." - }, - "veinminer": { - "name": "Żniwiarz", - "description": "Umożliwia łamanie bloków w żyle/klastrze rud wanilii", - "lore1": "Skradaj się i mój ORES", - "lore2": "zakres górnictwa żył", - "lore3": "Ta umiejętność NIE grupuje wszystkich zrzutów razem!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Odzyskiwanie Strzał", - "description": "Odzyskaj strzały po zabiciu wroga.", - "lore1": "Szansa na odzyskanie strzał po trafieniu/zabiciu", - "lore2": "Szansa:" - }, - "webshot": { - "name": "Sieciowy pułapka", - "description": "Otocz pajęczyny wokół celu, gdy go trafisz!", - "lore1": "8 pajęczyn wokół śnieżki i rzuć!", - "lore2": "sekundy klatki, mniej więcej." - }, - "forceshot": { - "name": "Siła Strzału", - "description": "Strzelaj pociskami dalej i szybciej!", - "advancementname": "Długi Strzał", - "advancementlore": "Traf strzałem z odległości ponad 30 bloków!", - "lore1": "Prędkość Pocisku" - }, - "lungeshot": { - "name": "Strzał z wyskoku", - "description": "Podczas spadania twoje strzały rzucają cię w losowym kierunku", - "lore1": "Losowa szybkość serii" - }, - "arrowpiercing": { - "name": "Przebicie Strzały", - "description": "Dodaje przebijanie pocisków! Strzelaj przez rzeczy!", - "lore1": "Przebijanie celów" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Dostęp zdalny", - "description": "Wyciągnij się z pustki i wejdź do oznaczonego pojemnika.", - "lore1": "Enderpearl + Kompas = Relikwiarz świstoklik", - "lore2": "Ta pozycja umożliwia zdalny dostęp do kontenerów", - "lore3": "Po wykonaniu spójrz na przedmiot, aby zobaczyć zastosowanie", - "notcontainer": "To nie jest pojemnik" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Mignięcie szczeliny", - "description": "Natychmiastowa teleportacja na krótki dystans, tylko mignięcie!", - "lore1": "Migające bloki (2 w pionie)", - "lore2": "Podczas sprintu: kliknij dwukrotnie Przejdź do", - "lore3": "Miganie" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Łatwy Enderklatka", - "description": "Otwórz skrzynię, klikając ją lewym przyciskiem w dłoni.", - "lore1": "Kliknij Enderchest w dłoni, aby go otworzyć (Tylko go nie umieszczaj)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Antylewitacja", - "description": "Czy jesteś zmęczony utknięciem w powietrzu? To umiejętność dla Ciebie!", - "lore1": "Po prostu zakradnij się, aby zejść, a spadniesz w tempie mniejszym niż zwykle!", - "lore2": "Ochłonąć:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "Brama Szczeliny", - "description": "Teleportuj się we wskazane miejsce.", - "lore1": "WYTWARZANIE: Szmaragd + Okruch ametystu + Perła Endera", - "lore2": "Przeczytaj przed użyciem!", - "lore3": "opóźnienie 5 sek.,", - "lore4": "możesz umrzeć, gdy używasz tą animację" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "Odporność Na Szczelinę", - "description": "Zyskaj odporność, korzystając z przedmiotów i zdolności Endera", - "lore1": "+ Pasywny: zapewnia odporność, gdy używasz umiejętności szczeliny lub przedmiotów Ender", - "lore2": "NIE wliczając przenośnej klatki piersiowej, tylko rzeczy, które możesz spożyć" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Zbiornik na tlen organiczny", - "description": "Trzymaj więcej tlenu w swoich maleńkich płucach!", - "lore1": "Zwiększenie pojemności tlenu" - }, - "fishersfantasy": { - "name": "Fantazja Rybaka", - "description": "zdobądź więcej PD z łowienia ryb i zdobądź więcej ryb!", - "lore1": "Na każdym poziomie jest szansa na zdobycie większej ilości XP i Łowienia Więcej Ryb!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "Żółw górnik", - "description": "Podczas kopania pod wodą nabierasz pośpiechu!", - "lore1": "Haste 3 jest nakładany pod wodą podczas wydobywania (stosuje się z AquaAffinity) po tym, jak twój efekt oddychania wodą przestanie działać!" - }, - "nightvision": { - "name": "Wizja żółwia", - "description": "Pod wodą zyskujesz noktowizor", - "lore1": "Po prostu zyskaj noktowizor pod wodą, gdy efekt oddychania pod wodą przestanie działać!" - }, - "dolphingrace": { - "name": "Łaska Delfina", - "description": "Pływaj jak delfin, bez delfinów", - "lore1": "+ Pasywny: zysk", - "lore2": "x prędkość (łaska delfinów)", - "lore3": "precyzyjny niemiecki inżynier - czekaj, to nie jest w porządku..." + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Zbroja Ducha", - "description": "Powolne budowanie pancerza, gdy nie otrzymujesz obrażeń, utrzymuje się przez 1 trafienie", - "lore1": "Maksymalna zbroja", - "lore2": "Prędkość" - }, - "nightvision": { - "name": "Ukryta wizja", - "description": "Zyskaj widzenie w nocy podczas skradania się", - "lore1": "Zyskaj serię", - "lore2": "Noktowizja", - "lore3": "podczas skradania się" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Wyrwanie przedmiotu", - "description": "Chwyć Upuszczone przedmioty natychmiast podczas skradania się!", - "lore1": "Zasięg Chwytu" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Prędkość Skradania Się", - "description": "Zyskaj prędkość podczas skradania się", - "lore1": "Prędkość skradania się" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "Maczeta", - "description": "Z łatwością przecinaj liście!", - "lore1": "Promień ukośnika", - "lore2": "Czas odnowienia siekania", - "lore3": "Zużycie narzędzi" - }, - "bloodyblade": { - "name": "Krwawe Ostrze", - "description": "Uderza mieczem, powodując krwawienie!", - "lore1": "Uderzenie żywej istoty mieczem powoduje krwawienie", - "lore2": "Czas trwania krwawienia", - "lore3": "Czas odnowienia krwawienia" - }, - "poisonedblade": { - "name": "Zatrute Ostrze", - "description": "Uderza mieczem, powodując truciznę!", - "lore1": "Uderzenie żywej istoty mieczem powoduje truciznę", - "lore2": "Czas trwania trucizny", - "lore3": "Czas odnowienia trucizny" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Oswojone obrażenia", - "description": "Zwiększ obrażenia zadawane przez oswojone zwierzęta.", - "lore1": "Zwiększone obrażenia" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Oswojone zdrowie", - "description": "Zwiększ swoje oswojone zdrowie zwierząt.", - "lore1": "Zwiększone Zdrowie" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Oswojona regeneracja", - "description": "Zwiększ regenerację oswojonych zwierząt.", - "lore1": "HP" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "Ciernie", - "description": "Odbij obrażenia z powrotem swojemu napastnikowi!", - "lore1": "Odwet po uderzeniu" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Kula bólu", - "description": "Podziel zadawane obrażenia na podstawie liczby wrogów wokół ciebie!", - "lore1": "Im więcej wrogów wokół ciebie, tym mniejsze obrażenia zadasz każdemu z nich", - "lore2": "Zakres:", - "lore3": "Dodano obrażenia dla wszystkich bytów:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Wola bólu", - "description": "Odzyskuj zdrowie na podstawie zadawanych obrażeń!", - "lore1": "Niszczenie rzeczy nigdy nie było tak przyjemne! Uzdrowienie z zadanych obrażeń", - "lore2": "Istnieje 3-sekundowe okno obrażeń na leczenie i 1-sekundowy czas odnowienia", - "lore3": "Procent leczenia za obrażenia:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Trupie Lance", - "description": "Zabicie wroga lub posiadanie umiejętności zabicia wroga powoduje pojawienie się lancy, która zadaje obrażenia pobliskiemu wrogowi!", - "lore1": "Lance będą szukać wszystkiego, co zabijesz, ORAZ jeśli ta umiejętność zabije wroga.", - "lore2": "Poświęć część swojego życia, aby stworzyć lance (to może cię zabić)", - "lore3": "Maksymalna liczba lanc: 1 +" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Szklana Armata", - "description": "Dodatkowe obrażenia w walce wręcz, im niższa jest wartość twojego pancerza", - "lore1": "x Obrażenia przy 0 zbroi", - "lore2": "Dodatkowe obrażenia na każdym poziomie" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Nieuzbrojona moc", - "description": "Ulepszone obrażenia bez broni", - "lore1": "Obrażenia" - }, - "suckerpunch": { - "name": "Cios Partyzanta", - "description": "Uderzenia sprinterskie, ale bardziej zabójcze.", - "lore1": "Obrażenia", - "lore2": "Obrażenia wzrastają wraz z szybkością podczas ciosów" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/pt_PT.json b/src/main/resources/pt_PT.json index 2cb716468..5b547e81e 100644 --- a/src/main/resources/pt_PT.json +++ b/src/main/resources/pt_PT.json @@ -231,912 +231,1285 @@ "challenge_pickaxe_5m": { "title": "Mineiro lendário!", "description": "Quebre 5.000.000 de Blocos!" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "name": "Chave de portal do relicário", - "usage1": "Shift + clique esquerdo para vincular!", - "usage2": "Clique com o botão direito para acessar o inventário vinculado." - }, - "boundeyeofender": { - "name": "Âncora Ocular\n", - "usage1": "Clique com o botão direito para consumir e se teletransportar para o local vinculado.", - "usage2": "Shift + clique esquerdo para vincular a um bloco." - }, - "boundredstonetorch": { - "name": "Controle Remoto de Redstone!", - "usage1": "Clique com o botão direito para criar um pulso Redstone de 1 Tick!", - "usage2": "Shift + clique esquerdo em um bloco 'alvo' para vincular." - }, - "boundsnowball": { - "name": "Armadilha da teia!", - "usage1": "Jogue para criar uma armadilha de teia temporária no local." + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Nível", - "knowledge": "Conhecimento", - "powerused": "Energia usada", - "notlearned": "Não aprendido", - "xp": "XP para", - "welcome": "Bem-vindo!", - "welcomeback": "Bem vindo de volta!", - "xpbonusfortime": "XP para", - "unlockthisbyclicking": "Desbloqueie clicando com o botão direito:", - "back": "De volta", - "unlearnall": "Desaprender tudo", - "unlearnedall": "Desaprendeu tudo" - }, - "adaptmenu": { - "maynotunlearn": "VOCÊ NÃO PODE APRENDER", - "mayunlearn": "VOCÊ PODE APRENDER/DESAPRENDER", - "knowledgecost": "Custo do Conhecimento", - "knowledgeavailable": "Conhecimento disponível!", - "alreadylearned": "Já aprendeu", - "unlearnrefund": "Clique para desaprender e reembolsar", - "norefunds": "INCONDICIONAL, REEMBOLSOS DESABILITADOS", - "knowledge": "Conhecimento", - "clicklearn": "Clique para aprender", - "noknowledge": "(Você não tem nenhum Conhecimento)", - "youonlyhave": "Você só tem", - "howtolevelup": "Aumente o nível de habilidades para aumentar seu poder máximo.", - "notenoughpower": "Não há energia suficiente! Cada Nível de Habilidade custa 1 poder.", - "power": "Poder", - "powerdrain": "Dreno de Energia", - "learned": "Aprendido", - "unlearned": "Sem instrução", - "activatorblock": "Estante de livro!" - }, - "knowledgeorb": { - "contains": "Contém", - "knowledge": "Conhecimento", - "rightclick": "Clique com o botão direito", - "togainknowledge": "para obter este conhecimento", - "knowledgeorb": "Orbe do Conhecimento" - }, - "experienceorb": { - "contains": "Contém", - "xp": "Experiência", - "rightclick": "Clique com o botão direito", - "togainxp": "para ganhar esta experiência", - "xporb": "Orbe de Experiência" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Agilidade", + "name": "Agility", "icon": "⇉", - "description": "Agilidade é a capacidade de se mover de forma rápida e fluida diante de obstáculos." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Arquiteto", + "name": "Architect", "icon": "⬧", - "description": "As estruturas são os blocos de construção do mundo. A realidade está em suas mãos, seu controle." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Machados", - "icon": "❖", - "description1": "Por que derrubar árvores, quando você pode cortar", - "description2": "coisas", - "description3": "em vez disso, mesmo resultado final!" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Fermentação", + "name": "Brewing", "icon": "❦", - "description": "Bolha dupla, bolha tripla, bolha quádrupla - ainda não consigo colocar esta poção em um caldeirão" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Bloqueio", - "icon": "▒", - "description": "Paus e pedras não vão quebrar seus ossos, mas um escudo vai." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Construindo", + "name": "Crafting", "icon": "⌂", - "description": "Sem mais peças para colocar, por que não fazer outra?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Descoberta", + "name": "Discovery", "icon": "⚛", - "description": "À medida que sua percepção se expande, sua mente se desdobra para descobrir o que você não" + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Encantador", + "name": "Enchanting", "icon": "♰", - "description": "O quê você está querendo? Profecias, visões, tagarelice supersticiosa?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Escavação", - "icon": "✥", - "description": "Buraco do Diggey..." + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "Herbalismo", + "name": "Herbalism", "icon": "⚘", - "description": "Não consigo encontrar nenhuma planta, mas posso encontrar algumas sementes e isso é... Erva daninha?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "Caçador", + "name": "Hunter", "icon": "☠", - "description": "A caça é sobre a jornada, não sobre o resultado." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "Inferior", + "name": "Nether", "icon": "₪", - "description": "Das profundezas do próprio Nether." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Picareta", + "name": "Pickaxe", "icon": "⛏", - "description": "Anões são os mineiros, mas aprendi uma coisa ou duas no meu tempo. EU SOU SUECO" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "À distância", + "name": "Ranged", "icon": "🏹", - "description": "A distância é a chave para a vitória e a chave para a sobrevivência." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "Fenda", + "name": "Rift", "icon": "❍", - "description": "O Rift é um arnês cáustico, mas você aproveitou o arnês." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "Marítimo", - "icon": "🌊", - "description": "Com esta habilidade, você pode conhecer as maravilhas da água" + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "Furtividade", - "icon": "✠", - "description": "A arte do invisível. Caminhe nas sombras." + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Espadas", + "name": "Swords", "icon": "⚔", - "description": "Pelo poder de GreyStone!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "Domar", + "name": "Taming", "icon": "♥", - "description": "Os papagaios e as abelhas... e você?" + "description": "The parrots and the bees... and you?" }, "tragoul": { "name": "TragOul", - "icon": "▼", - "description": "O sangue corre pelas veias do universo. Constrangido por suas mãos." + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "Cronos", - "icon": "۞", - "description": "Enrole o Relógio do universo, experimente o fluxo. Quebre o relógio, torne-se." + "name": "Chronos", + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "Desarmado", - "icon": "⚜", - "description": "Sem uma arma não é sem força" + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Armadura", - "description": "Obtenha mais armadura quanto mais tempo você correr!", - "lore1": "Armadura máxima", - "lore2": "Tempo de Armadura" - }, - "superjump": { - "name": "Super pulo", - "description": "Vantagem de Altura Excepcional", - "lore1": "Altura máxima de salto", - "lore2": "Sneak + Jump para Super Jump!" - }, - "walljump": { - "name": "Salto da parede", - "description": "Segure o shift enquanto estiver no ar contra uma trava de parede a parede e pule!", - "lore1": "Máximo de saltos", - "lore2": "Altura do salto" - }, - "windup": { - "name": "Fim", - "description": "Seja mais rápido quanto mais você correr!", - "lore1": "Velocidade máxima", - "lore2": "Tempo de encerramento" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "Fundação mágica", - "description": "Isso permite que você se esgueire e coloque uma base temporária abaixo de você!", - "lore1": "Crie magicamente:", - "lore2": "Blocos abaixo de você!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Vidro de toque de seda", - "description": "Isso permite que você evite essencialmente a perda de blocos de vidro quando você os quebra com a mão vazia!", - "lore1": "Suas mãos ganham toque sedoso para Glass" - }, - "wirelessredstone": { - "name": "Controle Remoto de Redstone", - "description": "Isso permite que você use uma tocha de redstone para alternar o redstone, remotamente!", - "lore1": "Alvo + Tocha Redstone + Enderperal = 1 Controle Remoto de Redstone" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Varinha dos Construtores", - "description": "Permite que você coloque vários blocos de uma só vez para ativar o Sneak e segure um bloco que corresponda ao seu bloco e local! Lembre-se de que pode ser necessário mover um pouco para acionar a delimitação das caixas!", - "lore1": "Você precisa", - "lore2": "blocos em sua mão para colocar este", - "lore3": "Uma varinha de construtores de materiais" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Machado", - "description": "Corte árvores clicando com o botão direito do mouse no tronco de base!", - "lore1": "Blocos por chop", - "lore2": "Chop Cooldown", - "lore3": "Desgaste da ferramenta" - }, - "logswap": { - "name": "O trocador de toras de Lucy", - "description": "Mude o sabor dos logs em uma Crafting Table!", - "lore1": "1 tora de qualquer tipo + 1 muda = 1 tora do tipo da muda" - }, - "droptoinventory": { - "name": "Axe drop-to-inventário" - }, - "groundsmash": { - "name": "Esmagamento do Machado", - "description": "Pule, agache-se e esmague todos os inimigos próximos.", - "lore1": "Dano", - "lore2": "Raio do bloco", - "lore3": "Força", - "lore4": "Esmagar Cooldown" - }, - "leafminer": { - "name": "Leaf Miner", - "description": "Permite quebrar folhas a granel de uma só vez!", - "lore1": "Esgueirar-se, e minhas FOLHAS", - "lore2": "gama de mineração de folhas", - "lore3": "Você não obterá as gotas das folhas (Prevenção de Exploit)" - }, - "woodminer": { - "name": "Mineiro de madeira", - "description": "Permite quebrar madeira a granel de uma só vez!", - "lore1": "Esgueirar-se e minerar MADEIRA/TORAS (Não Tábuas)", - "lore2": "gama de mineração de madeira", - "lore3": "Funciona com Drop to Inventory" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "Cerveja demorada", - "description": "Poções fabricadas duram mais!", - "lore1": "Duração", - "lore2": "Duração" - }, - "superheated": { - "name": "Cerveja Super Aquecida", - "description": "Os suportes de fabricação de cerveja funcionam mais rápido quanto mais quentes estiverem.", - "lore1": "Por Bloco de Fogo Tocante", - "lore2": "Por Tocar Bloco de Lava" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "Escuridão engarrafada", - "description": "Não sei por que você precisa disso, mas aqui está!", - "lore1": "Poção Visão Noturna + Concreto Negro = Poção das Trevas (30 segundos)", - "lore2": "Deve-se notar que isso impede o usuário de correr!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "pressa engarrafada", - "description": "Quando a eficiência não é suficiente", - "lore1": "Poção de Velocidade + Fragmento de Ametista = Poção de Pressa (60 segundos)", - "lore2": "Poção de Velocidade + Bloco de Ametista = Poção de Aceleração 2 (30 segundos)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Absorção engarrafada", - "description": "Endureça o corpo!", - "lore1": "Cura Instantânea + Quartzo = Poção de Absorção (60 segundos)", - "lore2": "Poção de Cura Instantânea + Bloco de Quartzo = Poção de Absorção-2 (30 segundos)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Fadiga engarrafada", - "description": "Enfraqueça o corpo!", - "lore1": "Poção de Fraqueza + Bola de Gosma = Poção de Fadiga (30 segundos)", - "lore2": "Poção de Fraqueza + Bloco de Slime = Poção de Fadiga-2 (15 segundos)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Fome engarrafada", - "description": "Alimente o insaciável!", - "lore1": "Poção Estranha + Carne Podre = Poção da Fome (30 segundos)", - "lore2": "Poção de Fraqueza + Carne Podre = Poção da Fome-3 (15 segundos)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "Náusea engarrafada", - "description": "Você é uma pessoa horrível...", - "lore1": "Poção Estranha + Cogumelo Marrom = Poção de Náusea (16 segundos)", - "lore2": "Poção Estranha + Fungo Carmesim = Poção de Náusea-2 (8 segundos)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Cegueira engarrafada", - "description": "Você é uma pessoa horrível...", - "lore1": "Poção Estranha + Saco de Tinta = Poção da Cegueira (30 segundos)", - "lore2": "Poção Estranha + Saco de Tinta Brilhante = Poção da Cegueira-2 (15 segundos)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Resistência engarrafada", - "description": "Fortificação no seu melhor!", - "lore1": "Poção Estranha + Lingote de Ferro = Poção de Resistência (60 segundos)", - "lore2": "Poção Estranha + Bloco de Ferro = Poção de Resistência-2 (30 segundos)" - }, - "healthboost": { - "name": "Vida engarrafada", - "description": "Quando a saúde máxima não é suficiente...", - "lore1": "Poção de Cura Instantânea + Maçã Dourada = Poção de Aumento de Saúde (120 segundos)", - "lore2": "Poção de Cura Instantânea + Maçã Dourada Encantada = Poção de Aumento de Saúde-2 (120 segundos)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Deterioração engarrafada", - "description": "Quem diria que Detritus seria tão útil?", - "lore1": "Poção de Fraqueza + Batata Venenosa = Poção de Murchar (16 segundos)", - "lore2": "Poção de Fraqueza + Raízes Carmesim = Poção de Murchar-2(8 segundos)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Saturação engarrafada", - "description": "Você sabe... nem estou com fome...", - "lore1": "Poção de Regeneração + Batata Assada = Poção de Saturação (120 segundos)", - "lore2": "Poção de Regeneração + Fardo de Feno = Poção de Saturação (120 segundos)" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Correntes de Mefistófeles", - "description": "Permite que você crie uma armadura de cota de malha", - "lore1": "A receita de artesanato é a mesma de qualquer outra, mas com pepitas de ferro" - }, - "horsearmorer": { - "name": "Armadura de Cavalo Fabricável", - "description": "Permite que você crie Armadura de Cavalo", - "lore1": "Envolva uma sela com o material que você deseja usar para criar a armadura" - }, - "saddlecrafter": { - "name": "Sela Craftable", - "description": "Faça uma sela com couro", - "lore1": "Receita: 5 Couro:" - }, - "multiarmor": { - "name": "Armadura múltipla", - "description": "Ligar Elytras à Armadura", - "lore1": "Esta é uma habilidade incrível para viajar.", - "lore2": "mesclar e alterar dinamicamente Armadura/Elytra on the Fly!", - "lore3": "para mesclar, clique em um item sobre outro em seu inventário.", - "lore4": "para desvincular a armadura, solte o item furtivamente e ele será desmontado.", - "lore5": "Se sua MultiArmor for destruída, você perderá todos os itens nela.", - "lore6": "Eu não preciso de armadura, isso me decepciona..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Desconstrução", - "description": "Desconstrua blocos e itens em componentes básicos recuperáveis!", - "lore1": "Coloque qualquer item + tesoura", - "lore2": "em uma mesa de ferraria para desconstruir." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "EXP de Criação", - "description": "Ganhe XP passivo ao criar", - "lore1": "Ganhe XP ao criar" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Reconstrução de Minério", - "description": "Recrie minérios a partir de seus componentes básicos!", - "lore1": "8 Drops e 1 host = 1 minério (sem forma)", - "lore2": "Os Drops devem ser derretidos (se possível)", - "lore3": "Não inclui: Sucatas, Quartzo, Esmeraldas, etc...", - "lore4": "Host = Invólucro. ou seja: Pedra, Netherack, Ardósia" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Couro Artesanal", - "description": "Artesanato de couro de carne podre", - "lore1": "Apenas jogue (carne podre) na fogueira!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "Mochilas de um Boutilier!", - "description": "Isso apenas traz o pacote Mojang para o jogo!", - "lore1": "Você precisa estar no Survival para usar isso", - "lore2": "XLX : Couro, Chumbo, Couro", - "lore3": "XSX : Couro, Caixa Shulker, Couro", - "lore4": "XCX : Couro, Peito, Couro" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Bancadas portáteis!", - "description": "Use uma banccada na palma da sua mão!", - "lore2": "QUALQUER ITEM QUE VOCÊ ESQUECER NA MESA QUANDO FECHADA SÃO PERDIDOS PARA SEMPRE!", - "lore3": "Tabelas válidas: Bigorna, Bancada de Trabalho, Rebolo, Mesa de Cartografia, Cortador de Pedra, Tear!" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Crânios criáveis!", - "description": "Usando materiais, você pode criar crânios de mob!", - "lore1": "Cerque um Bone Block com o seguinte para obter uma caveira:", - "lore2": "Zumbi: Carne Apodrecida", - "lore3": "Esqueleto: Osso", - "lore4": "Creeper: Pólvora", - "lore5": "Wither: Tijolo do Nether", - "lore6": "Dragão: Sopro do Dragão" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Armadura Mundial", - "description": "Armadura passiva dependendo da dureza do bloco próximo.", - "lore1": "Armadura Passiva", - "lore2": "Com base na dureza do bloco próximo", - "lore3": "Força da Armadura: +" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Unidade Experimental", - "description": "Coletar Orbes de Experiência adiciona XP a habilidades aleatórias.", - "lore1": "XP", - "lore2": "Por Orbe" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Resistência Experimental", - "description": "Consuma experiência para mitigar o dano que você recebe de todas as fontes\n", - "lore0": "Isso só pode ocorrer uma vez a cada 15 segundos", - "lore1": "% de Dano Reduzido", - "lore2": "experiência drenada" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Atração do Aldeão", - "description": "Permite que você obtenha melhores negócios com os aldeões!", - "lore1": "Isso consome XP por interação com os aldeões", - "lore2": "Chance por interação de consumir XP e aprimorar negociações", - "lore3": "dreno de XP necessário por interação" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Devolução de lápis", - "description": "Ao custo de mais 1 nível de XP, e tem a chance de lhe dar lapis grátis em troca", - "lore1": "Para cada nível, aumenta o custo de encantamento, em 1, mas pode retornar mais de 3 lápis" - }, - "quickenchant": { - "name": "Encantamento de clique rápido", - "description": "Encante itens clicando em encantar livros diretamente neles.", - "lore1": "Níveis máximos combinados", - "lore2": "Não é possível encantar um item com mais de", - "lore3": "potência" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "Retorno de XP", - "description": "O XP de encantamento é devolvido a você quando você encanta um item.", - "lore1": "A experiência gasta tem a chance de ser reembolsada quando você encanta um item", - "lore2": "Experiência por Encantamento" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Escavadeira Apressada", - "description": "Isto irá acelerar o processo de escavação, com HASTE!", - "lore1": "Ganhe Aceleração durante a escavação", - "lore2": "x Níveis de aceleração quando você começa a minerar QUALQUER bloco." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Raio-X de escavação!", - "description": "Veja minérios com seus olhos, mas através do chão!", - "lore1": "Minério em sua mão secundária, bagas brilhantes em sua mão principal e agache!", - "lore2": "Alcance de bloco:", - "lore3": "Consome bagas brilhantes ao usar" - }, - "droptoinventory": { - "name": "Pá Drop-To-Inventory" - }, - "omnitool": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { "name": "OMNI - T.O.O.L.", - "description": "O opulento Leatherman de Tackle", - "lore1": "Provavelmente o mais poderoso de muitos permite que você", - "lore2": "mescle e altere ferramentas dinamicamente em tempo real, com base em suas necessidades.", - "lore3": "para mesclar, clique com a tecla Shift em um item sobre outro em seu inventário.", - "lore4": "para desvincular ferramentas, solte o item e ele será desmontado.", - "lore5": "você não pode quebrar ferramentas neste homem de couro, mas você não pode usar ferramentas quebradas", - "lore6": "total de itens mescláveis", - "lore7": "você pode usar cinco ou seis ferramentas, ou apenas uma!" + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Aura de crescimento", - "description": "Cresça a natureza ao seu redor em uma aura", - "lore1": "Raio do bloco", - "lore2": "Força da Aura de Crescimento", - "lore3": "Custo alimentar" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Hipopótamo do Herbalist", - "description": "Consumir alimentos, dá-lhe mais saturação", - "lore1": "Alimentos) pontos de saturação adicionais no consumo" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Myconid de Herbalist", - "description": "Dá-lhe a capacidade de criar Micélio", - "lore1": "Qualquer sujeira e um cogumelo marrom e vermelho criarão micélio." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Terralid do Herbalista", - "description": "Dá-lhe a capacidade de criar blocos de grama", - "lore1": "Três Sementes, mais de 3 Dirt, criarão 3 Blocos de Grama." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Criador Webby", - "description": "Dá a você a capacidade de criar teias de aranha em uma mesa de artesanato", - "lore1": "Nine String, criará uma teia de aranha." - }, - "mushroomblocks": { - "name": "Fabricante de cogumelos", - "description": "Dá a você a capacidade de criar blocos de cogumelos em uma mesa de trabalho", - "lore1": "Quatro Cogumelos para fazer um bloco, ou um bloco para fazer um caule." - }, - "droptoinventory": { - "name": "Enxada Drop-To-Inventary" - }, - "hungryshield": { - "name": "Escudo Faminto", - "description": "Leve o dano à sua fome antes da sua saúde.", - "lore1": "Resistidos pela fome" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "Sorte do Herbalista", - "description": "Ao quebrar Grama/Flores, você tem a chance de obter um item aleatório", - "lore0": "Flores = Comida e Grama = Sementes", - "lore1": "Chance de obter um item ao quebrar Flores", - "lore2": "Chance de obter um item ao quebrar a grama" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Colheita e Replanta", - "description": "Clique com o botão direito em uma colheita com uma enxada para colher e replantá-la.", - "lore1": "Bloqueia o raio de replantação" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "Adrenalina", - "description": "Cause mais dano quanto menos saúde você estiver (Melee)", - "lore1": "Dano Máximo" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "Você ganhará pilhas de veneno se ficar sem fome" - }, - "droptoinventory": { - "name": "Itens drop-to-inventário", - "description": "Quando você Mata alguma coisa / Quebra um bloco Com uma espada ela teleporta as gotas para o seu inventário", - "lore1": "Sempre que um item é dropado de um mob/bloco que você quebra, ele entra em seu inventário, se puder." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Passo de Fuga", - "description": "Quando você é atingido, você ganha invisibilidade, ao custo da fome", - "lore1": "Ganhe invisibilidade passiva quando atingido", - "lore2": "x Invisibilidade acumula por 3 segundos ao acertar", - "lore3": "x Fome de empilhamento", - "lore4": "A fome acumula duração e multiplicador.", - "lore5": "Duração da invisibilidade" - }, - "jumpboost": { - "name": "Alturas do caçador", - "description": "Quando você é atingido, você ganha impulso de salto, ao custo de fome", - "lore1": "Ganhe impulso de salto passivo quando atingido", - "lore2": "x Jump-Boost acumula por 3 segundos ao acertar", - "lore3": "x Fome de empilhamento", - "lore4": "A fome acumula duração e multiplicador.", - "lore5": "Multiplicador de pilhas Jump-Boost, não duração." + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "sorte de caçador", - "description": "Quando você é atingido você ganha sorte, ao custo da fome", - "lore1": "Ganhe sorte passiva quando atingido", - "lore2": "x Sorte acumula por 3 segundos ao acertar", - "lore3": "x Fome de empilhamento", - "lore4": "A fome acumula duração e multiplicador.", - "lore5": "A sorte acumula o multiplicador, não a duração." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Regeneração do Caçador", - "description": "Quando você é atingido, você ganha regeneração, ao custo da fome", - "lore1": "Ganhe regeneração passiva quando atingido", - "lore2": "x Regeneração acumula por 3 segundos ao acertar", - "lore3": "x Fome de empilhamento", - "lore4": "A fome acumula duração e multiplicador.", - "lore5": "Multiplicador de pilhas de regeneração, não duração." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Resistência do caçador", - "description": "Quando você é atingido, você ganha resistência, ao custo da fome", - "lore1": "Ganhe resistência passiva quando atingido", - "lore2": "x Resistência acumula por 3 segundos ao acertar", - "lore3": "x Fome de empilhamento", - "lore4": "A fome acumula duração e multiplicador.", - "lore5": "A resistência acumula o multiplicador, não a duração." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Velocidade do caçador", - "description": "Quando você é atingido, você ganha velocidade, ao custo da fome", - "lore1": "Ganhe velocidade passiva quando atingido", - "lore2": "x A velocidade acumula por 3 segundos ao acertar", - "lore3": "x Fome de empilhamento", - "lore4": "A fome acumula duração e multiplicador.", - "lore5": "Multiplicador de stacks de velocidade, não duração." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Força do caçador", - "description": "Quando você é atingido você ganha força, à custa da fome", - "lore1": "Ganhe força passiva quando atingido", - "lore2": "x A força acumula por 3 segundos ao acertar", - "lore3": "x Fome de empilhamento", - "lore4": "A fome acumula duração e multiplicador.", - "lore5": "A força acumula o multiplicador, não a duração." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Arremesso de Caveira Murcha", - "description1": "Liberte seu Wither interior usando", - "description2": "de alguém", - "description3": "cabeça.", - "lore1": "Segundos de cooldown entre lançamentos de caveiras.", - "lore2": "Usando Wither Skull: Jogue um", - "lore3": "Crânio de esqueleto wither", - "lore4": "explodindo com o impacto." - }, - "witherresist": { - "name": "Resistência à Murcha", - "description": "Resiste a murchar pelo poder de Netherite.", - "lore1": "chance de negar o murchamento (por peça).", - "lore2": "Passivo: Usar Armadura Netherita tem chance de negar", - "lore3": "murchando." - }, - "fireresist": { - "name": "Resistência ao fogo", - "description": "Resiste ao fogo endurecendo sua pele.", - "lore1": "chance de anular o efeito do fogo!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "Fundição automática", - "description": "Permite fundir minérios de baunilha extraídos", - "lore1": "Minérios que podem ser fundidos são fundidos automaticamente", - "lore2": "% de chance de um extra" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "Minério Cinzel", - "description": "Right Click Minérios para Cinzelar mais minério deles, a um custo de durabilidade severo.", - "lore1": "Chance de cair", - "lore2": "Desgaste da ferramenta" - }, - "droptoinventory": { - "name": "Picareta Drop-To-Inventary", - "description": "Quando você quebra um bloco, ele teleporta o item para seu inventário", - "lore1": "Sempre que um item é descartado de um bloco que você quebra, ele entra em seu inventário, se puder." - }, - "veinminer": { - "name": "Minerador de veias", - "description": "Permite quebrar blocos em uma veia/grupo de minérios de baunilha", - "lore1": "Esgueirar-se e minerar ORES", - "lore2": "gama de mineração de veias", - "lore3": "Esta habilidade NÃO agrupa todos os drops juntos!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Recuperação de flechas", - "description": "Recupere as flechas depois de matar um inimigo.", - "lore1": "Chance de recuperar flechas ao acertar/matar", - "lore2": "Chance:" - }, - "webshot": { - "name": "Armadilha de Teia", - "description": "Cerque teias de aranha ao redor de seu alvo quando você acertá-lo!", - "lore1": "8 teias de aranha em torno de uma bola de neve.", - "lore2": "segundos preso, aproximadamente." - }, - "forceshot": { - "name": "Tiro de Força", - "description": "Atire projéteis mais longe, mais rápido!", - "advancementname": "Tiro longo", - "advancementlore": "Acerte um tiro a mais de 30 quarteirões de distância!", - "lore1": "Velocidade do projétil" - }, - "lungeshot": { - "name": "Tiro de Afundo", - "description": "Ao cair suas flechas te jogam em uma direção aleatória", - "lore1": "Velocidade de rajada aleatória" - }, - "arrowpiercing": { - "name": "Perfuração de flecha", - "description": "Adiciona Piercing aos projéteis! Atire através das coisas!", - "lore1": "Perfurar alvos" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Acesso remoto", - "description": "Puxe do vazio e entre em um recipiente marcado.", - "lore1": "Enderpearl + Compass = Chave de Portal do Relicário", - "lore2": "Este item permite acessar contêineres remotamente", - "lore3": "Uma vez criado, olhe para o item para ver o uso", - "notcontainer": "Isso não é um recipiente" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Piscar de fenda", - "description": "Teletransporte instantâneo de curto alcance, apenas um piscar de olhos!", - "lore1": "Blocos em piscar (2x Vertical)", - "lore2": "Durante a corrida: toque duas vezes em Saltar para", - "lore3": "Piscar" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Baú Fácil", - "description": "Abra um enderchest clicando com o botão esquerdo em sua mão.", - "lore1": "Clique em um Enderchest em sua mão para abrir (apenas não coloque)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Anti-levitação", - "description": "Você está cansado de ficar preso no ar? Esta é a habilidade para você!", - "lore1": "Agache para cair lentamente!", - "lore2": "Cooldown:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "Portão da Fenda", - "description": "Teletransporte para um local marcado.", - "lore1": "CRIAÇÃO: Esmeralda + Fragmento de Ametista + Pérola Ender", - "lore2": "Leia antes de usar!", - "lore3": "5s de atraso,", - "lore4": "você pode morrer enquanto estiver nesta animação" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "Resistência a fendas", - "description": "Ganhe Resistência ao usar Itens e Habilidades do Ender", - "lore1": "+ Passivo: Fornece resistência quando você usa habilidades de fenda ou Itens de Ender", - "lore2": "NÃO incluindo Enderchest portátil, apenas coisas que você pode consumir" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Tanque de Oxigênio Orgânico", - "description": "Mantenha mais oxigênio em seus minúsculos pulmões!", - "lore1": "Aumento da Capacidade de Oxigênio" - }, - "fishersfantasy": { - "name": "fantasia de pescador", - "description": "ganhe mais XP pescando e pegue mais peixes!", - "lore1": "Para cada nível, há uma chance de obter mais XP e Peixes!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "Tartaruga Mineira", - "description": "Ao minerar debaixo d'água, você ganha pressa!", - "lore1": "Haste 3 é aplicado debaixo d'água durante a mineração (acumula com AquaAffinity) depois que seu efeito de respiração na água desaparece!" - }, - "nightvision": { - "name": "Visão da tartaruga", - "description": "Enquanto estiver debaixo d'água, você ganha Visão Noturna", - "lore1": "Simplesmente ganhe Visão Noturna enquanto estiver debaixo d'água depois que seu efeito de respiração na água desaparecer!" - }, - "dolphingrace": { - "name": "Graça do Golfinho", - "description": "Nade como um golfinho, sem os golfinhos", - "lore1": "+ Passivo: ganho", - "lore2": "x velocidade (graça dos golfinhos)", - "lore3": "engenharia alemã de precisão - espere, isso não está certo ..." + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Armadura do Fantasma", - "description": "Armadura de construção lenta quando não sofre dano, dura 1 hit", - "lore1": "Armadura máxima", - "lore2": "Velocidade" - }, - "nightvision": { - "name": "Visão furtiva", - "description": "Ganhe visão noturna enquanto se esgueira", - "lore1": "Ganhe uma explosão de", - "lore2": "visão noturna", - "lore3": "enquanto se esgueirando" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Arrebatar de Itens", - "description": "Snatch Drops de itens instantaneamente enquanto se esgueira!", - "lore1": "Raio de captura" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Velocidade Furtiva", - "description": "Ganhe velocidade enquanto se esgueira", - "lore1": "Velocidade Furtiva" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "machete", - "description": "Corte a folhagem com facilidade!", - "lore1": "Raio da barra", - "lore2": "Chop Cooldown", - "lore3": "Desgaste da ferramenta" - }, - "bloodyblade": { - "name": "Lâmina Sangrenta", - "description": "Golpeia com sua espada, causa sangramento!", - "lore1": "Atingir uma entidade viva com sua espada causa sangramento", - "lore2": "Duração do sangramento", - "lore3": "Resfriamento de Sangria" - }, - "poisonedblade": { - "name": "Lâmina Envenenada", - "description": "Golpeia com sua espada, causa veneno!", - "lore1": "Atingir uma entidade viva com sua espada causa veneno", - "lore2": "Duração do veneno", - "lore3": "Tempo de espera de veneno" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Domar Danos", - "description": "Aumente o dano causado ao seu animal domesticado.", - "lore1": "Dano aumentado" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Saúde Doméstica", - "description": "Aumente a saúde do seu animal domesticado.", - "lore1": "Saúde aumentada" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Regeneração Domada", - "description": "Aumente sua regeneração de animais domesticados.", - "lore1": "HP/s" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "Espinhos", - "description": "Reflita o dano de volta ao seu atacante!", - "lore1": "Danos retaliados quando atingidos" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Globo da dor", - "description": "Divide o dano que você causa com base no número de inimigos ao seu redor!", - "lore1": "Quanto mais inimigos ao seu redor, menos dano você causa a cada um deles", - "lore2": "Alcance:", - "lore3": "Dano adicionado a todas as entidades:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Vontade da Dor", - "description": "Recupere vida com base no dano causado!", - "lore1": "Prejudicar oss outros nunca foi tão bom! Cura com o dano causado", - "lore2": "Há uma janela de dano de 3 segundos, para cura e um cooldown de 1 segundo", - "lore3": "Cura por porcentagem de dano:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Lanças Cadáveres", - "description": "Matar um inimigo com ou sem habilidade gera uma lança que causa dano a um inimigo próximo!", - "lore1": "As lanças serão lançadas em qualquer coisa que você matar, mesmo se essa habilidade matar um inimico", - "lore2": "Sacrifique uma parte de sua vida para criar as lanças (isso pode te matar)", - "lore3": "Lanças Máximas: +1" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Canhão de vidro", - "description": "Dano desarmado bônus quanto menor for o valor da sua armadura", - "lore1": "x Dano com 0 de armadura", - "lore2": "Dano Bônus PerLevel" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Poder Desarmado", - "description": "Dano Desarmado Aprimorado", - "lore1": "Dano" - }, - "suckerpunch": { - "name": "Golaço", - "description": "Socos de corrida, mas mais mortais.", - "lore1": "Dano", - "lore2": "O dano aumenta com a sua velocidade enquanto soca" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/ru_RU.json b/src/main/resources/ru_RU.json index f56e1cb88..44932e16a 100644 --- a/src/main/resources/ru_RU.json +++ b/src/main/resources/ru_RU.json @@ -231,912 +231,1285 @@ "challenge_pickaxe_5m": { "title": "Легендарный шахтер", "description": "Сломайте 5 000 000 блоков" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "name": "Портключ Реликвария", - "usage1": "Shift + ЛКМ, чтобы забиндить", - "usage2": "ПКМ, чтобы получить доступ к привязанному инвентарю" - }, - "boundeyeofender": { - "name": "Зрительный Якорь", - "usage1": "Нажмите ПКМ, чтобы расходовать и and телепортироваться на привязанную локацию.", - "usage2": "Shift + ЛКМ, чтобы привязать блок" - }, - "boundredstonetorch": { - "name": "Дистанционный Редстоун", - "usage1": "ПКМ, чтобы создать 1-тиковый сигнал редстоуна", - "usage2": "Shift + ЛКМ по целевому блоку для привязки" - }, - "boundsnowball": { - "name": "Паутинная Ловушка!", - "usage1": "Бросьте для создания временной паутинной ловушки" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Уровень", - "knowledge": "Знание(й)", - "powerused": "энергии задействовано", - "notlearned": "Не изучено", - "xp": "XP для", - "welcome": "Добро пожаловать!", - "welcomeback": "С возвращением!", - "xpbonusfortime": "XP для", - "unlockthisbyclicking": "Разблокируйте с помощью ПКМ: ", - "back": "Назад", - "unlearnall": "Разучиться всему", - "unlearnedall": "Разучился всему" - }, - "adaptmenu": { - "maynotunlearn": "ВЫ НЕ СМОЖЕТЕ ЗАБЫТЬ", - "mayunlearn": "ВЫ МОЖЕТЕ НАУЧИТЬСЯ/РАЗУЧИТЬСЯ", - "knowledgecost": "Знаний требуется", - "knowledgeavailable": "Знаний доступно", - "alreadylearned": "Уже изучено", - "unlearnrefund": "Нажмите, чтобы отменить изучение и вернуть", - "norefunds": "ХАРДКОР, ВОЗВРАТ ОТКЛЮЧЕН", - "knowledge": "Знания", - "clicklearn": "Нажмите, чтобы изучить", - "noknowledge": "(У вас нет знаний)", - "youonlyhave": "У вас есть только", - "howtolevelup": "Повышайте уровень навыков, чтобы увеличить свою максимальную энергию.", - "notenoughpower": "Недостаточно энергии! Каждый уровень способности стоит 1 энергию.", - "power": "Энергия", - "powerdrain": "энергии требуется", - "learned": "Изучено ", - "unlearned": "Не изучено ", - "activatorblock": "Книжная полка" - }, - "knowledgeorb": { - "contains": "Содержит", - "knowledge": "знаний", - "rightclick": "Нажмите ПКМ", - "togainknowledge": "чтобы получить знания", - "knowledgeorb": "Сфера знаний" - }, - "experienceorb": { - "contains": "Содержит", - "xp": "XP", - "rightclick": "Правый клик", - "togainxp": "чтобы получить опыт", - "xporb": "Сфера опыта" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Ловкость", + "name": "Agility", "icon": "⇉", - "description": "Ловкость - это способность быстро передвигаться и легко избегать препятствий." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Архитектура", + "name": "Architect", "icon": "⬧", - "description": "Структуры - это строительные блоки мира. Мир в твоих руках, делай с ним, что хочешь." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Топоры", - "icon": "❖", - "description1": "Зачем рубить деревья, если вместо них можно рубить ", - "description2": "вещи, ведь получится", - "description3": "то же самое!" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Зельеварение", + "name": "Brewing", "icon": "❦", - "description": "Двойной пузырь, тройной пузырь, четверной пузырь — я все еще не могу положить это зелье в котел." + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Блокировка", - "icon": "▒", - "description": "Палки и камни костей не сломают, А щит сломает." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Ремесло", + "name": "Crafting", "icon": "⌂", - "description": "Когда больше не осталось ни одной детали, почему бы не сделать еще одну?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Исследование", + "name": "Discovery", "icon": "⚛", - "description": "По мере того, как расширяется ваше восприятие, ваш разум раскрывается, чтобы обнаружить то, чего вы не знали." + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Зачарование", + "name": "Enchanting", "icon": "♰", - "description": "О чем ты говоришь? Пророчества, видения, суеверная болтовня?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Раскопки", - "icon": "✥", - "description": "Копай, копай яму..." + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "Травничество", + "name": "Herbalism", "icon": "⚘", - "description": "Я не могу найти никаких растений, но я могу найти несколько семян и... это... Травка?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "Охота", + "name": "Hunter", "icon": "☠", - "description": "Охота - это путешествие, а не результат." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "Нижний мир", + "name": "Nether", "icon": "₪", - "description": "Из глубин самих Недр." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Кирки", + "name": "Pickaxe", "icon": "⛏", - "description": "Гномы - шахтеры, но я кое-чему научился в свое время. Я ШВЕД" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "Дальний бой", + "name": "Ranged", "icon": "🏹", - "description": "Дистанция - это ключ к победе и ключ к выживанию." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "Разломы", + "name": "Rift", "icon": "❍", - "description": "Вы обуздали пространство" + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "Дитя моря", - "icon": "🌊", - "description": "С помощью этого навыка вы можете творить чудеса с водой" + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "Скрытность", - "icon": "✠", - "description": "Искусство невидимого. Прогулка в тени." + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Мечи", + "name": "Swords", "icon": "⚔", - "description": "Силой ГрейСтоуна!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "Приручение", + "name": "Taming", "icon": "♥", - "description": "Попугаи и пчелы... и вы?" + "description": "The parrots and the bees... and you?" }, "tragoul": { - "name": "Трагичность", - "icon": "▼", - "description": "Все в твоих руках..." + "name": "TragOul", + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "Хронография", - "icon": "۞", - "description": "Заведите часы вселенной, ощутите поток. Разбейте часы, Станьте ими." + "name": "Chronos", + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "Без оружия", - "icon": "⚜", - "description": "Без оружия не значит без силы" + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Улучшение брони", - "description": "Чем дольше бежите, тем больше броня!", - "lore1": "к броне", - "lore2": "действие эффекта" - }, - "superjump": { - "name": "Супер прыжок", - "description": "Исключительное преимущество в высоте", - "lore1": "максимальная высота прыжка", - "lore2": "Shift + Пробел для супер прыжка!" - }, - "walljump": { - "name": "Прыжок от стены", - "description": "Удерживайте Shift, находясь в воздухе у стены, чтобы зацепиться за стену и прыгнуть!", - "lore1": "дополнительный прыжок", - "lore2": "к максимальной высоте прыжка" - }, - "windup": { - "name": "Сила ветра", - "description": "Чем дольше вы бежите, тем быстрее становитесь!", - "lore1": " к максимальной скорости", - "lore2": " действие эффекта" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "Основы магии", - "description": "Это позволяет вам создать под собой временную платформу, когда вы крадетесь!", - "lore1": "Вы можете создать до ", - "lore2": "блоков под собой" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Шёлковое стекло", - "description": "Позволяет вам существенно предотвратить потерю стеклянных блоков, когда вы ломаете их рукой!", - "lore1": "Ваши руки становятся шёлковыми" - }, - "wirelessredstone": { - "name": "Дистанционный Редстоун", - "description": "Это позволит вам переключать редстоун сигнал, дистанционно!", - "lore1": "Мишень + Редстоуновый факел + Эндер-жемчуг = 1 Дистанционный редстоун" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Жезл строителя", - "description": "Позволяет вам размещать несколько блоков одновременно. Чтобы активировать начните красться, и держите в руках тот же блок на который вы смотрите! Имейте в виду, что вам может понадобиться немного сдвинуться, чтобы все вместилось!", - "lore1": "Вам нужно", - "lore2": "блоков в руке, чтобы поставить", - "lore3": "Волшебная палочка для строителей" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Рубка топором", - "description": "Cрубайте моментально деревья, зажав ПКМ по бревну!", - "lore1": "блоков на один сруб", - "lore2": "время перезарядки", - "lore3": "износ инструмента" - }, - "logswap": { - "name": "Журнал-обменник Люси", - "description": "Измените вкус бревен на верстаке!", - "lore1": "8 бревен любого вида + 1 саженец = 8 бревен того же типа, что и саженец" - }, - "droptoinventory": { - "name": "Автосбор" - }, - "groundsmash": { - "name": "Удар топором", - "description": "Прыгните, присядьте в полете и ударьте, чтобы нанести урон по области", - "lore1": "урон", - "lore2": "радиус", - "lore3": "сила", - "lore4": "время перезарядки" - }, - "leafminer": { - "name": "Сборщик Листвы", - "description": "Позволяет ломать объемные листья сразу!", - "lore1": "Зажмите Shift и срубайте ЛИСТВУ (только с топором)", - "lore2": "диапазон добыча листьев", - "lore3": "Вы не получите капли с листьев (Предотвращение эксплойтов)" - }, - "woodminer": { - "name": "Копатель Древесины", - "description": "Позволяет ломать сразу много древесины!", - "lore1": "Крадясь, добывайте обтесанные и обычные бревна, но не доски", - "lore2": "диапазон добычи дерева", - "lore3": "Работает с автосбором" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "Стойкий запах", - "description": "Увеличивается время действия зелий", - "lore1": "продолжительность", - "lore2": "продолжительность" - }, - "superheated": { - "name": "Кипящее зелье", - "description": "Чем горячее варочная стойка, тем быстрее они работают", - "lore1": "рядом с огнем", - "lore2": "рядом с лавой" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "Тьма в бутылке", - "description": "Не знаю, зачем вам это нужно, но держите!", - "lore1": "Зелье ночного видения + Черный бетон = Зелье тьмы (30 секунд)", - "lore2": "Следует отметить, что это не позволяет игроку бегать!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "Спешка в бутылке", - "description": "Когда эффективности недостаточно", - "lore1": "Зелье скорости + Осколок аметиста = Зелье спешки (60 секунд)", - "lore2": "Зелье скорости + Осколок аметиста = Зелье спешки (60 секунд)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Поглощение в бутылке", - "description": "Закаляй тело!", - "lore1": "Зелье исцеления + Кварц = Зелье поглощения (60 секунд)", - "lore2": "Зелье исцеления + Кварцевый блок = Зелье поглощения II (30 секунд)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Усталость в бутылке", - "description": "Ослабь тело!", - "lore1": "Зелье слабости + Сгусток слизи = Зелье утомления (30 секунд)", - "lore2": "Зелье слабости + Блок слизи = Зелье утомления II (15 секунд)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Голод в бутылке", - "description": "Накорми ненасытных!", - "lore1": "Мутное зелье + Гнилая плоть = Зелье голода (30 секунд)", - "lore2": "Зелье слабости + Гнилая плоть = Зелье голода III (15 секунд)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "Тошнота в бутылке", - "description": "Меня от тебя тошнит!", - "lore1": "Мутное зелье + Коричневый гриб = Зелье тошноты (16 секунд)", - "lore2": "Мутное зелье + Багровый гриб = Зелье тошноты II (8 секунд)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Слепота в бутылке", - "description": "Ты ужасный человек...", - "lore1": "Мутное зелье + Чернильный мешок = Зелье слепоты (30 секунд)", - "lore2": "Мутное зелье + Светящийся чернильный мешок = Зелье слепоты II (15 секунд)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Сопротивление в бутылке", - "description": "Укрепление во всей красе!", - "lore1": "Мутное зелье + Железный слиток = Зелье сопротивления (60 секунд)", - "lore2": "Мутное зелье + Железный блок = Зелье сопротивления II (30 секунд)" - }, - "healthboost": { - "name": "Жизнь в бутылке", - "description": "Когда максимального здоровья недостаточно...", - "lore1": "Зелье исцеления + Золотое яблоко = Зелье здоровья (120 секунд)", - "lore2": "Зелье исцеления + Зачарованное золотое яблоко = Зелье здоровья II (120 секунд)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Распад в бутылке", - "description": "Кто бы мог подумать, что Детрит окажется таким полезным?", - "lore1": "Зелье слабости + Ядовитый картофель = Зелье увядания (16 секунд)", - "lore2": "Зелье слабости + Багровые корни = Зелье увядания-2 (8 секунд)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Насыщенность в бутылке", - "description": "Знаешь... Я даже не голоден...", - "lore1": "Зелье регенерации + Печеный картофель = Зелье насыщения (120 секунд)", - "lore2": "Зелье регенерации + Сноп сена = Зелье насыщения II (120 секунд)" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Цепи Мефистофеля", - "description": "Позволяет создавать кольчужную броню.", - "lore1": "Рецепт крафта такой же, как и любой другой, но вместо него используются железные самородки." - }, - "horsearmorer": { - "name": "Создаваемая конская броня", - "description": "Позволяет создавать доспехи для лошадей.", - "lore1": "Окружите седло материалом, который вы хотите использовать для изготовления доспехов." - }, - "saddlecrafter": { - "name": "Создаваемое седло", - "description": "Сделать седло из кожи", - "lore1": "Рецепт: 5 Кожи:" - }, - "multiarmor": { - "name": "Мультиброня", - "description": "Привязать элитры к доспехам", - "lore1": "Это удивительный навык для путешествий.", - "lore2": "динамически объединяйте и меняйте броню/элитры на лету!", - "lore3": "чтобы объединить, нажмите Shift и кликните на предмет над другим в вашем инвентаре.", - "lore4": "Чтобы отвязать броню, бросьте предмет с использованием клавиши Shift, и он будет разобран.", - "lore5": "Если ваша Мультиброня будет уничтожена, вы потеряете все находящиеся в ней предметы.", - "lore6": "Мне не нужна броня, она меня разочаровывает..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Деконструкция", - "description": "Разбирайте блоки и предметы на базовые компоненты!", - "lore1": "Поместите любой предмет + ножницы", - "lore2": "на Стол кузнеца, чтобы разобрать его" + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "Опыт за создание", - "description": "Получайте опыт при крафте", - "lore1": "Вы получайте опыт при крафте любого предмета" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Реконструкция руды", - "description": "Создавайте руды из их базовых компонентов!", - "lore1": "8 дропа руды и 1 источник = 1 руда (бесформенная)", - "lore2": "Дроп должен быть расплавлен (если возможно)", - "lore3": "Не включает: Лом, Кварц, Изумруд и т.д.", - "lore4": "Источник = Оболочка, тоесть: Камень, Адский камень, Глубинный сланец" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Кожа", - "description": "Изготовление кожи из гнилой плоти", - "lore1": "Просто положите Гнилую плоть на костер!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "Рюкзаки бутильера!", - "description": "Настоящие мешочки Mojang снова в игре!", - "lore1": "Вы должны быть в режиме выживания, чтобы скрафтить их", - "lore2": "XLX: Кожа, Поводок, Кожа", - "lore3": "XSX: Кожа, Бочка, Кожа", - "lore4": "XCX: Кожа, Сундук, Кожа" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Портативные столы!", - "description": "Портативный стол прямо под рукой!", - "lore2": "ЛЮБЫЕ ПРЕДМЕТЫ КОТОРЫЕ ВЫ ЗАБУДЕТЕ В СТОЛЕ ПРИ ЕГО ЗАКРЫТИИ, БУДУТ УТЕРЯНЫ НАВСЕГДА!", - "lore3": "Доступные столы: Наковальня, Верстак, Точило, Стол картографа, Камнерез, Ткацкий станок" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Изготовление черепов!", - "description": "Используя материалы, вы можете создавать черепа мобов!", - "lore1": "Окружите костяной блок следующими предметами, чтобы получить череп:", - "lore2": "Зомби: Гниющая плоть", - "lore3": "Скелет: Кость", - "lore4": "Крипер: Порох", - "lore5": "Иссушитель: Незерский кирпич", - "lore6": "Дракон: Дыхание дракона" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Бронник", - "description": "Пассивная броня в зависимости от твердости ближайшего блока", - "lore1": "Пассивная броня", - "lore2": "в зависимости от твердости ближайшего блока", - "lore3": "Броня" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Единение", - "description": "При сборе обычного опыта, появляется шанс получить опыт к случайным навыкам", - "lore1": "Опыта", - "lore2": "за сферу" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Экспериментальное сопротивление", - "description": "Используйте опыт, чтобы уменьшить урон, получаемый от всех источников\n", - "lore0": "Работает раз в 15 секунд", - "lore1": "% Уменьшения урона", - "lore2": "истощения опыта" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Деревенская прелесть", - "description": "Позволяет вам более выгодно торговать с жителями!", - "lore1": "Расходуется опыт при торге с жителями", - "lore2": "шанс за каждую торговлю потратить опыт и улучшить торговлю", - "lore3": "требуемый опыт за торговлю" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Кешбэк", - "description": "За 1 дополнительный XP, появляется шанс на 1 бесплатный лазурит", - "lore1": "За каждый уровень увеличивается стоимость зачарования на 1, но может вернуться до 3-х лазурита" - }, - "quickenchant": { - "name": "Быстрые чары", - "description": "Зачаровывайте предметы, используя книги зачарования", - "lore1": "максимальный комбинированный уровень", - "lore2": "Невозможно зачаровать предмет с более чем ", - "lore3": "силы" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "Ценный опыт", - "description": "Опыт зачарования возвращается вам, когда вы зачаровываете предмет", - "lore1": "Потраченный опыт имеет шанс быть возвращенным, когда вы зачаровываете предмет", - "lore2": "Опыт за зачарование" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Экскаватор", - "description": "Ускоряет добычу блоков, с помощью СПЕШКИ!", - "lore1": "Увеличение скорость копания", - "lore2": "x накладывает Спешку при копании любого блока" + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Спелеолог с суперзрением!", - "description": "Смотри на руды своими глазами, но сквозь землю!", - "lore1": "Ore in your offhand, Glowberries in your main hand, and Sneak!\nРуда во второй руке, светящиеся ягоды в основной и клавиша SHIFT!", - "lore2": "Дистанция в блоках: ", - "lore3": "Потребляет светящиеся ягоды при использовании" - }, - "droptoinventory": { - "name": "Автосбор" - }, - "omnitool": { - "name": "МУЛЬТИ - О.Р.У.Д.И.Е", - "description": "Снасть чрезмерно продуманного роскошного кожевенника", - "lore1": "Пожалуй, самый мощный из всех навыков, который позволяет", - "lore2": " раз(а) объединять и менять инструменты прямо на лету, исходя из ваших потребностей.", - "lore3": "Чтобы создать мультитул, зажмите Shift и объедините инструменты друг с другом (работает только в инвентаре).", - "lore4": "Чтобы разобрать мультитул, зажмите Shift, выбросите мультитул и он будет разобран.", - "lore5": "В этом состоянии нельзя сломать инструменты, также нельзя использовать сломанные инструменты", - "lore6": "общее количество объединяемых элементов", - "lore7": "вы можете использовать пять или шесть инструментов или только один!" + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { + "name": "OMNI - T.O.O.L.", + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Аура роста", - "description": "Выращивайте культуры, используя свою ауру", - "lore1": "радиус", - "lore2": "сила ауры", - "lore3": "потребление сытости" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Гиппопотам травника", - "description": "Потребление пищи дает вам больше насыщения", - "lore1": "Еда) дополнительные очки насыщения при потреблении" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Миконид травника", - "description": "Дает вам возможность создавать мицелий", - "lore1": "Из любой Земли и коричнево/красного гриба можно получить мицелий" + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Терралид травника", - "description": "Дает вам возможность создавать блоки травы", - "lore1": "3 Семечка + 3 Земли = 3 Дерна" + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Вебби Создатель", - "description": "Дает вам возможность создавать паутину на верстаке", - "lore1": "Девять нити создадут Паутину." - }, - "mushroomblocks": { - "name": "Грибник", - "description": "Дает вам возможность создавать блоки грибов на верстаке", - "lore1": "Из 4 гриба можно скрафтить блок гриба этого вида, а из блока гриба - стебель" - }, - "droptoinventory": { - "name": "Автосбор" - }, - "hungryshield": { - "name": "Голодный щит", - "description": "Конвертируйте входящий урон в голод", - "lore1": "сопротивление голоду" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "Удача травника", - "description": "Когда вы ломаете траву/цветы, у вас есть шанс получить случайный предмет", - "lore0": "Из цветов выпадает еда, а из травы - семена", - "lore1": "Шанс получить предмет из цветов", - "lore2": "Шанс получить предмет из травы" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Культиватор", - "description": "Нажмите ПКМ по культуре мотыгой, чтобы собрать урожай и пересадить его", - "lore1": " радиус пересадки" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "Адреналин", - "description": "Чем меньше у вас здоровья, тем выше урон (Ближний бой)", - "lore1": "максимальный урон" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "Вы получите отравление, если у вас закончится голод" - }, - "droptoinventory": { - "name": "Автосбор", - "description": "Когда вы убиваете кого-то или ломаете блок мечом, весь лут переносится в ваш инвентарь.", - "lore1": "Когда предмет выпадает из моба/блока, он попадает в ваш инвентарь, по возможности" + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Исчезающий шаг", - "description": "При ранении вы получаете невидимость ценой голода", - "lore1": "Пассивная невидимость при получении урона", - "lore2": "x невидимость увеличивается на 3 секунды при получении урона", - "lore3": "x множитель голода", - "lore4": "длительность множителя голода", - "lore5": "длительность невидимости" - }, - "jumpboost": { - "name": "Гибкость", - "description": "При ранении вы получаете прыгучесть ценой голода", - "lore1": "Пассивная прыгучесть при получении урона", - "lore2": "x прыгучесть увеличивается на 3 секунды при получении урона", - "lore3": "x множитель голода", - "lore4": "длительность множителя голода", - "lore5": "Прыгучесть увеличивается с множителем, а не продолжительности" + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "Удача", - "description": "При ранении вы получаете удачу ценой голода", - "lore1": "Пассивная удача при получении урона", - "lore2": "x удача увеличивается на 3 секунды при получении урона", - "lore3": "x множитель голода", - "lore4": "длительность множителя голода", - "lore5": "Удача увеличивается с множителем, а не с продолжительностью" + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Регенерация", - "description": "При ранении вы получаете регенерацию ценой голода", - "lore1": "Пассивная регенерация при получении урона", - "lore2": "x регенерация увеличивается на 3 секунды при получении урона", - "lore3": "x множитель голода", - "lore4": "длительность множителя голода", - "lore5": "Регенерация увеличивается с множителем, а не с продолжительностью" + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Сопротивление", - "description": "При ранении вы получаете сопротивление ценой голода", - "lore1": "Пассивное сопротивление при получении урона", - "lore2": "x сопротивление увеличивается на 3 секунды при получении урона", - "lore3": "x множитель голода", - "lore4": "длительность множителя голода", - "lore5": "Сопротивление увеличивается с множителем, а не с продолжительностью" + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Скорость", - "description": "При ранении вы получаете скорость ценой голода", - "lore1": "Пассивная скорость при получении урона", - "lore2": "x скорость увеличивается на 3 секунды при получении урона", - "lore3": "x множитель голода", - "lore4": "длительность множителя голода", - "lore5": "Скорость увеличивается с множителем, а не с продолжительностью" + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Сила", - "description": "При ранении вы получаете силу ценой голода", - "lore1": "Пассивная сила при получении урона", - "lore2": "x сила увеличивается на 3 секунды при получении урона", - "lore3": "x накопление голода", - "lore4": "Продолжительность и множитель голода", - "lore5": "Сила увеличивается с множителем, а не с продолжительностью" + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Бросок черепа", - "description1": "Дайте волю своему внутреннему увяданию, используя", - "description2": "чью-то", - "description3": "голову.", - "lore1": "секунд перезарядка между каждым броском черепа", - "lore2": "Чтобы использовать, бросьте", - "lore3": "череп-иссушителя", - "lore4": "Череп взрывается при столкновении." - }, - "witherresist": { - "name": "Сопротивление иссушению", - "description": "Незерит защищает от иссушения", - "lore1": " шанс развеять иссушение броней (за 1 незерит)", - "lore2": "Пассивный навык: Незеритовая броня дает шанс развеять", - "lore3": "эффект иссушения." - }, - "fireresist": { - "name": "Огнестойкость", - "description": "Противостоит огню, укрепляя кожу.", - "lore1": "шанс свести на нет эффект горения!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "Автоплавка", - "description": "Позволяет автоматически плавить стандартные руды", - "lore1": "Руды, которые могут быть выплавлены, выплавляются автоматически", - "lore2": "% шанс на выплавку" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "Резец", - "description": "Зажмите ПКМ по руде, чтобы добыть из неё больше кусочков руды, но это скажется на прочности инструмента", - "lore1": "шанс на выпадение", - "lore2": "износ инструмента" - }, - "droptoinventory": { - "name": "Автосбор", - "description": "Когда вы ломаете блок, он перемещается в ваш инвентарь", - "lore1": "Когда предмет падает со сломанного вами блока, он перемещается в ваш инвентарь, по возможности" - }, - "veinminer": { - "name": "Шахтер", - "description": "Позволяет разом добыть ВСЮ жилу из стандартных руд", - "lore1": "Присядьте, чтобы добыть руду", - "lore2": "диапазон добычи жилы", - "lore3": "Этот навык НЕ собирает весь дроп вместе!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Бумеранг", - "description": "Возвращает стрелы после убийства врага", - "lore1": "При попадании/убийстве стрела может вернуться", - "lore2": "Шанс: " - }, - "webshot": { - "name": "Паутинная Ловушка", - "description": "Окружите паутиной свою цель, когда вы попадете в нее!", - "lore1": "8 Паутины возле Снежка, а затем бросайте!", - "lore2": "секунд в клетке, приблизительно." - }, - "forceshot": { - "name": "Усиленный выстрел", - "description": "Стреляйте стрелами дальше и быстрее!", - "advancementname": "Длинный выстрел", - "advancementlore": "Выстрелите с расстояния более 30 блоков!", - "lore1": "cкорость стрелы" - }, - "lungeshot": { - "name": "Выстрел с выпадом", - "description": "Во время падения ваши стрелы отбрасывают вас в случайном направлении", - "lore1": "скорость отбрасывания" - }, - "arrowpiercing": { - "name": "Сквозной выстрел", - "description": "Стрела теперь может пробить мобов, насквозь!", - "lore1": "количество мишеней" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Удаленный доступ", - "description": "Вытащите из пустоты и заберите в помеченный контейнер.", - "lore1": "Эндер-жемчуг + Компас = Портативная Реликвария", - "lore2": "Этот предмет позволяет получить удаленный доступ к сундуку", - "lore3": "После крафта посмотрите на предмет, чтобы увидеть его использование", - "notcontainer": "Это не сундук" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Пространственный рывок", - "description": "Мгновенная телепортация на короткое расстояние!", - "lore1": "блоков за рывок (2x вертикально)", - "lore2": "Во время бега: прыгните два раза подряд, чтобы сделать ", - "lore3": "рывок" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Портативный Эндер-сундук", - "description": "Откройте эндер-сундук, щелкнув ЛКМ по нему в руке", - "lore1": "Нажмите на эндер-сундук в вашей руке, чтобы открыть его (только не ставьте его)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Антилевитация", - "description": "Вам надоело зависать в воздухе? Этот навык для вас!", - "lore1": "Нажмите SHFT, чтобы медленно спуститься!", - "lore2": "Перезарядка:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "Пространственные врата", - "description": "Телепортируйтесь в отмеченное место", - "lore1": "Изумруд + Осколок аметиста + Эндер-жемчуг", - "lore2": "Внимание!", - "lore3": "В течение 5 секунд, ", - "lore4": "вы можете умереть, находясь в анимации!" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "Межпространственный щит", - "description": "Дает Сопротивление при использовании предметов и способностей Края", - "lore1": "Пассивный навык: дает сопротивление при использовании способностей или предметов Края", - "lore2": "(кроме эндер-сундука)." + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Жабры", - "description": "Удерживайте больше кислорода в своих маленьких легких!", - "lore1": "Увеличение вместимости кислорода" - }, - "fishersfantasy": { - "name": "Мечта рыбака", - "description": "Зарабатывайте больше XP от рыбалки и ловите больше рыбы!", - "lore1": "С каждым уровнем увеличивается шанс получить больше опыта и рыбы" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "Шахтер-водолаз", - "description": "При добыче под водой вы получаете спешку!", - "lore1": "Спешка III применяется под водой во время добычи (суммируется с Подводником) после того, как у вас закончится кислород" - }, - "nightvision": { - "name": "Зрение водолаза", - "description": "Под водой вы получаете ночное видение", - "lore1": "Вы получаете ночное видение под водой после того, как у вас закончится кислород" - }, - "dolphingrace": { - "name": "Грация дельфина", - "description": "Плавайте как дельфин, но без дельфинов", - "lore1": "Пассивный навык: прирост ", - "lore2": "x скорости", - "lore3": "(грация дельфина)" + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Призрачная броня", - "description": "Пасивное увеличение брони, когда вы не получаете урон, работает после первого удара", - "lore1": "к максимальной броне", - "lore2": "скорость" - }, - "nightvision": { - "name": "Скрытое зрение", - "description": "Вы получаете ночное зрение в приседе", - "lore1": "Получите ", - "lore2": "ночное зрение", - "lore3": "во время подкрадывания" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Воровство", - "description": "Мгновенно собирайте выброшенные предметы, крадясь!", - "lore1": "радиус кражи" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Походка ниндзя", - "description": "Ваша скорость увеличивается в приседе", - "lore1": " скорость подкрадывания" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "Мачете", - "description": "С легкостью срезайте листву!", - "lore1": "радиус", - "lore2": "перезарядка", - "lore3": "износ инструмента" - }, - "bloodyblade": { - "name": "Кровавый клинок", - "description": "Удары мечом вызывают кровотечение!", - "lore1": "Удары мечом по сущности вызывают кровотечение", - "lore2": "длительность кровотечения", - "lore3": "перезарядка способности" - }, - "poisonedblade": { - "name": "Отравленный клинок", - "description": "Удары мечом вызывают отравление!", - "lore1": "Удары мечом по сущности - отравляют её", - "lore2": "длительность отравления", - "lore3": "перезарядка способности" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Когти", - "description": "Увеличивает урон у питомцев", - "lore1": "повышение урона" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Бонус к здоровью", - "description": "Увеличивает здоровье у питомцев", - "lore1": "увеличение здоровья" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Регенерация питомца", - "description": "Увеличивает регенерацию у питомцев", - "lore1": "здоровье в сек" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "Шипы", - "description": "Отражайте урон обратно нападающему!", - "lore1": "урон, наносимый при отражении" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Сфера боли", - "description": "Разделите наносимый вами урон в зависимости от количества врагов вокруг вас!", - "lore1": "Чем больше врагов вокруг вас, тем меньше урона вы наносите каждому из них", - "lore2": "Дальность: ", - "lore3": "Добавлен урон всем существам: " + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Желание боли", - "description": "Восстанавливайте здоровье в зависимости от нанесенного вами урона!", - "lore1": "Причинять вред вещам еще никогда не было так приятно! Исцеление от нанесенного урона", - "lore2": "Существует 3-секундное окно получения урона для исцеления и 1-секундная перезарядка ", - "lore3": "Исцеление от урона в процентах: " + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Копья для трупов", - "description": "Убийство врага или способностью его убить создаёт копье, наносящее урон ближайшему врагу!", - "lore1": "Копья будут выискиваться из всего, что вы убьете, И если эта способность убьет врага.", - "lore2": "Пожертвуйте частью своего здоровья, чтобы создать копья (вы можете умереть)", - "lore3": "Максимум копий: 1 + " + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Стеклянная пушка", - "description": "Увеличивает урон в зависимости от прочности брони", - "lore1": "урон при 0 прочности брони", - "lore2": "увеличенный урон за каждый уровень" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Сила безоружного", - "description": "Увеличивает урон, наносимый без оружия", - "lore1": " урон" - }, - "suckerpunch": { - "name": "Удар исподтишка", - "description": "Скоростные удары, но более смертоносные", - "lore1": "урона", - "lore2": "Урон увеличивается с ростом вашей скорости атаки" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/tr_TR.json b/src/main/resources/tr_TR.json index cfab241a5..bb2e46a17 100644 --- a/src/main/resources/tr_TR.json +++ b/src/main/resources/tr_TR.json @@ -231,912 +231,1285 @@ "challenge_pickaxe_5m": { "title": "Efsanevi Madenci", "description": "5.000.000 Blok Kır" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "name": "Emanet Anahtarı", - "usage1": "Bağlamak için Shift + Sol Tıklama", - "usage2": "Bağlı Envantere erişmek için Sağ Tıklayın" - }, - "boundeyeofender": { - "name": "Oküler Çapa", - "usage1": "Tüketmek ve bağlı konuma ışınlanmak için Sağ Tıklayın", - "usage2": "Bir bloğa bağlamak için Shift + Sol Tıklama" - }, - "boundredstonetorch": { - "name": "Redstone Uzaktan", - "usage1": "1-Tick Redstone darbesi oluşturmak için Sağ Tıklayın", - "usage2": "Bağlamak için bir 'Hedef' Blok üzerinde Shift + Sol Tıklama" - }, - "boundsnowball": { - "name": "Web Tuzağı!", - "usage1": "Konumda geçici bir ağ tuzağı oluşturmak için atın" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Seviye", - "knowledge": "Bilgi", - "powerused": "Kullanılan Güç", - "notlearned": "Öğrenilmedi", - "xp": "XP'ye", - "welcome": "Hoş geldin!", - "welcomeback": "Tekrar hoşgeldiniz!", - "xpbonusfortime": "XP için", - "unlockthisbyclicking": "Sağ Tıklayarak bunun kilidini açın:", - "back": "Geri", - "unlearnall": "Tüm öğrenmeyi geri al", - "unlearnedall": "hepsi öğrenilmemiş" - }, - "adaptmenu": { - "maynotunlearn": "ÖĞRENMEYECEKSİNİZ", - "mayunlearn": "ÖĞRENEBİLİRSİNİZ/ÖĞRENEBİLİRSİNİZ", - "knowledgecost": "Bilgi Maliyeti", - "knowledgeavailable": "Mevcut Bilgi", - "alreadylearned": "Zaten Öğrenildi", - "unlearnrefund": "Öğrenimi Geri Almak ve Geri Ödemek İçin Tıklayın", - "norefunds": "HARDCORE, GERİ ÖDEME ENGELLİ", - "knowledge": "Bilgi", - "clicklearn": "Öğrenmek için tıklayın", - "noknowledge": "(Hiç bilginiz yok)", - "youonlyhave": "sadece sahipsin", - "howtolevelup": "Maksimum gücünüzü artırmak için becerilerinizi yükseltin.", - "notenoughpower": "Yetersiz güç! Her Yetenek Seviyesi 1 güce mal olur.", - "power": "Güç", - "powerdrain": "Güç Tahliyesi", - "learned": "Öğrendi", - "unlearned": "bilgisiz", - "activatorblock": "Kitaplık" - }, - "knowledgeorb": { - "contains": "içerir", - "knowledge": "Bilgi", - "rightclick": "Sağ tık", - "togainknowledge": "bu bilgiyi kazanmak için", - "knowledgeorb": "Bilgi Küresi" - }, - "experienceorb": { - "contains": "içerir", - "xp": "Deneyim", - "rightclick": "Sağ tık", - "togainxp": "bu deneyimi kazanmak için", - "xporb": "Deneyim Küresi" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Çeviklik", + "name": "Agility", "icon": "⇉", - "description": "Çeviklik, engeller karşısında hızlı ve akıcı hareket etme yeteneğidir." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Mimar", + "name": "Architect", "icon": "⬧", - "description": "Yapılar dünyanın yapı taşlarıdır. Gerçeklik sizin elinizde, kontrol etmek sizin elinizde." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "eksenler", - "icon": "❖", - "description1": "Kesmek varken neden ağaçları keselim?", - "description2": "şeyler", - "description3": "bunun yerine, aynı sonuç!" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "demleme", + "name": "Brewing", "icon": "❦", - "description": "Double Bubble, Triple Bubble, Quadruple Bubble - Bu iksiri hala bir kazana koyamıyorum" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Engelleme", - "icon": "▒", - "description": "Sopalar ve taşlar kemiklerini kırmaz, Ama kalkan kırar." + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Üretmek", + "name": "Crafting", "icon": "⌂", - "description": "Yerleştirilecek parça kalmadı, neden bir tane daha yapmıyorsunuz?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "keşif", + "name": "Discovery", "icon": "⚛", - "description": "Algınız genişledikçe, zihniniz keşfetmediğinizi keşfetmek için çözülür." + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "Büyüleyici", + "name": "Enchanting", "icon": "♰", - "description": "Ne yapacaksın? Kehanetler, vizyonlar, batıl inançlı gevezelik mi?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "kazı", - "icon": "✥", - "description": "Diggey Diggey deliği..." + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "bitkicilik", + "name": "Herbalism", "icon": "⚘", - "description": "Bitki bulamıyorum, ama biraz tohum bulabiliyorum ve- bu... Ot mu?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "avcı", + "name": "Hunter", "icon": "☠", - "description": "Avcılık, sonuçla değil yolculukla ilgilidir." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "Hollanda", + "name": "Nether", "icon": "₪", - "description": "Nether'in derinliklerinden." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Kazma", + "name": "Pickaxe", "icon": "⛏", - "description": "Cüceler madencilerdir, ama benim zamanımda bir iki şey öğrendim. BEN İSVİÇRELİYİM" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "menzilli", + "name": "Ranged", "icon": "🏹", - "description": "Mesafe zaferin anahtarıdır ve hayatta kalmanın anahtarıdır." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "yarık", + "name": "Rift", "icon": "❍", - "description": "Vadi, yakıcı bir koşum takımıdır, ancak siz koşum takımını kullanmışsınızdır." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "deniz yoluyla taşınan", - "icon": "🌊", - "description": "Bu beceri ile suyun harikalarını keşfedebilirsiniz." + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "gizli", - "icon": "✠", - "description": "Görünmeyen sanat. Gölgelerde yürü." + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Kılıçlar", + "name": "Swords", "icon": "⚔", - "description": "GreyStone'un gücü adına!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "evcilleştirme", + "name": "Taming", "icon": "♥", - "description": "Papağanlar ve arılar... ve sen?" + "description": "The parrots and the bees... and you?" }, "tragoul": { "name": "TragOul", - "icon": "▼", - "description": "Kainatın damarlarında kan akar. Ellerin tarafından daraltılmış." + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "kronolar", - "icon": "۞", - "description": "Evrenin Saatini kurun, akışı deneyimleyin. Saati kır, ol." + "name": "Chronos", + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "silahsız", - "icon": "⚜", - "description": "Silahsız güç olmaz" + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Zırhlı", - "description": "Ne kadar uzun süre koşarsan o kadar çok zırh al!", - "lore1": "Maksimum Zırh", - "lore2": "Zırhlanma Süresi" - }, - "superjump": { - "name": "Süper Zıplama", - "description": "Olağanüstü Yükseklik Avantajı", - "lore1": "Maksimum Atlama Yüksekliği", - "lore2": "Gizlice + Süper Atlamaya Atla!" - }, - "walljump": { - "name": "Duvar atlama", - "description": "Bir duvardan duvara mandalla havada havadayken vitesi basılı tutun ve zıplayın!", - "lore1": "Maksimum Sıçrama", - "lore2": "Atlama yüksekliği" - }, - "windup": { - "name": "Kurma", - "description": "Ne kadar uzun koşarsan o kadar hızlı ol!", - "lore1": "Max hız", - "lore2": "Kurma Süresi" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "Sihirli Fondöten", - "description": "Bu, gizlice altınıza geçici bir temel oluşturmanıza izin verir!", - "lore1": "Sihirli bir şekilde oluşturun:", - "lore2": "Altınızda bloklar!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "İpek Dokunuşlu Cam", - "description": "Bu, boş elinizle kırdığınızda cam blokların kaybolmasını esasen önlemenizi sağlar!", - "lore1": "Elleriniz Glass için ipeksi bir dokunuş kazanıyor" - }, - "wirelessredstone": { - "name": "Redstone Uzaktan", - "description": "Bu, redstone'u uzaktan değiştirmek için bir redstone meşalesi kullanmanıza izin verir!", - "lore1": "Target + Redstone Torch + Enderperal = 1 Redstone Remote" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "inşaatçılar değnek", - "description": "Sneak'i etkinleştirmek için aynı anda birden fazla blok yerleştirmenize ve görünen blok ve yerinize uygun bir blok tutmanıza izin verir! Kutuları sınırlamayı tetiklemek için biraz hareket etmeniz gerekebileceğini unutmayın!", - "lore1": "ihtiyacın var", - "lore2": "Bunu yerleştirmek için elinizde bloklar", - "lore3": "Malzeme Oluşturucu Değneği" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "balta doğrama", - "description": "Taban günlüğüne sağ tıklayarak ağaçları kesin!", - "lore1": "Doğrama Başına Bloklar", - "lore2": "Doğrama Bekleme Süresi", - "lore3": "Takım Aşınması" - }, - "logswap": { - "name": "Lucy'nin Günlük Değiştiricisi", - "description": "Bir Üretim Tablosunda kütüklerin lezzetini değiştirin!", - "lore1": "1 adet her çeşit kütük + 1 adet fidan = 1 adet fidan tipi kütük" - }, - "droptoinventory": { - "name": "Balta Envantere Düşürme" - }, - "groundsmash": { - "name": "Balta Yer Ezmesi", - "description": "Zıplayın, ardından çömelin ve yakındaki tüm düşmanları parçalayın.", - "lore1": "Zarar", - "lore2": "Blok Yarıçapı", - "lore3": "Kuvvet", - "lore4": "Smash Cooldown" - }, - "leafminer": { - "name": "Yaprak Madenci", - "description": "Toplu yaprakları bir kerede kırmanıza izin verir!", - "lore1": "Gizlice ve benim YAPRAKLAR", - "lore2": "yaprak madenciliği aralığı", - "lore3": "Yapraklardan damla alamayacaksınız (Sömürü Önleme)" - }, - "woodminer": { - "name": "Odun madenci", - "description": "Toplu ahşabı bir kerede kırmanıza izin verir!", - "lore1": "Gizlice ilerleyin ve AHŞAP/KÜTÜKLER (Kalkalar Değil) madenciliği yapın", - "lore2": "Odun madenciliği yelpazesi", - "lore3": "Envantere bırak ile çalışır" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "kalıcı bira", - "description": "Demlenmiş iksirler daha uzun süre dayanır!", - "lore1": "Süre", - "lore2": "Süre" - }, - "superheated": { - "name": "Süper Isıtılmış Demleme", - "description": "Bira stantları ne kadar sıcaksa o kadar hızlı çalışır.", - "lore1": "Ateş Bloğuna Dokunma Başına", - "lore2": "Lav Bloğuna Dokunma Başına" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "şişelenmiş karanlık", - "description": "Buna neden ihtiyacın olduğundan emin değilim, ama işte başlıyorsun!", - "lore1": "NightVision İksiri + Siyah Beton = Karanlığın İksiri (30 saniye)", - "lore2": "Unutulmamalıdır ki Bu, kullanıcının Sprint yapmasını engeller!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "şişelenmiş acele", - "description": "Verimlilik yeterli olmadığında", - "lore1": "Hız İksiri + Ametist Parçası = Acele İksiri (60 saniye)", - "lore2": "Hız İksiri + Ametist Blok = Acele İksiri-2 (30 saniye)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "şişelenmiş Absorpsiyon", - "description": "Vücudu sertleştirin!", - "lore1": "Anında İyileşme + Kuvars = Emilim İksiri (60 saniye)", - "lore2": "Anında İyileşme + Kuvars Blok = Emilim İksiri-2 (30 saniye)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "şişelenmiş yorgunluk", - "description": "Vücudu zayıflatın!", - "lore1": "Zayıflık İksiri + Balçık Top = Yorgunluk İksiri (30 saniye)", - "lore2": "Zayıflık İksiri + Balçık Bloğu = Yorgunluk İksiri-2 (15 saniye)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "şişelenmiş açlık", - "description": "Doyumsuzları besleyin!", - "lore1": "Garip İksir + Çürük Et = Açlık İksiri (30 saniye)", - "lore2": "Zayıflık İksiri + Çürük Et = Açlık İksiri-3 (15 saniye)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "şişelenmiş mide bulantısı", - "description": "Korkunç bir insansın...", - "lore1": "Garip İksir + Kahverengi Mantar = Bulantı İksiri (16 saniye)", - "lore2": "Garip İksir + Kızıl Mantar = Bulantı İksiri-2 (8 saniye)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Şişe Körlüğü", - "description": "Korkunç bir insansın...", - "lore1": "Garip İksir + Mürekkep torbası = Körlük İksiri (30 saniye)", - "lore2": "Garip İksir + Parlayan Mürekkep Torbası = Körlük İksiri-2 (15 saniye)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "şişelenmiş Direnç", - "description": "En iyi şekilde güçlendirme!", - "lore1": "Garip İksir + Demir Külçe = Direnç İksiri (60 saniye)", - "lore2": "Garip İksir + Demir Blok = Direnç İksiri-2 (30 saniye)" - }, - "healthboost": { - "name": "Şişe Ömrü", - "description": "Maksimum sağlık yeterli olmadığında...", - "lore1": "Anında İyileştirme İksiri + Altın Elma = Sağlık Artışı İksiri (120 saniye)", - "lore2": "Anında İyileştirme İksiri + Büyülü Altın Elma = Sağlık Artışı İksiri-2 (120 saniye)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "şişelenmiş çürüme", - "description": "Detritus'un bu kadar faydalı olacağını kim bilebilirdi?", - "lore1": "Zayıflık İksiri + Zehirli Patates = Solma İksiri (16 saniye)", - "lore2": "Zayıflık İksiri + Kızıl Kökler = Solma İksiri-2 (8 saniye)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Şişelenmiş Doygunluk", - "description": "Biliyor musun... Aç bile değilim...", - "lore1": "Yenilenme İksiri + Fırında Patates = Doygunluk İksiri (120 saniye)", - "lore2": "Yenilenme İksiri + Saman Balyası = Doygunluk İksiri (120 saniye)" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Mephistopheles Zincirleri", - "description": "Chainmail Armor üretmenize izin verir", - "lore1": "Crafting tarifi diğerleriyle aynıdır, ancak bunun yerine demir külçeler vardır." - }, - "horsearmorer": { - "name": "Üretilebilir At Zırhı", - "description": "At Zırhı üretmenizi sağlar", - "lore1": "Zırh yapmak için kullanmak istediğiniz malzemeyle bir eyeri kuşatın" - }, - "saddlecrafter": { - "name": "İşlenebilir Eyer", - "description": "Deri ile Eyer Yap", - "lore1": "Tarif: 5 Deri:" - }, - "multiarmor": { - "name": "Çoklu Zırh", - "description": "Elytras'ı Zırhla Bağlayın", - "lore1": "Bu seyahat etmek için harika bir beceridir.", - "lore2": "Zırh/Elytra on the Fly dinamik olarak birleştirin ve değiştirin!", - "lore3": "birleştirmek için envanterinizdeki bir öğeyi diğerinin üzerine tıklayın.", - "lore4": "Zırhı çözmek için, öğeyi Gizlice Bırakın ve parçalanacaktır.", - "lore5": "MultiArmor'unuz yok edilirse, içindeki tüm öğeleri kaybedersiniz.", - "lore6": "Zırha ihtiyacım yok, beni hayal kırıklığına uğratıyor..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Yapısöküm", - "description": "Blokları ve öğeleri kurtarılabilir temel bileşenlere dönüştürün!", - "lore1": "Herhangi bir öğe + makas yerleştirin", - "lore2": "parçalamak için bir demircilik masasında." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "XP işçiliği", - "description": "Üretirken pasif XP kazanın", - "lore1": "Üretirken XP kazanın" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Cevher Yeniden İnşası", - "description": "Cevherleri temel bileşenlerinden yeniden üretin!", - "lore1": "Damlaların 8'i ve 1 Ana Bilgisayar = 1 Cevher (şekilsiz)", - "lore2": "Damlalar eritilmelidir (varsa)", - "lore3": "Şunlar dahil değil: Hurdalar, Quarts ve Zümrütler vb...", - "lore4": "Ana bilgisayar = Muhafaza. yani: Stone, Netherack, Deepslate" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "İşlenebilir Deri", - "description": "Çürük Etten El İşi Deri", - "lore1": "Sadece onu (çürük eti) kamp ateşine at!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "Bir Boutilier'in Sırt Çantaları!", - "description": "Bu sadece Mojang Paketini oyuna getiriyor!", - "lore1": "Bunu kullanmak için Survival'da olmanız gerekir", - "lore2": "XLX : Deri, Kurşun, Deri", - "lore3": "XSX : Deri, Shulker Kutusu, Deri", - "lore4": "XCX : Deri, Göğüs, Deri" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Portatif Masalar!", - "description": "Avucunuzun içinde bir masa kullanın!", - "lore2": "KAPALI OLDUĞUNDA MASA İÇİNDE UNUTTUĞUNUZ EŞYALAR SONSUZA KADAR KAYBOLUR!", - "lore3": "Geçerli tablolar: Örs, Crafting, Grindstone, Haritacılık, Stone-Cutter, Loom" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "İşlenebilir kafatasları!", - "description": "Materyalleri kullanarak Mob Kafatasları Yapabilirsiniz!", - "lore1": "Bir kafatası elde etmek için bir Bone Block'u aşağıdakilerle çevreleyin:", - "lore2": "Zombi: Çürüyen Et", - "lore3": "İskelet: Kemik", - "lore4": "Creeper: Barut", - "lore5": "Wither: Cehennem Tuğlası", - "lore6": "Ejderha: Ejderhaların Nefesi" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Dünya Zırhı", - "description": "Yakındaki blok sertliğine bağlı olarak pasif zırh.", - "lore1": "Pasif Zırh", - "lore2": "Yakındaki blok sertliğine göre", - "lore3": "Zırh Gücü: +" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Deneysel Birlik", - "description": "Deneyim Küreleri toplamak, rastgele becerilere XP ekler.", - "lore1": "DP", - "lore2": "Küre Başına" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Deneysel Direnç", - "description": "Tüm kaynaklardan aldığınız hasarı azaltmak için deneyim tüketin\n", - "lore0": "Bu yalnızca 15 saniyede bir gerçekleşebilir", - "lore1": "% Azaltılmış Hasar", - "lore2": "deneyim tükenmiş" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Köylü Cazibesi", - "description": "Köylülerle daha iyi ticaret yapmanızı sağlar!", - "lore1": "Bu, Köylülerle etkileşim başına XP tüketir", - "lore2": "XP tüketmek ve takasları geliştirmek için etkileşim Başına Şans", - "lore3": "Etkileşim başına gerekli XP boşaltma" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Lapis Dönüşü", - "description": "1 XP seviyesi daha pahasına ve karşılığında size bedava lapis verme şansı var", - "lore1": "Her seviye için, efsunlama maliyetini 1 arttırır, ancak 3 Lapis'in üzerine geri dönebilir." - }, - "quickenchant": { - "name": "Hızlı Tıkla Büyü", - "description": "Öğeleri doğrudan üzerlerindeki efsunlu kitaplara tıklayarak büyüleyin.", - "lore1": "Maksimum Birleştirilmiş Düzeyler", - "lore2": "Birden fazla öğe ile büyü yapılamaz", - "lore3": "güç" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "DP Dönüşü", - "description": "Bir öğeyi büyülediğinizde, Büyüleyici XP size iade edilir.", - "lore1": "Bir öğeyi büyülediğinizde harcanan deneyimin iade edilme şansı vardır.", - "lore2": "Büyü Başına Deneyim" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "aceleci ekskavatör", - "description": "Bu, HASTE ile kazı sürecini hızlandıracak!", - "lore1": "Kazı yaparken Haste kazanın", - "lore2": "x HERHANGİ bir blok madenciliği yapmaya başladığınızda acele etme seviyeleri." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Süper Gören Spelunker!", - "description": "Cevherleri kendi gözlerinle gör, ama yerden!", - "lore1": "Elinizde maden cevheri, asıl elinizde Glowberry ve Sneak!", - "lore2": "Blok Aralığı:", - "lore3": "Kullanıldığında Glowberry tüketir" - }, - "droptoinventory": { - "name": "Envantere Kürek" - }, - "omnitool": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { "name": "OMNI - T.O.O.L.", - "description": "Tackle'ın aşırı tasarlanmış gösterişli Leatherman'i", - "lore1": "Muhtemelen birçoğunun en güçlüsü,", - "lore2": "İhtiyaçlarınıza göre araçları anında dinamik olarak birleştirin ve değiştirin.", - "lore3": "birleştirmek için envanterinizdeki bir öğeyi diğerinin üzerine tıklayın.", - "lore4": "araçları çözmek için, öğeyi Gizlice Bırakın ve parçalanacaktır.", - "lore5": "Bu dericide aletleri kıramazsın ama kırık aletleri kullanamazsın", - "lore6": "toplam birleştirilebilen öğeler", - "lore7": "beş veya altı araç veya sadece bir araç kullanabilirsiniz!" + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Büyüme Aurası", - "description": "Bir aura içinde çevrenizdeki doğayı büyütün", - "lore1": "Blok Yarıçapı", - "lore2": "Büyüme Aura Gücü", - "lore3": "Gıda Maliyeti" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Herbalist'in Su Aygırı", - "description": "Yiyecek tüketmek, size daha fazla doygunluk sağlar", - "lore1": "Gıda) tüketimde ek doygunluk noktaları" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Bitki Uzmanı Myconid", - "description": "Size Miselyum yapma yeteneği verir", - "lore1": "Herhangi bir Kir ve bir Kahverengi ve Kırmızı Mantar, Miselyum üretecektir." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Herbalist'in Terralid'i", - "description": "Size Çim Blokları yapma yeteneği verir", - "lore1": "3 Dirt üzerinde Three Seeds, 3 Grass Block üretecek." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Webbi Oluşturucu", - "description": "Bir Üretim Masasında Örümcek Ağı yapma yeteneği verir", - "lore1": "Nine String, bir Örümcek Ağı yapacak." - }, - "mushroomblocks": { - "name": "mantar makinesi", - "description": "Bir Üretim Masasında Mantar Blokları yapma yeteneği verir", - "lore1": "Bir blok yapmak için dört Mantar veya bir gövde yapmak için bir blok." - }, - "droptoinventory": { - "name": "Envantere Çapa Bırakma" - }, - "hungryshield": { - "name": "Aç Kalkan", - "description": "Sağlığınızdan önce açlığınıza zarar verin.", - "lore1": "Açlığa direndi" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "Herbalist'in Şansı", - "description": "Çim/Çiçek kırdığınızda, rastgele bir eşya alma şansınız olur.", - "lore0": "Çiçekler = Yiyecek ve Çim = Tohumlar", - "lore1": "Çiçek kırarak eşya kazanma şansı", - "lore2": "Grass kırılarak bir eşya elde etme şansı" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Hasat ve Tekrar Dikim", - "description": "Hasat etmek ve yeniden dikmek için çapa ile bir mahsulü sağ tıklayın.", - "lore1": "Replant Yarıçapını Bloklar" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "adrenalin", - "description": "Canınız azaldıkça daha fazla hasar verin (Yakın dövüş)", - "lore1": "Maksimum Hasar" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "Açlığınız biterse Zehir yığınları kazanacaksınız" - }, - "droptoinventory": { - "name": "Envantere Düşen Öğeler", - "description": "Bir şeyi öldürdüğünüzde / Bir blok kırdığınızda bir kılıçla damlaları envanterinize ışınlar", - "lore1": "Ne zaman bir mafyadan/bloktan bir eşya düşürülürse, kırılabilirse envanterinize girer." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Kaybolan Adım", - "description": "Vurulduğunda, açlık pahasına görünmezlik kazanırsın", - "lore1": "Vurulduğunda pasif görünmezlik kazan", - "lore2": "x Görünmezlik isabet halinde 3 saniye boyunca birikir", - "lore3": "x İstifleme açlığı", - "lore4": "Açlık yığınları süresi ve çarpanı.", - "lore5": "Görünmezlik süresi" - }, - "jumpboost": { - "name": "Avcı Tepeleri", - "description": "Vurulduğunuzda, açlık pahasına zıplama desteği kazanırsınız.", - "lore1": "Vurulduğunda pasif atlama desteği kazanın", - "lore2": "Vuruşta 3 saniye boyunca x Zıplama Artışı yükleri", - "lore3": "x İstifleme açlığı", - "lore4": "Açlık yığınları süresi ve çarpanı.", - "lore5": "Jump-Boost, süreyi değil, yığın çarpanını artırır." + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "Avcı Şansı", - "description": "Vurulduğunda şans kazanırsın, açlık pahasına", - "lore1": "Vurulduğunda pasif şans kazan", - "lore2": "x Şans, isabet halinde 3 saniye boyunca birikir", - "lore3": "x İstifleme açlığı", - "lore4": "Açlık yığınları süresi ve çarpanı.", - "lore5": "Şans, süreyi değil, çarpanı biriktirir." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "avcı yenilenmesi", - "description": "Vurulduğun zaman, açlık pahasına yenilenme kazanırsın", - "lore1": "Vurulduğunda pasif yenilenme kazanın", - "lore2": "x Yenileme, isabet halinde 3 saniye boyunca istiflenir", - "lore3": "x İstifleme açlığı", - "lore4": "Açlık yığınları süresi ve çarpanı.", - "lore5": "Yenilenme yığınları çarpanı, süreyi değil." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Avcının Direnişi", - "description": "Vurulduğun zaman açlık pahasına direniş kazanırsın", - "lore1": "Vurulduğunda pasif direnç kazan", - "lore2": "x Direnç, isabet halinde 3 saniye boyunca birikir", - "lore3": "x İstifleme açlığı", - "lore4": "Açlık yığınları süresi ve çarpanı.", - "lore5": "Direnç, süreyi değil, çarpanı yığınlar." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Avcının Hızı", - "description": "Vurulduğunda hız kazanırsın, açlık pahasına", - "lore1": "Vurulduğunda pasif hız kazan", - "lore2": "x Hız, isabet halinde 3 saniye boyunca birikir", - "lore3": "x İstifleme açlığı", - "lore4": "Açlık yığınları süresi ve çarpanı.", - "lore5": "Hız yığınları çarpanı, süre değil." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Avcının Gücü", - "description": "Vurulduğun zaman, açlık pahasına güç kazanırsın", - "lore1": "Vurulduğunda pasif güç kazan", - "lore2": "x Vuruşta 3 saniye boyunca Güç birikir", - "lore3": "x İstifleme açlığı", - "lore4": "Açlık yığınları süresi ve çarpanı.", - "lore5": "Güç yığınları çarpanı, süreyi değil." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Wither Kafatası Fırlatma", - "description1": "kullanarak içinizdeki Solgunluğu açığa çıkarın.", - "description2": "birisi", - "description3": "kafa.", - "lore1": "Kafatası atışları arasında saniyeler süren bekleme süresi.", - "lore2": "Wither Skull'u Kullanma: Bir", - "lore3": "solmuş kafatası", - "lore4": "çarpma anında patlıyor." - }, - "witherresist": { - "name": "Solma Direnci", - "description": "Netherite'nin gücüyle solmaya karşı direnir.", - "lore1": "solmayı engelleme şansı (parça başına).", - "lore2": "Pasif: Netherite Zırhı giymek, olumsuzlama şansına sahiptir.", - "lore3": "soluyor." - }, - "fireresist": { - "name": "Yangın Dayanımı", - "description": "Cildinizi sertleştirerek yangına karşı dayanıklıdır.", - "lore1": "yanma etkisini ortadan kaldırma şansı!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "oto kokusu", - "description": "Mayınlı Vanilya cevherlerini eritmenizi sağlar", - "lore1": "Eritilebilen cevherler otomatik olarak eritilir", - "lore2": "% ekstra şans" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "cevher keski", - "description": "Cevherlerden daha fazla cevher çıkarmak için Sağ Tıkla Cevherler, ciddi bir dayanıklılık maliyetiyle.", - "lore1": "Düşme Şansı", - "lore2": "Takım Aşınması" - }, - "droptoinventory": { - "name": "Envantere Düşen Kazma", - "description": "Bir bloğu kırdığınızda, öğeyi envanterinize ışınlar.", - "lore1": "Bir bloktan bir eşya düştüğünde, kırarsanız envanterinize girer." - }, - "veinminer": { - "name": "damar madenci", - "description": "Vanilya cevheri Damarında/Kümesinde blokları kırmanıza izin verir", - "lore1": "Gizlice ve maden cevherleri", - "lore2": "damar madenciliği aralığı", - "lore3": "Bu beceri, tüm damlaları bir arada gruplandırmaz!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Ok Kurtarma", - "description": "Bir düşmanı öldürdükten sonra Okları kurtarın.", - "lore1": "Vurma/Öldürmede Okları Kurtarma Şansı", - "lore2": "Şans:" - }, - "webshot": { - "name": "Web Tuzağı", - "description": "Vurduğunuzda hedefinizin etrafını örümcek ağlarıyla çevirin!", - "lore1": "Bir Kartopunun etrafında 8 Örümcek Ağı ve fırlat!", - "lore2": "kabaca bir kafesin saniyeleri." - }, - "forceshot": { - "name": "Zorla Atış", - "description": "Mermileri daha uzağa, daha hızlı vurun!", - "advancementname": "Uzun atış", - "advancementlore": "30 blok öteden bir atış yapın!", - "lore1": "mermi hızı" - }, - "lungeshot": { - "name": "hamle atış", - "description": "Oklarınız düşerken sizi rastgele bir yöne fırlatır", - "lore1": "Rastgele Patlama Hızı" - }, - "arrowpiercing": { - "name": "ok delici", - "description": "Mermilere Piercing ekler! Şeylerin arasından ateş edin!", - "lore1": "Delme Hedefleri" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Uzaktan erişim", - "description": "Boşluktan çekin ve işaretli bir kaba alın.", - "lore1": "Enderpearl + Pusula = Reliquary Portkey", - "lore2": "Bu öğe, kapsayıcılara uzaktan erişmenizi sağlar", - "lore3": "Hazırlandıktan sonra kullanımı görmek için öğeye bakın", - "notcontainer": "Bu bir konteyner değil" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Yarık Yanıp Sönme", - "description": "Kısa menzilli anında ışınlanma, Sadece bir göz açıp kapayıncaya kadar!", - "lore1": "Yanıp sönen bloklar (2x Dikey)", - "lore2": "Sprint Yaparken: Şuraya Git'e iki kez dokunun", - "lore3": "Göz kırpmak" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Kolay Enderchest", - "description": "Elinizde sol tıklayarak bir enderchest açın.", - "lore1": "Açmak için elinizdeki Enderchest'e tıklayın (Yalnızca yerleştirmeyin)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Anti-Havuz", - "description": "Havada kalmaktan bıktınız mı? Bu sizin için beceri!", - "lore1": "Sadece inmek için gizlice ilerleyin ve normalden daha düşük bir oranda düşeceksiniz!", - "lore2": "Sakin ol:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "yarık kapısı", - "description": "İşaretli bir yere ışınlan.", - "lore1": "İŞLEM: Zümrüt + Ametist parçası + Ender İnci", - "lore2": "Kullanmadan önce okuyun!", - "lore3": "5 sn gecikme,", - "lore4": "bu animasyondayken ölebilirsin" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "Yarık Direnci", - "description": "Ender Eşyaları ve Yeteneklerini kullanırken Direnç kazanın", - "lore1": "+ Pasif: Rift yeteneklerini veya Ender Öğelerini kullandığınızda direnç sağlar", - "lore2": "Portable Enderchest DAHİL DEĞİLDİR, yalnızca tüketebileceğiniz şeyler" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Organik Oksijen Tankı", - "description": "Minik ciğerlerinizde daha fazla oksijen tutun!", - "lore1": "Oksijen Kapasite Artışı" - }, - "fishersfantasy": { - "name": "Fisher'ın Fantezi", - "description": "balıkçılıktan daha fazla XP kazanın ve daha fazla balık alın!", - "lore1": "Her seviye için daha fazla XP ve Balık kazanma şansı var!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "kaplumbağa madenci", - "description": "Su altında madencilik yaparken acele edersiniz!", - "lore1": "Haste 3, su soluma etkiniz geçtikten sonra madencilik yaparken (AquaAffinity ile istiflenirken) su altında uygulanır!" - }, - "nightvision": { - "name": "Kaplumbağa Vizyonu", - "description": "Su altındayken Gece Görüşü kazanırsınız", - "lore1": "Su soluma etkiniz geçtikten sonra su altındayken Gece Görüşü kazanın!" - }, - "dolphingrace": { - "name": "yunus lütfu", - "description": "Yunuslar olmadan bir yunus gibi yüzün", - "lore1": "+ Pasif: kazanç", - "lore2": "x hız (yunuslar zarafet)", - "lore3": "hassas alman mühendisi-bekle bu doğru değil..." + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Hayaletin Zırhı", - "description": "Hasar almadığında zırh oluşturmayı yavaşlatır, 1 vuruş sürer", - "lore1": "Maksimum Zırh", - "lore2": "Hız" - }, - "nightvision": { - "name": "Gizli Vizyon", - "description": "Gizlice girerken gece görüşü kazanın", - "lore1": "Bir patlama kazanın", - "lore2": "gece görüşü", - "lore3": "gizlice girerken" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Eşya Yakalama", - "description": "Gizlice düşerken anında Düşen eşyaları kap!", - "lore1": "Yakalama Yarıçapı" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Gizli Hız", - "description": "Gizlice girerken hız kazanın", - "lore1": "sinsi hız" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "pala", - "description": "Yaprakları kolayca kesin!", - "lore1": "Yarıçap Yarıçapı", - "lore2": "Doğrama Bekleme Süresi", - "lore3": "Takım Aşınması" - }, - "bloodyblade": { - "name": "kanlı bıçak", - "description": "Kılıcınla vurur, Kanamaya neden olur!", - "lore1": "Kılıcınızla Canlı bir varlığa vurmak Kanamalara Neden Olur", - "lore2": "Kanama Süresi", - "lore3": "Kanama Bekleme Süresi" - }, - "poisonedblade": { - "name": "zehirli bıçak", - "description": "Kılıcınla vurur, Zehire neden olur!", - "lore1": "Kılıcınızla Canlı bir varlığa vurmak Zehire neden olur", - "lore2": "Zehir Süresi", - "lore3": "Zehir Soğuma Süresi" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Tame Hasar", - "description": "Verdiğiniz evcil hayvan hasarını artırın.", - "lore1": "Hasar artışı" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Tame Sağlık", - "description": "Evcilleştirilmiş hayvan sağlığınızı artırın.", - "lore1": "Geliştirilmiş sağlık" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Tame Yenileme", - "description": "Evcilleştirilmiş hayvan yenilenmenizi artırın.", - "lore1": "HP/s" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "dikenler", - "description": "Hasarı saldırganınıza geri yansıtın!", - "lore1": "Vurulduğunda misilleme verilen hasar" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Ağrı Küresi", - "description": "Verdiğiniz Hasarı çevrenizdeki düşman sayısına göre bölün!", - "lore1": "Etrafınızda ne kadar çok düşman varsa, her birine o kadar az hasar verirsiniz.", - "lore2": "Menzil:", - "lore3": "Tüm Varlıklara Hasar Eklendi:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Acı İradesi", - "description": "Verdiğiniz hasara göre sağlığınızı geri kazanın!", - "lore1": "Bir şeylere zarar vermek hiç bu kadar iyi hissettirmemişti! Verilen Hasardan İyileşme", - "lore2": "İyileştirme için 3 Saniyelik bir hasar penceresi ve 1 Saniyelik bekleme süresi vardır", - "lore3": "Hasar Başına İyileştirme Yüzdesi:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Ceset Mızrakları", - "description": "Bir düşmanı öldürmek veya bir düşmanı öldürme yeteneğine sahip olmak, yakındaki bir düşmana hasar veren bir mızrak oluşturur!", - "lore1": "Mızraklar, öldürdüğünüz her şeyden VE Bu yetenek bir düşmanı öldürürse Arayacak.", - "lore2": "Mızrakları yaratmak için hayatınızın bir kısmını feda edin (bu sizi öldürebilir)", - "lore3": "Maksimum Mızrak: 1 +" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Cam Top", - "description": "Bonus Silahsız Hasar, zırh değeriniz ne kadar düşükse", - "lore1": "x 0 zırhta hasar", - "lore2": "PerLevel Bonus Hasarı" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Silahsız Güç", - "description": "Geliştirilmiş Silahsız Hasar", - "lore1": "Zarar" - }, - "suckerpunch": { + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { "name": "Sucker Punch", - "description": "Sprint yumruklar, ama daha ölümcül.", - "lore1": "Zarar", - "lore2": "Zımbalarken hızınızla birlikte hasar artar" + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/vi_VI.json b/src/main/resources/vi_VI.json index 459e63e64..80b5c8dac 100644 --- a/src/main/resources/vi_VI.json +++ b/src/main/resources/vi_VI.json @@ -262,941 +262,1254 @@ } }, "items": { - "boundenderperal": { - "name": "Khóa cổng thánh tích", - "usage1": "Shift + Nhấp chuột trái để liên kết", - "usage2": "Nhấp chuột phải để truy cập Khoảng không quảng cáo bị ràng buộc" - }, - "boundeyeofender": { - "name": "Neo mắt", - "usage1": "Nhấp chuột phải để tiêu thụ và dịch chuyển đến vị trí bị ràng buộc", - "usage2": "Shift + Nhấp chuột trái để liên kết với một khối" - }, - "boundredstonetorch": { - "name": "Điều khiển từ xa bằng đá đỏ", - "usage1": "Nhấp chuột phải để tạo xung Redstone 1-Tick", - "usage2": "Shift + Nhấp chuột trái vào Khối 'Mục tiêu' để liên kết" - }, - "boundsnowball": { - "name": "Bẫy web!", - "usage1": "Ném để tạo bẫy web tạm thời tại vị trí" - }, - "elevatorblock": { - "name": "Khối Thang Máy", - "usage1": "Nhảy để dịch chuyển lên", - "usage2": "Ngồi để dịch chuyển xuống", - "usage3": "Tối thiểu cách 2 block trống giữa các thang máy" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "Mức độ", - "knowledge": "kiến thức", - "powerused": "Nguồn điện sử dụng", - "notlearned": "Chưa học", - "xp": "XP tới", - "welcome": "Chào mừng!", - "welcomeback": "Chào mừng trở lại!", - "xpbonusfortime": "XP cho", - "maxabilitypower": "Sức mạnh khả năng đã đạt tối đa", - "unlockthisbyclicking": "Mở khóa cái này bằng cách nhấp chuột phải:", - "back": "Mặt sau", - "unlearnall": "Học tất cả", - "unlearnedall": "Chưa học hết" - }, - "adaptmenu": { - "maynotunlearn": "BẠN CÓ THỂ KHÔNG HỌC", - "mayunlearn": "BẠN CÓ THỂ HỌC/KHÔNG HỌC", - "knowledgecost": "Chi phí kiến ​​thức", - "knowledgeavailable": "Kiến thức có sẵn", - "alreadylearned": "Đã học", - "unlearnrefund": "Bấm để học và hoàn tiền", - "norefunds": "HARDCORE, HOÀN TIỀN BỊ TẮT", - "knowledge": "kiến thức", - "clicklearn": "Bấm để tìm hiểu", - "noknowledge": "(Bạn chưa có Kiến thức)", - "youonlyhave": "Bạn chỉ có", - "howtolevelup": "Tăng cấp kỹ năng để tăng sức mạnh tối đa của bạn.", - "notenoughpower": "Không đủ sức mạnh! Mỗi cấp độ khả năng tốn 1 sức mạnh.", - "power": "quyền lực", - "powerdrain": "Xả điện", - "learned": "Đã học", - "unlearned": "Chưa học", - "activatorblock": "Giá sách" - }, - "knowledgeorb": { - "contains": "chứa", - "knowledge": "kiến thức", - "rightclick": "Click chuột phải", - "togainknowledge": "để có được kiến ​​thức này", - "knowledgeorb": "Quả cầu tri thức" - }, - "experienceorb": { - "contains": "chứa", - "xp": "Kinh nghiệm", - "rightclick": "Click chuột phải", - "togainxp": "để có được kinh nghiệm này", - "xporb": "Quả cầu kinh nghiệm" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "Nhanh nhẹn", + "name": "Agility", "icon": "⇉", - "description": "Nhanh nhẹn là khả năng di chuyển nhanh chóng và trôi chảy khi đối mặt với chướng ngại vật." + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "Kiến trúc sư", + "name": "Architect", "icon": "⬧", - "description": "Các cấu trúc là những khối xây dựng của thế giới. Thực tế nằm trong tay bạn, bạn có thể kiểm soát." + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "Trục", + "name": "Axes", "icon": "🪓", - "description1": "Tại sao phải chặt cây khi bạn có thể chặt cây", - "description2": "đồ đạc", - "description3": "thay vào đó, kết quả cuối cùng tương tự!" + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "Sản xuất bia", + "name": "Brewing", "icon": "❦", - "description": "Bong bóng đôi, bong bóng ba, bong bóng bốn lần- Tôi vẫn không thể đặt lọ thuốc này vào vạc" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "Chặn", + "name": "Blocking", "icon": "🛡", - "description": "Gậy và đá Sẽ không làm gãy xương bạn, Nhưng một tấm khiên sẽ làm được." + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "Chế tạo", + "name": "Crafting", "icon": "⌂", - "description": "Không còn mảnh nào để đặt nữa, tại sao không làm một mảnh khác?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "Khám phá", + "name": "Discovery", "icon": "⚛", - "description": "Khi nhận thức của bạn được mở rộng, tâm trí của bạn sẽ mở rộng hơn để khám phá ra điều mà bạn chưa từng khám phá." + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "mê hoặc", + "name": "Enchanting", "icon": "♰", - "description": "Bạn đang làm gì đó? Những lời tiên tri, những khải tượng, những lời nói lắp bắp mê tín?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "Khai Quật", + "name": "Excavation", "icon": "ᛳ", - "description": "Đào đào cái hố..." + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "thảo dược học", + "name": "Herbalism", "icon": "⚘", - "description": "Tôi không thể tìm thấy bất kỳ loại cây nào, nhưng tôi có thể tìm thấy một số hạt giống và- đó có phải là... Weed không?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "thợ săn", + "name": "Hunter", "icon": "☠", - "description": "Săn bắn là về cuộc hành trình chứ không phải là kết quả." + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "địa ngục", + "name": "Nether", "icon": "₪", - "description": "Từ sâu thẳm của Nether." + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "Cuốc chim", + "name": "Pickaxe", "icon": "⛏", - "description": "Người lùn là thợ mỏ, nhưng tôi đã học được một hoặc hai điều trong thời gian của mình. TÔI LÀ NGƯỜI THỤY ĐIỂN" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "tầm xa", + "name": "Ranged", "icon": "🏹", - "description": "Khoảng cách là chìa khóa của chiến thắng và là chìa khóa của sự sống còn." + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "Rạn nứt", + "name": "Rift", "icon": "❍", - "description": "Rift là một dây nịt ăn mòn, nhưng bạn đã khai thác được dây nịt đó." + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "Người biển", + "name": "Seaborne", "icon": "🎣", - "description": "Với kỹ năng này, bạn có thể khám phá được những điều kỳ diệu của nước." + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "tàng hình", + "name": "Stealth", "icon": "☯", - "description": "Nghệ thuật của cái không thể nhìn thấy. Đi trong bóng tối." + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "Kiếm", + "name": "Swords", "icon": "⚔", - "description": "Bằng sức mạnh của GreyStone!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "thuần hóa", + "name": "Taming", "icon": "♥", - "description": "Những con vẹt và những con ong... còn bạn?" + "description": "The parrots and the bees... and you?" }, "tragoul": { "name": "TragOul", "icon": "🗡", - "description": "Máu chảy trong huyết quản của vũ trụ. Bị siết chặt bởi bàn tay của bạn." + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "Thời gian", + "name": "Chronos", "icon": "⏳", - "description": "Vặn đồng hồ của vũ trụ, trải nghiệm dòng chảy. Đập vỡ đồng hồ, trở thành nó." + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "không có vũ khí", + "name": "Unarmed", "icon": "»", - "description": "Không có vũ khí không phải là không có sức mạnh." + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "Tăng giáp", - "description": "Nhận được nhiều áo giáp hơn khi bạn chạy nước rút lâu hơn!", - "lore1": "Giáp tối đa", - "lore2": "Thời gian tăng giáp" - }, - "superjump": { - "name": "Nhảy cao", - "description": "Lợi thế chiều cao đặc biệt", - "lore1": "Chiều cao nhảy tối đa", - "lore2": "Lẻn + Nhảy để siêu nhảy!" - }, - "walljump": { - "name": "Nhảy tường", - "description": "Giữ phím shift khi đang ở giữa không trung dựa vào tường để chốt tường và nhảy!", - "lore1": "Số lần nhảy tối đa", - "lore2": "Nhảy cao" - }, - "windup": { - "name": "Lên dây cót", - "description": "Hãy nhanh hơn khi bạn chạy nước rút lâu hơn!", - "lore1": "Tốc độ tối đa", - "lore2": "Thời gian kết thúc" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { "elevator": { - "name": "Thang máy", - "description": "Cái này cho phép bạn xây dựng một cái thang máy để dịch chuyển tức thời theo chiều dọc một cách nhanh chóng!", - "lore1": "Mở khóa công thức thang máy: X=WOOL, Y=ENDER PEARL", - "lore2": "XXX", - "lore3": "XYX", - "lore4": "XXX" + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] }, "foundation": { - "name": "Tổ chức ma thuật", - "description": "Điều này cho phép bạn lẻn và đặt một nền móng tạm thời bên dưới bạn!", - "lore1": "Tạo một cách kỳ diệu:", - "lore2": "Khối bên dưới bạn!" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "Kính cảm ứng lụa", - "description": "Điều này về cơ bản cho phép bạn ngăn chặn việc mất các khối thủy tinh khi bạn làm vỡ chúng bằng tay không!", - "lore1": "Bàn tay của bạn có được cảm giác chạm lụa cho Glass" - }, - "wirelessredstone": { - "name": "Điều khiển đá đỏ từ xa", - "description": "Cho phép bạn sử dụng đuốc đá đỏ để bật đá đỏ từ xa !", - "lore1": "Mục tiêu + Đuốc Redstone + Enderpearl = 1 Điều khiển từ xa bằng đá đỏ" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "Cây đũa phép xây dựng", - "description": "Cho phép bạn đặt nhiều khối cùng một lúc để kích hoạt Lén lút và giữ một khối phù hợp với khối và vị trí tìm kiếm của bạn! Hãy nhớ rằng, bạn có thể cần phải di chuyển một chút để kích hoạt giới hạn các hộp!", - "lore1": "Bạn cần", - "lore2": "khối trong tay của bạn để đặt cái này", - "lore3": "Cây đũa phép xây dựng vật liệu" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "Chặt rìu", - "description": "Chặt cây bằng cách nhấp chuột phải vào khúc gỗ cơ sở!", - "lore1": "Khối mỗi Chop", - "lore2": "Thời gian hồi chiêu của Chặt", - "lore3": "Dụng cụ mài mòn" - }, - "logswap": { - "name": "Máy hoán đổi nhật ký của Lucy", - "description": "Thay đổi hương vị của các khúc gỗ trong Bảng chế tạo!", - "lore1": "8 khúc cây bất kỳ + 1 cây non = 8 khúc cây giống" - }, - "droptoinventory": { - "name": "Axe thả vào kho" - }, - "groundsmash": { - "name": "Cú đập đất bằng rìu", - "description": "Nhảy, sau đó cúi xuống và đập tan tất cả kẻ thù ở gần.", - "lore1": "Hư hại", - "lore2": "Bán kính khối", - "lore3": "Lực lượng", - "lore4": "Đập tan thời gian hồi chiêu" - }, - "leafminer": { - "name": "thợ mỏ lá", - "description": "Cho phép bạn bẻ lá số lượng lớn cùng một lúc!", - "lore1": "Lén lút và của tôi LÁ", - "lore2": "phạm vi khai thác lá", - "lore3": "Bạn sẽ không nhận được giọt từ lá (Phòng chống khai thác)" - }, - "woodminer": { - "name": "Thợ khai thác gỗ", - "description": "Cho phép bạn phá vỡ gỗ số lượng lớn cùng một lúc!", - "lore1": "Lén lút và khai thác GỖ/Gỗ (Không phải ván)", - "lore2": "phạm vi khai thác gỗ", - "lore3": "Hoạt động với Thả vào kho" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "bia còn sót lại", - "description": "Thuốc ủ có tác dụng lâu hơn!", - "lore1": "Khoảng thời gian", - "lore2": "Khoảng thời gian" - }, - "superheated": { - "name": "Bia siêu nóng", - "description": "Quầy sản xuất bia hoạt động nhanh hơn khi chúng nóng hơn.", - "lore1": "Mỗi lần chạm vào khối lửa", - "lore2": "Mỗi lần chạm vào khối dung nham" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "bóng tối đóng chai", - "description": "Không chắc chắn tại sao bạn cần điều này, nhưng bạn bắt đầu nhé!", - "lore1": "Thuốc nhìn đêm + Bê tông đen = Thuốc bóng tối (30 giây)", - "lore2": "Cần lưu ý rằng Điều này ngăn cản người dùng chạy nước rút!" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "Sự vội vàng đóng chai", - "description": "Khi hiệu quả là không đủ", - "lore1": "Thuốc tăng tốc + Mảnh thạch anh tím = Thuốc tăng tốc (60 giây)", - "lore2": "Thuốc tăng tốc + Khối thạch anh tím = Thuốc tăng tốc-2 (30 giây)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "Hấp thụ đóng chai", - "description": "Làm cứng cơ thể!", - "lore1": "Hồi máu tức thì + Thạch anh = Thuốc hấp thụ (60 giây)", - "lore2": "Hồi máu tức thì + Khối thạch anh = Thuốc hấp thụ-2 (30 giây)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "Mệt mỏi đóng chai", - "description": "Làm cơ thể suy yếu!", - "lore1": "Thuốc Điểm yếu + Bóng Slime = Thuốc Mệt mỏi (30 giây)", - "lore2": "Thuốc Điểm yếu + Khối Chất nhờn = Thuốc Mệt mỏi-2 (15 giây)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "Đói đóng chai", - "description": "Thức ăn vô độ!", - "lore1": "Thuốc vụng về + Thịt thối = Thuốc đói (30 giây)", - "lore2": "Thuốc Điểm Yếu + Thịt Thối = Thuốc Đói-3 (15 giây)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "Buồn nôn đóng chai", - "description": "Bạn làm tôi phát ốm!", - "lore1": "Thuốc vụng về + Nấm nâu = Thuốc buồn nôn (16 giây)", - "lore2": "Thuốc vụng về + Nấm đỏ = Thuốc buồn nôn-2 (8 giây)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "Mù đóng chai", - "description": "Bạn là một người khủng khiếp...", - "lore1": "Thuốc vụng về + Bao mực = Thuốc mù (30 giây)", - "lore2": "Thuốc vụng về + Bao mực phát sáng = Thuốc mù-2 (15 giây)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "Kháng đóng chai", - "description": "Sự củng cố tốt nhất của nó!", - "lore1": "Thuốc vụng về + Thỏi sắt = Thuốc kháng thuốc (60 giây)", - "lore2": "Thuốc vụng về + Khối sắt = Thuốc kháng chiến-2 (30 giây)" - }, - "healthboost": { - "name": "Cuộc sống đóng chai", - "description": "Khi sức khỏe tối đa là không đủ...", - "lore1": "Thuốc chữa bệnh tức thì + Táo vàng = Thuốc tăng cường sức khỏe (120 giây)", - "lore2": "Thuốc chữa bệnh tức thì + Táo vàng mê hoặc = Thuốc tăng cường sức khỏe-2 (120 giây)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "Phân rã đóng chai", - "description": "Ai biết Detritus sẽ hữu ích như vậy?", - "lore1": "Thuốc yếu đuối + Khoai tây độc = Thuốc héo (16 giây)", - "lore2": "Thuốc yếu đuối + Rễ cây đỏ thẫm = Thuốc khô héo-2 (8 giây)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "Độ bão hòa đóng chai", - "description": "Bạn biết đấy... Tôi thậm chí còn không đói...", - "lore1": "Thuốc Regen + Khoai tây nướng = Thuốc bão hòa", - "lore2": "Thuốc Regen + Hay Bale = Thuốc bão hòa-2" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "Chuỗi Mephistopheles", - "description": "Cho phép bạn chế tạo Áo giáp Chainmail", - "lore1": "Công thức Chế tạo cũng giống như các công thức khác nhưng thay vào đó là cốm sắt" - }, - "horsearmorer": { - "name": "Áo giáp ngựa có thể chế tạo", - "description": "Cho phép bạn chế tạo Giáp Ngựa", - "lore1": "Bao quanh yên ngựa bằng vật liệu bạn muốn sử dụng để chế tạo áo giáp" - }, - "saddlecrafter": { - "name": "Yên xe có thể chế tạo được", - "description": "Chế tạo yên xe bằng da", - "lore1": "Công thức: 5 Da:" - }, - "multiarmor": { - "name": "Đa giáp", - "description": "Trói Elytra vào áo giáp", - "lore1": "Đây là một kỹ năng tuyệt vời để đi lại.", - "lore2": "Tự động kết hợp và thay thế Armor/Elytra khi cần sử dụng!", - "lore3": "Để kết hợp, hãy bấm shift + click vào vật phẩm vào slot khác trong túi đồ của bạn.", - "lore4": "Để tháo Giáp, hãy ngồi và bấm vào vật phẩm rồi nó sẽ tự động tháo rời.", - "lore5": "Nếu MultiArmor của bạn bị phá hủy, bạn sẽ mất tất cả vật phẩm trong đó.", - "lore6": "Tôi không cần áo giáp, Nó làm tôi thất vọng..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "Giải thể.", - "description": "Giải thể các khối và vật phẩm thành các thành phần cơ bản !", - "lore1": "Thả bất kỳ vật phẩm nào xuống đất.", - "lore2": "Sau đó bấm ngồi và chuột phải khi đang cầm Kéo." + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "Chế tạo XP", - "description": "Nhận XP thụ động khi chế tạo", - "lore1": "Nhận XP khi chế tạo" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "Tái thiết quặng", - "description": "Chế tạo lại quặng từ các thành phần cơ bản của chúng!", - "lore1": "8 Giọt và 1 Vật chủ = 1 Quặng (không có hình dạng)", - "lore2": "Giọt phải được nấu chảy (nếu có)", - "lore3": "Không bao gồm: Phế liệu, Quart, và Ngọc lục bảo, v.v...", - "lore4": "Máy chủ = Bao bọc. tức là: Đá, Netherack, Deepslate" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "Da thủ công", - "description": "Da thủ công từ thịt thối", - "lore1": "Chỉ cần ném nó (thịt thối) vào lửa trại!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "Ba lô của Boutilier!", - "description": "Điều này chỉ mang Gói Mojang vào trò chơi!", - "lore1": "Bạn cần phải ở chế độ Survival để sử dụng tính năng này", - "lore2": "XLX : Da, Chì, Da", - "lore3": "XSX : Da, Hộp thùng, Da", - "lore4": "XCX : Da, Ngực, Da" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "Bàn di động!", - "description": "Sử dụng một bảng trong lòng bàn tay của bạn!", - "lore2": "MỌI MÓN MÀ BẠN BỎ TRONG BẢNG KHI ĐÓNG ĐÓNG LÀ MẤT MÃI MÃI!", - "lore3": "Các bảng hợp lệ: Đe, Chế tạo, Đá mài, Bản đồ, Máy cắt đá, Máy dệt" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "Hộp sọ có thể chế tạo được!", - "description": "Sử dụng Vật liệu bạn có thể Chế tạo Đầu lâu Mob!", - "lore1": "Bao quanh Khối xương bằng những thứ sau để có được hộp sọ:", - "lore2": "Zombie: Thịt thối rữa", - "lore3": "Bộ xương: Xương", - "lore4": "Cây leo: Thuốc súng", - "lore5": "Héo: Gạch Nether", - "lore6": "Rồng: Hơi thở của rồng" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "Giáp thế giới", - "description": "Áo giáp thụ động tùy thuộc vào độ cứng của khối gần đó.", - "lore1": "Giáp thụ động", - "lore2": "Dựa trên độ cứng khối gần đó", - "lore3": "Sức mạnh giáp:" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "Đoàn kết thực nghiệm", - "description": "Thu thập Quả cầu Kinh nghiệm sẽ thêm XP vào các kỹ năng ngẫu nhiên.", - "lore1": "XP", - "lore2": "mỗi quả cầu" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "Sức đề kháng thực nghiệm", - "description": "Tiêu thụ kinh nghiệm để giảm thiểu thiệt hại bạn nhận từ mọi nguồn", - "lore0": "Điều này chỉ có thể xảy ra một lần trong 15 giây", - "lore1": " Giảm sát thương", - "lore2": "kinh nghiệm cạn kiệt" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "Thu hút dân làng", - "description": "Cho phép bạn giao dịch tốt hơn với dân làng!", - "lore1": "Điều này tiêu tốn XP cho mỗi lần tương tác với Dân làng", - "lore2": "Cơ hội cho mỗi lần tương tác để tiêu thụ XP và nâng cao giao dịch", - "lore3": "yêu cầu tiêu hao XP cho mỗi Tương tác" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "Lapis trở lại", - "description": "Với chi phí là tăng thêm 1 cấp XP và đổi lại bạn có cơ hội nhận được lapis miễn phí", - "lore1": "Đối với mọi cấp độ, nó tăng chi phí mê hoặc thêm 1, nhưng có thể trả lại tối đa 3 Lapis" - }, - "quickenchant": { - "name": "Bùa mê nhấp chuột nhanh", - "description": "Bùa mê các vật phẩm bằng cách nhấp vào sách bùa mê trực tiếp trên chúng.", - "lore1": "Cấp độ kết hợp tối đa", - "lore2": "Không thể phù phép một vật phẩm có nhiều hơn", - "lore3": "quyền lực" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "Trả lại XP", - "description": "XP mê hoặc được trả lại cho bạn khi bạn mê hoặc một vật phẩm.", - "lore1": "Kinh nghiệm đã sử dụng có cơ hội được hoàn lại khi bạn phù phép một vật phẩm", - "lore2": "Kinh nghiệm mỗi Enchant" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "Máy xúc vội vàng", - "description": "Điều này sẽ đẩy nhanh quá trình khai quật, với HASTE!", - "lore1": "Đạt được sự vội vàng trong khi khai quật", - "lore2": "x Mức độ vội vàng khi bạn bắt đầu khai thác BẤT KỲ khối nào." + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "Người chơi trò chơi siêu nhìn thấy!", - "description": "Nhìn thấy quặng bằng mắt nhưng qua mặt đất!", - "lore1": "Quặng trong tay trái của bạn, Glowberry trong tay chính của bạn và Sneak!", - "lore2": "Phạm vi khối:", - "lore3": "Tiêu thụ Glowberry khi sử dụng" - }, - "droptoinventory": { - "name": "Xẻng thả vào kho" - }, - "omnitool": { - "name": "D.Ụ.N.G C.Ụ TOÀN NĂNG", - "description": "Dụng cụ toàn năng mà Tackle đã thiết kế quá tay", - "lore1": "Có lẽ là mạnh nhất sẽ cho phép bạn", - "lore2": "tự động hợp nhất và thay đổi các công cụ một cách nhanh chóng, dựa trên nhu cầu của bạn.", - "lore3": "Để kết hợp, hãy nhấp chuột vào vật phẩm trong túi đồ của bạn.", - "lore4": "Để tháo công cụ, hãy bấm ngồi và quăng vật phẩm rồi nó sẽ tự động tháo rời.", - "lore5": "Bạn không thể phá vỡ các công cụ trong dụng cụ toàn năng cũng như bạn không thể sử dụng các công cụ bị hỏng", - "lore6": "Tất cả những vật phẩm có thể kết hợp lại.", - "lore7": "Bạn có thể sử dụng năm hoặc sáu công cụ hoặc chỉ một công cụ!" + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { + "name": "OMNI - T.O.O.L.", + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "Hào quang tăng trưởng", - "description": "Phát triển thiên nhiên xung quanh bạn trong hào quang", - "lore1": "Bán kính khối", - "lore2": "Sức mạnh hào quang tăng trưởng", - "lore3": "Chi phí thực phẩm" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "Hà mã thảo mộc", - "description": "Tiêu thụ thực phẩm, mang lại cho bạn nhiều cảm giác no hơn", - "lore1": "Thực phẩm) điểm bão hòa bổ sung khi tiêu thụ" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "Myconid của nhà thảo dược", - "description": "Cung cấp cho bạn khả năng chế tạo Mycelium", - "lore1": "Bất kỳ Bụi bẩn nào và Nấm Nâu & Đỏ đều sẽ tạo ra Sợi nấm." + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "Terralid của nhà thảo dược", - "description": "Cung cấp cho bạn khả năng chế tạo Khối cỏ", - "lore1": "Ba Hạt giống, trên 3 Đất sẽ tạo ra 3 Khối Cỏ." + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "Người tạo Webby", - "description": "Cung cấp cho bạn khả năng tạo Mạng nhện trong Bàn chế tạo", - "lore1": "Nine String, sẽ tạo ra Mạng nhện." - }, - "mushroomblocks": { - "name": "Máy làm nấm", - "description": "Cung cấp cho bạn khả năng chế tạo Khối Nấm trong Bàn chế tạo", - "lore1": "Bốn Nấm để tạo khối, hoặc một khối để làm thân cây." - }, - "droptoinventory": { - "name": "Hoe thả vào kho" - }, - "hungryshield": { - "name": "Khiên đói", - "description": "Hãy gây sát thương cho cơn đói trước sức khỏe của bạn.", - "lore1": "Chống chọi với cơn đói" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "May mắn của nhà thảo dược", - "description": "Khi phá Cỏ/Hoa, bạn có cơ hội nhận được vật phẩm ngẫu nhiên", - "lore0": "Hoa = Thức ăn và Cỏ = Hạt giống", - "lore1": "Cơ hội nhận được vật phẩm từ việc phá Hoa", - "lore2": "Cơ hội nhận được vật phẩm khi phá Cỏ" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "Thu hoạch & trồng lại", - "description": "Nhấp chuột phải vào cây trồng bằng cuốc để thu hoạch và trồng lại.", - "lore1": "Chặn bán kính trồng lại" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "Adrenalin", - "description": "Gây nhiều sát thương hơn khi máu của bạn thấp hơn (Cận chiến)", - "lore1": "Sát thương tối đa" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "Bạn sẽ nhận được điểm độc nếu hết đói" - }, - "droptoinventory": { - "name": "Các mặt hàng thả vào kho", - "description": "Khi bạn giết thứ gì đó/Phá vỡ một khối Bằng một thanh kiếm, nó sẽ dịch chuyển những thứ rơi vào kho của bạn", - "lore1": "Bất cứ khi nào một vật phẩm bị rơi khỏi mob/khối mà bạn phá vỡ, nó sẽ được đưa vào kho của bạn nếu có thể." + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "Bước biến mất", - "description": "Khi bị tấn công, bạn sẽ có được khả năng tàng hình nhưng phải trả giá bằng sự đói khát", - "lore1": "Có được khả năng tàng hình thụ động khi bị tấn công", - "lore2": "x Cộng dồn tàng hình trong 3 giây khi đánh", - "lore3": "x Xếp chồng cơn đói", - "lore4": "Thời gian cộng dồn cơn đói và hệ số nhân.", - "lore5": "Thời gian tàng hình" - }, - "jumpboost": { - "name": "Đỉnh cao của thợ săn", - "description": "Khi bị tấn công, bạn sẽ có được khả năng tăng tốc, nhưng phải trả giá bằng sự đói khát", - "lore1": "Nhận được khả năng tăng tốc thụ động khi bị tấn công", - "lore2": "x Cộng dồn Jump-Boost trong 3 giây khi trúng đòn", - "lore3": "x Xếp chồng cơn đói", - "lore4": "Thời gian cộng dồn cơn đói và hệ số nhân.", - "lore5": "Hệ số cộng dồn Jump-Boost chứ không phải thời lượng." + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "Thợ săn may mắn", - "description": "Khi bạn bị tấn công, bạn sẽ gặp may mắn nhưng phải trả giá bằng sự đói khát", - "lore1": "Đạt được may mắn thụ động khi bị tấn công", - "lore2": "x Cộng dồn may mắn trong 3 giây khi trúng đòn", - "lore3": "x Xếp chồng cơn đói", - "lore4": "Thời gian cộng dồn cơn đói và hệ số nhân.", - "lore5": "May mắn được nhân lên theo cấp số nhân chứ không phải thời gian." + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "Thợ săn Regen", - "description": "Khi bị tấn công, bạn sẽ được hồi phục nhưng phải trả giá bằng sự đói khát", - "lore1": "Nhận được khả năng hồi phục thụ động khi bị tấn công", - "lore2": "x Cộng dồn hồi phục trong 3 giây khi trúng đòn", - "lore3": "x Xếp chồng cơn đói", - "lore4": "Thời gian cộng dồn cơn đói và hệ số nhân.", - "lore5": "Số lần hồi phục tăng lên, không phải thời gian." + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "Sự phản kháng của thợ săn", - "description": "Khi bị tấn công, bạn sẽ có được sức đề kháng nhưng phải trả giá bằng sự đói khát", - "lore1": "Có được sức đề kháng thụ động khi bị tấn công", - "lore2": "x Cộng dồn kháng cự trong 3 giây khi trúng đòn", - "lore3": "x Xếp chồng cơn đói", - "lore4": "Thời gian cộng dồn cơn đói và hệ số nhân.", - "lore5": "Hệ số cộng dồn kháng cự chứ không phải thời lượng." + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "Tốc độ của thợ săn", - "description": "Khi bị tấn công, bạn sẽ tăng tốc độ nhưng phải trả giá bằng sự đói khát", - "lore1": "Tăng tốc độ thụ động khi bị tấn công", - "lore2": "x Cộng dồn tốc độ trong 3 giây khi đánh", - "lore3": "x Xếp chồng cơn đói", - "lore4": "Thời gian cộng dồn cơn đói và hệ số nhân.", - "lore5": "Hệ số cộng dồn tốc độ chứ không phải thời lượng." + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "Sức mạnh của thợ săn", - "description": "Khi bị đánh, bạn có được sức mạnh nhưng phải trả giá bằng cơn đói", - "lore1": "Có được sức mạnh thụ động khi bị tấn công", - "lore2": "x Cộng dồn sức mạnh trong 3 giây khi đánh", - "lore3": "x Xếp chồng cơn đói", - "lore4": "Thời gian cộng dồn cơn đói và hệ số nhân.", - "lore5": "Hệ số cộng dồn sức mạnh chứ không phải thời lượng." + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "Ném hộp sọ khô héo", - "description1": "Giải phóng Wither bên trong của bạn bằng cách sử dụng", - "description2": "ai đó", - "description3": "cái đầu.", - "lore1": "Giây hồi chiêu giữa các lần ném đầu lâu.", - "lore2": "Sử dụng Wither Skull: Ném một", - "lore3": "hộp sọ khô héo", - "lore4": "nổ khi va chạm." - }, - "witherresist": { - "name": "Kháng héo", - "description": "Chống héo nhờ sức mạnh của Netherite.", - "lore1": "cơ hội phủ nhận sự héo (mỗi mảnh).", - "lore2": "Bị động: Mặc áo giáp Netherite có cơ hội vô hiệu hóa", - "lore3": "héo úa." - }, - "fireresist": { - "name": "Chống cháy", - "description": "Chống cháy bằng cách làm cứng da của bạn.", - "lore1": "cơ hội để vô hiệu hóa hiệu ứng đốt cháy!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "nấu chảy tự động", - "description": "Cho phép bạn nấu chảy quặng Vanilla đã khai thác", - "lore1": "Quặng có thể được nấu chảy sẽ được nấu chảy tự động", - "lore2": "% cơ hội nhận thêm" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "đục quặng", - "description": "Nhấp chuột phải vào Quặng để Đục nhiều quặng hơn với chi phí độ bền cao.", - "lore1": "Cơ hội để thả", - "lore2": "Dụng cụ mài mòn" - }, - "droptoinventory": { - "name": "Cuốc thả vào kho", - "description": "Khi bạn phá vỡ một khối, nó sẽ dịch chuyển vật phẩm đó vào kho của bạn", - "lore1": "Bất cứ khi nào một vật phẩm bị rơi khỏi một khối mà bạn phá vỡ, nó sẽ được đưa vào kho của bạn nếu có thể." - }, - "silkspawner": { + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { "name": "Pickaxe Silk-Spawner", - "description": "Khiến Spawners rơi ra khi đào", - "lore1": "Khiến Spawners dễ rơi ra khi đào bằng phù phép mềm mại.", - "lore2": "Khiến Spawners có thể rơi ra khi đang trạng thái ngồi." - }, - "veinminer": { - "name": "máy lấy máu", - "description": "Cho phép bạn phá vỡ các khối trong Mạch/Cụm quặng Vanilla", - "lore1": "Lén lút và khai thác ORES", - "lore2": "phạm vi khai thác tĩnh mạch", - "lore3": "Kỹ năng này KHÔNG nhóm tất cả các giọt lại với nhau!" + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "Phục hồi mũi tên", - "description": "Thu hồi Mũi tên sau khi bạn đã tiêu diệt kẻ thù.", - "lore1": "Cơ hội phục hồi mũi tên khi đánh/tiêu diệt", - "lore2": "Cơ hội:" - }, - "webshot": { - "name": "Bẫy web", - "description": "Bao quanh mạng nhện xung quanh mục tiêu của bạn khi bạn bắn trúng chúng!", - "lore1": "8 mạng nhện xung quanh quả cầu tuyết và ném đi!", - "lore2": "đại khái là vài giây của một cái lồng." - }, - "forceshot": { - "name": "Lực bắn", - "description": "Bắn đạn xa hơn, nhanh hơn!", - "advancementname": "Cú sút xa", - "advancementlore": "Hãy bắn một phát từ khoảng cách hơn 30 khối nhà!", - "lore1": "Tốc độ đạn" - }, - "lungeshot": { - "name": "Cú sút lunge", - "description": "Trong khi rơi mũi tên của bạn ném bạn theo một hướng ngẫu nhiên", - "lore1": "Tốc độ bùng nổ ngẫu nhiên" - }, - "arrowpiercing": { - "name": "Mũi tên xuyên qua", - "description": "Thêm xuyên vào đạn! Bắn xuyên qua mọi thứ!", - "lore1": "Đâm mục tiêu" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "Truy cập từ xa", - "description": "Kéo từ khoảng trống và vào thùng chứa được đánh dấu.", - "lore1": "Enderpearl + La bàn = Khóa cổng thánh tích", - "lore2": "Mục này cho phép bạn truy cập container từ xa", - "lore3": "Sau khi chế tạo, hãy nhìn vào vật phẩm để xem cách sử dụng", - "notcontainer": "Đó không phải là một thùng chứa" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "Rạn nứt chớp mắt", - "description": "Dịch chuyển tức thời trong phạm vi ngắn, Chỉ trong nháy mắt!", - "lore1": "Khối khi nhấp nháy (2x dọc)", - "lore2": "Trong khi chạy nước rút: Nhấn đúp Nhảy tới", - "lore3": "chớp mắt" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "Enderchest dễ dàng", - "description": "Mở enderchest bằng cách nhấp chuột trái vào nó trên tay bạn.", - "lore1": "Bấm vào Enderchest trên tay bạn để mở (Chỉ cần không đặt nó)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "Chống Bay Lên", - "description": "Bạn có mệt mỏi vì bị mắc kẹt trong không khí? Đây chính là kỹ năng dành cho bạn!", - "lore1": "Chỉ cần Lẻn đi xuống, bạn sẽ rơi với tốc độ thấp hơn bình thường!", - "lore2": "Nguội đi:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "Cổng rạn nứt", - "description": "Dịch chuyển đến một địa điểm được đánh dấu.", - "lore1": "CHẾ TẠO: Ngọc lục bảo + Mảnh thạch anh tím + Ngọc trai Ender", - "lore2": "Đọc trước khi sử dụng!", - "lore3": "độ trễ 5 giây,", - "lore4": "bạn có thể chết khi ở trong phim hoạt hình này" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "Khả năng chống rạn nứt", - "description": "Đạt được sức đề kháng khi sử dụng Vật phẩm & Khả năng của Ender", - "lore1": "+ Bị động: Cung cấp khả năng kháng cự khi bạn sử dụng khả năng rạn nứt hoặc Vật phẩm Ender", - "lore2": "KHÔNG bao gồm Enderchest di động, chỉ những thứ bạn có thể tiêu thụ" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] }, "visage": { - "name": "Mặt Nạ Khe Nứt\n", - "description": "Ngăn chặn Endermen trở nên tức giận nếu bạn có Enderpearls trong kho của mình.", - "lore1": "Endermen sẽ không trở nên tức giận nếu bạn có Enderpearls trong túi đồ của mình." + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "Bình oxy hữu cơ", - "description": "Giữ nhiều oxy hơn trong lá phổi nhỏ bé của bạn!", - "lore1": "Tăng công suất oxy" - }, - "fishersfantasy": { - "name": "Ảo tưởng của Fisher", - "description": "Kiếm thêm XP từ câu cá và nhận được nhiều cá hơn!", - "lore1": "Đối với mỗi cấp độ, bạn có cơ hội nhận được nhiều XP và Cá hơn!" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "Thợ mỏ rùa", - "description": "Trong khi khai thác dưới nước, bạn sẽ nhanh chóng hơn!", - "lore1": "Haste 3 được áp dụng dưới nước trong khi khai thác (cộng dồn AquaAffinity) sau khi hiệu ứng thở dưới nước của bạn hết tác dụng!" - }, - "nightvision": { - "name": "Tầm nhìn của Rùa", - "description": "Khi ở dưới nước, bạn có được Tầm nhìn ban đêm", - "lore1": "Chỉ cần có được Tầm nhìn ban đêm khi ở dưới nước sau khi hiệu ứng thở dưới nước của bạn hết tác dụng!" - }, - "dolphingrace": { - "name": "Ân điển của cá heo", - "description": "Bơi như cá heo mà không có cá heo", - "lore1": "+ Bị động: đạt được", - "lore2": "x tốc độ (ân sủng cá heo)", - "lore3": "kỹ sư chính xác của Đức- chờ đã không đúng... Không tương thích với Depth Strider" + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "Giáp ma", - "description": "Tăng giáp chậm khi không nhận sát thương, Kéo dài trong 1 đòn", - "lore1": "Giáp tối đa", - "lore2": "Tốc độ" - }, - "nightvision": { - "name": "Tầm nhìn tàng hình", - "description": "Có được tầm nhìn ban đêm khi lén lút", - "lore1": "Đạt được một loạt", - "lore2": "tầm nhìn ban đêm", - "lore3": "trong khi lén lút" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "Cướp vật phẩm", - "description": "Snatch Drops vật phẩm ngay lập tức trong khi lén lút!", - "lore1": "Bán kính cướp" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "Tốc độ lén lút", - "description": "Tăng tốc độ trong khi lén lút", - "lore1": "Tốc độ lén lút" - }, - "enderveil": { - "name": "Tấm Khiên Tàng Hình Ender", - "description": "Không cần dùng bí ngô để tránh con enderman tấn công bạn khi nhìn vào mắt nó nữa!", - "lore1": "Ngăn chặn Enderman tấn công khi đang ngồi", - "lore2": "Ngăn chặn Enderman tấn công bạn" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "dao rựa", - "description": "Cắt qua tán lá một cách dễ dàng!", - "lore1": "Bán kính chém", - "lore2": "Thời gian hồi chiêu của Chặt", - "lore3": "Dụng cụ mài mòn" - }, - "bloodyblade": { - "name": "Lưỡi dao đẫm máu", - "description": "Tấn công bằng kiếm của bạn, gây chảy máu!", - "lore1": "Tấn công một thực thể sống bằng Kiếm của bạn sẽ gây Chảy máu", - "lore2": "Thời gian chảy máu", - "lore3": "Thời gian hồi máu" - }, - "poisonedblade": { - "name": "Lưỡi độc", - "description": "Tấn công bằng thanh kiếm của bạn, gây ra Ngộ độc!", - "lore1": "Tấn công một thực thể sống bằng Kiếm của bạn sẽ gây ra Ngộ độc", - "lore2": "Thời gian độc", - "lore3": "Thời gian hồi chiêu của chất độc" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "Thuần hóa sát thương", - "description": "Tăng sát thương gây ra cho động vật đã được thuần hóa của bạn.", - "lore1": "Gia tăng thiệt hại" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "Thuần hóa sức khỏe", - "description": "Tăng sức khỏe động vật được thuần hóa của bạn.", - "lore1": "Tăng cường sức khỏe" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "Thuần hóa tái sinh", - "description": "Tăng khả năng tái sinh động vật đã được thuần hóa của bạn.", - "lore1": "HP/giây" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "gai", - "description": "Phản ánh thiệt hại trở lại kẻ tấn công của bạn!", - "lore1": "Thiệt hại trả đũa khi bị tấn công" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "Quả cầu đau đớn", - "description": "Chia sát thương bạn gây ra dựa trên số lượng kẻ thù xung quanh bạn!", - "lore1": "Càng có nhiều kẻ thù xung quanh bạn, bạn càng gây ra ít sát thương cho chúng hơn", - "lore2": "Phạm vi:", - "lore3": "Đã thêm sát thương cho tất cả các thực thể:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "Ý chí đau đớn", - "description": "Lấy lại sức khỏe dựa trên sát thương bạn gây ra!", - "lore1": "Làm hại mọi thứ chưa bao giờ cảm thấy tốt như vậy! Hồi máu từ sát thương gây ra", - "lore2": "Có khoảng thời gian sát thương 3 giây, để hồi máu và thời gian hồi chiêu 1 giây", - "lore3": "Phần trăm hồi máu trên mỗi sát thương:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "Thương xác", - "description": "Giết kẻ thù hoặc có khả năng tiêu diệt kẻ thù, tạo ra một cây thương gây sát thương cho kẻ thù ở gần!", - "lore1": "Lances sẽ Tìm kiếm từ bất cứ thứ gì bạn giết VÀ nếu Khả năng này giết chết kẻ thù.", - "lore2": "Hy sinh một phần cuộc đời để tạo ra những ngọn thương (điều này có thể giết chết bạn)", - "lore3": "Số thương tối đa: 1 +" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "Pháo thủy tinh", - "description": "Sát thương không vũ trang cộng thêm giá trị giáp của bạn càng thấp", - "lore1": "x Sát thương ở mức 0 giáp", - "lore2": "Thiệt hại thưởng theo cấp độ" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "Quyền lực không vũ trang", - "description": "Cải thiện sát thương không vũ trang", - "lore1": "Hư hại" - }, - "suckerpunch": { - "name": "Cú đấm", - "description": "Những cú đấm nước rút, nhưng nguy hiểm hơn.", - "lore1": "Hư hại", - "lore2": "Sát thương tăng theo tốc độ của bạn trong khi đấm" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/zh_CN.json b/src/main/resources/zh_CN.json index 2df7a1f50..b89aab4ed 100644 --- a/src/main/resources/zh_CN.json +++ b/src/main/resources/zh_CN.json @@ -262,941 +262,1254 @@ } }, "items": { - "boundenderperal": { - "name": "遗物之钥", - "usage1": "潜行 + 左键绑定", - "usage2": "右键访问已绑定的物品栏。" - }, - "boundeyeofender": { - "name": "视觉锚点", - "usage1": "右键消耗该物品并传送至已绑定的位置。", - "usage2": "潜行 + 左键绑定方块" - }, - "boundredstonetorch": { - "name": "红石遥控器", - "usage1": "右键创建一个 1 Tick 的红石脉冲", - "usage2": "潜行 + 左键 '目标' 方块以绑定" - }, - "boundsnowball": { - "name": "蛛网陷阱!", - "usage1": "投掷以在目标位置创建一个临时的蛛网陷阱" - }, - "elevatorblock": { - "name": "电梯方块", - "usage1": "跳跃传送至上方", - "usage2": "潜行传送至下方", - "usage3": "电梯之间至少有 2 个空气块" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "等级", - "knowledge": "知识", - "powerused": "能力", - "notlearned": "尚未学习", - "xp": "至下一级经验", - "welcome": "欢迎!", - "welcomeback": "欢迎回来!", - "xpbonusfortime": "经验增益,持续", - "maxabilitypower": "最大能力数量", - "unlockthisbyclicking": "右键该方块以解锁:", - "back": "返回", - "unlearnall": "忘却全部技能", - "unlearnedall": "已全部忘却" - }, - "adaptmenu": { - "maynotunlearn": "无法忘却此技能", - "mayunlearn": "可学习/忘却", - "knowledgecost": "知识花费", - "knowledgeavailable": "知识可用", - "alreadylearned": "已学习", - "unlearnrefund": "点击忘却此技能", - "norefunds": "极限模式将禁用点数返还", - "knowledge": "知识", - "clicklearn": "点击以学习", - "noknowledge": "(你没有任何知识可用)", - "youonlyhave": "你只有", - "howtolevelup": "升级技能来扩大能力上限", - "notenoughpower": "能力不足!每级需要花费 1 能力。", - "power": "能力", - "powerdrain": "能力消耗", - "learned": "已学习 ", - "unlearned": "未学习 ", - "activatorblock": "书架" - }, - "knowledgeorb": { - "contains": "包含", - "knowledge": "知识", - "rightclick": "右键点击", - "togainknowledge": "来获得此知识", - "knowledgeorb": "知识之珠" - }, - "experienceorb": { - "contains": "包含", - "xp": "经验", - "rightclick": "右键点击", - "togainxp": "来获得此经验", - "xporb": "经验球" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "敏捷", + "name": "Agility", "icon": "⇉", - "description": "敏捷可以在遇到障碍时帮助你快速、灵活的移动。" + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "建筑师", + "name": "Architect", "icon": "⬧", - "description": "结构是万物之本。现实在你手中,由你掌控。" + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "斧技", + "name": "Axes", "icon": "🪓", - "description1": "如果说你可以砍掉什么东西", - "description2": "以替代砍树", - "description3": "有什么不一样的吗?" + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "酿造", + "name": "Brewing", "icon": "❦", - "description": "咕嘟,咕嘟,咕嘟- 我依然不敢把这瓶药水丢进炼药锅中。" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "防御", + "name": "Blocking", "icon": "🛡", - "description": "棍棒与石头不会折断你的骨头,但是盾牌会。" + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "合成", + "name": "Crafting", "icon": "⌂", - "description": "若没有剩下什么东西可以合成,为什么不再做一个呢?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "探索", + "name": "Discovery", "icon": "⚛", - "description": "当洞察力提升时,你的思维便会愈发澄澈,探索更多的奥秘。" + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "附魔", + "name": "Enchanting", "icon": "♰", - "description": "你在嘀咕些什么?预言,幻象,还是在胡言乱语?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "挖掘", + "name": "Excavation", "icon": "ᛳ", - "description": "在小小的花园里面挖呀挖呀挖……" + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "草药学", + "name": "Herbalism", "icon": "⚘", - "description": "我见不到植物,不过我能找到一些种子还有- 呃......那是杂草吗?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "狩猎", + "name": "Hunter", "icon": "☠", - "description": "狩猎是一段旅程,而不是结果。" + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "下界", + "name": "Nether", "icon": "₪", - "description": "它自深处而来。" + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "采矿", + "name": "Pickaxe", "icon": "⛏", - "description": "矮人是矿工,而我在这段时间里明白了一件事。我是瑞典人!" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "箭术", + "name": "Ranged", "icon": "🏹", - "description": "你与目标的距离是胜利的关键所在,也是生存的关键所在。" + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "裂痕", + "name": "Rift", "icon": "❍", - "description": "裂痕如同一道尖锐的线束,此时你已控制了它。" + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "激流", + "name": "Seaborne", "icon": "🎣", - "description": "带着它吧,也许有一天你就可以领略水的奇妙。" + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "隐形", + "name": "Stealth", "icon": "☯", - "description": "当行走于阴影里,这是隐藏于阴影中的艺术。" + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "剑术", + "name": "Swords", "icon": "⚔", - "description": "来自玄武石的力量!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "驯兽", + "name": "Taming", "icon": "♥", - "description": "鹦鹉、蜜蜂,还有......你?" + "description": "The parrots and the bees... and you?" }, "tragoul": { - "name": "塔格奥", + "name": "TragOul", "icon": "🗡", - "description": "血液在宇宙的血管中游动,束缚于你的手中。" + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "时空", + "name": "Chronos", "icon": "⏳", - "description": "细细感受宇宙时空的流转吧。打破它,成为它!" + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "搏击", + "name": "Unarmed", "icon": "»", - "description": "赤手空拳并不意味着失去力量。" + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "装甲加速", - "description": "冲刺的越快,给予的护甲值就越多!", - "lore1": "最大护甲值", - "lore2": "加速时间" - }, - "superjump": { - "name": "高跳", - "description": "一览众山小。", - "lore1": "最大跳跃高度", - "lore2": "按下 潜行 + 跳跃 键进行高跳!" - }, - "walljump": { - "name": "攀跳", - "description": "在半空中紧贴墙壁,按住潜行键并跳跃。", - "lore1": "最大跳跃数量", - "lore2": "跳跃高度" - }, - "windup": { - "name": "上弦", - "description": "冲刺时间越长,速度越快!", - "lore1": " 最大速度", - "lore2": " 所需冲刺时间" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { "elevator": { - "name": "电梯", - "description": "这使您可以建造一个电梯来快速垂直传送!", - "lore1": "解锁电梯配方:X=任意羊毛,Y=末影珍珠", - "lore2": "XXX", - "lore3": "XYX", - "lore4": "XXX" + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] }, "foundation": { - "name": "魔法基建", - "description": "潜行时在脚下放置临时方块。", - "lore1": "神奇地生成:", - "lore2": "块临时方块" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "丝质手套", - "description": "徒手打破玻璃后将掉落玻璃方块!", - "lore1": "当触摸到玻璃时有丝绸般的触感。" - }, - "wirelessredstone": { - "name": "红石遥控器", - "description": "允许你使用红石火把远程控制红石,远程控制!", - "lore1": "标靶 + 红石火把 + 末影珍珠 = 1 红石遥控器" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "建筑师之杖", - "description": "一次摆放多个方块,按住潜行对准目标位置。根据预览摆放方块,持续调整以达到最好效果!请注意:可能需要移动来调整边界。", - "lore1": "手中必须持有多于", - "lore2": "个方块才能使用", - "lore3": "建筑师之杖。" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "伐木斧", - "description": "手持斧头,右键木头砍伐多块树木。", - "lore1": "每次砍伐的数量", - "lore2": "冷却", - "lore3": "耐久消耗" - }, - "logswap": { - "name": "露西的原木转换器", - "description": "在工作台中转换原木的种类吧!", - "lore1": "8块任意种类的原木 + 1株树苗 = 8块树苗对应种类的原木" - }, - "droptoinventory": { - "name": "快速进入背包" - }, - "groundsmash": { - "name": "山崩地裂", - "description": "跳跃,然后迅速蹲下。斩击所有附近的敌人。", - "lore1": "伤害", - "lore2": "方块半径", - "lore3": "力量", - "lore4": "冷却" - }, - "leafminer": { - "name": "花匠", - "description": "一次剪断大量树叶!", - "lore1": "潜行,然后挖掘树叶。", - "lore2": "树叶挖掘范围", - "lore3": "为防止漏洞滥用,树叶将不会掉落。" - }, - "woodminer": { - "name": "原木矿工", - "description": "允许你一次砍伐大量树木!", - "lore1": "潜行,然后砍伐 木头/原木(木板无效)", - "lore2": "有效距离", - "lore3": "与直接进入背包兼容。" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "缠绵", - "description": "加长药水效果持续时间。", - "lore1": "持续时间", - "lore2": "持续时间" - }, - "superheated": { - "name": "过载", - "description": "酿造台越热,它的工作效率就越高!", - "lore1": "酿造台每贴近火焰", - "lore2": "酿造台每贴近岩浆" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "瓶装黑暗", - "description": "不知道你为什么要这个,反正给你就是了!", - "lore1": "夜视药水 + 混凝土方块 = 黑暗药水(30秒)", - "lore2": "不过得先说好,药水效果生效期间不能冲刺。" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "瓶装急迫", - "description": "效率附魔还不够用吗?!", - "lore1": "速度药水 + 紫水晶碎片 = 急迫药水(60 秒)", - "lore2": "速度药水 + 紫水晶块 = 急迫 II 药水(30 秒)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "瓶装抗性提升", - "description": "来硬的!", - "lore1": "瞬间治疗 + 石英 = 伤害吸收药水(60 秒)", - "lore2": "瞬间治疗 + 石英块 = 伤害吸收 II 药水(30 秒)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "瓶装疲劳", - "description": "来软的!", - "lore1": "虚弱药水 + 史莱姆球 = 挖掘疲劳药水(30秒)", - "lore2": "虚弱药水 + 史莱姆块 = 挖掘疲劳 II 药水(15秒)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "反胃饥饿", - "description": "喂饱贪心的人吧!", - "lore1": "粗制的药水 + 腐肉 = 饥饿药水(30秒)", - "lore2": "虚弱药水 + 腐肉 = 饥饿 III 药水(15秒)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "瓶装反胃", - "description": "真令我恶心!", - "lore1": "粗制的药水 + 棕色蘑菇 = 反胃药水(16秒) ", - "lore2": "粗制的药水 + 绯红菌 = 反胃药水 II(8秒)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "瓶装失明", - "description": "你真是可怕的人...", - "lore1": "粗制的药水 + 墨囊 = 失明药水(30秒)", - "lore2": "粗制的药水 + 荧光墨囊 = 失明 II 药水(15秒)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "瓶装抗性", - "description": "最佳防御!", - "lore1": "粗制的药水 + 铁锭 = 抗性提升药水(60秒)", - "lore2": "粗制的药水 + 铁块 = 抗性提升 II 药水(60秒)" - }, - "healthboost": { - "name": "瓶装生命", - "description": "是不是总会感觉最大生命值不够用...", - "lore1": "瞬间治疗药水 = 金苹果 = 生命提升药水(120秒)", - "lore2": "瞬间治疗药水 + 附魔金苹果 = 生命提升 II 药水(120秒)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "瓶装腐朽", - "description": "谁知道垃圾会这么有用?", - "lore1": "虚弱药水 + 毒马铃薯 = 凋零药水(16秒)", - "lore2": "虚弱药水 + 绯红菌索 = 凋零药水 II(8秒)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "瓶装饱和", - "description": "哦,我清楚... 实际上我还没那么饿...", - "lore1": "生命恢复药水 + 烤马铃薯 = 饱和药水", - "lore2": "生命恢复药水 + 干草块= 饱和药水 II" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "梅菲斯特的锁链", - "description": "允许你合成锁链盔甲", - "lore1": "配方和其它盔甲一致,不过需要使用铁粒作为材料。" - }, - "horsearmorer": { - "name": "可合成马铠", - "description": "允许你合成不同种类的马铠。", - "lore1": "在工作台中,使用合成材料围着马鞍一圈以合成目标材质的马铠。" - }, - "saddlecrafter": { - "name": "可合成马鞍", - "description": "用羽毛合成马鞍", - "lore1": "配方:5皮革:" - }, - "multiarmor": { - "name": "盔甲套组", - "description": "在盔甲上绑定鞘翅", - "lore1": "旅行必备品。", - "lore2": "动态合并并在飞行时动态切换铠甲/鞘翅!", - "lore3": "要合并,请按住 Shift 键单击库存中的某件物品,拖拽到被合并物品上。", - "lore4": "要解除盔甲的绑定,请潜行投掷该物品,它就会解除。", - "lore5": "当盔甲耐久值至零时,合并到该盔甲上的所有物品都将丢失", - "lore6": "我不再需要盔甲了,它让我太失望了..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "分解器", - "description": "分解方块或物品,回收部分合成时的材料。", - "lore1": "将物品丢弃在地上。", - "lore2": "然后潜行并用剪刀右键点击" + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "熟能生巧", - "description": "合成物品时获得经验。", - "lore1": "合成将给予经验" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "矿石重建", - "description": "用它们的成分恢复成原矿石吧!", - "lore1": "8 个掉落物和 1 个源方块 = 1 个矿石(无需按特定顺序)", - "lore2": "掉落物必须经过熔炼(若适用)", - "lore3": "注意:不包含碎片、石英和绿宝石等...", - "lore4": "源方块:包裹矿石的方块。如:石头,下界岩,深板岩" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "可合成皮革", - "description": "将腐肉制成皮革", - "lore1": "只需要把腐肉丢到篝火上!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "布蒂利埃的背包", - "description": "将Mojang计划添加的收纳袋加入到游戏中!", - "lore1": "你需要在生存模式下才能使用它", - "lore2": "XLX : 皮革,拴绳,皮革", - "lore3": "XSX : 皮革,木桶,皮革", - "lore4": "XCX : 皮革,箱子,皮革" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "便携式工作桌!", - "description": "工作桌就在掌心上!", - "lore2": "当关闭工作桌时,所有忘记从工作桌中取出的物品都将丢失!", - "lore3": "可用工作桌:铁砧,工作台,砂轮,制图台,切石机,织布机" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "可合成头颅!", - "description": "用材料可以合成生物头颅!", - "lore1": "使用以下物品在工作台中围绕骨块一圈合成头颅:", - "lore2": "僵尸:腐肉", - "lore3": "骷髅:骨头", - "lore4": "苦力怕:火药", - "lore5": "凋灵骷髅:下界砖", - "lore6": "龙首:龙息" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "世界之甲", - "description": "根据附近方块硬度给予被动防御。", - "lore1": "被动防御", - "lore2": "由附近方块硬度决定", - "lore3": "防御:" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "实验性统合", - "description": "收集经验球时随机给予其它技能的经验。", - "lore1": "点经验 ", - "lore2": "每个经验球" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "实验性电阻", - "description": "减少来自任何方式其造成的伤害", - "lore0": "每 15秒 发生一次", - "lore1": "减少伤害", - "lore2": "经验消耗" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "村庄聚光灯", - "description": "与村民交易时将提升交易质量!", - "lore1": "每次与村民互动时都会减少获得的经验", - "lore2": "以减少和村民互动时获得的经验为代价,提升交易质量", - "lore3": "交互经验削减" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "青金石的回报", - "description": "每级都将多消耗1经验。但是越高等级返还青金石越多。", - "lore1": "每升一级都会额外消耗1经验,最高可以返还3青金石。" - }, - "quickenchant": { - "name": "快捷附魔", - "description": "在物品栏用附魔书点击被附魔的物品以快速附魔。", - "lore1": "累计最大等级", - "lore2": "此物品应用的附魔总等级不能超过 ", - "lore3": "级" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "经验返还", - "description": "当你附魔一个物品时,消耗的经验会被返还一部分。", - "lore1": "当你附魔物品后,有机会返还一部分经验。", - "lore2": "经验返还" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "极速挖掘机", - "description": "给予急迫效果,提高挖掘速度!", - "lore1": "当挖掘时给予急迫效果", - "lore2": "x 挖掘时急迫效果等级" + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "超级透视!", - "description": "可以透过地面看见矿石!", - "lore1": "副手拿着矿石,主手拿着发光浆果,然后潜行!", - "lore2": "屏蔽范围:", - "lore3": "当使用时需要消耗发光浆果" - }, - "droptoinventory": { - "name": "快速进入背包" - }, - "omnitool": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { "name": "OMNI - T.O.O.L.", - "description": "Tackle设计的豪华多功能工具钳。", - "lore1": "可能是其中最强大的一个,可以让你", - "lore2": "可以根据实际需要合并或拆解工具。", - "lore3": "要合并,请按住 Shift 键单击库存中的某件物品,拖拽到被合并物品上。", - "lore4": "要解除工具绑定,请潜行放下该物品,它就会解除。", - "lore5": "在这个皮套工具里你不能弄坏工具,但你也不能使用已损坏的工具", - "lore6": "可合并项目总数。", - "lore7": "您可以使用五六种工具,或者只使用一种!" + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "生长光环", - "description": "加速农作物生长时间", - "lore1": "光环半径", - "lore2": "生长速度", - "lore3": "消耗饱食度" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "草药师的河马", - "description": "吃点食物,感觉能更饱点。", - "lore1": "饱食度) 额外饱食度" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "草药师的菌丝", - "description": "给予制作菌丝的能力。", - "lore1": "所有泥土,和棕、红色蘑菇将会制作出菌丝。" + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "草药师的地衣", - "description": "给予合成草方块的能力。", - "lore1": "3个种子,加上3块泥土,可合成3块草方块。" + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "蛛网合成师", - "description": "你将获得在工作台中合成蛛网的能力", - "lore1": "九根线,合成一张蜘蛛网" - }, - "mushroomblocks": { - "name": "蘑菇包装厂", - "description": "给予合成蘑菇方块的能力。", - "lore1": "四个蘑菇合成一个蘑菇块,或者使用一个蘑菇块进行分解。" - }, - "droptoinventory": { - "name": "快速进入背包" - }, - "hungryshield": { - "name": "饥饿护盾", - "description": "在饥饿席卷而来前保护生命值。", - "lore1": "饥饿抵抗" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "草药师的祝福", - "description": "当你破坏花或草时,你将有概率获得随机物品。", - "lore0": "花 = 食物,草 = 种子", - "lore1": "破坏花获得随机物品的概率", - "lore2": "破坏草获得随机物品的概率" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "收割者", - "description": "手持锄头,右键庄稼来自动收割与重新种植。", - "lore1": " 有效范围半径" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "肾上腺素", - "description": "生命越少,近战造成的伤害越大。", - "lore1": "最大伤害" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "如果饥饿度归零,将给予剧毒效果!" - }, - "droptoinventory": { - "name": "快速进入背包", - "description": "当你击杀生物/破坏某方块,它的掉落物将会自动进入背包。", - "lore1": "如果可以,击杀生物/破坏某方块的掉落物将会自动进入背包。" + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "隐形之步", - "description": "以饥饿为代价,当你受伤时给予隐身效果。", - "lore1": "受伤时自动给予隐身效果。", - "lore2": "x 隐身效果,持续三秒", - "lore3": "x 叠加饥饿效果", - "lore4": "饥饿感叠加持续时间和倍数", - "lore5": "隐身效果持续时间" - }, - "jumpboost": { - "name": "狩猎者之巅", - "description": "以饥饿为代价,当受伤时给予跳跃提升效果。", - "lore1": "受伤时自动给予跳跃提升效果。", - "lore2": "x 跳跃提升效果,持续三秒", - "lore3": "x 叠加饥饿效果", - "lore4": "饥饿感叠加持续时间和倍数", - "lore5": "跳跃提升叠加倍数" + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "狩猎者的祝福", - "description": "以饥饿为代价,当你受伤时给予幸运效果。", - "lore1": "受伤时自动给予幸运效果。", - "lore2": "x 幸运效果,持续三秒", - "lore3": "x 叠加饥饿效果", - "lore4": "饥饿感叠加持续时间和倍数", - "lore5": "幸运叠加倍数" + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "狩猎者的再生", - "description": "以饥饿为代价,当你受伤时给予再生效果。", - "lore1": "受伤时自动给予再生效果。", - "lore2": "x 再生效果,持续三秒", - "lore3": "x 叠加饥饿效果", - "lore4": "饥饿感叠加持续时间和倍数", - "lore5": "再生叠加倍数" + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "狩猎者之盾", - "description": "以饥饿为代价,当你受伤时给予抗性提升效果。", - "lore1": "受伤时自动给予抗性提升效果。", - "lore2": "x 抗性提升效果,持续三秒", - "lore3": "x 叠加饥饿效果", - "lore4": "饥饿感叠加持续时间和倍数", - "lore5": "抗性提升叠加倍数" + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "狩猎者之速", - "description": "以饥饿为代价,当你受伤时给予速度效果。", - "lore1": "受伤时自动给予速度效果。", - "lore2": "x 速度效果,持续三秒", - "lore3": "x 叠加饥饿效果", - "lore4": "饥饿感叠加持续时间和倍数", - "lore5": "抗性提升叠加倍数" + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "狩猎者之力", - "description": "以饥饿为代价,当你受伤时给予力量效果。", - "lore1": "受伤时自动给予力量效果。", - "lore2": "x 力量效果,持续三秒", - "lore3": "x 叠加饥饿效果", - "lore4": "饥饿感叠加持续时间和倍数", - "lore5": "力量叠加倍数" + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "凋灵发射器", - "description1": "发射凋灵的头颅", - "description2": "展现内心中的", - "description3": "枯竭。", - "lore1": "秒发射冷却时间。", - "lore2": "使用凋灵头颅发射器:", - "lore3": "手持凋灵骷髅头颅,并左键", - "lore4": "发射一颗凋灵头颅。遇到方块或生物时自动爆炸。" - }, - "witherresist": { - "name": "凋零抑制器", - "description": "通过下界合金的力量抑制凋零", - "lore1": "免疫凋零效果概率", - "lore2": "被动效果:穿着下界合金套装有概率避免", - "lore3": "凋零效果。" - }, - "fireresist": { - "name": "抗火", - "description": "强化皮肤,抵御火焰", - "lore1": "免疫火焰伤害概率" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "自动熔炼", - "description": "当你挖掘(曾经)需要冶炼的矿物", - "lore1": "将自动熔炼矿石", - "lore2": " % 的概率获得额外产物。" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "破碎锤", - "description": "右键单击目标矿石,概率获得额外掉落物。可能会严重消耗耐久度。", - "lore1": "额外掉落概率", - "lore2": "耐久消耗" - }, - "droptoinventory": { - "name": "快速进入背包", - "description": "当你击杀生物/破坏某方块,它的掉落物将会自动进入背包。", - "lore1": "如果可以,击杀生物/破坏某方块的掉落物将会自动进入背包。" - }, - "silkspawner": { - "name": "精准刷怪笼采集", - "description": "刷怪笼被破坏时会掉落", - "lore1": "使刷怪笼可被精准采集的稿子破坏时掉落。", - "lore2": "使得刷怪笼在潜行时可被破坏。" - }, - "veinminer": { - "name": "连锁挖矿", - "description": "允许你遇到原版矿物的矿脉时进行连锁挖矿。", - "lore1": "按住潜行键,并挖掘矿物", - "lore2": "连锁挖矿范围", - "lore3": "此技能不会将掉落物合并在一起!" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "箭矢回收站", - "description": "当你击杀目标后有概率回收箭矢。", - "lore1": "概率在击杀生物时回收箭矢", - "lore2": "概率:" - }, - "webshot": { - "name": "蛛网陷阱", - "description": "当你击中目标时就用蛛网围住他吧!", - "lore1": "在中间放雪球,围绕雪球的其它8格放置蜘蛛网来合成,然后投掷它吧!", - "lore2": "秒的笼子(约)" - }, - "forceshot": { - "name": "大力投掷手", - "description": "掷出的投掷物又快又远!", - "advancementname": "远距离射击", - "advancementlore": "投掷物可以在超过30格方块外着陆", - "lore1": "射击速度" - }, - "lungeshot": { - "name": "弓步射击", - "description": "当你射出的箭矢落下后将你随机掷出一个方向", - "lore1": "随机爆发速度" - }, - "arrowpiercing": { - "name": "精准穿透", - "description": "提升投掷物或箭矢的穿透力,甚至可以穿透物体。", - "lore1": "穿透目标" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "远程访问权限", - "description": "来自虚空之中,可以访问被标记的容器。", - "lore1": "末影珍珠 + 指南针 = Reliquary Portkey", - "lore2": "这个物品允许你远程访问被标记的容器。", - "lore3": "制作完成后,查看物品来使用该技能", - "notcontainer": "该物品不是可用容器" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "裂痕闪烁", - "description": "眨个眼的功夫,在短距离之内瞬间传送!", - "lore1": "格方块(2x 垂直)", - "lore2": "当疾跑时:跳跃两次以", - "lore3": "传送" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "便捷式末影箱", - "description": "手持末影箱", - "lore1": "左键点击以快速打开末影箱(无需放置)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "浮空抑制器", - "description": "不习惯浮在空中?让它解救你吧!", - "lore1": "按住潜行时,将以低于正常速度降落!", - "lore2": "冷却:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "裂痕之门", - "description": "传送到标记位置", - "lore1": "制作:末影珍珠 + 紫水晶碎片 + 绿宝石", - "lore2": "使用前注意!", - "lore3": "将有五秒延迟,", - "lore4": "在进行五秒延迟等待时,你可以在动画中死亡。" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "裂痕抗性", - "description": "当使用末影物品或技能时,给予抗性提升", - "lore1": "+ 被动效果:当你使用末影物品或技能时,给予抗性提升效果。", - "lore2": "不包含便捷式末影箱。只对实际消耗的物品有效。" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] }, "visage": { - "name": "裂隙面容", - "description": "如果您的库存中有末影珍珠,则可以防止末影人变得具有攻击性。", - "lore1": "如果你的库存中有末影珍珠,末影人将不会变得具有攻击性。" + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "有机氧气罐", - "description": "小肺终于能容纳更多的氧气了。", - "lore1": "氧气容量增加" - }, - "fishersfantasy": { - "name": "与鱼同乐", - "description": "从钓鱼中获得更多经验,以及更多的鱼!", - "lore1": "每级都有概率获得更多的经验和鱼" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "海龟矿工", - "description": "当你在水下时给予急迫效果!", - "lore1": "当水下呼吸效果消失时,在水下挖掘时将给予急迫3效果(可与水下速掘效果叠加)。" - }, - "nightvision": { - "name": "海龟视野", - "description": "当你在水下时给予夜视效果!", - "lore1": "当水下呼吸效果消失时,在水下时将给予夜视效果!" - }, - "dolphingrace": { - "name": "海豚的祝福", - "description": "无需海豚相伴也能快速游动了。", - "lore1": "+ 被动技能:给予 ", - "lore2": "x 游动速度 (海豚的恩惠效果)", - "lore3": "精准的德国工程师- 等等,这好像不对... 不与深海探索者兼容" + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "幽灵战甲", - "description": "当未受到任何攻击时构建幽灵战甲(将提供防御效果)。 仅可以防御一次, 被攻击后失效", - "lore1": "最大护甲值", - "lore2": "速度" - }, - "nightvision": { - "name": "鹰眼", - "description": "潜行时给予夜视效果", - "lore1": "当潜行时", - "lore2": "突发给予", - "lore3": "夜视效果" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "物品夺取", - "description": "潜行时立即拾取半径内的掉落物", - "lore1": "拾取半径" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "潜行加速", - "description": "当潜行时给予速度效果", - "lore1": "潜行速度" - }, - "enderveil": { - "name": "末影面纱", - "description": "不再使用南瓜来避免末影人的攻击", - "lore1": "潜行时防止末影人的攻击", - "lore2": "阻止所有末影人攻击" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "弯刀", - "description": "让剑斩开树叶!", - "lore1": "有效范围半径", - "lore2": "斩击冷却", - "lore3": "耐久消耗" - }, - "bloodyblade": { - "name": "血液之刃", - "description": "用剑斩击,持续流血!", - "lore1": "使用剑斩击生物时使其流失生命值", - "lore2": "流失持续时间", - "lore3": "冷却" - }, - "poisonedblade": { - "name": "淬毒匕首", - "description": "用剑斩击,给予剧毒效果!", - "lore1": "使用剑斩击生物时给予剧毒效果", - "lore2": "效果持续时间", - "lore3": "冷却" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "驯化伤害", - "description": "提高你驯养的生物的伤害", - "lore1": "伤害增长" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "驯化生命", - "description": "提高所驯养生物的生命值", - "lore1": "额外生命" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "驯化再生", - "description": "提升你所驯养的生物的回血速度", - "lore1": "生命/秒" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "荆棘", - "description": "受伤时将伤害反弹给攻击者!", - "lore1": "伤害反弹倍数" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "痛苦之珠", - "description": "根据你周围敌人的数量来分配你所造成的伤害!", - "lore1": "你周围的敌人越多,你对每个敌人造成的伤害就越少", - "lore2": "范围:", - "lore3": "对所有实体增加伤害:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "痛苦之志", - "description": "根据你所造成的伤害恢复生命", - "lore1": "通过造成伤害恢复生命", - "lore2": "造成伤害后在 3 秒内进行生命恢复,冷却时间 1 秒。", - "lore3": "生命恢复/每次造成伤害比:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "尸骨之矛", - "description": "当击杀一名敌人或某能力击杀一名敌人时,生成长矛并对附近敌人造成伤害。", - "lore1": "如果此能力击杀一名敌人,长矛将收回并寻找下一敌人。", - "lore2": "消耗部分生命以生成长矛(可能导致死亡)", - "lore3": "最大长矛数:1 +" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "玻璃大炮", - "description": "你的护甲值越低,空手造成的伤害越高", - "lore1": "x 伤害(当0护甲值时)", - "lore2": "每级造成的额外伤害" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "钢铁之力", - "description": "提升当空手时所造成的伤害", - "lore1": "伤害" - }, - "suckerpunch": { - "name": "杀客同萌", - "description": "疾跑时可以攻击,将更加致命", - "lore1": "伤害", - "lore2": "攻击时伤害将随移动速度的增加而增加" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file diff --git a/src/main/resources/zh_TW.json b/src/main/resources/zh_TW.json index 48d54eb1f..50accd949 100644 --- a/src/main/resources/zh_TW.json +++ b/src/main/resources/zh_TW.json @@ -231,912 +231,1285 @@ "challenge_pickaxe_5m": { "title": "傳奇礦工", "description": "打破 5,000,000 個區塊" + }, + "challenge_eat_100": { + "title": "So much to eat!", + "description": "Eat over 100 Items!" + }, + "challenge_eat_1000": { + "title": "Unquenchable Hunger!", + "description": "Eat over 1,000 Items!" + }, + "challenge_eat_10000": { + "title": "EVERLASTING HUNGER!", + "description": "Eat over 10,000 Items!" + }, + "challenge_harvest_100": { + "title": "Full Harvest", + "description": "Harvest over 100 crops!" + }, + "challenge_harvest_1000": { + "title": "Grand Harvest", + "description": "Harvest over 1,000 crops!" + }, + "challenge_swim_1nm": { + "title": "Human Submarine!", + "description": "Swim 1 Nautical Mile (1,852 blocks)" + }, + "challenge_sneak_1k": { + "title": "Knee Pain", + "description": "Sneak over a kilometer (1,000 blocks)" } }, "items": { - "boundenderperal": { - "name": "亞空間之鑰", - "usage1": "Shift + 左鍵 | 綁定", - "usage2": "右鍵 | 查看已綁定的容器" - }, - "boundeyeofender": { - "name": "視界錨點", - "usage1": "右鍵 | 消耗物品並傳送到綁定的地點", - "usage2": "Shift + 左鍵 | 綁定方塊" - }, - "boundredstonetorch": { - "name": "紅石遙控器", - "usage1": "右鍵 | 發送 1 tick 的紅石脈衝", - "usage2": "對 '標靶' Shift + 左鍵 | 進行綁定" - }, - "boundsnowball": { - "name": "網絡陷阱!", - "usage1": "拋出以在該位置創建臨時網絡陷阱" + "bound_ender_peral": { + "name": "Reliquary Portkey", + "usage1": "Shift + Left Click to bind", + "usage2": "Right Click to access the bound Inventory" + }, + "bound_eye_of_ender": { + "name": "Ocular Anchor", + "usage1": "Right Click to consume and teleport to the bound location", + "usage2": "Shift + Left Click to bind to a block" + }, + "bound_redstone_torch": { + "name": "Redstone Remote", + "usage1": "Right Click to create a 1-Tick Redstone pulse", + "usage2": "Shift + Left Click on a 'Target' Block to bind" + }, + "bound_snowball": { + "name": "Web Snare!", + "usage1": "Throw to create a temporary web trap at the location" + }, + "elevator_block": { + "name": "Elevator Block", + "usage1": "Jump to teleport up", + "usage2": "Shift to teleport down", + "usage3": "Minimum of 2 air blocks between the elevators" } }, "snippets": { "gui": { - "level": "等級", - "knowledge": "知識", - "powerused": "能力", - "notlearned": "尚未學習", - "xp": "至下一級經驗", - "welcome": "歡迎!", - "welcomeback": "歡迎回來!", - "xpbonusfortime": "經驗增益,持續", - "unlockthisbyclicking": "右鍵單擊解鎖:", - "back": "返回", - "unlearnall": "遺忘全部技能", - "unlearnedall": "已全部遺忘" - }, - "adaptmenu": { - "maynotunlearn": "你無法遺忘此技能", - "mayunlearn": "可學習/遺忘", - "knowledgecost": "知識可用", - "knowledgeavailable": "可用知識", - "alreadylearned": "已學習", - "unlearnrefund": "點擊遺忘此技能", - "norefunds": "極限模式將禁用點數返還", - "knowledge": "知識", - "clicklearn": "點擊以學習", - "noknowledge": "(你沒有任何知識可用)", - "youonlyhave": "你只有", - "howtolevelup": "升級技能來擴大能力上限", - "notenoughpower": "能力不足!每級需要花費 1 能力。", - "power": "能力", - "powerdrain": "耗費能力", - "learned": "已學習 ", - "unlearned": "未學習 ", - "activatorblock": "書架" - }, - "knowledgeorb": { - "contains": "包含", - "knowledge": "知識", - "rightclick": "右鍵", - "togainknowledge": "獲得此知識", - "knowledgeorb": "知識之珠" - }, - "experienceorb": { - "contains": "包含", - "xp": "經驗", - "rightclick": "右鍵", - "togainxp": "獲得此經驗", - "xporb": "經驗球" + "level": "Level {0}", + "knowledge": "{0} knowledge", + "power_used": "Power Used {0}", + "power_used_ratio": "({0}/{1} Power Used)", + "not_learned": "Not Learned", + "xp": "{0}XP to {1}", + "welcome": "Welcome!", + "welcome_back": "Welcome back!", + "xp_bonus_for_time": "+{0} XP for {1}", + "max_ability_power": "Maximum Ability Power +{0}", + "unlock_this_by_clicking": "Unlock this by Right-Clicking: {0}", + "back": "Back", + "unlearn_all": "Unlearn all{0}", + "unlearned_all": "Unlearned all" + }, + "adapt_menu": { + "may_not_unlearn": "YOU MAY NOT UNLEARN", + "may_unlearn": "YOU MAY LEARN/UNLEARN", + "knowledge_cost": "{0} Knowledge Cost", + "knowledge_available": "Knowledge Available", + "knowledge_available_title": "{0} knowledge", + "unlearn_refund": "Click to Unlearn & Refund {0} Knowledge Cost", + "no_refunds": "HARDCORE, REFUNDS DISABLED", + "knowledge": "knowledge", + "no_knowledge": "(You don't have any Knowledge)", + "you_only_have": "(You only have {0} Knowledge Available)", + "how_to_level_up": "Level up skills to increase your max power.", + "not_enough_power": "Not enough power! Each Ability Level costs 1 power.", + "power": "power", + "power_drain": "{0} Power Drain", + "learned": "Learned {0}", + "unlearned": "Unlearned {0}", + "activator_block": "Bookshelf" + }, + "knowledge_orb": { + "contains": "contains {0} {1} knowledge", + "knowledge": "knowledge", + "right_click_to_gain_knowledge": "Right-Click to gain this knowledge", + "knowledge_orb": "Knowledge Orb" + }, + "experience_orb": { + "contains": "contains {0} {1} Experience", + "xp": "Experience", + "right_click_to_gain_xp": "Right-Click to gain this experience", + "xp_orb": "Experience Orb" } }, "skill": { "agility": { - "name": "敏捷", + "name": "Agility", "icon": "⇉", - "description": "敏捷可以在遇到障礙時幫助你快速、靈活的移動。" + "description": "Agility is the ability to move quick and fluidly in the face of obstacles." }, "architect": { - "name": "建築師", + "name": "Architect", "icon": "⬧", - "description": "結構是萬物之本。現實在你手中,由你掌握。" + "description": "Structures are the building blocks of the world. Reality is in your hands, yours to control." }, "axes": { - "name": "斧技", - "icon": "❖", - "description1": "如果說你可以砍掉什麽東西", - "description2": "來取代掉砍樹", - "description3": "有什麽不一樣的嗎?" + "name": "Axes", + "icon": "🪓", + "description": "Why chop down trees, when you could chop things instead, same end result!" }, "brewing": { - "name": "釀造", + "name": "Brewing", "icon": "❦", - "description": "咕嘟,咕嘟,咕嘟- 我最終還是不敢將這瓶藥水丟進煉藥鍋中。" + "description": "Double Bubble, Triple Bubble, Quadruple Bubble- I still cant put this potion into a cauldron" }, "blocking": { - "name": "格擋", - "icon": "▒", - "description": "棍棒與石頭不會折斷你的骨頭,但是盾牌會。" + "name": "Blocking", + "icon": "🛡", + "description": "Sticks and stones Won't break your bones, But a shield will." }, "crafting": { - "name": "合成", + "name": "Crafting", "icon": "⌂", - "description": "若沒有剩下什麽東西可以合成,為什麽不再做一個呢?" + "description": "With no more pieces left to place, why not make another?" }, "discovery": { - "name": "探索", + "name": "Discovery", "icon": "⚛", - "description": "當洞察力提升時,你的思維便會愈發澄澈,探索更多的奧秘。" + "description": "As your perception expands, your mind unravels to discover that which you did not." }, "enchanting": { - "name": "附魔", + "name": "Enchanting", "icon": "♰", - "description": "你在嘀咕些什麽?預言,幻象,還是在胡言亂語?" + "description": "What are you going on about? Prophecies, visions, superstitious jibber-jabber?" }, "excavation": { - "name": "挖掘", - "icon": "✥", - "description": "挖大洞......" + "name": "Excavation", + "icon": "ᛳ", + "description": "Diggy Diggy Hole..." }, "herbalism": { - "name": "草藥學", + "name": "Herbalism", "icon": "⚘", - "description": "我見不到植物,不過我能找到一些種子還有—— 呃,雜草?" + "description": "I can't find any plants, but I can find some seeds and- is that... Weed?" }, "hunter": { - "name": "狩獵", + "name": "Hunter", "icon": "☠", - "description": "狩獵是一段旅程,而不是結果。" + "description": "Hunting is about the journey not the outcome." }, "nether": { - "name": "地獄", + "name": "Nether", "icon": "₪", - "description": "它自深處而來。" + "description": "From the depths of the Nether itself." }, "pickaxe": { - "name": "採礦", + "name": "Pickaxe", "icon": "⛏", - "description": "矮人是礦工,而我在這段時間裡明白了一件事。我是瑞典人!" + "description": "Dwarves are the miners, but ive learned a thing or two in my time. IM SWEDISH" }, "ranged": { - "name": "箭術", + "name": "Ranged", "icon": "🏹", - "description": "你與目標的距離是勝利的關鍵所在,也是生存的關鍵所在。" + "description": "Distance is the key to victory, and the key to survival." }, "rift": { - "name": "裂痕", + "name": "Rift", "icon": "❍", - "description": "裂痕如同一道尖銳的線束,但是現在你控制了它。" + "description": "The Rift is a caustic harness, but you have harnessed the harness." }, "seaborne": { - "name": "波濤", - "icon": "🌊", - "description": "別忘了帶著這個技能,也許有一天你能見到由水組成的奇觀。" + "name": "Seaborne", + "icon": "🎣", + "description": "With this skill, you may will the wonders of the water." }, "stealth": { - "name": "隱形", - "icon": "✠", - "description": "當行走於陰影裡,這是看不見的藝術。" + "name": "Stealth", + "icon": "☯", + "description": "The art of the unseen. Walk in the shadows." }, "swords": { - "name": "劍術", + "name": "Swords", "icon": "⚔", - "description": "一份來自玄武石的力量!" + "description": "By the power of GreyStone!" }, "taming": { - "name": "馴獸", + "name": "Taming", "icon": "♥", - "description": "鸚鵡、蜜蜂,以及......你?" + "description": "The parrots and the bees... and you?" }, "tragoul": { - "name": "剎鉤", - "icon": "▼", - "description": "血液在宇宙的血管中遊動,束縛於你的手中。" + "name": "TragOul", + "icon": "🗡", + "description": "Blood flows through the veins of the universe. Constricted by your hands." }, "chronos": { - "name": "時空", - "icon": "۞", - "description": "嘗試著宇宙的鐘上個發條,便可以感受到流動。若能把時鐘弄壞,或許就能成為它。" + "name": "Chronos", + "icon": "⏳", + "description": "Wind the Clock of the universe, experience the flow. Break the clock, become it." }, "unarmed": { - "name": "搏擊", - "icon": "⚜", - "description": "赤手空拳並不曾意味著失去力量。" + "name": "Unarmed", + "icon": "»", + "description": "Without a weapon is not without strength." } }, "agility": { - "armorup": { - "name": "裝甲加速", - "description": "衝刺的越快,給予的護甲值就越多!", - "lore1": "最大護甲值", - "lore2": "所需的加速時間" - }, - "superjump": { - "name": "高跳", - "description": "一覽眾山小。", - "lore1": "最大跳躍高度", - "lore2": "同時按下 潛行 + 跳躍 按鍵進行高跳!" - }, - "walljump": { - "name": "攀跳", - "description": "在半空中緊貼墻壁,按住潛行鍵並跳躍。", - "lore1": "最大跳躍數量", - "lore2": "跳躍高度" - }, - "windup": { - "name": "上弦", - "description": "衝刺時間越長,速度越快!", - "lore1": " 最大速度", - "lore2": " 所需衝刺時間" + "armor_up": { + "name": "Armor Up", + "description": "Get more armor the longer you sprint!", + "lore": [ + "Passive: Build armor while sprinting", + "+ {0} Maximum armor gained", + "* {1} Time to reach max armor" + ] + }, + "super_jump": { + "name": "Super Jump", + "description": "Exceptional Height Advantage.", + "lore": [ + "Sneak + Jump to perform a Super Jump", + "+ {0} Maximum jump height" + ] + }, + "wall_jump": { + "name": "Wall Jump", + "description": "Hold shift while mid-air against a wall to wall latch & jump!", + "lore": [ + "Hold Sneak against wall mid-air to latch and jump", + "+ {0} Maximum wall jumps", + "+ {1} Jump height per wall jump" + ] + }, + "wind_up": { + "name": "Wind Up", + "description": "Get faster the longer you sprint!", + "lore": [ + "Passive: Build speed while sprinting", + "+ {0} Maximum speed multiplier", + "* {1} Time to reach max speed" + ] } }, "architect": { + "elevator": { + "name": "Elevator", + "description": "This allows for you to build an elevator to teleport vertically fast!", + "lore": [ + "Craft: 8 Wool around 1 Ender Pearl", + "+ Unlocks Elevator Block crafting", + "* Jump to go up, Sneak to go down" + ] + }, "foundation": { - "name": "魔法基建", - "description": "當你潛行時,可以臨時在腳下放置方塊。", - "lore1": "最多可在腳下生成:", - "lore2": "塊臨時方塊" + "name": "Magic Foundation", + "description": "This allows for you to sneak and place a temporary foundation beneath you!", + "lore": [ + "Sneak in mid-air to create temporary blocks", + "+ {0} Blocks you can place beneath you", + "* Blocks disappear after a short time" + ] }, "glass": { - "name": "絲質手套", - "description": "徒手打破玻璃後將會掉落玻璃方塊!", - "lore1": "當手觸摸到玻璃時有絲綢般的觸感" - }, - "wirelessredstone": { - "name": "紅石遙控器", - "description": "此功能可使你使用紅石火把遠程遙控紅石機關!", - "lore1": "標靶*1 + 紅石火把*1 + 終界珍珠*1 = 紅石遙控器*1" + "name": "Silk-Touch Glass", + "description": "This allows for you to essentially prevent the loss of glass blocks when you break them with an empty hand!", + "lore": [ + "Passive: Break glass with bare hands", + "+ Glass drops as item instead of breaking" + ] + }, + "wireless_redstone": { + "name": "Redstone Remote", + "description": "This allows for you to use a redstone torch to toggle redstone, remotely!", + "lore": [ + "Craft: Target + Redstone Torch + Enderpearl", + "+ Remotely toggle redstone signals", + "* Shift + Left-click to bind, Right-click to pulse" + ] }, "placement": { - "name": "建築師之杖", - "description": "手持多格方塊,按住潛行鍵瞄準目標方塊。根據預覽擺放方塊,持續調整以達到最好效果!請注意:可能需要移動來調整邊界。", - "lore1": "手中必須持有多於", - "lore2": "格方塊才能使用", - "lore3": "建築師之杖。" + "name": "Builders Wand", + "description": "Allows for you to place multiple blocks at once to activate Sneak, and hold a block that matches your looking block and place! Keep in mind, you may need to move a tad to trigger bounding the boxes!", + "need_blocks": "You need {0} blocks in your hand to place this", + "lore": [ + "Sneak + Place to extend block surfaces", + "+ Place multiple blocks at once", + "* Hold matching blocks in hand" + ] } }, "axe": { "chop": { - "name": "伐木斧", - "description": "手持斧頭,右鍵木頭砍伐多塊樹木。", - "lore1": "每次砍伐的數量", - "lore2": "冷卻", - "lore3": "耐久消耗" - }, - "logswap": { - "name": "露西的原木轉換器", - "description": "在工作台中轉換原木的種類吧!", - "lore1": "1塊任意種類的原木 + 1株樹苗 = 1塊樹苗對應種類的原木" - }, - "droptoinventory": { - "name": "快速進入背包" - }, - "groundsmash": { - "name": "山崩地裂", - "description": "跳躍,然後迅速蹲下。斬擊所有附近的敵人。", - "lore1": "傷害", - "lore2": "方塊半徑", - "lore3": "力量", - "lore4": "冷卻" - }, - "leafminer": { - "name": "花匠", - "description": "同時剪斷大量樹葉。", - "lore1": "潛行,然後挖掘樹葉。", - "lore2": "樹葉挖掘範圍", - "lore3": "由於防止漏洞濫用,挖掘樹葉將不會獲得掉落物。" - }, - "woodminer": { - "name": "原木礦工", - "description": "允許你一次砍伐大量樹木!", - "lore1": "潛行,然後砍伐 木頭/原木(木板無效)", - "lore2": "有效距離", - "lore3": "與直接進入背包兼容。" + "name": "Axe Chop", + "description": "Chop down trees by right clicking the base log!", + "lore": [ + "Right-click base log to chop entire tree", + "+ {0} Blocks chopped per use", + "* {1} Cooldown between chops", + "- {2} Tool durability per use" + ] + }, + "log_swap": { + "name": "Lucy's Log-Swapper", + "description": "Change the flavor of logs in a Crafting Table!", + "lore": [ + "Craft: 8 Logs + 1 Sapling = 8 Logs of sapling type", + "+ Convert any log type to another" + ] + }, + "drop_to_inventory": { + "name": "Axe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Chopped items go directly to inventory", + "+ No more chasing dropped logs" + ] + }, + "ground_smash": { + "name": "Axe Ground Smash", + "description": "Jump, then crouch and smash all nearby enemies.", + "lore": [ + "Jump + Sneak with axe to ground smash", + "+ {0}-{1} Damage dealt", + "+ {2} Block radius", + "+ {3} Knockback force", + "* {4} Cooldown" + ] + }, + "leaf_miner": { + "name": "Leaf-miner", + "description": "Allows you to break bulk leaves at once!", + "lore": [ + "Sneak + Mine leaves to break in bulk", + "+ {0} Block radius", + "- No drops from leaves (exploit prevention)" + ] + }, + "wood_miner": { + "name": "Wood-miner", + "description": "Allows you to break bulk wood at once!", + "lore": [ + "Sneak + Mine logs to break in bulk", + "+ {0} Block radius", + "* Works with Drop-to-Inventory", + "* Does not work on planks" + ] } }, "brewing": { "lingering": { - "name": "纏綿", - "description": "加長藥水效果持續時間。", - "lore1": "持續時間", - "lore2": "持續時間" - }, - "superheated": { - "name": "過載", - "description": "釀造台越熱,它的工作效率就越高!", - "lore1": "釀造台每貼近火焰", - "lore2": "釀造台每貼近岩漿" + "name": "Lingering Brew", + "description": "Brewed potions last longer!", + "lore": [ + "Passive: Potion effects last longer", + "+ {0} Bonus duration for regular potions", + "+ {1} Bonus duration for splash potions" + ] + }, + "super_heated": { + "name": "Super Heated Brew", + "description": "Brewing stands work faster the hotter they are.", + "lore": [ + "Passive: Heat sources speed up brewing", + "+ {0} Speed per adjacent fire block", + "+ {1} Speed per adjacent lava block" + ] }, "darkness": { - "name": "瓶裝黑暗", - "description": "不知道你為什麽要這個,反正給你就是了!", - "lore1": "夜視藥水 + 混凝土方塊 = 黑暗藥水(30秒)", - "lore2": "不過得先說好,藥水效果生效期間不能衝刺。" + "name": "Bottled Darkness", + "description": "Not sure why you need this, but here you go!", + "lore": [ + "Craft: Night Vision Potion + Black Concrete", + "+ {0} Darkness effect", + "- Prevents sprinting while active" + ] }, "haste": { - "name": "瓶裝緊急", - "description": "效率附魔難道不夠用嗎?!", - "lore1": "速度藥水+紫水晶碎片=急速藥水(60秒)", - "lore2": "速度藥水 + 紫水晶塊 = 急速藥水-2(30 秒)" + "name": "Bottled Haste", + "description": "When Efficiency is not enough", + "lore": [ + "Craft: Speed Potion + Amethyst Shard = Haste I (60s)", + "Craft: Speed Potion + Amethyst Block = Haste II (30s)", + "+ Unlocks Haste potion brewing" + ] }, "absorption": { - "name": "瓶裝抗性提升", - "description": "來硬的!", - "lore1": "即時治療+石英=吸收藥水(60秒)", - "lore2": "即時治療+石英塊=吸收藥水-2(30秒)" + "name": "Bottled Absorption", + "description": "Harden the body!", + "lore": [ + "Craft: Instant Heal + Quartz = Absorption I (60s)", + "Craft: Instant Heal + Quartz Block = Absorption II (30s)", + "+ Unlocks Absorption potion brewing" + ] }, "fatigue": { - "name": "瓶裝疲勞", - "description": "來軟的!", - "lore1": "虛弱藥水 + 史萊姆球 = 挖掘疲勞藥水(30秒)", - "lore2": "虛弱藥水 + 史萊姆塊 = 挖掘疲勞 II 藥水(15秒)" + "name": "Bottled Fatigue", + "description": "Weaken the body!", + "lore": [ + "Craft: Weakness Potion + Slime Ball = Fatigue I (30s)", + "Craft: Weakness Potion + Slime Block = Fatigue II (15s)", + "+ Unlocks Mining Fatigue potion brewing" + ] }, "hunger": { - "name": "反胃飢餓", - "description": "喂飽貪心的人吧!", - "lore1": "基礎藥水 + 腐肉 = 飢餓藥水(30秒)", - "lore2": "虛弱藥水 + 腐肉 = 飢餓 III 藥水(15秒)" + "name": "Bottled Hunger", + "description": "Feed the Insatiable!", + "lore": [ + "Craft: Awkward Potion + Rotten Flesh = Hunger I (30s)", + "Craft: Weakness Potion + Rotten Flesh = Hunger II (15s)", + "+ Unlocks Hunger potion brewing" + ] }, "nausea": { - "name": "瓶裝反胃", - "description": "真令我噁心。", - "lore1": "基礎藥水 + 棕色蘑菇 = 反胃藥水(16秒) ", - "lore2": "基礎藥水 + 緋紅蕈菇 = 反胃藥水 II(8秒)" + "name": "Bottled Nausea", + "description": "You make me sick!", + "lore": [ + "Craft: Awkward Potion + Brown Mushroom = Nausea I (16s)", + "Craft: Awkward Potion + Crimson Fungus = Nausea II (8s)", + "+ Unlocks Nausea potion brewing" + ] }, "blindness": { - "name": "瓶裝失明", - "description": "你真是可怕的人...", - "lore1": "基礎藥水 + 墨囊 = 失明藥水(30秒)", - "lore2": "基礎藥水 + 螢光墨囊 = 失明 II 藥水(15秒)" + "name": "Bottled Blindness", + "description": "You're a horrible person...", + "lore": [ + "Craft: Awkward Potion + Ink Sac = Blindness I (30s)", + "Craft: Awkward Potion + Glow Ink Sac = Blindness II (15s)", + "+ Unlocks Blindness potion brewing" + ] }, "resistance": { - "name": "瓶裝抗性", - "description": "最佳防禦!", - "lore1": "基礎藥水 + 鐵錠 = 抗性提升藥水(60秒)", - "lore2": "基礎藥水 + 鐵方塊 = 抗性提升 II 藥水(60秒)" - }, - "healthboost": { - "name": "瓶裝生命", - "description": "有的時候感覺最大生命值不夠用...", - "lore1": "瞬間治療藥水 = 金蘋果 = 生命提升藥水(120秒)", - "lore2": "瞬間治療藥水 + 附魔金蘋果 = 生命提升 II 藥水(120秒)" + "name": "Bottled Resistance", + "description": "Fortification at its finest!", + "lore": [ + "Craft: Awkward Potion + Iron Ingot = Resistance I (60s)", + "Craft: Awkward Potion + Iron Block = Resistance II (30s)", + "+ Unlocks Resistance potion brewing" + ] + }, + "health_boost": { + "name": "Bottled Life", + "description": "When Maximum health is not enough...", + "lore": [ + "Craft: Instant Heal + Golden Apple = Health Boost I (120s)", + "Craft: Instant Heal + Enchanted Apple = Health Boost II (120s)", + "+ Unlocks Health Boost potion brewing" + ] }, "decay": { - "name": "瓶裝腐朽", - "description": "誰知道Detritus為什麽這麽有用?", - "lore1": "虛弱藥水 + 毒馬鈴薯 = 凋零藥水(16秒)", - "lore2": "虛弱藥水 + 緋紅蕈根 = 凋零藥水(8秒)" + "name": "Bottled Decay", + "description": "Who knew Detritus would be so useful?", + "lore": [ + "Craft: Weakness Potion + Poisonous Potato = Wither I (16s)", + "Craft: Weakness Potion + Crimson Roots = Wither II (8s)", + "+ Unlocks Wither potion brewing" + ] }, "saturation": { - "name": "瓶裝飽和", - "description": "哦,我知道... 我其實還沒那麽餓...", - "lore1": "生命恢復藥水 + 烤馬鈴薯 = 飽和藥水(120秒)", - "lore2": "生命恢復藥水 + 幹草塊= 飽和藥水(120秒)" + "name": "Bottled Saturation", + "description": "Ya know... Im not even Hungry...", + "lore": [ + "Craft: Regen Potion + Baked Potato = Saturation I", + "Craft: Regen Potion + Hay Bale = Saturation II", + "+ Unlocks Saturation potion brewing" + ] } }, "blocking": { - "chainarmorer": { - "name": "梅菲斯特的鎖鏈", - "description": "允許你合成鎖鏈盔甲", - "lore1": "配方和其它盔甲一致,不過需要使用鐵粒作為材料。" - }, - "horsearmorer": { - "name": "可合成馬鎧", - "description": "允許你合成不同種類的馬鎧。", - "lore1": "在工作台中,使用材料圍著馬鞍一圈合成目標材質的馬鎧。" - }, - "saddlecrafter": { - "name": "可合成馬鞍", - "description": "用羽毛合成馬鞍", - "lore1": "配方:5皮革:" - }, - "multiarmor": { - "name": "盔甲套組", - "description": "在盔甲上綁定鞘翅", - "lore1": "旅行必備品。", - "lore2": "飛行時動態合併或切換盔甲與鞘翅!", - "lore3": "要合併,在物品欄按住Shift拖曳合併物品到被合併物品上。", - "lore4": "要解綁盔甲上的物品,按住潛行並丟棄物品以拆解。", - "lore5": "當盔甲耐久值至零時,合併到該盔甲上的所有物品都將丟失", - "lore6": "我不再需要盔甲了,它讓我太失望了..." + "chain_armorer": { + "name": "Chains of Mephistopheles", + "description": "Allows you to craft Chainmail Armor", + "lore": [ + "Craft: Use Iron Nuggets in armor patterns", + "+ Unlocks Chainmail Armor crafting" + ] + }, + "horse_armorer": { + "name": "Craftable Horse Armor", + "description": "Allows you to craft Horse Armor", + "lore": [ + "Craft: Surround Saddle with armor material", + "+ Unlocks Horse Armor crafting", + "* Use Iron/Gold/Diamond for different tiers" + ] + }, + "saddle_crafter": { + "name": "Craftable Saddle", + "description": "Craft a Saddle with Leather", + "lore": [ + "Craft: 5 Leather in saddle pattern", + "+ Unlocks Saddle crafting" + ] + }, + "multi_armor": { + "name": "Multi-Armor", + "description": "Bind Elytras to Armor", + "lore": [ + "Merge Elytra with Chestplate for dual functionality", + "+ Shift-click to merge items in inventory", + "* Sneak-Drop to disassemble", + "- Destroying MultiArmor loses all merged items" + ] } }, "crafting": { "deconstruction": { - "name": "分解器", - "description": "分解方塊或物品,回收部分合成時的材料。", - "lore1": "將 被分解物品 + 剪刀", - "lore2": "放入鍛造台進行回收。" + "name": "Deconstruction", + "description": "Deconstruct blocks & items into salvageable base components!", + "lore": [ + "Drop item + Sneak + Right-click with Shears", + "+ Break items into base components" + ] }, "xp": { - "name": "熟能生巧", - "description": "合成物品時給予原版經驗。", - "lore1": "當合成完畢後自動給予" + "name": "Crafting XP", + "description": "Gain passive XP when crafting", + "lore": [ + "Passive: Earn XP from crafting items", + "+ XP gained per craft" + ] }, "reconstruction": { - "name": "礦石重建", - "description": "用基礎成分重新合成礦石!", - "lore1": "8 個掉落物和 1 個宿主 = 1 個礦石(無形)", - "lore2": "掉落物必須被熔煉(如果適用)", - "lore3": "不包括:廢料、石英、祖母綠等...", - "lore4": "主機 = 封裝。即:石頭、下界岩、深石板" + "name": "Ore Reconstruction", + "description": "Recraft ores from their base components!", + "lore": [ + "Craft: 8 Smelted drops + 1 Host block = 1 Ore", + "+ Reconstruct ore blocks from materials", + "* Host = Stone, Netherrack, or Deepslate", + "- Excludes Scraps, Quartz, Emeralds, etc." + ] }, "leather": { - "name": "可合成皮革", - "description": "將腐肉制成皮革", - "lore1": "只需要把腐肉丟到篝火上!" + "name": "Craftable Leather", + "description": "Craft Leather from Rotten Flesh", + "lore": [ + "Cook Rotten Flesh on a Campfire", + "+ Converts Rotten Flesh to Leather" + ] }, "backpacks": { - "name": "布蒂利埃的背包", - "description": "將Mojang計劃添加的收納袋加入到遊戲中!", - "lore1": "你需要在生存模式下才能使用它", - "lore2": "XLX : 皮革,拴繩,皮革", - "lore3": "XSX : 皮革,木桶,皮革", - "lore4": "XCX : 皮革,箱子,皮革" + "name": "A Boutilier's Backpacks!", + "description": "This just Brings the Mojang Bundle into the game!", + "lore": [ + "Craft bundles with various recipes", + "+ Unlocks Bundle crafting", + "* Leather + Lead + Leather (row)", + "* Survival mode only" + ] }, "stations": { - "name": "便攜式桌子!", - "description": "使用手掌中的表格!", - "lore2": "關閉時遺忘在桌子上的任何物品都將永遠丟失!", - "lore3": "有效桌子:鐵砧、手工、磨石、製圖、切石機、織布機" + "name": "Portable Tables!", + "description": "Use a table in the palm of your hand!", + "lore": [ + "Right-click workstation in hand to use", + "+ Portable Anvil, Crafting, Grindstone, etc.", + "- Items left inside are LOST when closed!" + ] }, "skulls": { - "name": "可合成頭顱!", - "description": "用材料可以合成生物頭顱!", - "lore1": "使用以下物品在工作台中圍繞骨塊一圈合成頭顱:", - "lore2": "殭屍:腐肉", - "lore3": "骷髏:骨頭", - "lore4": "苦力怕:火藥", - "lore5": "凋零骷髏:地獄磚", - "lore6": "龍首:龍息" + "name": "Craftable skulls!", + "description": "Using Materials you can Craft Mob Skulls!", + "lore": [ + "Craft: Surround Bone Block with mob materials", + "+ Unlocks mob skull crafting", + "* Zombie=Flesh, Skeleton=Bone, Creeper=Gunpowder", + "* Wither=Nether Brick, Dragon=Dragon's Breath" + ] } }, "discovery": { "armor": { - "name": "世界之甲", - "description": "根據附近方塊硬度給予被動防禦。", - "lore1": "被動防禦", - "lore2": "由附近方塊硬度決定", - "lore3": "防禦: +" + "name": "World Armor", + "description": "Passive armor depending on nearby block hardness.", + "lore": [ + "Passive: Gain armor from nearby hard blocks", + "+ {0} Armor strength multiplier", + "* Harder blocks = More armor" + ] }, "unity": { - "name": "實驗性統合", - "description": "收集經驗球,隨機為其它技能增長經驗。", - "lore1": "點經驗 ", - "lore2": "每個經驗球" + "name": "Experimental Unity", + "description": "Collecting Experience Orbs adds XP to random skills.", + "lore": [ + "Passive: XP orbs boost random Adapt skills", + "+ {0} Skill XP per orb collected" + ] }, "resist": { - "name": "實驗性電阻", - "description": "減少來自任何方面的傷害\n", - "lore0": "每 15秒 發生一次", - "lore1": " 減少傷害", - "lore2": "經驗消耗" + "name": "Experimental Resistance", + "description": "Consume experience to mitigate the damage you take from all sources", + "lore": [ + "Passive: Spend XP to reduce incoming damage", + "+ {0} Damage reduction", + "- {1} XP drained per activation", + "* {2} Cooldown between activations" + ] }, "villager": { - "name": "村莊聚光燈", - "description": "與村民交易時將提升交易質量!", - "lore1": "每次與村民互動時都會減少獲得的經驗", - "lore2": "以減少和村民互動時獲得的經驗為代價,提高交易質量", - "lore3": "交互經驗削減" + "name": "Villager Attraction", + "description": "Allows for you to get Better trades with villagers!", + "lore": [ + "Passive: Better trades with villagers", + "+ {0} Chance for enhanced trades", + "- {1} XP cost per interaction" + ] } }, "enchanting": { - "lapisreturn": { - "name": "青金石的回報", - "description": "每級都將多消耗1經驗。但是越高等級返還青金石越多。", - "lore1": "每升一級都會額外消耗1經驗,最高可以返還3青金石。" - }, - "quickenchant": { - "name": "快速附魔", - "description": "在物品欄用附魔書點擊被附魔的物品以快速附魔。", - "lore1": "累計最大等級", - "lore2": "此物品應用的附魔總等級不能超過 ", - "lore3": "級" + "lapis_return": { + "name": "Lapis Return", + "description": "At the cost of 1 more level of XP, and has a chance to give you free lapis in return", + "lore": [ + "Trade extra XP for lapis refund", + "+ {0} Lapis returned per enchant", + "- 1 Extra XP level cost per enchant" + ] + }, + "quick_enchant": { + "name": "Quick-Click Enchant", + "description": "Enchant items by clicking enchant books directly on them.", + "max_power": "Cannot enchant items above {0} power", + "lore": [ + "Click enchant books directly on items to apply", + "+ {0} Maximum combined enchant levels" + ] }, "return": { - "name": "經驗返還", - "description": "當你附魔一個物品時,消耗的經驗會被返還一部分。", - "lore1": "當你附魔物品後,有機會返還一部分經驗。", - "lore2": "經驗返還" + "name": "XP Return", + "description": "Enchanting XP is returned to you when you enchant an item.", + "lore": [ + "Passive: Chance to refund XP when enchanting", + "+ {0} XP returned per enchant" + ] } }, "excavation": { "haste": { - "name": "極速挖掘機", - "description": "給予緊急效果,提高挖掘速度!", - "lore1": "當挖掘時給予緊急效果", - "lore2": "x 挖掘時緊急效果等級" + "name": "Hasty Excavator", + "description": "This will speed up the excavation process, with HASTE!", + "lore": [ + "Passive: Gain Haste while digging", + "+ {0} Haste levels when mining" + ] }, "spelunker": { - "name": "超級視野洞穴探險者!", - "description": "用眼睛觀察礦石,但要透過地面!", - "lore1": "副手礦石,主手螢火蟲,潛行!", - "lore2": "區塊範圍:", - "lore3": "使用時消耗Glowberry" - }, - "droptoinventory": { - "name": "快速進入背包" - }, - "omnitool": { + "name": "Super-Seeing Spelunker!", + "description": "See Ores with your eyes, but through the ground!", + "lore": [ + "Hold Ore in offhand + Glowberries in main hand + Sneak", + "+ {0} Block detection range", + "* Consumes 1 Glowberry per use" + ] + }, + "drop_to_inventory": { + "name": "Shovel Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Dug items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "omni_tool": { "name": "OMNI - T.O.O.L.", - "description": "Tackle設計的豪華多功能工具鉗。", - "lore1": "這也許是最強大的設計。", - "lore2": "可以根據實際需要合併或拆解工具。", - "lore3": "合併:按住潛行鍵,在物品欄中用預合併的物品點擊被合併的物品。", - "lore4": "拆解:手持預拆解的物品,按住潛行鍵丟棄以拆解。", - "lore5": "注意:如果此工具鉗套件中任何一個物品耐久度至零,該工具鉗將報廢!", - "lore6": "個可合併物品。", - "lore7": "有時候你需要五、六種物品在同一個工具鉗裡,或許僅僅需要一個。" + "description": "Tackle's overdesigned opulent Leatherman", + "lore": [ + "Merge multiple tools into one super-tool", + "+ {0} Maximum tools that can be merged", + "* Shift-click to merge tools in inventory", + "* Sneak-Drop to disassemble", + "- Broken tools in the merge cannot be used" + ] } }, "herbalism": { - "growthaura": { - "name": "生長光環", - "description": "加速農作物生長時間", - "lore1": "光環半徑", - "lore2": "生長速度", - "lore3": "消耗飽食度" + "growth_aura": { + "name": "Growth Aura", + "description": "Grow nature around you in an aura", + "lore": [ + "Passive: Crops grow faster around you", + "+ {0} Block radius", + "+ {1} Growth speed multiplier", + "- {2} Hunger cost per tick" + ] }, "hippo": { - "name": "草藥師的河馬", - "description": "吃點食物,感覺能更飽點。", - "lore1": "飽食度) 額外飽食度" + "name": "Herbalist's Hippo", + "description": "Consuming food, gives you more saturation", + "lore": [ + "Passive: Food gives bonus saturation", + "+ {0} Extra saturation per food consumed" + ] }, "myconid": { - "name": "草藥師的菌絲", - "description": "給予你制作菌絲的能力。", - "lore1": "所有泥土,和棕、紅色蘑菇將會制作出菌絲。" + "name": "Herbalist's Myconid", + "description": "Gives you the ability to craft Mycelium", + "lore": [ + "Craft: Any Dirt + Brown Mushroom + Red Mushroom", + "+ Unlocks Mycelium crafting recipe" + ] }, "terralid": { - "name": "草藥師的地衣\n", - "description": "給予你合成草方塊的能力。", - "lore1": "3個種子,加上3塊泥土,可合成3塊草方塊。" + "name": "Herbalist's Terralid", + "description": "Gives you the ability to craft Grass Blocks", + "lore": [ + "Craft: 3 Seeds over 3 Dirt", + "+ Unlocks Grass Block crafting recipe", + "* Produces 3 Grass Blocks per craft" + ] }, "cobweb": { - "name": "蛛網合成師", - "description": "你將獲得在工作台中合成蛛網的能力", - "lore1": "九弦,將製作蜘蛛網。" - }, - "mushroomblocks": { - "name": "蘑菇包裝廠", - "description": "你將獲得在工作台中合成蘑菇方塊的能力。", - "lore1": "四個蘑菇合成一個蘑菇塊,或者使用一個蘑菇塊進行分解。" - }, - "droptoinventory": { - "name": "快速進入背包" - }, - "hungryshield": { - "name": "飢餓護盾", - "description": "在飢餓席卷而來前保護生命值。", - "lore1": "飢餓抵抗" + "name": "Webby Creator", + "description": "Gives you the ability to craft Cobwebs in a Crafting Table", + "lore": [ + "Craft: 9 String in a 3x3 grid", + "+ Unlocks Cobweb crafting recipe" + ] + }, + "mushroom_blocks": { + "name": "Mushroom Maker", + "description": "Gives you the ability to craft Mushroom Blocks in a Crafting Table", + "lore": [ + "Craft: 4 Mushrooms = 1 Mushroom Block", + "Craft: 1 Mushroom Block = 1 Mushroom Stem", + "+ Unlocks Mushroom Block crafting recipes" + ] + }, + "drop_to_inventory": { + "name": "Hoe Drop-To-Inventory", + "description": "When you break a crop it teleports the item into your inventory", + "lore": [ + "Passive: Harvested crops go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "hungry_shield": { + "name": "Hungry Shield", + "description": "Take damage to your hunger before your health.", + "lore": [ + "Passive: Damage is absorbed by hunger first", + "+ {0} Damage converted to hunger", + "* Requires food in hunger bar to activate" + ] }, "luck": { - "name": "草藥師的祝福", - "description": "當你破壞花或草時,你將有機率獲得隨機物品。", - "lore0": "花將收獲食物,草將收獲種子", - "lore1": "破壞花獲得隨機物品的機率", - "lore2": "破壞草獲得隨機物品的機率" + "name": "Herbalist's Luck", + "description": "When you break Grass/Flowers, you have a chance to get a random item", + "lore": [ + "Flowers = Food, and Grass = Seeds", + "+ {0} Chance to get an item from breaking flowers", + "+ {1} Chance to get an item from breaking grass" + ] }, "replant": { - "name": "收割者", - "description": "手持鋤頭,右鍵莊稼進行自動收割和重新種植。", - "lore1": " 有效範圍半徑" + "name": "Harvest & Replant", + "description": "Right click a crop with a hoe to harvest & replant it.", + "lore": [ + "Right-click crops with hoe to harvest and replant", + "+ {0} Block radius for mass harvesting" + ] } }, "hunter": { "adrenaline": { - "name": "腎上腺素", - "description": "生命越少,近戰造成的傷害越大。", - "lore1": "最大傷害" + "name": "Adrenaline", + "description": "Deal more damage the lower health you are (Melee)", + "lore": [ + "Passive: Lower health = Higher damage", + "+ {0} Maximum bonus damage at low HP" + ] }, "penalty": { - "lore1": "如果飢餓度歸零,將給予劇毒效果!" - }, - "droptoinventory": { - "name": "快速進入背包", - "description": "當你擊殺生物/破壞某方塊,它的掉落物將會自動進入背包。", - "lore1": "如果允許,擊殺生物/破壞某方塊的掉落物將會自動進入背包。" + "name": "", + "description": "", + "lore": [ + "-{0} Poison stacks if you run out of hunger" + ] + }, + "drop_to_inventory": { + "name": "Items Drop-To-Inventory", + "description": "When you Kill something / Break a block With a sword it teleports the drops into your inventory", + "lore": [ + "Passive: Mob drops go directly to inventory", + "+ No more chasing dropped loot" + ] }, "invisibility": { - "name": "隱形之步", - "description": "以飢餓為代價,當你受傷時給予隱身效果。", - "lore1": "受傷時自動給予隱身效果。", - "lore2": "x 隱身效果,持續三秒", - "lore3": "x 疊加飢餓效果", - "lore4": "飢餓感疊加持續時間和倍數", - "lore5": "隱身效果持續時間" - }, - "jumpboost": { - "name": "狩獵者之巔", - "description": "以飢餓為代價,當受傷時給予跳躍提升效果。", - "lore1": "受傷時自動給予跳躍提升效果。", - "lore2": "x 跳躍提升效果,持續三秒", - "lore3": "x 疊加飢餓效果", - "lore4": "飢餓感疊加持續時間和倍數", - "lore5": "跳躍提升疊加倍數" + "name": "Vanishing Step", + "description": "When you are struck you gain invisibility, at the cost of hunger", + "lore": [ + "Gain Invisibility when struck by enemies", + "+ {0} Invisibility stacks for 3 seconds on hit", + "+ {2} Invisibility duration", + "- {1} Hunger cost per activation", + "- {4} Poison stacks if you run out of hunger" + ] + }, + "jump_boost": { + "name": "Hunter's Heights", + "description": "When you are struck you gain jump-boost, at the cost of hunger", + "lore": [ + "Gain Jump-Boost when struck by enemies", + "+ {0} Jump-Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump-Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "luck": { - "name": "狩獵者的祝福", - "description": "以飢餓為代價,當你受傷時給予幸運效果。", - "lore1": "受傷時自動給予幸運效果。", - "lore2": "x 幸運效果,持續三秒", - "lore3": "x 疊加飢餓效果", - "lore4": "飢餓感疊加持續時間和倍數", - "lore5": "幸運疊加倍數" + "name": "Hunter's Luck", + "description": "When you are struck you gain luck, at the cost of hunger", + "lore": [ + "Gain Luck when struck by enemies", + "+ {0} Luck stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Luck stacks multiplier, not duration", + "- {4} Poison stacks if you run out of hunger" + ] }, "regen": { - "name": "狩獵者的再生", - "description": "以飢餓為代價,當你受傷時給予再生效果。", - "lore1": "受傷時自動給予再生效果。", - "lore2": "x 再生效果,持續三秒", - "lore3": "x 疊加飢餓效果", - "lore4": "飢餓感疊加持續時間和倍數", - "lore5": "再生疊加倍數" + "name": "Hunter's Regen", + "description": "When you are struck you gain regeneration, at the cost of hunger", + "lore": [ + "Gain Regeneration when struck by enemies", + "+ {0} Regeneration stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Regeneration stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "resistance": { - "name": "狩獵者之盾", - "description": "以飢餓為代價,當你受傷時給予抗性提升效果。", - "lore1": "受傷時自動給予抗性提升效果。", - "lore2": "x3 抗性提升效果,持續三秒", - "lore3": "x 疊加飢餓效果", - "lore4": "飢餓感疊加持續時間和倍數", - "lore5": "抗性提升疊加倍數" + "name": "Hunter's Resistance", + "description": "When you are struck you gain resistance, at the cost of hunger", + "lore": [ + "Gain Resistance when struck by enemies", + "+ {0} Resistance stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Resistance stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "speed": { - "name": "狩獵者之速", - "description": "以飢餓為代價,當你受傷時給予速度效果。", - "lore1": "受傷時自動給予速度效果。", - "lore2": "x 速度效果,持續三秒", - "lore3": "x 疊加飢餓效果", - "lore4": "飢餓感疊加持續時間和倍數", - "lore5": "抗性提升疊加倍數" + "name": "Hunter's Speed", + "description": "When you are struck you gain speed, at the cost of hunger", + "lore": [ + "Gain Speed when struck by enemies", + "+ {0} Speed stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Speed stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] + }, + "jumpboost": { + "name": "Hunter's Jump Boost", + "description": "When you are struck you gain jump boost, at the cost of hunger", + "lore": [ + "Gain Jump Boost when struck by enemies", + "+ {0} Jump Boost stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Jump Boost stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] }, "strength": { - "name": "狩獵者之力", - "description": "以飢餓為代價,當你受傷時給予力量效果。", - "lore1": "受傷時自動給予力量效果。", - "lore2": "x 力量效果,持續三秒", - "lore3": "x 疊加飢餓效果", - "lore4": "飢餓感疊加持續時間和倍數", - "lore5": "力量疊加倍數" + "name": "Hunter's Strength", + "description": "When you are struck you gain strength, at the cost of hunger", + "lore": [ + "Gain Strength when struck by enemies", + "+ {0} Strength stacks for 3 seconds on hit", + "- {1} Hunger cost per activation", + "* Strength stacks multiplier, not duration", + "- {2} Poison stacks if you run out of hunger" + ] } }, "nether": { - "skulltoss": { - "name": "凋零發射器", - "description1": "發射凋零的頭", - "description2": "展現內心中的", - "description3": "枯竭。", - "lore1": "秒發射冷卻時間。", - "lore2": "使用凋零頭顱發射器:", - "lore3": "手持凋零骷髏頭顱,並左鍵", - "lore4": "發射一顆凋零頭顱。遇到方塊或生物時自動爆炸。" - }, - "witherresist": { - "name": "凋零抑制器", - "description": "通過下界合金的力量抑制凋零", - "lore1": "的機率避免凋零效果", - "lore2": "被動效果:穿著下界套裝有機率避免", - "lore3": "凋零效果。" - }, - "fireresist": { - "name": "防火性能", - "description": "通過硬化皮膚來防火。", - "lore1": "有機會抵消燃燒效果!" + "skull_toss": { + "name": "Wither Skull Throw", + "description": "Unleash your inner Wither by using someone's head.", + "lore": [ + "Right-click with a Wither Skull to throw it", + "+ Wither skull explodes on impact", + "* {0} Cooldown between throws" + ] + }, + "wither_resist": { + "name": "Wither Resistance", + "description": "Resists withering through the power of Netherite.", + "lore": [ + "Passive: Netherite Armor negates Wither effect", + "+ {0} Chance to negate withering per piece", + "* Stacks with multiple armor pieces" + ] + }, + "fire_resist": { + "name": "Fire Resistance", + "description": "Resists fire by hardening your skin.", + "lore": [ + "Passive: Chance to resist fire damage", + "+ {0} Chance to negate burning" + ] } }, "pickaxe": { - "autosmelt": { - "name": "自動熔煉", - "description": "當你挖掘(曾經)需要冶煉的礦物", - "lore1": "時將自動熔煉成熔煉後的產物。", - "lore2": " 的機率獲得額外產物。" + "auto_smelt": { + "name": "Autosmelt", + "description": "Allows you to smelt mined Vanilla ores", + "lore": [ + "Passive: Ores are automatically smelted when mined", + "+ {0} Chance for extra drop" + ] }, "chisel": { - "name": "破碎錘", - "description": "右鍵目標礦石,將有機率獲得額外產物。這可能會嚴重消耗耐久度。", - "lore1": "機率掉落額外產物", - "lore2": "耐久消耗" - }, - "droptoinventory": { - "name": "快速進入背包", - "description": "當你擊殺生物/破壞某方塊,它的掉落物將會自動進入背包。", - "lore1": "如果允許,擊殺生物/破壞某方塊的掉落物將會自動進入背包。" - }, - "veinminer": { - "name": "連鎖挖礦", - "description": "允許你遇到原版礦物的礦脈時候連鎖挖礦。", - "lore1": "按住潛行鍵,並挖掘礦物", - "lore2": "來使用連鎖挖礦。", - "lore3": "此技能不會將掉落物合併在一起。" + "name": "Ore Chisel", + "description": "Right Click Ores to Chisel more ore out of them, at a severe durability cost.", + "lore": [ + "Right-click ores to chisel extra resources", + "+ {0} Chance for extra ore drop", + "- {1} Tool durability per use" + ] + }, + "drop_to_inventory": { + "name": "Pickaxe Drop-To-Inventory", + "description": "When you break a block it teleports the item into your inventory", + "lore": [ + "Passive: Mined items go directly to inventory", + "+ No more chasing dropped items" + ] + }, + "silk_spawner": { + "name": "Pickaxe Silk-Spawner", + "description": "Makes Spawners drop when broken", + "lore": { + "level_1": "Makes Spawners breakable with silk touch.", + "level_2": "Makes Spawners breakable while sneaking." + } + }, + "vein_miner": { + "name": "Veinminer", + "description": "Allows you to break blocks in a Vein/Cluster of Vanilla ores", + "lore": [ + "Sneak + Mine to vein-mine connected ores", + "+ {0} Block range", + "* Drops are not grouped together" + ] } }, "ranged": { - "arrowrecovery": { - "name": "箭矢回收站", - "description": "當你擊殺目標後有機率回收箭矢。", - "lore1": "機率在擊殺生物時回收箭矢", - "lore2": "機會:" - }, - "webshot": { - "name": "網絡圈套", - "description": "當你擊中目標時,將蜘蛛網包圍在你的目標周圍!", - "lore1": "雪球周圍有 8 個蜘蛛網,然後扔!", - "lore2": "籠子裡的秒數,大約。" - }, - "forceshot": { - "name": "暴力投擲", - "description": "射出的投擲物又快又遠!", - "advancementname": "遠距離射擊", - "advancementlore": "投擲物可以在超過30格方塊外著陸", - "lore1": "射擊速度" - }, - "lungeshot": { - "name": "弓步射擊", - "description": "當你射出的箭矢落下後將你隨機擲出一個方向", - "lore1": "隨機爆發速度" - }, - "arrowpiercing": { - "name": "精準穿透", - "description": "提升投擲物或箭矢的穿透力,甚至可以穿透物體。", - "lore1": "可穿透目標" + "arrow_recovery": { + "name": "Arrow Recovery", + "description": "Recover Arrows after you have killed an enemy.", + "lore": [ + "Chance to recover arrows on hit", + "+ {0} Recovery chance" + ] + }, + "web_shot": { + "name": "Web Snare", + "description": "Surround cobwebs around your target when you hit them!", + "lore": [ + "Craft: 8 Cobwebs around a Snowball", + "+ {0} Web cage duration", + "* Throw the crafted snowball to create a web trap" + ] + }, + "force_shot": { + "name": "Force Shot", + "description": "Shoot projectiles further, faster!", + "advancement_name": "Long Shot", + "advancement_lore": "Land a shot from over 30 blocks away!", + "lore": [ + "+ {0} Projectile Speed" + ] + }, + "lunge_shot": { + "name": "Lunge Shot", + "description": "While falling your arrows toss you in a random direction", + "lore": [ + "+ {0} Random Burst Speed" + ] + }, + "arrow_piercing": { + "name": "Arrow Piercing", + "description": "Adds Piercing to projectiles! Shoot through things!", + "lore": [ + "+ {0} Pierce Targets" + ] } }, "rift": { - "remoteaccess": { - "name": "遠程訪問權限", - "description": "來自虛空之中,可以訪問被標記的容器。", - "lore1": "終界珍珠 + 指南針 = 亞空間之鑰", - "lore2": "這個物品允許你遠程訪問被標記的容器。", - "lore3": "製作完成後,查看物品來使用該技能", - "notcontainer": "這個物品不是可用的容器" + "remote_access": { + "name": "Remote Access", + "description": "Pull from the void, and get into a marked container.", + "not_container": "That's not a container", + "lore": [ + "Craft: Enderpearl + Compass = Reliquary Portkey", + "+ Access containers remotely", + "* Shift + Left-click to bind, Right-click to access" + ] }, "blink": { - "name": "裂痕閃爍", - "description": "眨個眼的功夫,短距離即可瞬間傳送", - "lore1": "格方塊(傳送距離)", - "lore2": "當疾跑時:跳躍兩次以", - "lore3": "傳送" + "name": "Rift Blink", + "description": "Short ranged instant teleportation, Just a blink away!", + "lore": [ + "While Sprinting: Double-tap Jump to Blink", + "+ {0} Horizontal blink distance", + "+ {1} Vertical blink distance" + ] }, "chest": { - "name": "攜帶式終界箱", - "description": "手持終界箱", - "lore1": "左鍵點擊以快速打開終界箱(無需放置)" + "name": "Easy Enderchest", + "description": "Open an enderchest by Left-clicking it in your hand.", + "lore": [ + "Left-click with Enderchest in hand to open", + "+ Portable Enderchest access", + "* Don't place it, just click!" + ] }, "descent": { - "name": "反懸浮", - "description": "你厭倦了被困在空中嗎?這就是適合你的技能!", - "lore1": "只要潛行下降,你就會以低於正常的速度下降!", - "lore2": "冷卻:" + "name": "Anti-Levitation", + "description": "Are you tired of being stuck in the air? This is the skill for you!", + "lore": [ + "Sneak while levitating to descend slowly", + "+ Controlled descent speed", + "* {0} Cooldown" + ] }, "gate": { - "name": "裂痕之門", - "description": "傳送到標記位置", - "lore1": "製作:終界珍珠 + 紫水晶碎片 + 綠寶石", - "lore2": "請注意:", - "lore3": "有五秒延遲,", - "lore4": "在進行五秒延遲等待時,你可以在動畫中死亡。" + "name": "Rift Gate", + "description": "Teleport to a marked location.", + "lore": [ + "Craft: Emerald + Amethyst Shard + Ender Pearl", + "+ Teleport to marked location", + "* {0} Channeling delay", + "- You can die during the animation" + ] }, "resist": { - "name": "裂痕抗性", - "description": "當使用終界物品或技能時,給予抗性提升", - "lore1": "+ 被動效果:當你使用終界物品或技能時,給予抗性提升效果。", - "lore2": "不包含攜帶式終界箱。只對實際消耗的物品有效。" + "name": "Rift Resistance", + "description": "Gain Resistance when using Ender Items & Abilities", + "lore": [ + "Passive: Gain Resistance when using Rift abilities or Ender items", + "+ Resistance effect on Ender item use", + "- Does not work with Portable Enderchest" + ] + }, + "visage": { + "name": "Rift Visage", + "description": "Prevents Endermen from becoming aggressive if you have Enderpearls in your inventory.", + "lore": [ + "Passive: Endermen ignore you when you carry Enderpearls", + "+ Endermen will not become aggressive", + "* Requires Enderpearls in inventory" + ] } }, "seaborn": { "oxygen": { - "name": "有機氧氣罐", - "description": "小肺終於能容納更多的氧氣了。", - "lore1": "氧氣容量增加" - }, - "fishersfantasy": { - "name": "與魚同樂", - "description": "從釣魚中獲得更多經驗,以及更多的魚!", - "lore1": "每級都有機率獲得更多的經驗和魚" + "name": "Organic Oxygen Tank", + "description": "Hold more oxygen in your tiny lungs!", + "lore": [ + "Passive: Extended breath underwater", + "+ {0} Extra oxygen capacity" + ] + }, + "fishers_fantasy": { + "name": "Fisher's Fantasy", + "description": "Earn more XP from fishing, and get more fish!", + "lore": [ + "Passive: Bonus rewards while fishing", + "+ {0} Chance for extra XP", + "+ {1} Chance for extra fish" + ] }, "haste": { - "name": "海龜礦工", - "description": "在水下挖掘時獲得挖掘加速效果!", - "lore1": "當水下呼吸效果消失時,在水下挖掘時將獲得挖掘加速效果(可與水下挖掘效果疊加)。" - }, - "nightvision": { - "name": "海龜夜視\n", - "description": "當你在水下時給予夜視效果!", - "lore1": "當水下呼吸效果消失時,在水下時將給予夜視效果!" - }, - "dolphingrace": { - "name": "海豚的祝福", - "description": "無需海豚相伴也能快速遊動了。", - "lore1": "+ 被動技能:給予 ", - "lore2": "x 在水中速度 (海豚的恩惠效果)", - "lore3": "精準的德國工程師- 等等,這好像不對..." + "name": "Turtle Miner", + "description": "While mining underwater you gain haste!", + "lore": [ + "Passive: Gain Haste while mining underwater", + "+ {0} Haste level while mining", + "* Stacks with Aqua Affinity", + "* Activates after Water Breathing wears off" + ] + }, + "night_vision": { + "name": "Turtle's Vision", + "description": "While underwater, you gain Night Vision", + "lore": [ + "Passive: Gain Night Vision while underwater", + "+ Night Vision effect", + "* Activates after Water Breathing wears off" + ] + }, + "dolphin_grace": { + "name": "Dolphin's Grace", + "description": "Swim like a dolphin, without the dolphins", + "lore": [ + "Passive: Gain Dolphin's Grace while underwater", + "+ {0} Swimming speed", + "- Not compatible with Depth Strider" + ] } }, "stealth": { - "ghostarmor": { - "name": "幽靈戰甲", - "description": "潛行時緩慢的構建幽靈戰甲- 受傷後清空", - "lore1": "最大護甲值", - "lore2": "構建時間" - }, - "nightvision": { - "name": "鷹眼", - "description": "當潛行時給予夜視效果", - "lore1": "當保持潛行狀態時", - "lore2": "給予", - "lore3": "夜視效果" + "ghost_armor": { + "name": "Ghost's Armor", + "description": "Slow building armor when not taking damage, Lasts for 1 hit", + "lore": [ + "Passive: Build armor over time when not hit", + "+ {0} Maximum armor", + "+ {1} Armor gained per tick", + "* Armor resets after taking damage" + ] + }, + "night_vision": { + "name": "Stealth Vision", + "description": "Gain night vision while sneaking", + "lore": [ + "Sneak to activate Night Vision", + "+ Night Vision while sneaking" + ] }, "snatch": { - "name": "物品奪取", - "description": "潛行時立即奪取半徑內的掉落物", - "lore1": "奪取半徑" + "name": "Item Snatch", + "description": "Snatch Dropped items instantly while sneaking!", + "lore": [ + "Sneak to pick up nearby items instantly", + "+ {0} Block pickup radius" + ] }, "speed": { - "name": "潛行加速", - "description": "當潛行時給予速度效果", - "lore1": "潛行速度" + "name": "Sneak Speed", + "description": "Gain speed while sneaking", + "lore": [ + "Passive: Move faster while sneaking", + "+ {0} Sneaking speed multiplier" + ] + }, + "ender_veil": { + "name": "Enderveil", + "description": "No more Pumpkins to prevent Enderman attacks", + "lore": { + "level_1": "Prevent enderman attacks while sneaking", + "level_2": "Prevent all enderman attacks" + } } }, "sword": { "machete": { - "name": "彎刀", - "description": "讓劍斬開樹葉。", - "lore1": "有效範圍半徑", - "lore2": "斬擊冷卻", - "lore3": "耐久消耗" - }, - "bloodyblade": { - "name": "血液之刃", - "description": "用劍斬擊,持續流血!", - "lore1": "使用劍斬擊生物時使其流失生命值", - "lore2": "流失持續時間", - "lore3": "冷卻" - }, - "poisonedblade": { - "name": "淬毒匕首", - "description": "用劍斬擊,給予劇毒效果!", - "lore1": "使用劍斬擊生物時給予劇毒效果", - "lore2": "效果持續時間", - "lore3": "冷卻" + "name": "Machete", + "description": "Cut through foliage with ease!", + "lore": [ + "Swing sword to cut nearby plants", + "+ {0} Slash radius", + "* {1} Cooldown between slashes", + "- {2} Tool durability per use" + ] + }, + "bloody_blade": { + "name": "Bloody Blade", + "description": "Strikes with your sword, cause Bleeding!", + "lore": [ + "Sword strikes cause bleeding damage over time", + "+ {0} Bleed duration", + "* {1} Cooldown between bleeds" + ] + }, + "poisoned_blade": { + "name": "Poisoned Blade", + "description": "Strikes with your sword, cause Poison!", + "lore": [ + "Sword strikes apply poison to enemies", + "+ {0} Poison duration", + "* {1} Cooldown between poisons" + ] } }, "taming": { "damage": { - "name": "馴化傷害", - "description": "提高你馴養的生物的傷害", - "lore1": "傷害增長" + "name": "Tame Damage", + "description": "Increase your tamed animal damage dealt.", + "lore": [ + "Passive: Your tamed animals deal more damage", + "+ {0} Bonus damage for pets" + ] }, "health": { - "name": "馴化生命", - "description": "提高你馴養的生物的生命值", - "lore1": "生命增長" + "name": "Tame Health", + "description": "Increase your tamed animal health.", + "lore": [ + "Passive: Your tamed animals have more health", + "+ {0} Max health for pets" + ] }, "regeneration": { - "name": "馴化再生", - "description": "提高你馴養的生物的再生效果", - "lore1": "生命/秒" + "name": "Tame Regeneration", + "description": "Increase your tamed animal regeneration.", + "lore": [ + "Passive: Your tamed animals regenerate health", + "+ {0} HP per second for pets" + ] } }, "tragoul": { "thorns": { - "name": "荊棘", - "description": "受傷時將傷害返回給攻擊者!", - "lore1": "傷害返回倍數" + "name": "Thorns", + "description": "Reflect damage back to your attacker!", + "lore": [ + "Passive: Reflect damage when hit", + "+ {0} Damage reflected to attacker" + ] }, "globe": { - "name": "痛苦之球", - "description": "根據周圍敵人的數量劃分你造成的傷害!", - "lore1": "你周圍的敵人越多,你對他們造成的傷害就越少", - "lore2": "範圍:", - "lore3": "對所有實體增加傷害:" + "name": "Globe of Pain", + "description": "Divide the Damage you deal based on the number of enemies around you!", + "lore": [ + "Damage is split among nearby enemies", + "+ {0} Block radius", + "+ {1} Bonus damage to all entities in range" + ] }, "healing": { - "name": "痛苦意志", - "description": "根據你造成的傷害恢復健康!", - "lore1": "傷害事物的感覺從未如此美好!治愈所造成的傷害", - "lore2": "有 3 秒的傷害窗口用於治療和 1 秒的冷卻時間", - "lore3": "每傷害百分比治療:" + "name": "Will of Pain", + "description": "Regain health based on the damage you deal!", + "lore": [ + "Heal from the damage you deal to enemies", + "+ {0} Healing per damage dealt", + "* {1} Damage window for healing", + "* {2} Cooldown between heals" + ] }, "lance": { - "name": "屍矛", - "description": "殺死敵人或擁有殺死敵人的能力,會產生一把長矛,對附近的敵人造成傷害!", - "lore1": "長矛會從你殺死的任何東西中尋找,並且如果該能力殺死了敵人。", - "lore2": "犧牲你生命的一部分來製造長矛(這會殺死你)", - "lore3": "最大槍數:1 +" + "name": "Corpse Lances", + "description": "Killing an enemy or having an ability kill an enemy, spawns a lance that deals damage to a nearby enemy!", + "lore": [ + "Kills spawn lances that seek nearby enemies", + "+ {0} Maximum lances", + "- {1}% Health cost per lance (can kill you!)", + "* Lances chain from ability kills too" + ] } }, "unarmed": { - "glasscannon": { - "name": "玻璃大炮", - "description": "你的護甲值越低,空手造成的傷害越高", - "lore1": "x 傷害(至0護甲值)", - "lore2": "每級造成的額外傷害" + "glass_cannon": { + "name": "Glass Cannon", + "description": "Bonus Unarmed Damage the lower your armor value is", + "lore": [ + "Less armor = More damage", + "+ {0} Damage multiplier at 0 armor", + "+ {1} Bonus damage per level" + ] }, "power": { - "name": "鋼鐵之力", - "description": "提升空手造成的傷害", - "lore1": "傷害" - }, - "suckerpunch": { - "name": "殺客同萌", - "description": "疾跑時可以攻擊,將更加致命", - "lore1": "傷害", - "lore2": "攻擊時傷害隨移動速度增加" + "name": "Unarmed Power", + "description": "Improved Unarmed Damage", + "lore": [ + "Passive: Increased fist damage", + "+ {0} Bonus damage" + ] + }, + "sucker_punch": { + "name": "Sucker Punch", + "description": "Sprint punches, but more deadly.", + "lore": [ + "Sprint to deal extra punch damage", + "+ {0} Base bonus damage", + "* Damage scales with movement speed" + ] } } -} +} \ No newline at end of file From 704e696bc4fdf4f007437aaa0fe493c09ff3e6e1 Mon Sep 17 00:00:00 2001 From: IPECTER Date: Sat, 24 Jan 2026 16:00:55 +0900 Subject: [PATCH 2/2] oops --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index a7168b1cb..352e37e2c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -222,7 +222,7 @@ configurations.configureEach { resolutionStrategy.cacheDynamicVersionsFor(60, "minutes") } -if (JavaVersion.current().toString() != "21") { +if (JavaVersion.current().toString() != "17") { System.err.println() System.err.println("=========================================================================================================") System.err.println("You must run gradle on Java 17. You are using " + JavaVersion.current()) @@ -242,7 +242,7 @@ if (JavaVersion.current().toString() != "21") { java { toolchain { - languageVersion = JavaLanguageVersion.of(21) + languageVersion = JavaLanguageVersion.of(17) } }