Browse Source

Update potions.yml to reflect 1.13 potions and material names.

t00thpick1 6 năm trước cách đây
mục cha
commit
7cc604dbdb

+ 2 - 5
src/main/java/com/gmail/nossr50/config/skills/alchemy/PotionConfig.java

@@ -210,13 +210,10 @@ public class PotionConfig extends ConfigLoader {
             return null;
             return null;
         }
         }
 
 
-        String[] parts = ingredient.split(":");
-
-        Material material = parts.length > 0 ? Material.getMaterial(parts[0]) : null;
-        short data = parts.length > 1 ? Short.parseShort(parts[1]) : 0;
+        Material material = Material.getMaterial(ingredient);
 
 
         if (material != null) {
         if (material != null) {
-            return new ItemStack(material, 1, data);
+            return new ItemStack(material, 1);
         }
         }
 
 
         return null;
         return null;

+ 1 - 10
src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyManager.java

@@ -38,16 +38,7 @@ public class AlchemyManager extends SkillManager {
         StringBuilder list = new StringBuilder();
         StringBuilder list = new StringBuilder();
 
 
         for (ItemStack ingredient : getIngredients()) {
         for (ItemStack ingredient : getIngredients()) {
-            short durability = ingredient.getDurability();
-
-            String string = StringUtils.getPrettyItemString(ingredient.getType()) + (durability != 0 ? ":" + durability : "");
-
-            if (string.equals("Long Grass:2")) {
-                string = "Fern";
-            }
-            else if (string.equals("Raw Fish:3")) {
-                string = "Pufferfish";
-            }
+            String string = StringUtils.getPrettyItemString(ingredient.getType());
 
 
             list.append(", ").append(string);
             list.append(", ").append(string);
         }
         }

+ 266 - 136
src/main/resources/potions.yml

@@ -22,6 +22,7 @@ Concoctions:
     Tier_Two_Ingredients:
     Tier_Two_Ingredients:
         - CARROT
         - CARROT
         - SLIME_BALL
         - SLIME_BALL
+        - PHANTOM_MEMBRANE
     Tier_Three_Ingredients:
     Tier_Three_Ingredients:
         - QUARTZ
         - QUARTZ
         - RED_MUSHROOM
         - RED_MUSHROOM
@@ -67,34 +68,34 @@ Potions:
             PotionType: WATER
             PotionType: WATER
         Children:
         Children:
             SPIDER_EYE: POTION_OF_MUNDANE
             SPIDER_EYE: POTION_OF_MUNDANE
-            GHAST_TEAR: POTION_OF_MUNDANE
-            SUGAR: POTION_OF_MUNDANE
             FERMENTED_SPIDER_EYE: POTION_OF_WEAKNESS
             FERMENTED_SPIDER_EYE: POTION_OF_WEAKNESS
+            GLOWSTONE_DUST: POTION_OF_THICK
             GUNPOWDER: SPLASH_POTION_OF_WATER
             GUNPOWDER: SPLASH_POTION_OF_WATER
-            NETHER_WART: POTION_OF_AWKWARD
-            REDSTONE: POTION_OF_MUNDANE
+            GHAST_TEAR: POTION_OF_MUNDANE
+            MAGMA_CREAM: POTION_OF_MUNDANE
+            SUGAR: POTION_OF_MUNDANE
             GLISTERING_MELON_SLICE: POTION_OF_MUNDANE
             GLISTERING_MELON_SLICE: POTION_OF_MUNDANE
+            NETHER_WART: POTION_OF_AWKWARD
             BLAZE_POWDER: POTION_OF_MUNDANE
             BLAZE_POWDER: POTION_OF_MUNDANE
-            MAGMA_CREAM: POTION_OF_MUNDANE
+            REDSTONE: POTION_OF_MUNDANE
             RABBIT_FOOT: POTION_OF_MUNDANE
             RABBIT_FOOT: POTION_OF_MUNDANE
-            GLOWSTONE_DUST: POTION_OF_THICK
     POTION_OF_WATER_UNCRAFTABLE:
     POTION_OF_WATER_UNCRAFTABLE:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Children:
         Children:
             SPIDER_EYE: POTION_OF_MUNDANE
             SPIDER_EYE: POTION_OF_MUNDANE
-            GHAST_TEAR: POTION_OF_MUNDANE
-            SUGAR: POTION_OF_MUNDANE
             FERMENTED_SPIDER_EYE: POTION_OF_WEAKNESS
             FERMENTED_SPIDER_EYE: POTION_OF_WEAKNESS
+            GLOWSTONE_DUST: POTION_OF_THICK
             GUNPOWDER: SPLASH_POTION_OF_WATER
             GUNPOWDER: SPLASH_POTION_OF_WATER
-            NETHER_WART: POTION_OF_AWKWARD
-            REDSTONE: POTION_OF_MUNDANE
+            GHAST_TEAR: POTION_OF_MUNDANE
+            MAGMA_CREAM: POTION_OF_MUNDANE
+            SUGAR: POTION_OF_MUNDANE
             GLISTERING_MELON_SLICE: POTION_OF_MUNDANE
             GLISTERING_MELON_SLICE: POTION_OF_MUNDANE
+            NETHER_WART: POTION_OF_AWKWARD
             BLAZE_POWDER: POTION_OF_MUNDANE
             BLAZE_POWDER: POTION_OF_MUNDANE
-            MAGMA_CREAM: POTION_OF_MUNDANE
+            REDSTONE: POTION_OF_MUNDANE
             RABBIT_FOOT: POTION_OF_MUNDANE
             RABBIT_FOOT: POTION_OF_MUNDANE
-            GLOWSTONE_DUST: POTION_OF_THICK
     POTION_OF_MUNDANE:
     POTION_OF_MUNDANE:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
@@ -112,42 +113,44 @@ Potions:
         PotionData:
         PotionData:
             PotionType: AWKWARD
             PotionType: AWKWARD
         Children:
         Children:
-            MAGMA_CREAM: POTION_OF_FIRE_RESISTANCE
-            ROTTEN_FLESH: POTION_OF_HUNGER
+            QUARTZ: POTION_OF_ABSORPTION
             GUNPOWDER: SPLASH_POTION_OF_AWKWARD
             GUNPOWDER: SPLASH_POTION_OF_AWKWARD
-            RABBIT_FOOT: POTION_OF_LEAPING
-            GOLDEN_CARROT: POTION_OF_NIGHT_VISION
-            CARROT: POTION_OF_HASTE
+            BROWN_MUSHROOM: POTION_OF_NAUSEA
             SLIME_BALL: POTION_OF_DULLNESS
             SLIME_BALL: POTION_OF_DULLNESS
-            PUFFERFISH: POTION_OF_WATER_BREATHING
             GLISTERING_MELON_SLICE: POTION_OF_HEALING
             GLISTERING_MELON_SLICE: POTION_OF_HEALING
-            SPIDER_EYE: POTION_OF_POISON
-            GHAST_TEAR: POTION_OF_REGENERATION
             INK_SAC: POTION_OF_BLINDNESS
             INK_SAC: POTION_OF_BLINDNESS
-            BROWN_MUSHROOM: POTION_OF_NAUSEA
+            APPLE: POTION_OF_HEALTH_BOOST
+            GOLDEN_APPLE: POTION_OF_RESISTANCE
+            FERN: POTION_OF_SATURATION
+            MAGMA_CREAM: POTION_OF_FIRE_RESISTANCE
+            PHANTOM_MEMBRANE: POTION_OF_SLOW_FALLING
+            CARROT: POTION_OF_HASTE
             BLAZE_POWDER: POTION_OF_STRENGTH
             BLAZE_POWDER: POTION_OF_STRENGTH
             POISONOUS_POTATO: POTION_OF_DECAY
             POISONOUS_POTATO: POTION_OF_DECAY
-            QUARTZ: POTION_OF_ABSORPTION
-            FERN: POTION_OF_SATURATION
-            APPLE: POTION_OF_HEALTH_BOOST
+            GOLDEN_CARROT: POTION_OF_NIGHT_VISION
             SUGAR: POTION_OF_SWIFTNESS
             SUGAR: POTION_OF_SWIFTNESS
-            GOLDEN_APPLE: POTION_OF_RESISTANCE
+            ROTTEN_FLESH: POTION_OF_HUNGER
+            SPIDER_EYE: POTION_OF_POISON
+            PUFFERFISH: POTION_OF_WATER_BREATHING
+            GHAST_TEAR: POTION_OF_REGENERATION
+            TURTLE_HELMET: POTION_OF_TURTLE_MASTER
+            RABBIT_FOOT: POTION_OF_LEAPING
     POTION_OF_NIGHT_VISION:
     POTION_OF_NIGHT_VISION:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
             PotionType: NIGHT_VISION
             PotionType: NIGHT_VISION
         Children:
         Children:
-            FERMENTED_SPIDER_EYE: POTION_OF_INVISIBILITY
-            GUNPOWDER: SPLASH_POTION_OF_NIGHT_VISION
             REDSTONE: POTION_OF_NIGHT_VISION_EXTENDED
             REDSTONE: POTION_OF_NIGHT_VISION_EXTENDED
+            GUNPOWDER: SPLASH_POTION_OF_NIGHT_VISION
+            FERMENTED_SPIDER_EYE: POTION_OF_INVISIBILITY
     POTION_OF_NIGHT_VISION_EXTENDED:
     POTION_OF_NIGHT_VISION_EXTENDED:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
             PotionType: NIGHT_VISION
             PotionType: NIGHT_VISION
             Extended: true
             Extended: true
         Children:
         Children:
-            GUNPOWDER: SPLASH_POTION_OF_NIGHT_VISION_EXTENDED
             FERMENTED_SPIDER_EYE: POTION_OF_INVISIBILITY_EXTENDED
             FERMENTED_SPIDER_EYE: POTION_OF_INVISIBILITY_EXTENDED
+            GUNPOWDER: SPLASH_POTION_OF_NIGHT_VISION_EXTENDED
     POTION_OF_INVISIBILITY:
     POTION_OF_INVISIBILITY:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
@@ -167,10 +170,10 @@ Potions:
         PotionData:
         PotionData:
             PotionType: JUMP
             PotionType: JUMP
         Children:
         Children:
-            REDSTONE: POTION_OF_LEAPING_EXTENDED
-            FERMENTED_SPIDER_EYE: POTION_OF_SLOWNESS
             GUNPOWDER: SPLASH_POTION_OF_LEAPING
             GUNPOWDER: SPLASH_POTION_OF_LEAPING
+            FERMENTED_SPIDER_EYE: POTION_OF_SLOWNESS
             GLOWSTONE_DUST: POTION_OF_LEAPING_II
             GLOWSTONE_DUST: POTION_OF_LEAPING_II
+            REDSTONE: POTION_OF_LEAPING_EXTENDED
     POTION_OF_LEAPING_EXTENDED:
     POTION_OF_LEAPING_EXTENDED:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
@@ -190,9 +193,9 @@ Potions:
         PotionData:
         PotionData:
             PotionType: FIRE_RESISTANCE
             PotionType: FIRE_RESISTANCE
         Children:
         Children:
-            GUNPOWDER: SPLASH_POTION_OF_FIRE_RESISTANCE
             FERMENTED_SPIDER_EYE: POTION_OF_SLOWNESS
             FERMENTED_SPIDER_EYE: POTION_OF_SLOWNESS
             REDSTONE: POTION_OF_FIRE_RESISTANCE_EXTENDED
             REDSTONE: POTION_OF_FIRE_RESISTANCE_EXTENDED
+            GUNPOWDER: SPLASH_POTION_OF_FIRE_RESISTANCE
     POTION_OF_FIRE_RESISTANCE_EXTENDED:
     POTION_OF_FIRE_RESISTANCE_EXTENDED:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
@@ -208,31 +211,31 @@ Potions:
         Children:
         Children:
             FERMENTED_SPIDER_EYE: POTION_OF_SLOWNESS
             FERMENTED_SPIDER_EYE: POTION_OF_SLOWNESS
             GLOWSTONE_DUST: POTION_OF_SWIFTNESS_II
             GLOWSTONE_DUST: POTION_OF_SWIFTNESS_II
-            GUNPOWDER: SPLASH_POTION_OF_SWIFTNESS
             REDSTONE: POTION_OF_SWIFTNESS_EXTENDED
             REDSTONE: POTION_OF_SWIFTNESS_EXTENDED
+            GUNPOWDER: SPLASH_POTION_OF_SWIFTNESS
     POTION_OF_SWIFTNESS_II:
     POTION_OF_SWIFTNESS_II:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
             PotionType: SPEED
             PotionType: SPEED
             Upgraded: true
             Upgraded: true
         Children:
         Children:
-            FERMENTED_SPIDER_EYE: POTION_OF_SLOWNESS_EXTENDED
             GUNPOWDER: SPLASH_POTION_OF_SWIFTNESS_II
             GUNPOWDER: SPLASH_POTION_OF_SWIFTNESS_II
+            FERMENTED_SPIDER_EYE: POTION_OF_SLOWNESS_EXTENDED
     POTION_OF_SWIFTNESS_EXTENDED:
     POTION_OF_SWIFTNESS_EXTENDED:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
             PotionType: SPEED
             PotionType: SPEED
             Extended: true
             Extended: true
         Children:
         Children:
-            GUNPOWDER: SPLASH_POTION_OF_SWIFTNESS_EXTENDED
             FERMENTED_SPIDER_EYE: POTION_OF_SLOWNESS_EXTENDED
             FERMENTED_SPIDER_EYE: POTION_OF_SLOWNESS_EXTENDED
+            GUNPOWDER: SPLASH_POTION_OF_SWIFTNESS_EXTENDED
     POTION_OF_SLOWNESS:
     POTION_OF_SLOWNESS:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
             PotionType: SLOWNESS
             PotionType: SLOWNESS
         Children:
         Children:
-            GUNPOWDER: SPLASH_POTION_OF_SLOWNESS
             REDSTONE: POTION_OF_SLOWNESS_EXTENDED
             REDSTONE: POTION_OF_SLOWNESS_EXTENDED
+            GUNPOWDER: SPLASH_POTION_OF_SLOWNESS
     POTION_OF_SLOWNESS_EXTENDED:
     POTION_OF_SLOWNESS_EXTENDED:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
@@ -240,14 +243,22 @@ Potions:
             Extended: true
             Extended: true
         Children:
         Children:
             GUNPOWDER: SPLASH_POTION_OF_SLOWNESS_EXTENDED
             GUNPOWDER: SPLASH_POTION_OF_SLOWNESS_EXTENDED
+    POTION_OF_SLOWNESS_II:
+        Material: POTION
+        PotionData:
+            PotionType: SLOWNESS
+            Upgraded: true
+        Children:
+            GUNPOWDER: SPLASH_POTION_OF_SLOWNESS_II
+            REDSTONE: POTION_OF_SLOWNESS_EXTENDED
     POTION_OF_WATER_BREATHING:
     POTION_OF_WATER_BREATHING:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
             PotionType: WATER_BREATHING
             PotionType: WATER_BREATHING
         Children:
         Children:
-            FERMENTED_SPIDER_EYE: POTION_OF_HARMING
             REDSTONE: POTION_OF_WATER_BREATHING_EXTENDED
             REDSTONE: POTION_OF_WATER_BREATHING_EXTENDED
             GUNPOWDER: SPLASH_POTION_OF_WATER_BREATHING
             GUNPOWDER: SPLASH_POTION_OF_WATER_BREATHING
+            FERMENTED_SPIDER_EYE: POTION_OF_HARMING
     POTION_OF_WATER_BREATHING_EXTENDED:
     POTION_OF_WATER_BREATHING_EXTENDED:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
@@ -260,9 +271,9 @@ Potions:
         PotionData:
         PotionData:
             PotionType: INSTANT_HEAL
             PotionType: INSTANT_HEAL
         Children:
         Children:
+            FERMENTED_SPIDER_EYE: POTION_OF_HARMING
             GLOWSTONE_DUST: POTION_OF_HEALING_II
             GLOWSTONE_DUST: POTION_OF_HEALING_II
             GUNPOWDER: SPLASH_POTION_OF_HEALING
             GUNPOWDER: SPLASH_POTION_OF_HEALING
-            FERMENTED_SPIDER_EYE: POTION_OF_HARMING
     POTION_OF_HEALING_II:
     POTION_OF_HEALING_II:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
@@ -291,9 +302,9 @@ Potions:
             PotionType: POISON
             PotionType: POISON
         Children:
         Children:
             GLOWSTONE_DUST: POTION_OF_POISON_II
             GLOWSTONE_DUST: POTION_OF_POISON_II
-            REDSTONE: POTION_OF_POISON_EXTENDED
             FERMENTED_SPIDER_EYE: POTION_OF_HARMING
             FERMENTED_SPIDER_EYE: POTION_OF_HARMING
             GUNPOWDER: SPLASH_POTION_OF_POISON
             GUNPOWDER: SPLASH_POTION_OF_POISON
+            REDSTONE: POTION_OF_POISON_EXTENDED
     POTION_OF_POISON_EXTENDED:
     POTION_OF_POISON_EXTENDED:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
@@ -308,16 +319,16 @@ Potions:
             PotionType: POISON
             PotionType: POISON
             Upgraded: true
             Upgraded: true
         Children:
         Children:
-            FERMENTED_SPIDER_EYE: POTION_OF_HARMING_II
             GUNPOWDER: SPLASH_POTION_OF_POISON_II
             GUNPOWDER: SPLASH_POTION_OF_POISON_II
+            FERMENTED_SPIDER_EYE: POTION_OF_HARMING_II
     POTION_OF_REGENERATION:
     POTION_OF_REGENERATION:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
             PotionType: REGEN
             PotionType: REGEN
         Children:
         Children:
-            REDSTONE: POTION_OF_REGENERATION_EXTENDED
-            GUNPOWDER: SPLASH_POTION_OF_REGENERATION
             GLOWSTONE_DUST: POTION_OF_REGENERATION_II
             GLOWSTONE_DUST: POTION_OF_REGENERATION_II
+            GUNPOWDER: SPLASH_POTION_OF_REGENERATION
+            REDSTONE: POTION_OF_REGENERATION_EXTENDED
     POTION_OF_REGENERATION_II:
     POTION_OF_REGENERATION_II:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
@@ -337,8 +348,8 @@ Potions:
         PotionData:
         PotionData:
             PotionType: STRENGTH
             PotionType: STRENGTH
         Children:
         Children:
-            GLOWSTONE_DUST: POTION_OF_STRENGTH_II
             REDSTONE: POTION_OF_STRENGTH_EXTENDED
             REDSTONE: POTION_OF_STRENGTH_EXTENDED
+            GLOWSTONE_DUST: POTION_OF_STRENGTH_II
             GUNPOWDER: SPLASH_POTION_OF_STRENGTH
             GUNPOWDER: SPLASH_POTION_OF_STRENGTH
     POTION_OF_STRENGTH_EXTENDED:
     POTION_OF_STRENGTH_EXTENDED:
         Material: POTION
         Material: POTION
@@ -359,8 +370,8 @@ Potions:
         PotionData:
         PotionData:
             PotionType: WEAKNESS
             PotionType: WEAKNESS
         Children:
         Children:
-            GUNPOWDER: SPLASH_POTION_OF_WEAKNESS
             REDSTONE: POTION_OF_WEAKNESS_EXTENDED
             REDSTONE: POTION_OF_WEAKNESS_EXTENDED
+            GUNPOWDER: SPLASH_POTION_OF_WEAKNESS
     POTION_OF_WEAKNESS_EXTENDED:
     POTION_OF_WEAKNESS_EXTENDED:
         Material: POTION
         Material: POTION
         PotionData:
         PotionData:
@@ -374,6 +385,42 @@ Potions:
             PotionType: LUCK
             PotionType: LUCK
         Children:
         Children:
             GUNPOWDER: SPLASH_POTION_OF_LUCK
             GUNPOWDER: SPLASH_POTION_OF_LUCK
+    POTION_OF_TURTLE_MASTER:
+        Material: POTION
+        PotionData:
+            PotionType: TURTLE_MASTER
+        Children:
+            GUNPOWDER: SPLASH_POTION_OF_TURTLE_MASTER
+            GLOWSTONE_DUST: POTION_OF_TURTLE_MASTER_II
+            REDSTONE: POTION_OF_TURTLE_MASTER_EXTENDED
+    POTION_OF_TURTLE_MASTER_EXTENDED:
+        Material: POTION
+        PotionData:
+            PotionType: TURTLE_MASTER
+            Extended: true
+        Children:
+            GUNPOWDER: SPLASH_POTION_OF_TURTLE_MASTER_EXTENDED
+    POTION_OF_TURTLE_MASTER_II:
+        Material: POTION
+        PotionData:
+            PotionType: TURTLE_MASTER
+            Upgraded: true
+        Children:
+            GUNPOWDER: SPLASH_POTION_OF_TURTLE_MASTER_II
+    POTION_OF_SLOW_FALLING:
+        Material: POTION
+        PotionData:
+            PotionType: SLOW_FALLING
+        Children:
+            GUNPOWDER: SPLASH_POTION_OF_SLOW_FALLING
+            REDSTONE: POTION_OF_SLOW_FALLING_EXTENDED
+    POTION_OF_SLOW_FALLING_EXTENDED:
+        Material: POTION
+        PotionData:
+            PotionType: SLOW_FALLING
+            Extended: true
+        Children:
+            GUNPOWDER: SPLASH_POTION_OF_SLOW_FALLING_EXTENDED
     POTION_OF_ABSORPTION:
     POTION_OF_ABSORPTION:
         Name: Potion Of Absorption
         Name: Potion Of Absorption
         Material: POTION
         Material: POTION
@@ -381,9 +428,9 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["ABSORPTION 0 1800"]
         Effects: ["ABSORPTION 0 1800"]
         Children:
         Children:
+            GUNPOWDER: SPLASH_POTION_OF_ABSORPTION
             GLOWSTONE_DUST: POTION_OF_ABSORPTION_II
             GLOWSTONE_DUST: POTION_OF_ABSORPTION_II
             REDSTONE: POTION_OF_ABSORPTION_EXTENDED
             REDSTONE: POTION_OF_ABSORPTION_EXTENDED
-            GUNPOWDER: SPLASH_POTION_OF_ABSORPTION
     POTION_OF_BLINDNESS:
     POTION_OF_BLINDNESS:
         Name: Potion Of Blindness
         Name: Potion Of Blindness
         Material: POTION
         Material: POTION
@@ -401,8 +448,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["WITHER 0 450"]
         Effects: ["WITHER 0 450"]
         Children:
         Children:
-            REDSTONE: POTION_OF_DECAY_EXTENDED
             GUNPOWDER: SPLASH_POTION_OF_DECAY
             GUNPOWDER: SPLASH_POTION_OF_DECAY
+            REDSTONE: POTION_OF_DECAY_EXTENDED
             GLOWSTONE_DUST: POTION_OF_DECAY_II
             GLOWSTONE_DUST: POTION_OF_DECAY_II
     POTION_OF_DULLNESS:
     POTION_OF_DULLNESS:
         Name: Potion Of Dullness
         Name: Potion Of Dullness
@@ -411,9 +458,9 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["SLOW_DIGGING 0 3600"]
         Effects: ["SLOW_DIGGING 0 3600"]
         Children:
         Children:
+            GLOWSTONE_DUST: POTION_OF_DULLNESS_II
             REDSTONE: POTION_OF_DULLNESS_EXTENDED
             REDSTONE: POTION_OF_DULLNESS_EXTENDED
             GUNPOWDER: SPLASH_POTION_OF_DULLNESS
             GUNPOWDER: SPLASH_POTION_OF_DULLNESS
-            GLOWSTONE_DUST: POTION_OF_DULLNESS_II
     POTION_OF_HASTE:
     POTION_OF_HASTE:
         Name: Potion Of Haste
         Name: Potion Of Haste
         Material: POTION
         Material: POTION
@@ -441,9 +488,9 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["HUNGER 0 900"]
         Effects: ["HUNGER 0 900"]
         Children:
         Children:
-            GUNPOWDER: SPLASH_POTION_OF_HUNGER
-            GLOWSTONE_DUST: POTION_OF_HUNGER_II
             REDSTONE: POTION_OF_HUNGER_EXTENDED
             REDSTONE: POTION_OF_HUNGER_EXTENDED
+            GLOWSTONE_DUST: POTION_OF_HUNGER_II
+            GUNPOWDER: SPLASH_POTION_OF_HUNGER
     POTION_OF_NAUSEA:
     POTION_OF_NAUSEA:
         Name: Potion Of Nausea
         Name: Potion Of Nausea
         Material: POTION
         Material: POTION
@@ -451,8 +498,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["CONFUSION 0 450"]
         Effects: ["CONFUSION 0 450"]
         Children:
         Children:
-            REDSTONE: POTION_OF_NAUSEA_EXTENDED
             GUNPOWDER: SPLASH_POTION_OF_NAUSEA
             GUNPOWDER: SPLASH_POTION_OF_NAUSEA
+            REDSTONE: POTION_OF_NAUSEA_EXTENDED
             GLOWSTONE_DUST: POTION_OF_NAUSEA_II
             GLOWSTONE_DUST: POTION_OF_NAUSEA_II
     POTION_OF_RESISTANCE:
     POTION_OF_RESISTANCE:
         Name: Potion Of Resistance
         Name: Potion Of Resistance
@@ -462,8 +509,8 @@ Potions:
         Effects: ["DAMAGE_RESISTANCE 0 450"]
         Effects: ["DAMAGE_RESISTANCE 0 450"]
         Children:
         Children:
             REDSTONE: POTION_OF_RESISTANCE_EXTENDED
             REDSTONE: POTION_OF_RESISTANCE_EXTENDED
-            GUNPOWDER: SPLASH_POTION_OF_RESISTANCE
             GLOWSTONE_DUST: POTION_OF_RESISTANCE_II
             GLOWSTONE_DUST: POTION_OF_RESISTANCE_II
+            GUNPOWDER: SPLASH_POTION_OF_RESISTANCE
     POTION_OF_SATURATION:
     POTION_OF_SATURATION:
         Name: Potion Of Saturation
         Name: Potion Of Saturation
         Material: POTION
         Material: POTION
@@ -471,8 +518,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["SATURATION 0 8"]
         Effects: ["SATURATION 0 8"]
         Children:
         Children:
-            REDSTONE: POTION_OF_SATURATION_EXTENDED
             GLOWSTONE_DUST: POTION_OF_SATURATION_II
             GLOWSTONE_DUST: POTION_OF_SATURATION_II
+            REDSTONE: POTION_OF_SATURATION_EXTENDED
             GUNPOWDER: SPLASH_POTION_OF_SATURATION
             GUNPOWDER: SPLASH_POTION_OF_SATURATION
     POTION_OF_ABSORPTION_EXTENDED:
     POTION_OF_ABSORPTION_EXTENDED:
         Name: Potion Of Absorption Extended
         Name: Potion Of Absorption Extended
@@ -645,18 +692,18 @@ Potions:
         PotionData:
         PotionData:
             PotionType: WATER
             PotionType: WATER
         Children:
         Children:
-            RABBIT_FOOT: SPLASH_POTION_OF_MUNDANE
-            MAGMA_CREAM: SPLASH_POTION_OF_MUNDANE
-            REDSTONE: SPLASH_POTION_OF_MUNDANE
-            GLOWSTONE_DUST: SPLASH_POTION_OF_THICK
-            DRAGON_BREATH: LINGERING_POTION_OF_WATER
-            GLISTERING_MELON_SLICE: SPLASH_POTION_OF_MUNDANE
+            SUGAR: SPLASH_POTION_OF_MUNDANE
+            BLAZE_POWDER: SPLASH_POTION_OF_MUNDANE
             GHAST_TEAR: SPLASH_POTION_OF_MUNDANE
             GHAST_TEAR: SPLASH_POTION_OF_MUNDANE
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_WEAKNESS
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_WEAKNESS
-            SPIDER_EYE: SPLASH_POTION_OF_MUNDANE
-            BLAZE_POWDER: SPLASH_POTION_OF_MUNDANE
+            GLOWSTONE_DUST: SPLASH_POTION_OF_THICK
+            GLISTERING_MELON_SLICE: SPLASH_POTION_OF_MUNDANE
+            DRAGON_BREATH: LINGERING_POTION_OF_WATER
             NETHER_WART: SPLASH_POTION_OF_AWKWARD
             NETHER_WART: SPLASH_POTION_OF_AWKWARD
-            SUGAR: SPLASH_POTION_OF_MUNDANE
+            RABBIT_FOOT: SPLASH_POTION_OF_MUNDANE
+            SPIDER_EYE: SPLASH_POTION_OF_MUNDANE
+            REDSTONE: SPLASH_POTION_OF_MUNDANE
+            MAGMA_CREAM: SPLASH_POTION_OF_MUNDANE
     SPLASH_POTION_OF_MUNDANE:
     SPLASH_POTION_OF_MUNDANE:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
@@ -674,49 +721,51 @@ Potions:
         PotionData:
         PotionData:
             PotionType: AWKWARD
             PotionType: AWKWARD
         Children:
         Children:
-            RABBIT_FOOT: SPLASH_POTION_OF_LEAPING
+            GLISTERING_MELON_SLICE: SPLASH_POTION_OF_HEALING
+            SLIME_BALL: SPLASH_POTION_OF_DULLNESS
+            CARROT: SPLASH_POTION_OF_HASTE
+            TURTLE_HELMET: SPLASH_POTION_OF_TURTLE_MASTER
             ROTTEN_FLESH: SPLASH_POTION_OF_HUNGER
             ROTTEN_FLESH: SPLASH_POTION_OF_HUNGER
-            QUARTZ: SPLASH_POTION_OF_ABSORPTION
-            GOLDEN_CARROT: SPLASH_POTION_OF_NIGHT_VISION
-            POISONOUS_POTATO: SPLASH_POTION_OF_DECAY
-            DRAGON_BREATH: LINGERING_POTION_OF_AWKWARD
-            MAGMA_CREAM: SPLASH_POTION_OF_FIRE_RESISTANCE
-            PUFFERFISH: SPLASH_POTION_OF_WATER_BREATHING
-            INK_SAC: SPLASH_POTION_OF_BLINDNESS
-            FERN: SPLASH_POTION_OF_SATURATION
             GOLDEN_APPLE: SPLASH_POTION_OF_RESISTANCE
             GOLDEN_APPLE: SPLASH_POTION_OF_RESISTANCE
-            CARROT: SPLASH_POTION_OF_HASTE
+            GHAST_TEAR: SPLASH_POTION_OF_REGENERATION
+            DRAGON_BREATH: LINGERING_POTION_OF_AWKWARD
             BLAZE_POWDER: SPLASH_POTION_OF_STRENGTH
             BLAZE_POWDER: SPLASH_POTION_OF_STRENGTH
+            GOLDEN_CARROT: SPLASH_POTION_OF_NIGHT_VISION
+            APPLE: SPLASH_POTION_OF_HEALTH_BOOST
+            POISONOUS_POTATO: SPLASH_POTION_OF_DECAY
             SUGAR: SPLASH_POTION_OF_SWIFTNESS
             SUGAR: SPLASH_POTION_OF_SWIFTNESS
-            SPIDER_EYE: SPLASH_POTION_OF_POISON
-            GLISTERING_MELON_SLICE: SPLASH_POTION_OF_HEALING
+            PHANTOM_MEMBRANE: SPLASH_POTION_OF_SLOW_FALLING
+            QUARTZ: SPLASH_POTION_OF_ABSORPTION
+            RABBIT_FOOT: SPLASH_POTION_OF_LEAPING
             BROWN_MUSHROOM: SPLASH_POTION_OF_NAUSEA
             BROWN_MUSHROOM: SPLASH_POTION_OF_NAUSEA
-            SLIME_BALL: SPLASH_POTION_OF_DULLNESS
-            GHAST_TEAR: SPLASH_POTION_OF_REGENERATION
-            APPLE: SPLASH_POTION_OF_HEALTH_BOOST
+            TALL_GRASS: SPLASH_POTION_OF_SATURATION
+            MAGMA_CREAM: SPLASH_POTION_OF_FIRE_RESISTANCE
+            SPIDER_EYE: SPLASH_POTION_OF_POISON
+            INK_SAC: SPLASH_POTION_OF_BLINDNESS
+            PUFFERFISH: SPLASH_POTION_OF_WATER_BREATHING
     SPLASH_POTION_OF_NIGHT_VISION:
     SPLASH_POTION_OF_NIGHT_VISION:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
             PotionType: NIGHT_VISION
             PotionType: NIGHT_VISION
         Children:
         Children:
-            FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_INVISIBILITY
-            DRAGON_BREATH: LINGERING_POTION_OF_NIGHT_VISION
             REDSTONE: SPLASH_POTION_OF_NIGHT_VISION_EXTENDED
             REDSTONE: SPLASH_POTION_OF_NIGHT_VISION_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_NIGHT_VISION
+            FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_INVISIBILITY
     SPLASH_POTION_OF_NIGHT_VISION_EXTENDED:
     SPLASH_POTION_OF_NIGHT_VISION_EXTENDED:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
             PotionType: NIGHT_VISION
             PotionType: NIGHT_VISION
             Extended: true
             Extended: true
         Children:
         Children:
-            FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_INVISIBILITY_EXTENDED
             DRAGON_BREATH: LINGERING_POTION_OF_NIGHT_VISION_EXTENDED
             DRAGON_BREATH: LINGERING_POTION_OF_NIGHT_VISION_EXTENDED
+            FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_INVISIBILITY_EXTENDED
     SPLASH_POTION_OF_INVISIBILITY:
     SPLASH_POTION_OF_INVISIBILITY:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
             PotionType: INVISIBILITY
             PotionType: INVISIBILITY
         Children:
         Children:
-            DRAGON_BREATH: LINGERING_POTION_OF_INVISIBILITY
             REDSTONE: SPLASH_POTION_OF_INVISIBILITY_EXTENDED
             REDSTONE: SPLASH_POTION_OF_INVISIBILITY_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_INVISIBILITY
     SPLASH_POTION_OF_INVISIBILITY_EXTENDED:
     SPLASH_POTION_OF_INVISIBILITY_EXTENDED:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
@@ -729,9 +778,9 @@ Potions:
         PotionData:
         PotionData:
             PotionType: JUMP
             PotionType: JUMP
         Children:
         Children:
-            GLOWSTONE_DUST: SPLASH_POTION_OF_LEAPING_II
-            FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_SLOWNESS
             DRAGON_BREATH: LINGERING_POTION_OF_LEAPING
             DRAGON_BREATH: LINGERING_POTION_OF_LEAPING
+            FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_SLOWNESS
+            GLOWSTONE_DUST: SPLASH_POTION_OF_LEAPING_II
             REDSTONE: SPLASH_POTION_OF_LEAPING_EXTENDED
             REDSTONE: SPLASH_POTION_OF_LEAPING_EXTENDED
     SPLASH_POTION_OF_LEAPING_II:
     SPLASH_POTION_OF_LEAPING_II:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
@@ -752,34 +801,34 @@ Potions:
         PotionData:
         PotionData:
             PotionType: FIRE_RESISTANCE
             PotionType: FIRE_RESISTANCE
         Children:
         Children:
-            DRAGON_BREATH: LINGERING_POTION_OF_FIRE_RESISTANCE
             REDSTONE: SPLASH_POTION_OF_FIRE_RESISTANCE_EXTENDED
             REDSTONE: SPLASH_POTION_OF_FIRE_RESISTANCE_EXTENDED
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_SLOWNESS
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_SLOWNESS
+            DRAGON_BREATH: LINGERING_POTION_OF_FIRE_RESISTANCE
     SPLASH_POTION_OF_FIRE_RESISTANCE_EXTENDED:
     SPLASH_POTION_OF_FIRE_RESISTANCE_EXTENDED:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
             PotionType: FIRE_RESISTANCE
             PotionType: FIRE_RESISTANCE
             Extended: true
             Extended: true
         Children:
         Children:
-            FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_SLOWNESS_EXTENDED
             DRAGON_BREATH: LINGERING_POTION_OF_FIRE_RESISTANCE_EXTENDED
             DRAGON_BREATH: LINGERING_POTION_OF_FIRE_RESISTANCE_EXTENDED
+            FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_SLOWNESS_EXTENDED
     SPLASH_POTION_OF_SWIFTNESS:
     SPLASH_POTION_OF_SWIFTNESS:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
             PotionType: SPEED
             PotionType: SPEED
         Children:
         Children:
-            REDSTONE: SPLASH_POTION_OF_SWIFTNESS_EXTENDED
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_SLOWNESS
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_SLOWNESS
             GLOWSTONE_DUST: SPLASH_POTION_OF_SWIFTNESS_II
             GLOWSTONE_DUST: SPLASH_POTION_OF_SWIFTNESS_II
             DRAGON_BREATH: LINGERING_POTION_OF_SWIFTNESS
             DRAGON_BREATH: LINGERING_POTION_OF_SWIFTNESS
+            REDSTONE: SPLASH_POTION_OF_SWIFTNESS_EXTENDED
     SPLASH_POTION_OF_SWIFTNESS_EXTENDED:
     SPLASH_POTION_OF_SWIFTNESS_EXTENDED:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
             PotionType: SPEED
             PotionType: SPEED
             Extended: true
             Extended: true
         Children:
         Children:
-            DRAGON_BREATH: LINGERING_POTION_OF_SWIFTNESS_EXTENDED
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_SLOWNESS_EXTENDED
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_SLOWNESS_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_SWIFTNESS_EXTENDED
     SPLASH_POTION_OF_SWIFTNESS_II:
     SPLASH_POTION_OF_SWIFTNESS_II:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
@@ -802,6 +851,14 @@ Potions:
             Extended: true
             Extended: true
         Children:
         Children:
             DRAGON_BREATH: LINGERING_POTION_OF_SLOWNESS_EXTENDED
             DRAGON_BREATH: LINGERING_POTION_OF_SLOWNESS_EXTENDED
+    SPLASH_POTION_OF_SLOWNESS_II:
+        Material: SPLASH_POTION
+        PotionData:
+            PotionType: SLOWNESS
+            Upgraded: true
+        Children:
+            REDSTONE: SPLASH_POTION_OF_SLOWNESS_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_SLOWNESS_II
     SPLASH_POTION_OF_WATER_BREATHING:
     SPLASH_POTION_OF_WATER_BREATHING:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
@@ -822,17 +879,17 @@ Potions:
         PotionData:
         PotionData:
             PotionType: INSTANT_HEAL
             PotionType: INSTANT_HEAL
         Children:
         Children:
+            DRAGON_BREATH: LINGERING_POTION_OF_HEALING
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_HARMING
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_HARMING
             GLOWSTONE_DUST: SPLASH_POTION_OF_HEALING_II
             GLOWSTONE_DUST: SPLASH_POTION_OF_HEALING_II
-            DRAGON_BREATH: LINGERING_POTION_OF_HEALING
     SPLASH_POTION_OF_HEALING_II:
     SPLASH_POTION_OF_HEALING_II:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
             PotionType: INSTANT_HEAL
             PotionType: INSTANT_HEAL
             Upgraded: true
             Upgraded: true
         Children:
         Children:
-            DRAGON_BREATH: LINGERING_POTION_OF_HEALING_II
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_HARMING_II
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_HARMING_II
+            DRAGON_BREATH: LINGERING_POTION_OF_HEALING_II
     SPLASH_POTION_OF_HARMING:
     SPLASH_POTION_OF_HARMING:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
@@ -852,18 +909,18 @@ Potions:
         PotionData:
         PotionData:
             PotionType: POISON
             PotionType: POISON
         Children:
         Children:
+            GLOWSTONE_DUST: SPLASH_POTION_OF_POISON_II
             DRAGON_BREATH: LINGERING_POTION_OF_POISON
             DRAGON_BREATH: LINGERING_POTION_OF_POISON
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_HARMING
             FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_HARMING
             REDSTONE: SPLASH_POTION_OF_POISON_EXTENDED
             REDSTONE: SPLASH_POTION_OF_POISON_EXTENDED
-            GLOWSTONE_DUST: SPLASH_POTION_OF_POISON_II
     SPLASH_POTION_OF_POISON_EXTENDED:
     SPLASH_POTION_OF_POISON_EXTENDED:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
             PotionType: POISON
             PotionType: POISON
             Extended: true
             Extended: true
         Children:
         Children:
-            FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_HARMING_II
             DRAGON_BREATH: LINGERING_POTION_OF_POISON_EXTENDED
             DRAGON_BREATH: LINGERING_POTION_OF_POISON_EXTENDED
+            FERMENTED_SPIDER_EYE: SPLASH_POTION_OF_HARMING_II
     SPLASH_POTION_OF_POISON_II:
     SPLASH_POTION_OF_POISON_II:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
@@ -878,8 +935,8 @@ Potions:
             PotionType: REGEN
             PotionType: REGEN
         Children:
         Children:
             GLOWSTONE_DUST: SPLASH_POTION_OF_REGENERATION_II
             GLOWSTONE_DUST: SPLASH_POTION_OF_REGENERATION_II
-            DRAGON_BREATH: LINGERING_POTION_OF_REGENERATION
             REDSTONE: SPLASH_POTION_OF_REGENERATION_EXTENDED
             REDSTONE: SPLASH_POTION_OF_REGENERATION_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_REGENERATION
     SPLASH_POTION_OF_REGENERATION_EXTENDED:
     SPLASH_POTION_OF_REGENERATION_EXTENDED:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
@@ -899,8 +956,8 @@ Potions:
         PotionData:
         PotionData:
             PotionType: STRENGTH
             PotionType: STRENGTH
         Children:
         Children:
-            REDSTONE: SPLASH_POTION_OF_STRENGTH_EXTENDED
             GLOWSTONE_DUST: SPLASH_POTION_OF_STRENGTH_II
             GLOWSTONE_DUST: SPLASH_POTION_OF_STRENGTH_II
+            REDSTONE: SPLASH_POTION_OF_STRENGTH_EXTENDED
             DRAGON_BREATH: LINGERING_POTION_OF_STRENGTH
             DRAGON_BREATH: LINGERING_POTION_OF_STRENGTH
     SPLASH_POTION_OF_STRENGTH_EXTENDED:
     SPLASH_POTION_OF_STRENGTH_EXTENDED:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
@@ -921,8 +978,8 @@ Potions:
         PotionData:
         PotionData:
             PotionType: WEAKNESS
             PotionType: WEAKNESS
         Children:
         Children:
-            DRAGON_BREATH: LINGERING_POTION_OF_WEAKNESS
             REDSTONE: SPLASH_POTION_OF_WEAKNESS_EXTENDED
             REDSTONE: SPLASH_POTION_OF_WEAKNESS_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_WEAKNESS
     SPLASH_POTION_OF_WEAKNESS_EXTENDED:
     SPLASH_POTION_OF_WEAKNESS_EXTENDED:
         Material: SPLASH_POTION
         Material: SPLASH_POTION
         PotionData:
         PotionData:
@@ -936,6 +993,42 @@ Potions:
             PotionType: LUCK
             PotionType: LUCK
         Children:
         Children:
             DRAGON_BREATH: LINGERING_POTION_OF_LUCK
             DRAGON_BREATH: LINGERING_POTION_OF_LUCK
+    SPLASH_POTION_OF_TURTLE_MASTER:
+        Material: SPLASH_POTION
+        PotionData:
+            PotionType: TURTLE_MASTER
+        Children:
+            REDSTONE: SPLASH_POTION_OF_TURTLE_MASTER_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_TURTLE_MASTER
+            GLOWSTONE_DUST: SPLASH_POTION_OF_TURTLE_MASTER_II
+    SPLASH_POTION_OF_TURTLE_MASTER_II:
+        Material: SPLASH_POTION
+        PotionData:
+            PotionType: TURTLE_MASTER
+            Upgraded: true
+        Children:
+            DRAGON_BREATH: LINGERING_POTION_OF_TURTLE_MASTER_II
+    SPLASH_POTION_OF_TURTLE_MASTER_EXTENDED:
+        Material: SPLASH_POTION
+        PotionData:
+            PotionType: TURTLE_MASTER
+            Extended: true
+        Children:
+            DRAGON_BREATH: LINGERING_POTION_OF_TURTLE_MASTER_EXTENDED
+    SPLASH_POTION_OF_SLOW_FALLING:
+        Material: SPLASH_POTION
+        PotionData:
+            PotionType: SLOW_FALLING
+        Children:
+            REDSTONE: SPLASH_POTION_OF_SLOW_FALLING_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_SLOW_FALLING
+    SPLASH_POTION_OF_SLOW_FALLING_EXTENDED:
+        Material: SPLASH_POTION
+        PotionData:
+            PotionType: SLOW_FALLING
+            Extended: true
+        Children:
+            DRAGON_BREATH: LINGERING_POTION_OF_SLOW_FALLING_EXTENDED
     SPLASH_POTION_OF_ABSORPTION:
     SPLASH_POTION_OF_ABSORPTION:
         Name: Splash Potion Of Absorption
         Name: Splash Potion Of Absorption
         Material: SPLASH_POTION
         Material: SPLASH_POTION
@@ -943,9 +1036,9 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["ABSORPTION 0 1350"]
         Effects: ["ABSORPTION 0 1350"]
         Children:
         Children:
-            GLOWSTONE_DUST: SPLASH_POTION_OF_ABSORPTION_II
             DRAGON_BREATH: LINGERING_POTION_OF_ABSORPTION
             DRAGON_BREATH: LINGERING_POTION_OF_ABSORPTION
             REDSTONE: SPLASH_POTION_OF_ABSORPTION_EXTENDED
             REDSTONE: SPLASH_POTION_OF_ABSORPTION_EXTENDED
+            GLOWSTONE_DUST: SPLASH_POTION_OF_ABSORPTION_II
     SPLASH_POTION_OF_BLINDNESS:
     SPLASH_POTION_OF_BLINDNESS:
         Name: Splash Potion Of Blindness
         Name: Splash Potion Of Blindness
         Material: SPLASH_POTION
         Material: SPLASH_POTION
@@ -963,9 +1056,9 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["WITHER 0 337"]
         Effects: ["WITHER 0 337"]
         Children:
         Children:
-            DRAGON_BREATH: LINGERING_POTION_OF_DECAY
             GLOWSTONE_DUST: SPLASH_POTION_OF_DECAY_II
             GLOWSTONE_DUST: SPLASH_POTION_OF_DECAY_II
             REDSTONE: SPLASH_POTION_OF_DECAY_EXTENDED
             REDSTONE: SPLASH_POTION_OF_DECAY_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_DECAY
     SPLASH_POTION_OF_DULLNESS:
     SPLASH_POTION_OF_DULLNESS:
         Name: Splash Potion Of Dullness
         Name: Splash Potion Of Dullness
         Material: SPLASH_POTION
         Material: SPLASH_POTION
@@ -973,9 +1066,9 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["SLOW_DIGGING 0 2700"]
         Effects: ["SLOW_DIGGING 0 2700"]
         Children:
         Children:
-            GLOWSTONE_DUST: SPLASH_POTION_OF_DULLNESS_II
-            DRAGON_BREATH: LINGERING_POTION_OF_DULLNESS
             REDSTONE: SPLASH_POTION_OF_DULLNESS_EXTENDED
             REDSTONE: SPLASH_POTION_OF_DULLNESS_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_DULLNESS
+            GLOWSTONE_DUST: SPLASH_POTION_OF_DULLNESS_II
     SPLASH_POTION_OF_HASTE:
     SPLASH_POTION_OF_HASTE:
         Name: Splash Potion Of Haste
         Name: Splash Potion Of Haste
         Material: SPLASH_POTION
         Material: SPLASH_POTION
@@ -983,9 +1076,9 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["FAST_DIGGING 0 2700"]
         Effects: ["FAST_DIGGING 0 2700"]
         Children:
         Children:
+            REDSTONE: SPLASH_POTION_OF_HASTE_EXTENDED
             GLOWSTONE_DUST: SPLASH_POTION_OF_HASTE_II
             GLOWSTONE_DUST: SPLASH_POTION_OF_HASTE_II
             DRAGON_BREATH: LINGERING_POTION_OF_HASTE
             DRAGON_BREATH: LINGERING_POTION_OF_HASTE
-            REDSTONE: SPLASH_POTION_OF_HASTE_EXTENDED
     SPLASH_POTION_OF_HEALTH_BOOST:
     SPLASH_POTION_OF_HEALTH_BOOST:
         Name: Splash Potion Of Health Boost
         Name: Splash Potion Of Health Boost
         Material: SPLASH_POTION
         Material: SPLASH_POTION
@@ -994,8 +1087,8 @@ Potions:
         Effects: ["HEALTH_BOOST 0 1350"]
         Effects: ["HEALTH_BOOST 0 1350"]
         Children:
         Children:
             REDSTONE: SPLASH_POTION_OF_HEALTH_BOOST_EXTENDED
             REDSTONE: SPLASH_POTION_OF_HEALTH_BOOST_EXTENDED
-            DRAGON_BREATH: LINGERING_POTION_OF_HEALTH_BOOST
             GLOWSTONE_DUST: SPLASH_POTION_OF_HEALTH_BOOST_II
             GLOWSTONE_DUST: SPLASH_POTION_OF_HEALTH_BOOST_II
+            DRAGON_BREATH: LINGERING_POTION_OF_HEALTH_BOOST
     SPLASH_POTION_OF_HUNGER:
     SPLASH_POTION_OF_HUNGER:
         Name: Splash Potion Of Hunger
         Name: Splash Potion Of Hunger
         Material: SPLASH_POTION
         Material: SPLASH_POTION
@@ -1004,8 +1097,8 @@ Potions:
         Effects: ["HUNGER 0 675"]
         Effects: ["HUNGER 0 675"]
         Children:
         Children:
             GLOWSTONE_DUST: SPLASH_POTION_OF_HUNGER_II
             GLOWSTONE_DUST: SPLASH_POTION_OF_HUNGER_II
-            REDSTONE: SPLASH_POTION_OF_HUNGER_EXTENDED
             DRAGON_BREATH: LINGERING_POTION_OF_HUNGER
             DRAGON_BREATH: LINGERING_POTION_OF_HUNGER
+            REDSTONE: SPLASH_POTION_OF_HUNGER_EXTENDED
     SPLASH_POTION_OF_NAUSEA:
     SPLASH_POTION_OF_NAUSEA:
         Name: Splash Potion Of Nausea
         Name: Splash Potion Of Nausea
         Material: SPLASH_POTION
         Material: SPLASH_POTION
@@ -1013,8 +1106,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["CONFUSION 0 337"]
         Effects: ["CONFUSION 0 337"]
         Children:
         Children:
-            GLOWSTONE_DUST: SPLASH_POTION_OF_NAUSEA_II
             REDSTONE: SPLASH_POTION_OF_NAUSEA_EXTENDED
             REDSTONE: SPLASH_POTION_OF_NAUSEA_EXTENDED
+            GLOWSTONE_DUST: SPLASH_POTION_OF_NAUSEA_II
             DRAGON_BREATH: LINGERING_POTION_OF_NAUSEA
             DRAGON_BREATH: LINGERING_POTION_OF_NAUSEA
     SPLASH_POTION_OF_RESISTANCE:
     SPLASH_POTION_OF_RESISTANCE:
         Name: Splash Potion Of Resistance
         Name: Splash Potion Of Resistance
@@ -1023,9 +1116,9 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["DAMAGE_RESISTANCE 0 337"]
         Effects: ["DAMAGE_RESISTANCE 0 337"]
         Children:
         Children:
-            DRAGON_BREATH: LINGERING_POTION_OF_RESISTANCE
-            REDSTONE: SPLASH_POTION_OF_RESISTANCE_EXTENDED
             GLOWSTONE_DUST: SPLASH_POTION_OF_RESISTANCE_II
             GLOWSTONE_DUST: SPLASH_POTION_OF_RESISTANCE_II
+            REDSTONE: SPLASH_POTION_OF_RESISTANCE_EXTENDED
+            DRAGON_BREATH: LINGERING_POTION_OF_RESISTANCE
     SPLASH_POTION_OF_SATURATION:
     SPLASH_POTION_OF_SATURATION:
         Name: Splash Potion Of Saturation
         Name: Splash Potion Of Saturation
         Material: SPLASH_POTION
         Material: SPLASH_POTION
@@ -1033,8 +1126,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["SATURATION 0 6"]
         Effects: ["SATURATION 0 6"]
         Children:
         Children:
-            REDSTONE: SPLASH_POTION_OF_SATURATION_EXTENDED
             GLOWSTONE_DUST: SPLASH_POTION_OF_SATURATION_II
             GLOWSTONE_DUST: SPLASH_POTION_OF_SATURATION_II
+            REDSTONE: SPLASH_POTION_OF_SATURATION_EXTENDED
             DRAGON_BREATH: LINGERING_POTION_OF_SATURATION
             DRAGON_BREATH: LINGERING_POTION_OF_SATURATION
     SPLASH_POTION_OF_ABSORPTION_EXTENDED:
     SPLASH_POTION_OF_ABSORPTION_EXTENDED:
         Name: Splash Potion Of Absorption Extended
         Name: Splash Potion Of Absorption Extended
@@ -1205,17 +1298,17 @@ Potions:
         PotionData:
         PotionData:
             PotionType: WATER
             PotionType: WATER
         Children:
         Children:
+            REDSTONE: LINGERING_POTION_OF_MUNDANE
+            GLISTERING_MELON_SLICE: LINGERING_POTION_OF_MUNDANE
+            GHAST_TEAR: LINGERING_POTION_OF_MUNDANE
+            GLOWSTONE_DUST: LINGERING_POTION_OF_THICK
+            RABBIT_FOOT: LINGERING_POTION_OF_MUNDANE
+            FERMENTED_SPIDER_EYE: LINGERING_POTION_OF_WEAKNESS
             NETHER_WART: LINGERING_POTION_OF_AWKWARD
             NETHER_WART: LINGERING_POTION_OF_AWKWARD
-            MAGMA_CREAM: LINGERING_POTION_OF_MUNDANE
             BLAZE_POWDER: LINGERING_POTION_OF_MUNDANE
             BLAZE_POWDER: LINGERING_POTION_OF_MUNDANE
-            RABBIT_FOOT: LINGERING_POTION_OF_MUNDANE
             SUGAR: LINGERING_POTION_OF_MUNDANE
             SUGAR: LINGERING_POTION_OF_MUNDANE
-            GLOWSTONE_DUST: LINGERING_POTION_OF_THICK
             SPIDER_EYE: LINGERING_POTION_OF_MUNDANE
             SPIDER_EYE: LINGERING_POTION_OF_MUNDANE
-            REDSTONE: LINGERING_POTION_OF_MUNDANE
-            GLISTERING_MELON_SLICE: LINGERING_POTION_OF_MUNDANE
-            FERMENTED_SPIDER_EYE: LINGERING_POTION_OF_WEAKNESS
-            GHAST_TEAR: LINGERING_POTION_OF_MUNDANE
+            MAGMA_CREAM: LINGERING_POTION_OF_MUNDANE
     LINGERING_POTION_OF_MUNDANE:
     LINGERING_POTION_OF_MUNDANE:
         Material: LINGERING_POTION
         Material: LINGERING_POTION
         PotionData:
         PotionData:
@@ -1229,25 +1322,27 @@ Potions:
         PotionData:
         PotionData:
             PotionType: AWKWARD
             PotionType: AWKWARD
         Children:
         Children:
-            ROTTEN_FLESH: LINGERING_POTION_OF_HUNGER
-            APPLE: LINGERING_POTION_OF_HEALTH_BOOST
-            CARROT: LINGERING_POTION_OF_HASTE
-            SPIDER_EYE: LINGERING_POTION_OF_POISON
-            GOLDEN_CARROT: LINGERING_POTION_OF_NIGHT_VISION
-            BLAZE_POWDER: LINGERING_POTION_OF_STRENGTH
-            GHAST_TEAR: LINGERING_POTION_OF_REGENERATION
-            PUFFERFISH: LINGERING_POTION_OF_WATER_BREATHING
-            BROWN_MUSHROOM: LINGERING_POTION_OF_NAUSEA
-            GLISTERING_MELON_SLICE: LINGERING_POTION_OF_HEALING
-            GOLDEN_APPLE: LINGERING_POTION_OF_RESISTANCE
             RABBIT_FOOT: LINGERING_POTION_OF_LEAPING
             RABBIT_FOOT: LINGERING_POTION_OF_LEAPING
-            MAGMA_CREAM: LINGERING_POTION_OF_FIRE_RESISTANCE
-            QUARTZ: LINGERING_POTION_OF_ABSORPTION
+            PHANTOM_MEMBRANE: LINGERING_POTION_OF_SLOW_FALLING
             SLIME_BALL: LINGERING_POTION_OF_DULLNESS
             SLIME_BALL: LINGERING_POTION_OF_DULLNESS
-            FERN: LINGERING_POTION_OF_SATURATION
-            SUGAR: LINGERING_POTION_OF_SWIFTNESS
+            GOLDEN_CARROT: LINGERING_POTION_OF_NIGHT_VISION
+            QUARTZ: LINGERING_POTION_OF_ABSORPTION
+            GLISTERING_MELON_SLICE: LINGERING_POTION_OF_HEALING
+            GHAST_TEAR: LINGERING_POTION_OF_REGENERATION
             INK_SAC: LINGERING_POTION_OF_BLINDNESS
             INK_SAC: LINGERING_POTION_OF_BLINDNESS
+            BLAZE_POWDER: LINGERING_POTION_OF_STRENGTH
+            CARROT: LINGERING_POTION_OF_HASTE
+            TURTLE_HELMET: LINGERING_POTION_OF_TURTLE_MASTER
+            SUGAR: LINGERING_POTION_OF_SWIFTNESS
+            TALL_GRASS: LINGERING_POTION_OF_SATURATION
+            APPLE: LINGERING_POTION_OF_HEALTH_BOOST
+            GOLDEN_APPLE: LINGERING_POTION_OF_RESISTANCE
             POISONOUS_POTATO: LINGERING_POTION_OF_DECAY
             POISONOUS_POTATO: LINGERING_POTION_OF_DECAY
+            SPIDER_EYE: LINGERING_POTION_OF_POISON
+            BROWN_MUSHROOM: LINGERING_POTION_OF_NAUSEA
+            ROTTEN_FLESH: LINGERING_POTION_OF_HUNGER
+            MAGMA_CREAM: LINGERING_POTION_OF_FIRE_RESISTANCE
+            PUFFERFISH: LINGERING_POTION_OF_WATER_BREATHING
     LINGERING_POTION_OF_NIGHT_VISION:
     LINGERING_POTION_OF_NIGHT_VISION:
         Material: LINGERING_POTION
         Material: LINGERING_POTION
         PotionData:
         PotionData:
@@ -1278,8 +1373,8 @@ Potions:
         PotionData:
         PotionData:
             PotionType: JUMP
             PotionType: JUMP
         Children:
         Children:
-            FERMENTED_SPIDER_EYE: LINGERING_POTION_OF_SLOWNESS
             REDSTONE: LINGERING_POTION_OF_LEAPING_EXTENDED
             REDSTONE: LINGERING_POTION_OF_LEAPING_EXTENDED
+            FERMENTED_SPIDER_EYE: LINGERING_POTION_OF_SLOWNESS
             GLOWSTONE_DUST: LINGERING_POTION_OF_LEAPING_II
             GLOWSTONE_DUST: LINGERING_POTION_OF_LEAPING_II
     LINGERING_POTION_OF_LEAPING_II:
     LINGERING_POTION_OF_LEAPING_II:
         Material: LINGERING_POTION
         Material: LINGERING_POTION
@@ -1310,9 +1405,9 @@ Potions:
         PotionData:
         PotionData:
             PotionType: SPEED
             PotionType: SPEED
         Children:
         Children:
-            REDSTONE: LINGERING_POTION_OF_SWIFTNESS_EXTENDED
-            FERMENTED_SPIDER_EYE: LINGERING_POTION_OF_SLOWNESS
             GLOWSTONE_DUST: LINGERING_POTION_OF_SWIFTNESS_II
             GLOWSTONE_DUST: LINGERING_POTION_OF_SWIFTNESS_II
+            FERMENTED_SPIDER_EYE: LINGERING_POTION_OF_SLOWNESS
+            REDSTONE: LINGERING_POTION_OF_SWIFTNESS_EXTENDED
     LINGERING_POTION_OF_SWIFTNESS_EXTENDED:
     LINGERING_POTION_OF_SWIFTNESS_EXTENDED:
         Material: LINGERING_POTION
         Material: LINGERING_POTION
         PotionData:
         PotionData:
@@ -1338,13 +1433,20 @@ Potions:
         PotionData:
         PotionData:
             PotionType: SLOWNESS
             PotionType: SLOWNESS
             Extended: true
             Extended: true
+    LINGERING_POTION_OF_SLOWNESS_II:
+        Material: LINGERING_POTION
+        PotionData:
+            PotionType: SLOWNESS
+            Upgraded: true
+        Children:
+            REDSTONE: LINGERING_POTION_OF_SLOWNESS_EXTENDED
     LINGERING_POTION_OF_WATER_BREATHING:
     LINGERING_POTION_OF_WATER_BREATHING:
         Material: LINGERING_POTION
         Material: LINGERING_POTION
         PotionData:
         PotionData:
             PotionType: WATER_BREATHING
             PotionType: WATER_BREATHING
         Children:
         Children:
-            REDSTONE: LINGERING_POTION_OF_WATER_BREATHING_EXTENDED
             FERMENTED_SPIDER_EYE: LINGERING_POTION_OF_HARMING
             FERMENTED_SPIDER_EYE: LINGERING_POTION_OF_HARMING
+            REDSTONE: LINGERING_POTION_OF_WATER_BREATHING_EXTENDED
     LINGERING_POTION_OF_WATER_BREATHING_EXTENDED:
     LINGERING_POTION_OF_WATER_BREATHING_EXTENDED:
         Material: LINGERING_POTION
         Material: LINGERING_POTION
         PotionData:
         PotionData:
@@ -1419,8 +1521,8 @@ Potions:
         PotionData:
         PotionData:
             PotionType: STRENGTH
             PotionType: STRENGTH
         Children:
         Children:
-            REDSTONE: LINGERING_POTION_OF_STRENGTH_EXTENDED
             GLOWSTONE_DUST: LINGERING_POTION_OF_STRENGTH_II
             GLOWSTONE_DUST: LINGERING_POTION_OF_STRENGTH_II
+            REDSTONE: LINGERING_POTION_OF_STRENGTH_EXTENDED
     LINGERING_POTION_OF_STRENGTH_EXTENDED:
     LINGERING_POTION_OF_STRENGTH_EXTENDED:
         Material: LINGERING_POTION
         Material: LINGERING_POTION
         PotionData:
         PotionData:
@@ -1446,6 +1548,34 @@ Potions:
         Material: LINGERING_POTION
         Material: LINGERING_POTION
         PotionData:
         PotionData:
             PotionType: LUCK
             PotionType: LUCK
+    LINGERING_POTION_OF_TURTLE_MASTER:
+        Material: LINGERING_POTION
+        PotionData:
+            PotionType: TURTLE_MASTER
+        Children:
+            REDSTONE: LINGERING_POTION_OF_TURTLE_MASTER_EXTENDED
+            GLOWSTONE_DUST: LINGERING_POTION_OF_TURTLE_MASTER_II
+    LINGERING_POTION_OF_TURTLE_MASTER_II:
+        Material: LINGERING_POTION
+        PotionData:
+            PotionType: TURTLE_MASTER
+            Upgraded: true
+    LINGERING_POTION_OF_TURTLE_MASTER_EXTENDED:
+        Material: LINGERING_POTION
+        PotionData:
+            PotionType: TURTLE_MASTER
+            Extended: true
+    LINGERING_POTION_OF_SLOW_FALLING:
+        Material: LINGERING_POTION
+        PotionData:
+            PotionType: SLOW_FALLING
+        Children:
+            REDSTONE: LINGERING_POTION_OF_SLOW_FALLING_EXTENDED
+    LINGERING_POTION_OF_SLOW_FALLING_EXTENDED:
+        Material: LINGERING_POTION
+        PotionData:
+            PotionType: SLOW_FALLING
+            Extended: true
     LINGERING_POTION_OF_ABSORPTION:
     LINGERING_POTION_OF_ABSORPTION:
         Name: Lingering Potion Of Absorption
         Name: Lingering Potion Of Absorption
         Material: LINGERING_POTION
         Material: LINGERING_POTION
@@ -1453,8 +1583,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["ABSORPTION 0 450"]
         Effects: ["ABSORPTION 0 450"]
         Children:
         Children:
-            GLOWSTONE_DUST: LINGERING_POTION_OF_ABSORPTION_II
             REDSTONE: LINGERING_POTION_OF_ABSORPTION_EXTENDED
             REDSTONE: LINGERING_POTION_OF_ABSORPTION_EXTENDED
+            GLOWSTONE_DUST: LINGERING_POTION_OF_ABSORPTION_II
     LINGERING_POTION_OF_BLINDNESS:
     LINGERING_POTION_OF_BLINDNESS:
         Name: Lingering Potion Of Blindness
         Name: Lingering Potion Of Blindness
         Material: LINGERING_POTION
         Material: LINGERING_POTION
@@ -1480,8 +1610,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["SLOW_DIGGING 0 900"]
         Effects: ["SLOW_DIGGING 0 900"]
         Children:
         Children:
-            GLOWSTONE_DUST: LINGERING_POTION_OF_DULLNESS_II
             REDSTONE: LINGERING_POTION_OF_DULLNESS_EXTENDED
             REDSTONE: LINGERING_POTION_OF_DULLNESS_EXTENDED
+            GLOWSTONE_DUST: LINGERING_POTION_OF_DULLNESS_II
     LINGERING_POTION_OF_HASTE:
     LINGERING_POTION_OF_HASTE:
         Name: Lingering Potion Of Haste
         Name: Lingering Potion Of Haste
         Material: LINGERING_POTION
         Material: LINGERING_POTION
@@ -1489,8 +1619,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["FAST_DIGGING 0 900"]
         Effects: ["FAST_DIGGING 0 900"]
         Children:
         Children:
-            REDSTONE: LINGERING_POTION_OF_HASTE_EXTENDED
             GLOWSTONE_DUST: LINGERING_POTION_OF_HASTE_II
             GLOWSTONE_DUST: LINGERING_POTION_OF_HASTE_II
+            REDSTONE: LINGERING_POTION_OF_HASTE_EXTENDED
     LINGERING_POTION_OF_HEALTH_BOOST:
     LINGERING_POTION_OF_HEALTH_BOOST:
         Name: Lingering Potion Of Health Boost
         Name: Lingering Potion Of Health Boost
         Material: LINGERING_POTION
         Material: LINGERING_POTION
@@ -1498,8 +1628,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["HEALTH_BOOST 0 450"]
         Effects: ["HEALTH_BOOST 0 450"]
         Children:
         Children:
-            GLOWSTONE_DUST: LINGERING_POTION_OF_HEALTH_BOOST_II
             REDSTONE: LINGERING_POTION_OF_HEALTH_BOOST_EXTENDED
             REDSTONE: LINGERING_POTION_OF_HEALTH_BOOST_EXTENDED
+            GLOWSTONE_DUST: LINGERING_POTION_OF_HEALTH_BOOST_II
     LINGERING_POTION_OF_HUNGER:
     LINGERING_POTION_OF_HUNGER:
         Name: Lingering Potion Of Hunger
         Name: Lingering Potion Of Hunger
         Material: LINGERING_POTION
         Material: LINGERING_POTION
@@ -1507,8 +1637,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["HUNGER 0 225"]
         Effects: ["HUNGER 0 225"]
         Children:
         Children:
-            REDSTONE: LINGERING_POTION_OF_HUNGER_EXTENDED
             GLOWSTONE_DUST: LINGERING_POTION_OF_HUNGER_II
             GLOWSTONE_DUST: LINGERING_POTION_OF_HUNGER_II
+            REDSTONE: LINGERING_POTION_OF_HUNGER_EXTENDED
     LINGERING_POTION_OF_NAUSEA:
     LINGERING_POTION_OF_NAUSEA:
         Name: Lingering Potion Of Nausea
         Name: Lingering Potion Of Nausea
         Material: LINGERING_POTION
         Material: LINGERING_POTION
@@ -1534,8 +1664,8 @@ Potions:
             PotionType: UNCRAFTABLE
             PotionType: UNCRAFTABLE
         Effects: ["SATURATION 0 2"]
         Effects: ["SATURATION 0 2"]
         Children:
         Children:
-            GLOWSTONE_DUST: LINGERING_POTION_OF_SATURATION_II
             REDSTONE: LINGERING_POTION_OF_SATURATION_EXTENDED
             REDSTONE: LINGERING_POTION_OF_SATURATION_EXTENDED
+            GLOWSTONE_DUST: LINGERING_POTION_OF_SATURATION_II
     LINGERING_POTION_OF_ABSORPTION_EXTENDED:
     LINGERING_POTION_OF_ABSORPTION_EXTENDED:
         Name: Lingering Potion Of Absorption Extended
         Name: Lingering Potion Of Absorption Extended
         Material: LINGERING_POTION
         Material: LINGERING_POTION

+ 104 - 98
src/util/java/mcMMO/PotionConfigGenerator.java

@@ -1,9 +1,6 @@
 package com.gmail.nossr50;
 package com.gmail.nossr50;
 
 
-import java.io.File;
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.ArrayList;
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -30,11 +27,6 @@ public class PotionConfigGenerator {
             name = mat.name();
             name = mat.name();
         }
         }
 
 
