From 6cce3098db8c21d803cfd92152a5ff3177082daa Mon Sep 17 00:00:00 2001 From: t00thpick1 Date: Thu, 17 Mar 2016 12:31:09 -0500 Subject: [PATCH] Update PotionConfigGenerator and default potions.yml for missing potions --- src/main/resources/potions.yml | 128 +++++++-- .../java/mcMMO/PotionConfigGenerator.java | 245 ++++++++---------- 2 files changed, 207 insertions(+), 166 deletions(-) diff --git a/src/main/resources/potions.yml b/src/main/resources/potions.yml index e91b20771..ae6a1a090 100644 --- a/src/main/resources/potions.yml +++ b/src/main/resources/potions.yml @@ -362,9 +362,9 @@ Potions: PotionType: UNCRAFTABLE Effects: ["ABSORPTION 0 1800"] Children: - SULPHUR: SPLASH_POTION_OF_ABSORPTION GLOWSTONE_DUST: POTION_OF_ABSORPTION_II REDSTONE: POTION_OF_ABSORPTION_EXTENDED + SULPHUR: SPLASH_POTION_OF_ABSORPTION POTION_OF_BLINDNESS: Name: Potion Of Blindness Material: POTION @@ -372,9 +372,9 @@ Potions: PotionType: UNCRAFTABLE Effects: ["BLINDNESS 0 225"] Children: - REDSTONE: POTION_OF_BLINDNESS_EXTENDED - GLOWSTONE_DUST: POTION_OF_BLINDNESS_II SULPHUR: SPLASH_POTION_OF_BLINDNESS + GLOWSTONE_DUST: POTION_OF_BLINDNESS_II + REDSTONE: POTION_OF_BLINDNESS_EXTENDED POTION_OF_DECAY: Name: Potion Of Decay Material: POTION @@ -392,9 +392,9 @@ Potions: PotionType: UNCRAFTABLE Effects: ["SLOW_DIGGING 0 3600"] Children: - GLOWSTONE_DUST: POTION_OF_DULLNESS_II REDSTONE: POTION_OF_DULLNESS_EXTENDED SULPHUR: SPLASH_POTION_OF_DULLNESS + GLOWSTONE_DUST: POTION_OF_DULLNESS_II POTION_OF_HASTE: Name: Potion Of Haste Material: POTION @@ -402,9 +402,9 @@ Potions: PotionType: UNCRAFTABLE Effects: ["FAST_DIGGING 0 3600"] Children: - SULPHUR: SPLASH_POTION_OF_HASTE REDSTONE: POTION_OF_HASTE_EXTENDED GLOWSTONE_DUST: POTION_OF_HASTE_II + SULPHUR: SPLASH_POTION_OF_HASTE POTION_OF_HEALTH_BOOST: Name: Potion Of Health Boost Material: POTION @@ -422,9 +422,9 @@ Potions: PotionType: UNCRAFTABLE Effects: ["HUNGER 0 900"] Children: - REDSTONE: POTION_OF_HUNGER_EXTENDED - GLOWSTONE_DUST: POTION_OF_HUNGER_II SULPHUR: SPLASH_POTION_OF_HUNGER + GLOWSTONE_DUST: POTION_OF_HUNGER_II + REDSTONE: POTION_OF_HUNGER_EXTENDED POTION_OF_NAUSEA: Name: Potion Of Nausea Material: POTION @@ -432,9 +432,9 @@ Potions: PotionType: UNCRAFTABLE Effects: ["CONFUSION 0 450"] Children: - GLOWSTONE_DUST: POTION_OF_NAUSEA_II REDSTONE: POTION_OF_NAUSEA_EXTENDED SULPHUR: SPLASH_POTION_OF_NAUSEA + GLOWSTONE_DUST: POTION_OF_NAUSEA_II POTION_OF_RESISTANCE: Name: Potion Of Resistance Material: POTION @@ -442,9 +442,9 @@ Potions: PotionType: UNCRAFTABLE Effects: ["DAMAGE_RESISTANCE 0 450"] Children: - GLOWSTONE_DUST: POTION_OF_RESISTANCE_II REDSTONE: POTION_OF_RESISTANCE_EXTENDED SULPHUR: SPLASH_POTION_OF_RESISTANCE + GLOWSTONE_DUST: POTION_OF_RESISTANCE_II POTION_OF_SATURATION: Name: Potion Of Saturation Material: POTION @@ -452,129 +452,169 @@ Potions: PotionType: UNCRAFTABLE Effects: ["SATURATION 0 8"] Children: - SULPHUR: SPLASH_POTION_OF_SATURATION - GLOWSTONE_DUST: POTION_OF_SATURATION_II REDSTONE: POTION_OF_SATURATION_EXTENDED + GLOWSTONE_DUST: POTION_OF_SATURATION_II + SULPHUR: SPLASH_POTION_OF_SATURATION POTION_OF_ABSORPTION_EXTENDED: Name: Potion Of Absorption Extended Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["ABSORPTION 0 3600"] + Children: + SULPHUR: SPLASH_POTION_OF_ABSORPTION_EXTENDED POTION_OF_BLINDNESS_EXTENDED: Name: Potion Of Blindness Extended Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["BLINDNESS 0 450"] + Children: + SULPHUR: SPLASH_POTION_OF_BLINDNESS_EXTENDED POTION_OF_DECAY_EXTENDED: Name: Potion Of Decay Extended Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["WITHER 0 900"] + Children: + SULPHUR: SPLASH_POTION_OF_DECAY_EXTENDED POTION_OF_DULLNESS_EXTENDED: Name: Potion Of Dullness Extended Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["SLOW_DIGGING 0 7200"] + Children: + SULPHUR: SPLASH_POTION_OF_DULLNESS_EXTENDED POTION_OF_HASTE_EXTENDED: Name: Potion Of Haste Extended Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["FAST_DIGGING 0 7200"] + Children: + SULPHUR: SPLASH_POTION_OF_HASTE_EXTENDED POTION_OF_HEALTH_BOOST_EXTENDED: Name: Potion Of Health Boost Extended Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["HEALTH_BOOST 0 3600"] + Children: + SULPHUR: SPLASH_POTION_OF_HEALTH_BOOST_EXTENDED POTION_OF_HUNGER_EXTENDED: Name: Potion Of Hunger Extended Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["HUNGER 0 1800"] + Children: + SULPHUR: SPLASH_POTION_OF_HUNGER_EXTENDED POTION_OF_NAUSEA_EXTENDED: Name: Potion Of Nausea Extended Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["CONFUSION 0 900"] + Children: + SULPHUR: SPLASH_POTION_OF_NAUSEA_EXTENDED POTION_OF_RESISTANCE_EXTENDED: Name: Potion Of Resistance Extended Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["DAMAGE_RESISTANCE 0 900"] + Children: + SULPHUR: SPLASH_POTION_OF_RESISTANCE_EXTENDED POTION_OF_SATURATION_EXTENDED: Name: Potion Of Saturation Extended Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["SATURATION 0 16"] + Children: + SULPHUR: SPLASH_POTION_OF_SATURATION_EXTENDED POTION_OF_ABSORPTION_II: Name: Potion Of Absorption II Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["ABSORPTION 1 900"] + Children: + SULPHUR: SPLASH_POTION_OF_ABSORPTION_II POTION_OF_BLINDNESS_II: Name: Potion Of Blindness II Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["BLINDNESS 1 112"] + Children: + SULPHUR: SPLASH_POTION_OF_BLINDNESS_II POTION_OF_DECAY_II: Name: Potion Of Decay II Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["WITHER 1 225"] + Children: + SULPHUR: SPLASH_POTION_OF_DECAY_II POTION_OF_DULLNESS_II: Name: Potion Of Dullness II Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["SLOW_DIGGING 1 1800"] + Children: + SULPHUR: SPLASH_POTION_OF_DULLNESS_II POTION_OF_HASTE_II: Name: Potion Of Haste II Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["FAST_DIGGING 1 1800"] + Children: + SULPHUR: SPLASH_POTION_OF_HASTE_II POTION_OF_HEALTH_BOOST_II: Name: Potion Of Health Boost II Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["HEALTH_BOOST 1 900"] + Children: + SULPHUR: SPLASH_POTION_OF_HEALTH_BOOST_II POTION_OF_HUNGER_II: Name: Potion Of Hunger II Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["HUNGER 1 450"] + Children: + SULPHUR: SPLASH_POTION_OF_HUNGER_II POTION_OF_NAUSEA_II: Name: Potion Of Nausea II Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["CONFUSION 1 225"] + Children: + SULPHUR: SPLASH_POTION_OF_NAUSEA_II POTION_OF_RESISTANCE_II: Name: Potion Of Resistance II Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["DAMAGE_RESISTANCE 1 225"] + Children: + SULPHUR: SPLASH_POTION_OF_RESISTANCE_II POTION_OF_SATURATION_II: Name: Potion Of Saturation II Material: POTION PotionData: PotionType: UNCRAFTABLE Effects: ["SATURATION 1 4"] + Children: + SULPHUR: SPLASH_POTION_OF_SATURATION_II SPLASH_POTION_OF_EMPTY: Material: SPLASH_POTION PotionData: @@ -884,8 +924,8 @@ Potions: PotionType: UNCRAFTABLE Effects: ["ABSORPTION 0 1350"] Children: - DRAGONS_BREATH: LINGERING_POTION_OF_ABSORPTION GLOWSTONE_DUST: SPLASH_POTION_OF_ABSORPTION_II + DRAGONS_BREATH: LINGERING_POTION_OF_ABSORPTION REDSTONE: SPLASH_POTION_OF_ABSORPTION_EXTENDED SPLASH_POTION_OF_BLINDNESS: Name: Splash Potion Of Blindness @@ -904,9 +944,9 @@ Potions: PotionType: UNCRAFTABLE Effects: ["WITHER 0 337"] Children: - REDSTONE: SPLASH_POTION_OF_DECAY_EXTENDED - GLOWSTONE_DUST: SPLASH_POTION_OF_DECAY_II DRAGONS_BREATH: LINGERING_POTION_OF_DECAY + GLOWSTONE_DUST: SPLASH_POTION_OF_DECAY_II + REDSTONE: SPLASH_POTION_OF_DECAY_EXTENDED SPLASH_POTION_OF_DULLNESS: Name: Splash Potion Of Dullness Material: SPLASH_POTION @@ -934,9 +974,9 @@ Potions: PotionType: UNCRAFTABLE Effects: ["HEALTH_BOOST 0 1350"] Children: - GLOWSTONE_DUST: SPLASH_POTION_OF_HEALTH_BOOST_II REDSTONE: SPLASH_POTION_OF_HEALTH_BOOST_EXTENDED DRAGONS_BREATH: LINGERING_POTION_OF_HEALTH_BOOST + GLOWSTONE_DUST: SPLASH_POTION_OF_HEALTH_BOOST_II SPLASH_POTION_OF_HUNGER: Name: Splash Potion Of Hunger Material: SPLASH_POTION @@ -944,8 +984,8 @@ Potions: PotionType: UNCRAFTABLE Effects: ["HUNGER 0 675"] Children: - REDSTONE: SPLASH_POTION_OF_HUNGER_EXTENDED GLOWSTONE_DUST: SPLASH_POTION_OF_HUNGER_II + REDSTONE: SPLASH_POTION_OF_HUNGER_EXTENDED DRAGONS_BREATH: LINGERING_POTION_OF_HUNGER SPLASH_POTION_OF_NAUSEA: Name: Splash Potion Of Nausea @@ -954,9 +994,9 @@ Potions: PotionType: UNCRAFTABLE Effects: ["CONFUSION 0 337"] Children: - DRAGONS_BREATH: LINGERING_POTION_OF_NAUSEA - REDSTONE: SPLASH_POTION_OF_NAUSEA_EXTENDED GLOWSTONE_DUST: SPLASH_POTION_OF_NAUSEA_II + REDSTONE: SPLASH_POTION_OF_NAUSEA_EXTENDED + DRAGONS_BREATH: LINGERING_POTION_OF_NAUSEA SPLASH_POTION_OF_RESISTANCE: Name: Splash Potion Of Resistance Material: SPLASH_POTION @@ -974,129 +1014,169 @@ Potions: PotionType: UNCRAFTABLE Effects: ["SATURATION 0 6"] Children: - DRAGONS_BREATH: LINGERING_POTION_OF_SATURATION - GLOWSTONE_DUST: SPLASH_POTION_OF_SATURATION_II REDSTONE: SPLASH_POTION_OF_SATURATION_EXTENDED + GLOWSTONE_DUST: SPLASH_POTION_OF_SATURATION_II + DRAGONS_BREATH: LINGERING_POTION_OF_SATURATION SPLASH_POTION_OF_ABSORPTION_EXTENDED: Name: Splash Potion Of Absorption Extended Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["ABSORPTION 0 2700"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_ABSORPTION_EXTENDED SPLASH_POTION_OF_BLINDNESS_EXTENDED: Name: Splash Potion Of Blindness Extended Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["BLINDNESS 0 336"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_BLINDNESS_EXTENDED SPLASH_POTION_OF_DECAY_EXTENDED: Name: Splash Potion Of Decay Extended Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["WITHER 0 674"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_DECAY_EXTENDED SPLASH_POTION_OF_DULLNESS_EXTENDED: Name: Splash Potion Of Dullness Extended Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["SLOW_DIGGING 0 5400"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_DULLNESS_EXTENDED SPLASH_POTION_OF_HASTE_EXTENDED: Name: Splash Potion Of Haste Extended Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["FAST_DIGGING 0 5400"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_HASTE_EXTENDED SPLASH_POTION_OF_HEALTH_BOOST_EXTENDED: Name: Splash Potion Of Health Boost Extended Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["HEALTH_BOOST 0 2700"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_HEALTH_BOOST_EXTENDED SPLASH_POTION_OF_HUNGER_EXTENDED: Name: Splash Potion Of Hunger Extended Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["HUNGER 0 1350"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_HUNGER_EXTENDED SPLASH_POTION_OF_NAUSEA_EXTENDED: Name: Splash Potion Of Nausea Extended Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["CONFUSION 0 674"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_NAUSEA_EXTENDED SPLASH_POTION_OF_RESISTANCE_EXTENDED: Name: Splash Potion Of Resistance Extended Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["DAMAGE_RESISTANCE 0 674"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_RESISTANCE_EXTENDED SPLASH_POTION_OF_SATURATION_EXTENDED: Name: Splash Potion Of Saturation Extended Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["SATURATION 0 12"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_SATURATION_EXTENDED SPLASH_POTION_OF_ABSORPTION_II: Name: Splash Potion Of Absorption II Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["ABSORPTION 1 675"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_ABSORPTION_II SPLASH_POTION_OF_BLINDNESS_II: Name: Splash Potion Of Blindness II Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["BLINDNESS 1 84"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_BLINDNESS_II SPLASH_POTION_OF_DECAY_II: Name: Splash Potion Of Decay II Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["WITHER 1 168"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_DECAY_II SPLASH_POTION_OF_DULLNESS_II: Name: Splash Potion Of Dullness II Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["SLOW_DIGGING 1 1350"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_DULLNESS_II SPLASH_POTION_OF_HASTE_II: Name: Splash Potion Of Haste II Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["FAST_DIGGING 1 1350"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_HASTE_II SPLASH_POTION_OF_HEALTH_BOOST_II: Name: Splash Potion Of Health Boost II Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["HEALTH_BOOST 1 675"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_HEALTH_BOOST_II SPLASH_POTION_OF_HUNGER_II: Name: Splash Potion Of Hunger II Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["HUNGER 1 337"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_HUNGER_II SPLASH_POTION_OF_NAUSEA_II: Name: Splash Potion Of Nausea II Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["CONFUSION 1 168"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_NAUSEA_II SPLASH_POTION_OF_RESISTANCE_II: Name: Splash Potion Of Resistance II Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["DAMAGE_RESISTANCE 1 168"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_RESISTANCE_II SPLASH_POTION_OF_SATURATION_II: Name: Splash Potion Of Saturation II Material: SPLASH_POTION PotionData: PotionType: UNCRAFTABLE Effects: ["SATURATION 1 3"] + Children: + DRAGONS_BREATH: LINGERING_POTION_OF_SATURATION_II LINGERING_POTION_OF_EMPTY: Material: LINGERING_POTION PotionData: @@ -1381,8 +1461,8 @@ Potions: PotionType: UNCRAFTABLE Effects: ["SLOW_DIGGING 0 900"] Children: - REDSTONE: LINGERING_POTION_OF_DULLNESS_EXTENDED GLOWSTONE_DUST: LINGERING_POTION_OF_DULLNESS_II + REDSTONE: LINGERING_POTION_OF_DULLNESS_EXTENDED LINGERING_POTION_OF_HASTE: Name: Lingering Potion Of Haste Material: LINGERING_POTION @@ -1390,8 +1470,8 @@ Potions: PotionType: UNCRAFTABLE Effects: ["FAST_DIGGING 0 900"] Children: - GLOWSTONE_DUST: LINGERING_POTION_OF_HASTE_II REDSTONE: LINGERING_POTION_OF_HASTE_EXTENDED + GLOWSTONE_DUST: LINGERING_POTION_OF_HASTE_II LINGERING_POTION_OF_HEALTH_BOOST: Name: Lingering Potion Of Health Boost Material: LINGERING_POTION @@ -1408,8 +1488,8 @@ Potions: PotionType: UNCRAFTABLE Effects: ["HUNGER 0 225"] Children: - GLOWSTONE_DUST: LINGERING_POTION_OF_HUNGER_II REDSTONE: LINGERING_POTION_OF_HUNGER_EXTENDED + GLOWSTONE_DUST: LINGERING_POTION_OF_HUNGER_II LINGERING_POTION_OF_NAUSEA: Name: Lingering Potion Of Nausea Material: LINGERING_POTION @@ -1417,8 +1497,8 @@ Potions: PotionType: UNCRAFTABLE Effects: ["CONFUSION 0 112"] Children: - GLOWSTONE_DUST: LINGERING_POTION_OF_NAUSEA_II REDSTONE: LINGERING_POTION_OF_NAUSEA_EXTENDED + GLOWSTONE_DUST: LINGERING_POTION_OF_NAUSEA_II LINGERING_POTION_OF_RESISTANCE: Name: Lingering Potion Of Resistance Material: LINGERING_POTION diff --git a/src/util/java/mcMMO/PotionConfigGenerator.java b/src/util/java/mcMMO/PotionConfigGenerator.java index 53563409f..ccd6c26f1 100644 --- a/src/util/java/mcMMO/PotionConfigGenerator.java +++ b/src/util/java/mcMMO/PotionConfigGenerator.java @@ -1,6 +1,5 @@ package com.gmail.nossr50; - import java.io.File; import java.io.IOException; import java.util.ArrayList; @@ -39,11 +38,11 @@ public class PotionConfigGenerator { } public static class WriteablePotion { - public String name; - public Material mat; - public PotionData data; + public String name; + public Material mat; + public PotionData data; public PotionEffect effect; - public String baseName; + public String baseName; public WriteablePotion(PotionData data) { this(Material.POTION, data); @@ -138,14 +137,6 @@ public class PotionConfigGenerator { List sorted = new ArrayList(); sorted.addAll(vanillaPotions.keySet()); sorted.addAll(mcMMOPotions.keySet()); - // Get all mcMMO potions without children - for (Map map : mcMMOPotions.values()) { - for (WriteablePotion potion : map.values()) { - if (!sorted.contains(potion)) { - sorted.add(potion); - } - } - } sorted.sort(new Comparator() { @Override @@ -211,7 +202,7 @@ public class PotionConfigGenerator { return a.baseName.split("_")[0].compareTo(b.baseName.split("_")[0]); } } - + }); for (WriteablePotion potion : sorted) { System.out.println(" " + potion.name + ":"); @@ -261,7 +252,7 @@ public class PotionConfigGenerator { return prettyString; } - + public static String getCapitalized(String target) { if (target.equals("II")) { // hacks return target; @@ -269,65 +260,64 @@ public class PotionConfigGenerator { return target.substring(0, 1).toUpperCase() + target.substring(1).toLowerCase(); } - private static String getName(PotionEffectType type) { switch (type.getId()) { - case 1: - return "SPEED"; - case 2: - return "SLOW"; - case 3: - return "FAST_DIGGING"; - case 4: - return "SLOW_DIGGING"; - case 5: - return "INCREASE_DAMAGE"; - case 6: - return "HEAL"; - case 7: - return "HARM"; - case 8: - return "JUMP"; - case 9: - return "CONFUSION"; - case 10: - return "REGENERATION"; - case 11: - return "DAMAGE_RESISTANCE"; - case 12: - return "FIRE_RESISTANCE"; - case 13: - return "WATER_BREATHING"; - case 14: - return "INVISIBILITY"; - case 15: - return "BLINDNESS"; - case 16: - return "NIGHT_VISION"; - case 17: - return "HUNGER"; - case 18: - return "WEAKNESS"; - case 19: - return "POISON"; - case 20: - return "WITHER"; - case 21: - return "HEALTH_BOOST"; - case 22: - return "ABSORPTION"; - case 23: - return "SATURATION"; - case 24: - return "GLOWING"; - case 25: - return "LEVITATION"; - case 26: - return "LUCK"; - case 27: - return "UNLUCK"; - default: - return "UNKNOWN_EFFECT_TYPE_" + type.getId(); + case 1 : + return "SPEED"; + case 2 : + return "SLOW"; + case 3 : + return "FAST_DIGGING"; + case 4 : + return "SLOW_DIGGING"; + case 5 : + return "INCREASE_DAMAGE"; + case 6 : + return "HEAL"; + case 7 : + return "HARM"; + case 8 : + return "JUMP"; + case 9 : + return "CONFUSION"; + case 10 : + return "REGENERATION"; + case 11 : + return "DAMAGE_RESISTANCE"; + case 12 : + return "FIRE_RESISTANCE"; + case 13 : + return "WATER_BREATHING"; + case 14 : + return "INVISIBILITY"; + case 15 : + return "BLINDNESS"; + case 16 : + return "NIGHT_VISION"; + case 17 : + return "HUNGER"; + case 18 : + return "WEAKNESS"; + case 19 : + return "POISON"; + case 20 : + return "WITHER"; + case 21 : + return "HEALTH_BOOST"; + case 22 : + return "ABSORPTION"; + case 23 : + return "SATURATION"; + case 24 : + return "GLOWING"; + case 25 : + return "LEVITATION"; + case 26 : + return "LUCK"; + case 27 : + return "UNLUCK"; + default : + return "UNKNOWN_EFFECT_TYPE_" + type.getId(); } } @@ -531,124 +521,95 @@ public class PotionConfigGenerator { HashMap children = new HashMap(); data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.CONFUSION, (int) (450 * mod), 0), "NAUSEA"); children = new HashMap(); - if (material == Material.POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.75), data.effect.getAmplifier()); - children.put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, data.data, effect, data.baseName)); - } else if (material == Material.SPLASH_POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.33), data.effect.getAmplifier()); - children.put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, data.data, effect, data.baseName)); - } children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() / 2, 1), data.baseName + "_II")); children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() * 2, 0), data.baseName + "_EXTENDED")); + for (WriteablePotion child : children.values()) { + mcMMOPotions.put(child, new HashMap()); + } mcMMOPotions.put(data, children); data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.FAST_DIGGING, (int) (3600 * mod), 0), "HASTE"); children = new HashMap(); - if (material == Material.POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.75), data.effect.getAmplifier()); - children.put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, data.data, effect, data.baseName)); - } else if (material == Material.SPLASH_POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.33), data.effect.getAmplifier()); - children.put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, data.data, effect, data.baseName)); - } children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() / 2, 1), data.baseName + "_II")); children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() * 2, 0), data.baseName + "_EXTENDED")); + for (WriteablePotion child : children.values()) { + mcMMOPotions.put(child, new HashMap()); + } mcMMOPotions.put(data, children); data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.SLOW_DIGGING, (int) (3600 * mod), 0), "DULLNESS"); children = new HashMap(); - if (material == Material.POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.75), data.effect.getAmplifier()); - children.put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, data.data, effect, data.baseName)); - } else if (material == Material.SPLASH_POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.33), data.effect.getAmplifier()); - children.put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, data.data, effect, data.baseName)); - } children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() / 2, 1), data.baseName + "_II")); children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() * 2, 0), data.baseName + "_EXTENDED")); + for (WriteablePotion child : children.values()) { + mcMMOPotions.put(child, new HashMap()); + } mcMMOPotions.put(data, children); data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, (int) (450 * mod), 0), "RESISTANCE"); children = new HashMap(); - if (material == Material.POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.75), data.effect.getAmplifier()); - children.put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, data.data, effect, data.baseName)); - } else if (material == Material.SPLASH_POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.33), data.effect.getAmplifier()); - children.put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, data.data, effect, data.baseName)); - } children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() / 2, 1), data.baseName + "_II")); children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() * 2, 0), data.baseName + "_EXTENDED")); + for (WriteablePotion child : children.values()) { + mcMMOPotions.put(child, new HashMap()); + } mcMMOPotions.put(data, children); data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.BLINDNESS, (int) (225 * mod), 0), "BLINDNESS"); children = new HashMap(); - if (material == Material.POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.75), data.effect.getAmplifier()); - children.put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, data.data, effect, data.baseName)); - } else if (material == Material.SPLASH_POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.33), data.effect.getAmplifier()); - children.put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, data.data, effect, data.baseName)); - } children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() / 2, 1), data.baseName + "_II")); children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() * 2, 0), data.baseName + "_EXTENDED")); + for (WriteablePotion child : children.values()) { + mcMMOPotions.put(child, new HashMap()); + } mcMMOPotions.put(data, children); data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HUNGER, (int) (900 * mod), 0), "HUNGER"); children = new HashMap(); - if (material == Material.POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.75), data.effect.getAmplifier()); - children.put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, data.data, effect, data.baseName)); - } else if (material == Material.SPLASH_POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.33), data.effect.getAmplifier()); - children.put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, data.data, effect, data.baseName)); - } children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() / 2, 1), data.baseName + "_II")); children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() * 2, 0), data.baseName + "_EXTENDED")); + for (WriteablePotion child : children.values()) { + mcMMOPotions.put(child, new HashMap()); + } mcMMOPotions.put(data, children); data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.WITHER, (int) (450 * mod), 0), "DECAY"); children = new HashMap(); - if (material == Material.POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.75), data.effect.getAmplifier()); - children.put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, data.data, effect, data.baseName)); - } else if (material == Material.SPLASH_POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.33), data.effect.getAmplifier()); - children.put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, data.data, effect, data.baseName)); - } children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() / 2, 1), data.baseName + "_II")); children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() * 2, 0), data.baseName + "_EXTENDED")); + for (WriteablePotion child : children.values()) { + mcMMOPotions.put(child, new HashMap()); + } mcMMOPotions.put(data, children); data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.ABSORPTION, (int) (1800 * mod), 0), "ABSORPTION"); children = new HashMap(); - if (material == Material.POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.75), data.effect.getAmplifier()); - children.put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, data.data, effect, data.baseName)); - } else if (material == Material.SPLASH_POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.33), data.effect.getAmplifier()); - children.put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, data.data, effect, data.baseName)); - } children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() / 2, 1), data.baseName + "_II")); children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() * 2, 0), data.baseName + "_EXTENDED")); + for (WriteablePotion child : children.values()) { + mcMMOPotions.put(child, new HashMap()); + } mcMMOPotions.put(data, children); data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.SATURATION, (int) (8 * mod), 0), "SATURATION"); children = new HashMap(); - if (material == Material.POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.75), data.effect.getAmplifier()); - children.put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, data.data, effect, data.baseName)); - } else if (material == Material.SPLASH_POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.33), data.effect.getAmplifier()); - children.put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, data.data, effect, data.baseName)); - } children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() / 2, 1), data.baseName + "_II")); children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() * 2, 0), data.baseName + "_EXTENDED")); + for (WriteablePotion child : children.values()) { + mcMMOPotions.put(child, new HashMap()); + } mcMMOPotions.put(data, children); data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HEALTH_BOOST, (int) (1800 * mod), 0), "HEALTH_BOOST"); children = new HashMap(); - if (material == Material.POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.75), data.effect.getAmplifier()); - children.put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, data.data, effect, data.baseName)); - } else if (material == Material.SPLASH_POTION) { - PotionEffect effect = new PotionEffect(data.effect.getType(), (int) (data.effect.getDuration() * 0.33), data.effect.getAmplifier()); - children.put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, data.data, effect, data.baseName)); - } children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() / 2, 1), data.baseName + "_II")); children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(data.effect.getType(), data.effect.getDuration() * 2, 0), data.baseName + "_EXTENDED")); + for (WriteablePotion child : children.values()) { + mcMMOPotions.put(child, new HashMap()); + } mcMMOPotions.put(data, children); } + + // Add all material state changes + for (Entry> entry : mcMMOPotions.entrySet()) { + if (entry.getKey().mat == Material.POTION) { + PotionEffect effect = new PotionEffect(entry.getKey().effect.getType(), (int) (entry.getKey().effect.getDuration() * 0.75), entry.getKey().effect.getAmplifier()); + entry.getValue().put(new Ingredient(Material.SULPHUR), new WriteablePotion(Material.SPLASH_POTION, entry.getKey().data, effect, entry.getKey().baseName)); + } else if (entry.getKey().mat == Material.SPLASH_POTION) { + PotionEffect effect = new PotionEffect(entry.getKey().effect.getType(), (int) (entry.getKey().effect.getDuration() * 0.33), entry.getKey().effect.getAmplifier()); + entry.getValue().put(new Ingredient(Material.DRAGONS_BREATH), new WriteablePotion(Material.LINGERING_POTION, entry.getKey().data, effect, entry.getKey().baseName)); + } + } } }