-        public Ingredient(Material mat, int data) {
-            this.mat = mat;
-            this.data = data;
-            name = "'" + mat.name() + ":" + data + "'";
-        }
     }
     }
     public static class WriteablePotion {
     public static class WriteablePotion {
 
 
@@ -62,9 +54,6 @@ public class PotionConfigGenerator {
             this.mat = type;
             this.mat = type;
             this.baseName = baseName;
             this.baseName = baseName;
             this.name = "POTION_OF_" + baseName;
             this.name = "POTION_OF_" + baseName;
-            if(mat == Material.NETHER_WARTS){
-                this.mat = Material.NETHER_STALK;
-            }
             if (mat == Material.SPLASH_POTION) {
             if (mat == Material.SPLASH_POTION) {
                 this.name = "SPLASH_" + this.name;
                 this.name = "SPLASH_" + this.name;
             }
             }
@@ -114,6 +103,8 @@ public class PotionConfigGenerator {
                 case WATER :
                 case WATER :
                 case WATER_BREATHING :
                 case WATER_BREATHING :
                 case WEAKNESS :
                 case WEAKNESS :
+                case TURTLE_MASTER:
+                case SLOW_FALLING:
                     return type.name();
                     return type.name();
                 default :
                 default :
                     return "";
                     return "";
@@ -132,80 +123,75 @@ public class PotionConfigGenerator {
         }
         }
     }
     }
 
 
-    public static void main(String[] args) throws IOException {
-        Map<WriteablePotion, Map<Ingredient, WriteablePotion>> vanillaPotions = new HashMap<WriteablePotion, Map<Ingredient, WriteablePotion>>();
+    public static void main(String[] args) {
+        Map<WriteablePotion, Map<Ingredient, WriteablePotion>> vanillaPotions = new HashMap<>();
         populateVanillaPotions(vanillaPotions);
         populateVanillaPotions(vanillaPotions);
-        Map<WriteablePotion, Map<Ingredient, WriteablePotion>> mcMMOPotions = new HashMap<WriteablePotion, Map<Ingredient, WriteablePotion>>();
+        Map<WriteablePotion, Map<Ingredient, WriteablePotion>> mcMMOPotions = new HashMap<>();
         populateCustomPotions(mcMMOPotions);
         populateCustomPotions(mcMMOPotions);
-        List<WriteablePotion> sorted = new ArrayList<WriteablePotion>();
+        List<WriteablePotion> sorted = new ArrayList<>();
         sorted.addAll(vanillaPotions.keySet());
         sorted.addAll(vanillaPotions.keySet());
         sorted.addAll(mcMMOPotions.keySet());
         sorted.addAll(mcMMOPotions.keySet());
-        sorted.sort(new Comparator<WriteablePotion>() {
-
-            @Override
-            public int compare(WriteablePotion a, WriteablePotion b) {
-                // All normal potions first
-                if (a.mat == Material.POTION && b.mat != Material.POTION) {
+        sorted.sort((a, b) -> {
+            // All normal potions first
+            if (a.mat == Material.POTION && b.mat != Material.POTION) {
+                return -1;
+            }
+            if (b.mat == Material.POTION && a.mat != Material.POTION) {
+                return 1;
+            }
+            // All splash potions second
+            if (a.mat == Material.SPLASH_POTION && b.mat != Material.SPLASH_POTION) {
+                return -1;
+            }
+            if (b.mat == Material.SPLASH_POTION && a.mat != Material.SPLASH_POTION) {
+                return 1;
+            }
+            // Vanilla Potions first
+            if (a.effect == null && b.effect != null) {
+                return -1;
+            }
+            if (b.effect == null && a.effect != null) {
+                return 1;
+            }
+            // Vanilla potions
+            if (a.effect == null && b.effect == null) {
+                // Order by PotionType
+                if (a.data.getType() != b.data.getType()) {
+                    return Integer.compare(a.data.getType().ordinal(), b.data.getType().ordinal());
+                }
+                // Plain before extended or upgraded
+                if (!a.data.isExtended() && !a.data.isUpgraded() && (b.data.isExtended() || b.data.isUpgraded())) {
                     return -1;
                     return -1;
                 }
                 }
-                if (b.mat == Material.POTION && a.mat != Material.POTION) {
+                if (!b.data.isExtended() && !b.data.isUpgraded() && (a.data.isExtended() || a.data.isUpgraded())) {
                     return 1;
                     return 1;
                 }
                 }
-                // All splash potions second
-                if (a.mat == Material.SPLASH_POTION && b.mat != Material.SPLASH_POTION) {
+                // Extended before Upgraded
+                if (a.data.isExtended() && b.data.isUpgraded()) {
                     return -1;
                     return -1;
                 }
                 }
-                if (b.mat == Material.SPLASH_POTION && a.mat != Material.SPLASH_POTION) {
-                    return 1;
-                }
-                // Vanilla Potions first
-                if (a.effect == null && b.effect != null) {
+                if (b.data.isExtended() && a.data.isUpgraded()) {
                     return -1;
                     return -1;
                 }
                 }
-                if (b.effect == null && a.effect != null) {
+                // Same potion somehow?
+                return 0;
+            }
+            // mcMMO Potions
+            else {
+                if ((a.baseName.contains("II") || a.baseName.contains("EXTENDED")) && !(b.baseName.contains("II") || b.baseName.contains("EXTENDED"))) {
                     return 1;
                     return 1;
                 }
                 }
-                // Vanilla potions
-                if (a.effect == null && b.effect == null) {
-                    // Order by PotionType
-                    if (a.data.getType() != b.data.getType()) {
-                        return Integer.compare(a.data.getType().ordinal(), b.data.getType().ordinal());
-                    }
-                    // Plain before extended or upgraded
-                    if (!a.data.isExtended() && !a.data.isUpgraded() && (b.data.isExtended() || b.data.isUpgraded())) {
-                        return -1;
-                    }
-                    if (!b.data.isExtended() && !b.data.isUpgraded() && (a.data.isExtended() || a.data.isUpgraded())) {
-                        return 1;
-                    }
-                    // Extended before Upgraded
-                    if (a.data.isExtended() && b.data.isUpgraded()) {
-                        return -1;
-                    }
-                    if (b.data.isExtended() && a.data.isUpgraded()) {
-                        return -1;
-                    }
-                    // Same potion somehow?
-                    return 0;
+                if ((b.baseName.contains("II") || b.baseName.contains("EXTENDED")) && !(a.baseName.contains("II") || a.baseName.contains("EXTENDED"))) {
+                    return -1;
+                }
+                if (!a.baseName.contains("II") && b.baseName.contains("II")) {
+                    return -1;
                 }
                 }
-                // mcMMO Potions
-                else {
-                    if ((a.baseName.contains("II") || a.baseName.contains("EXTENDED")) && !(b.baseName.contains("II") || b.baseName.contains("EXTENDED"))) {
-                        return 1;
-                    }
-                    if ((b.baseName.contains("II") || b.baseName.contains("EXTENDED")) && !(a.baseName.contains("II") || a.baseName.contains("EXTENDED"))) {
-                        return -1;
-                    }
-                    if (!a.baseName.contains("II") && b.baseName.contains("II")) {
-                        return -1;
-                    }
-                    if (!b.baseName.contains("II") && a.baseName.contains("II")) {
-                        return 1;
-                    }
-                    return a.baseName.split("_")[0].compareTo(b.baseName.split("_")[0]);
+                if (!b.baseName.contains("II") && a.baseName.contains("II")) {
+                    return 1;
                 }
                 }
+                return a.baseName.split("_")[0].compareTo(b.baseName.split("_")[0]);
             }
             }
-
         });
         });
         for (WriteablePotion potion : sorted) {
         for (WriteablePotion potion : sorted) {
             System.out.println("    " + potion.name + ":");
             System.out.println("    " + potion.name + ":");
@@ -319,6 +305,12 @@ public class PotionConfigGenerator {
                 return "LUCK";
                 return "LUCK";
             case 27 :
             case 27 :
                 return "UNLUCK";
                 return "UNLUCK";
+            case 28:
+                return "SLOW_FALLING";
+            case 29:
+                return "CONDUIT_POWER";
+            case 30:
+                return "DOLPHINS_GRACE";
             default :
             default :
                 return "UNKNOWN_EFFECT_TYPE_" + type.getId();
                 return "UNKNOWN_EFFECT_TYPE_" + type.getId();
         }
         }
@@ -328,18 +320,18 @@ public class PotionConfigGenerator {
         for (PotionType type : PotionType.values()) {
         for (PotionType type : PotionType.values()) {
             for (Material material : new Material[]{Material.POTION, Material.SPLASH_POTION, Material.LINGERING_POTION}) {
             for (Material material : new Material[]{Material.POTION, Material.SPLASH_POTION, Material.LINGERING_POTION}) {
                 WriteablePotion data = new WriteablePotion(material, type);
                 WriteablePotion data = new WriteablePotion(material, type);
-                HashMap<Ingredient, WriteablePotion> children = new HashMap<Ingredient, WriteablePotion>();
+                HashMap<Ingredient, WriteablePotion> children = new HashMap<>();
                 getChildren(data, children);
                 getChildren(data, children);
                 vanillaPotions.put(data, children);
                 vanillaPotions.put(data, children);
                 if (type.isExtendable()) {
                 if (type.isExtendable()) {
                     data = new WriteablePotion(material, new PotionData(type, true, false));
                     data = new WriteablePotion(material, new PotionData(type, true, false));
-                    children = new HashMap<Ingredient, WriteablePotion>();
+                    children = new HashMap<>();
                     getChildren(data, children);
                     getChildren(data, children);
                     vanillaPotions.put(data, children);
                     vanillaPotions.put(data, children);
                 }
                 }
                 if (type.isUpgradeable()) {
                 if (type.isUpgradeable()) {
                     data = new WriteablePotion(material, new PotionData(type, false, true));
                     data = new WriteablePotion(material, new PotionData(type, false, true));
-                    children = new HashMap<Ingredient, WriteablePotion>();
+                    children = new HashMap<>();
                     getChildren(data, children);
                     getChildren(data, children);
                     vanillaPotions.put(data, children);
                     vanillaPotions.put(data, children);
                 }
                 }
@@ -360,7 +352,7 @@ public class PotionConfigGenerator {
             case WATER :
             case WATER :
                 assert(!current.data.isExtended());
                 assert(!current.data.isExtended());
                 assert(!current.data.isUpgraded());
                 assert(!current.data.isUpgraded());
-                children.put(new Ingredient(Material.NETHER_STALK), new WriteablePotion(current.mat, PotionType.AWKWARD));
+                children.put(new Ingredient(Material.NETHER_WART), new WriteablePotion(current.mat, PotionType.AWKWARD));
                 children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.WEAKNESS));
                 children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.WEAKNESS));
                 children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(current.mat, PotionType.THICK));
                 children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(current.mat, PotionType.THICK));
@@ -369,7 +361,7 @@ public class PotionConfigGenerator {
                 children.put(new Ingredient(Material.RABBIT_FOOT), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 children.put(new Ingredient(Material.RABBIT_FOOT), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 children.put(new Ingredient(Material.SPIDER_EYE), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 children.put(new Ingredient(Material.SPIDER_EYE), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 children.put(new Ingredient(Material.MAGMA_CREAM), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 children.put(new Ingredient(Material.MAGMA_CREAM), new WriteablePotion(current.mat, PotionType.MUNDANE));
-                children.put(new Ingredient(Material.SPECKLED_MELON), new WriteablePotion(current.mat, PotionType.MUNDANE));
+                children.put(new Ingredient(Material.GLISTERING_MELON_SLICE), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 children.put(new Ingredient(Material.GHAST_TEAR), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 children.put(new Ingredient(Material.GHAST_TEAR), new WriteablePotion(current.mat, PotionType.MUNDANE));
                 return;
                 return;
             case AWKWARD :
             case AWKWARD :
@@ -379,11 +371,13 @@ public class PotionConfigGenerator {
                 children.put(new Ingredient(Material.RABBIT_FOOT), new WriteablePotion(current.mat, PotionType.JUMP));
                 children.put(new Ingredient(Material.RABBIT_FOOT), new WriteablePotion(current.mat, PotionType.JUMP));
                 children.put(new Ingredient(Material.MAGMA_CREAM), new WriteablePotion(current.mat, PotionType.FIRE_RESISTANCE));
                 children.put(new Ingredient(Material.MAGMA_CREAM), new WriteablePotion(current.mat, PotionType.FIRE_RESISTANCE));
                 children.put(new Ingredient(Material.SUGAR), new WriteablePotion(current.mat, PotionType.SPEED));
                 children.put(new Ingredient(Material.SUGAR), new WriteablePotion(current.mat, PotionType.SPEED));
-                children.put(new Ingredient(Material.COD, 3), new WriteablePotion(current.mat, PotionType.WATER_BREATHING));
-                children.put(new Ingredient(Material.SPECKLED_MELON), new WriteablePotion(current.mat, PotionType.INSTANT_HEAL));
+                children.put(new Ingredient(Material.PUFFERFISH), new WriteablePotion(current.mat, PotionType.WATER_BREATHING));
+                children.put(new Ingredient(Material.GLISTERING_MELON_SLICE), new WriteablePotion(current.mat, PotionType.INSTANT_HEAL));
                 children.put(new Ingredient(Material.SPIDER_EYE), new WriteablePotion(current.mat, PotionType.POISON));
                 children.put(new Ingredient(Material.SPIDER_EYE), new WriteablePotion(current.mat, PotionType.POISON));
                 children.put(new Ingredient(Material.GHAST_TEAR), new WriteablePotion(current.mat, PotionType.REGEN));
                 children.put(new Ingredient(Material.GHAST_TEAR), new WriteablePotion(current.mat, PotionType.REGEN));
                 children.put(new Ingredient(Material.BLAZE_POWDER), new WriteablePotion(current.mat, PotionType.STRENGTH));
                 children.put(new Ingredient(Material.BLAZE_POWDER), new WriteablePotion(current.mat, PotionType.STRENGTH));
+                children.put(new Ingredient(Material.TURTLE_HELMET), new WriteablePotion(current.mat, PotionType.TURTLE_MASTER));
+                children.put(new Ingredient(Material.PHANTOM_MEMBRANE), new WriteablePotion(current.mat, PotionType.SLOW_FALLING));
                 // mcMMO custom potions
                 // mcMMO custom potions
                 double mod = 1;
                 double mod = 1;
                 if (current.mat == Material.SPLASH_POTION) {
                 if (current.mat == Material.SPLASH_POTION) {
@@ -400,7 +394,7 @@ public class PotionConfigGenerator {
                 children.put(new Ingredient(Material.ROTTEN_FLESH), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HUNGER, (int) (900 * mod), 0), "HUNGER"));
                 children.put(new Ingredient(Material.ROTTEN_FLESH), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HUNGER, (int) (900 * mod), 0), "HUNGER"));
                 children.put(new Ingredient(Material.POISONOUS_POTATO), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.WITHER, (int) (450 * mod), 0), "DECAY"));
                 children.put(new Ingredient(Material.POISONOUS_POTATO), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.WITHER, (int) (450 * mod), 0), "DECAY"));
                 children.put(new Ingredient(Material.QUARTZ), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.ABSORPTION, (int) (1800 * mod), 0), "ABSORPTION"));
                 children.put(new Ingredient(Material.QUARTZ), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.ABSORPTION, (int) (1800 * mod), 0), "ABSORPTION"));
-                children.put(new Ingredient(Material.LONG_GRASS, 2), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.SATURATION, (int) (8 * mod), 0), "SATURATION"));
+                children.put(new Ingredient(Material.FERN), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.SATURATION, (int) (8 * mod), 0), "SATURATION"));
                 children.put(new Ingredient(Material.APPLE), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HEALTH_BOOST, (int) (1800 * mod), 0), "HEALTH_BOOST"));
                 children.put(new Ingredient(Material.APPLE), new WriteablePotion(current.mat, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HEALTH_BOOST, (int) (1800 * mod), 0), "HEALTH_BOOST"));
                 return;
                 return;
             case FIRE_RESISTANCE :
             case FIRE_RESISTANCE :
@@ -470,6 +464,12 @@ public class PotionConfigGenerator {
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 }
                 return;
                 return;
+            case SLOW_FALLING :
+                assert(!current.data.isUpgraded());
+                if (!current.data.isExtended()) {
+                    children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
+                }
+                return;
             case SPEED :
             case SPEED :
                 if (!current.data.isUpgraded() && !current.data.isExtended()) {
                 if (!current.data.isUpgraded() && !current.data.isExtended()) {
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.SLOWNESS));
                     children.put(new Ingredient(Material.FERMENTED_SPIDER_EYE), new WriteablePotion(current.mat, PotionType.SLOWNESS));
@@ -485,6 +485,12 @@ public class PotionConfigGenerator {
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                     children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
                 }
                 }
                 return;
                 return;
+            case TURTLE_MASTER:
+                if (!current.data.isUpgraded() && !current.data.isExtended()) {
+                    children.put(new Ingredient(Material.GLOWSTONE_DUST), new WriteablePotion(current.mat, new PotionData(current.data.getType(), false, true)));
+                    children.put(new Ingredient(Material.REDSTONE), new WriteablePotion(current.mat, new PotionData(current.data.getType(), true, false)));
+                }
+                return;
             case WATER_BREATHING :
             case WATER_BREATHING :
                 assert(!current.data.isUpgraded());
                 assert(!current.data.isUpgraded());
                 if (!current.data.isExtended()) {
                 if (!current.data.isExtended()) {
@@ -513,7 +519,7 @@ public class PotionConfigGenerator {
 
 
     private static void populateCustomPotions(Map<WriteablePotion, Map<Ingredient, WriteablePotion>> mcMMOPotions) {
     private static void populateCustomPotions(Map<WriteablePotion, Map<Ingredient, WriteablePotion>> mcMMOPotions) {
         for (Material material : new Material[]{Material.POTION, Material.SPLASH_POTION, Material.LINGERING_POTION}) {
         for (Material material : new Material[]{Material.POTION, Material.SPLASH_POTION, Material.LINGERING_POTION}) {
-            WriteablePotion data = new WriteablePotion(material, PotionType.AWKWARD);
+            WriteablePotion data;
             double mod = 1;
             double mod = 1;
             if (material == Material.SPLASH_POTION) {
             if (material == Material.SPLASH_POTION) {
                 mod = 0.75;
                 mod = 0.75;
@@ -521,85 +527,85 @@ public class PotionConfigGenerator {
             if (material == Material.LINGERING_POTION) {
             if (material == Material.LINGERING_POTION) {
                 mod = 0.25;
                 mod = 0.25;
             }
             }
-            HashMap<Ingredient, WriteablePotion> children = new HashMap<Ingredient, WriteablePotion>();
+            HashMap<Ingredient, WriteablePotion> children;
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.CONFUSION, (int) (450 * mod), 0), "NAUSEA");
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.CONFUSION, (int) (450 * mod), 0), "NAUSEA");
-            children = new HashMap<Ingredient, WriteablePotion>();
+            children = new HashMap<>();
             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.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"));
             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()) {
             for (WriteablePotion child : children.values()) {
-                mcMMOPotions.put(child, new HashMap<Ingredient, WriteablePotion>());
+                mcMMOPotions.put(child, new HashMap<>());
             }
             }
             mcMMOPotions.put(data, children);
             mcMMOPotions.put(data, children);
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.FAST_DIGGING, (int) (3600 * mod), 0), "HASTE");
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.FAST_DIGGING, (int) (3600 * mod), 0), "HASTE");
-            children = new HashMap<Ingredient, WriteablePotion>();
+            children = new HashMap<>();
             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.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"));
             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()) {
             for (WriteablePotion child : children.values()) {
-                mcMMOPotions.put(child, new HashMap<Ingredient, WriteablePotion>());
+                mcMMOPotions.put(child, new HashMap<>());
             }
             }
             mcMMOPotions.put(data, children);
             mcMMOPotions.put(data, children);
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.SLOW_DIGGING, (int) (3600 * mod), 0), "DULLNESS");
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.SLOW_DIGGING, (int) (3600 * mod), 0), "DULLNESS");
-            children = new HashMap<Ingredient, WriteablePotion>();
+            children = new HashMap<>();
             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.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"));
             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()) {
             for (WriteablePotion child : children.values()) {
-                mcMMOPotions.put(child, new HashMap<Ingredient, WriteablePotion>());
+                mcMMOPotions.put(child, new HashMap<>());
             }
             }
             mcMMOPotions.put(data, children);
             mcMMOPotions.put(data, children);
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, (int) (450 * mod), 0), "RESISTANCE");
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, (int) (450 * mod), 0), "RESISTANCE");
-            children = new HashMap<Ingredient, WriteablePotion>();
+            children = new HashMap<>();
             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.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"));
             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()) {
             for (WriteablePotion child : children.values()) {
-                mcMMOPotions.put(child, new HashMap<Ingredient, WriteablePotion>());
+                mcMMOPotions.put(child, new HashMap<>());
             }
             }
             mcMMOPotions.put(data, children);
             mcMMOPotions.put(data, children);
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.BLINDNESS, (int) (225 * mod), 0), "BLINDNESS");
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.BLINDNESS, (int) (225 * mod), 0), "BLINDNESS");
-            children = new HashMap<Ingredient, WriteablePotion>();
+            children = new HashMap<>();
             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.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"));
             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()) {
             for (WriteablePotion child : children.values()) {
-                mcMMOPotions.put(child, new HashMap<Ingredient, WriteablePotion>());
+                mcMMOPotions.put(child, new HashMap<>());
             }
             }
             mcMMOPotions.put(data, children);
             mcMMOPotions.put(data, children);
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HUNGER, (int) (900 * mod), 0), "HUNGER");
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HUNGER, (int) (900 * mod), 0), "HUNGER");
-            children = new HashMap<Ingredient, WriteablePotion>();
+            children = new HashMap<>();
             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.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"));
             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()) {
             for (WriteablePotion child : children.values()) {
-                mcMMOPotions.put(child, new HashMap<Ingredient, WriteablePotion>());
+                mcMMOPotions.put(child, new HashMap<>());
             }
             }
             mcMMOPotions.put(data, children);
             mcMMOPotions.put(data, children);
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.WITHER, (int) (450 * mod), 0), "DECAY");
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.WITHER, (int) (450 * mod), 0), "DECAY");
-            children = new HashMap<Ingredient, WriteablePotion>();
+            children = new HashMap<>();
             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.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"));
             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()) {
             for (WriteablePotion child : children.values()) {
-                mcMMOPotions.put(child, new HashMap<Ingredient, WriteablePotion>());
+                mcMMOPotions.put(child, new HashMap<>());
             }
             }
             mcMMOPotions.put(data, children);
             mcMMOPotions.put(data, children);
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.ABSORPTION, (int) (1800 * mod), 0), "ABSORPTION");
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.ABSORPTION, (int) (1800 * mod), 0), "ABSORPTION");
-            children = new HashMap<Ingredient, WriteablePotion>();
+            children = new HashMap<>();
             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.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"));
             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()) {
             for (WriteablePotion child : children.values()) {
-                mcMMOPotions.put(child, new HashMap<Ingredient, WriteablePotion>());
+                mcMMOPotions.put(child, new HashMap<>());
             }
             }
             mcMMOPotions.put(data, children);
             mcMMOPotions.put(data, children);
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.SATURATION, (int) (8 * mod), 0), "SATURATION");
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.SATURATION, (int) (8 * mod), 0), "SATURATION");
-            children = new HashMap<Ingredient, WriteablePotion>();
+            children = new HashMap<>();
             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.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"));
             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()) {
             for (WriteablePotion child : children.values()) {
-                mcMMOPotions.put(child, new HashMap<Ingredient, WriteablePotion>());
+                mcMMOPotions.put(child, new HashMap<>());
             }
             }
             mcMMOPotions.put(data, children);
             mcMMOPotions.put(data, children);
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HEALTH_BOOST, (int) (1800 * mod), 0), "HEALTH_BOOST");
             data = new WriteablePotion(material, PotionType.UNCRAFTABLE, new PotionEffect(PotionEffectType.HEALTH_BOOST, (int) (1800 * mod), 0), "HEALTH_BOOST");
-            children = new HashMap<Ingredient, WriteablePotion>();
+            children = new HashMap<>();
             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.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"));
             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()) {
             for (WriteablePotion child : children.values()) {
-                mcMMOPotions.put(child, new HashMap<Ingredient, WriteablePotion>());
+                mcMMOPotions.put(child, new HashMap<>());
             }
             }
             mcMMOPotions.put(data, children);
             mcMMOPotions.put(data, children);
         }
         }