From e6faf84072f168e31c0cbf40d6fdf279ffa41f84 Mon Sep 17 00:00:00 2001 From: Pahimar Date: Wed, 3 Jun 2015 21:13:50 -0400 Subject: [PATCH 1/6] Fixes #902 --- .../pahimar/ee3/command/CommandSetEnergyValueCurrentItem.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValueCurrentItem.java b/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValueCurrentItem.java index 474df98c..53ceb0cc 100644 --- a/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValueCurrentItem.java +++ b/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValueCurrentItem.java @@ -81,6 +81,10 @@ public class CommandSetEnergyValueCurrentItem extends CommandBase SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.POST_ASSIGNED_ENERGY_VALUES, postAssignedValues); PacketHandler.INSTANCE.sendToAll(new MessageSetEnergyValue(wrappedStack, newEnergyValue)); } + else + { + throw new WrongUsageException(Messages.Commands.SET_ENERGY_VALUE_CURRENT_ITEM_USAGE); + } // Notify admins and log the value change func_152373_a(commandSender, this, Messages.Commands.SET_ENERGY_VALUE_CURRENT_ITEM_SUCCESS, new Object[]{commandSender.getCommandSenderName(), args[1], itemStack.func_151000_E(), newEnergyValue.getChatComponent()}); From db1416b6d542afe2573c13ca92df0569850f2333 Mon Sep 17 00:00:00 2001 From: Pahimar Date: Wed, 3 Jun 2015 21:41:14 -0400 Subject: [PATCH 2/6] Fixes #889 --- .../pahimar/ee3/recipe/RecipesPotions.java | 461 ++++++++++-------- 1 file changed, 259 insertions(+), 202 deletions(-) diff --git a/src/main/java/com/pahimar/ee3/recipe/RecipesPotions.java b/src/main/java/com/pahimar/ee3/recipe/RecipesPotions.java index 1df9d521..22f7805d 100644 --- a/src/main/java/com/pahimar/ee3/recipe/RecipesPotions.java +++ b/src/main/java/com/pahimar/ee3/recipe/RecipesPotions.java @@ -25,253 +25,310 @@ public class RecipesPotions private static WrappedStack reagentBlazePowder = WrappedStack.wrap(new ItemStack(Items.blaze_powder)); private static WrappedStack bottleEmpty = WrappedStack.wrap(Items.glass_bottle); - public static WrappedStack bottleWater = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 0)); + private static WrappedStack bottleWater = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 0)); - public static WrappedStack potionAwkward = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16)); - public static WrappedStack potionThick = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 32)); - public static WrappedStack potionMundane = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 128)); - public static WrappedStack potionMundaneExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 64)); - public static WrappedStack potionMundaneSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16512)); - public static WrappedStack potionMundaneSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16448)); + private static WrappedStack potionAwkward = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16)); + private static WrappedStack potionAwkwardOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16)); + private static WrappedStack potionThickOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 32)); + private static WrappedStack potionMundane = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 128)); + private static WrappedStack potionMundaneOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 128)); + private static WrappedStack potionMundaneExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 64)); + private static WrappedStack potionMundaneExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 64)); + private static WrappedStack potionMundaneSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16512)); + private static WrappedStack potionMundaneSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16512)); + private static WrappedStack potionMundaneSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16448)); + private static WrappedStack potionMundaneSplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16448)); - public static WrappedStack potionRegeneration = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8193)); - public static WrappedStack potionRegenerationEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8225)); - public static WrappedStack potionRegenerationExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8257)); - public static WrappedStack potionRegenerationSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16385)); - public static WrappedStack potionRegenerationSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16417)); - public static WrappedStack potionRegenerationSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16449)); + private static WrappedStack potionRegeneration = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8193)); + private static WrappedStack potionRegenerationOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8193)); + private static WrappedStack potionRegenerationEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8225)); + private static WrappedStack potionRegenerationEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8225)); + private static WrappedStack potionRegenerationExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8257)); + private static WrappedStack potionRegenerationExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8257)); + private static WrappedStack potionRegenerationSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16385)); + private static WrappedStack potionRegenerationSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16385)); + private static WrappedStack potionRegenerationSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16417)); + private static WrappedStack potionRegenerationSplashEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16417)); + private static WrappedStack potionRegenerationSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16449)); + private static WrappedStack potionRegenerationSplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16449)); - public static WrappedStack potionSwiftness = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8194)); - public static WrappedStack potionSwiftnessEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8226)); - public static WrappedStack potionSwiftnessExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8258)); - public static WrappedStack potionSwiftnessSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16386)); - public static WrappedStack potionSwiftnessSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16418)); - public static WrappedStack potionSwiftnessSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16450)); + private static WrappedStack potionSwiftness = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8194)); + private static WrappedStack potionSwiftnessOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8194)); + private static WrappedStack potionSwiftnessEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8226)); + private static WrappedStack potionSwiftnessEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8226)); + private static WrappedStack potionSwiftnessExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8258)); + private static WrappedStack potionSwiftnessExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8258)); + private static WrappedStack potionSwiftnessSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16386)); + private static WrappedStack potionSwiftnessSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16386)); + private static WrappedStack potionSwiftnessSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16418)); + private static WrappedStack potionSwiftnessSplashEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16418)); + private static WrappedStack potionSwiftnessSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16450)); + private static WrappedStack potionSwiftnessSplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16450)); - public static WrappedStack potionFireResist = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8195)); - public static WrappedStack potionFireResistExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8259)); - public static WrappedStack potionFireResistSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16387)); - public static WrappedStack potionFireResistSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16451)); + private static WrappedStack potionFireResist = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8195)); + private static WrappedStack potionFireResistOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8195)); + private static WrappedStack potionFireResistExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8259)); + private static WrappedStack potionFireResistExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8259)); + private static WrappedStack potionFireResistSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16387)); + private static WrappedStack potionFireResistSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16387)); + private static WrappedStack potionFireResistSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16451)); + private static WrappedStack potionFireResistSplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16451)); - public static WrappedStack potionPoison = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8196)); - public static WrappedStack potionPoisonEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8228)); - public static WrappedStack potionPoisonExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8260)); - public static WrappedStack potionPoisonSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16388)); - public static WrappedStack potionPoisonSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16420)); - public static WrappedStack potionPoisonSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16452)); + private static WrappedStack potionPoison = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8196)); + private static WrappedStack potionPoisonOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8196)); + private static WrappedStack potionPoisonEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8228)); + private static WrappedStack potionPoisonEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8228)); + private static WrappedStack potionPoisonExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8260)); + private static WrappedStack potionPoisonExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8260)); + private static WrappedStack potionPoisonSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16388)); + private static WrappedStack potionPoisonSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16388)); + private static WrappedStack potionPoisonSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16420)); + private static WrappedStack potionPoisonSplashEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16420)); + private static WrappedStack potionPoisonSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16452)); + private static WrappedStack potionPoisonSplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16452)); - public static WrappedStack potionHealing = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8197)); - public static WrappedStack potionHealingEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8229)); - public static WrappedStack potionHealingSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16389)); - public static WrappedStack potionHealingSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16421)); + private static WrappedStack potionHealing = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8197)); + private static WrappedStack potionHealingOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8197)); + private static WrappedStack potionHealingEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8229)); + private static WrappedStack potionHealingEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8229)); + private static WrappedStack potionHealingSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16389)); + private static WrappedStack potionHealingSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16389)); + private static WrappedStack potionHealingSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16421)); + private static WrappedStack potionHealingSplashEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16421)); - public static WrappedStack potionNightVision = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8198)); - public static WrappedStack potionNightVisionExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8262)); - public static WrappedStack potionNightVisionSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16390)); - public static WrappedStack potionNightVisionSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16454)); + private static WrappedStack potionNightVision = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8198)); + private static WrappedStack potionNightVisionOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8198)); + private static WrappedStack potionNightVisionExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8262)); + private static WrappedStack potionNightVisionExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8262)); + private static WrappedStack potionNightVisionSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16390)); + private static WrappedStack potionNightVisionSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16390)); + private static WrappedStack potionNightVisionSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16454)); + private static WrappedStack potionNightVisionSplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16454)); - public static WrappedStack potionWeakness = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8200)); - public static WrappedStack potionWeaknessExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8264)); - public static WrappedStack potionWeaknessSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16392)); - public static WrappedStack potionWeaknessSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16456)); + private static WrappedStack potionWeakness = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8200)); + private static WrappedStack potionWeaknessOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8200)); + private static WrappedStack potionWeaknessExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8264)); + private static WrappedStack potionWeaknessExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8264)); + private static WrappedStack potionWeaknessSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16392)); + private static WrappedStack potionWeaknessSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16392)); + private static WrappedStack potionWeaknessSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16456)); + private static WrappedStack potionWeaknessSplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16456)); - public static WrappedStack potionStrength = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8201)); - public static WrappedStack potionStrengthEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8233)); - public static WrappedStack potionStrengthExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8265)); - public static WrappedStack potionStrengthSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16393)); - public static WrappedStack potionStrengthSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16425)); - public static WrappedStack potionStrengthSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16457)); + private static WrappedStack potionStrength = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8201)); + private static WrappedStack potionStrengthOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8201)); + private static WrappedStack potionStrengthEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8233)); + private static WrappedStack potionStrengthEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8233)); + private static WrappedStack potionStrengthExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8265)); + private static WrappedStack potionStrengthExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8265)); + private static WrappedStack potionStrengthSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16393)); + private static WrappedStack potionStrengthSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16393)); + private static WrappedStack potionStrengthSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16425)); + private static WrappedStack potionStrengthSplashEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16425)); + private static WrappedStack potionStrengthSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16457)); + private static WrappedStack potionStrengthSplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16457)); - public static WrappedStack potionSlowness = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8202)); - public static WrappedStack potionSlownessExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8266)); - public static WrappedStack potionSlownessSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16394)); - public static WrappedStack potionSlownessSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16458)); + private static WrappedStack potionSlowness = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8202)); + private static WrappedStack potionSlownessOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8202)); + private static WrappedStack potionSlownessExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8266)); + private static WrappedStack potionSlownessExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8266)); + private static WrappedStack potionSlownessSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16394)); + private static WrappedStack potionSlownessSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16394)); + private static WrappedStack potionSlownessSplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16458)); + private static WrappedStack potionSlownessSplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16458)); - public static WrappedStack potionHarming = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8204)); - public static WrappedStack potionHarmingEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8236)); - public static WrappedStack potionHarmingSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16396)); - public static WrappedStack potionHarmingSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16428)); + private static WrappedStack potionHarming = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8204)); + private static WrappedStack potionHarmingOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8204)); + private static WrappedStack potionHarmingEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8236)); + private static WrappedStack potionHarmingEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8236)); + private static WrappedStack potionHarmingSplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16396)); + private static WrappedStack potionHarmingSplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16396)); + private static WrappedStack potionHarmingSplashEnhanced = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16428)); + private static WrappedStack potionHarmingSplashEnhancedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16428)); - public static WrappedStack potionInvisibility = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8206)); - public static WrappedStack potionInvisibilityExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8270)); - public static WrappedStack potionInvisibilitySplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16398)); - public static WrappedStack potionInvisibilitySplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16462)); + private static WrappedStack potionInvisibility = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8206)); + private static WrappedStack potionInvisibilityOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8206)); + private static WrappedStack potionInvisibilityExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 8270)); + private static WrappedStack potionInvisibilityExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 8270)); + private static WrappedStack potionInvisibilitySplash = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16398)); + private static WrappedStack potionInvisibilitySplashOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16398)); + private static WrappedStack potionInvisibilitySplashExtended = WrappedStack.wrap(new ItemStack(Items.potionitem, 1, 16462)); + private static WrappedStack potionInvisibilitySplashExtendedOutput = WrappedStack.wrap(new ItemStack(Items.potionitem, 3, 16462)); public static void registerRecipes() { RecipeRegistryProxy.addRecipe(bottleWater, Arrays.asList(bottleEmpty, reagentWater)); - RecipeRegistryProxy.addRecipe(potionAwkward, Arrays.asList(bottleWater, reagentNetherWart)); + RecipeRegistryProxy.addRecipe(potionAwkwardOutput, Arrays.asList(bottleWater, reagentNetherWart)); - RecipeRegistryProxy.addRecipe(potionNightVision, Arrays.asList(potionAwkward, reagentGoldenCarrot)); - RecipeRegistryProxy.addRecipe(potionNightVision, Arrays.asList(potionNightVisionExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionNightVisionSplash, Arrays.asList(potionNightVisionSplashExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionNightVisionSplash, Arrays.asList(potionNightVision, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionNightVisionOutput, Arrays.asList(potionAwkward, reagentGoldenCarrot)); + RecipeRegistryProxy.addRecipe(potionNightVisionOutput, Arrays.asList(potionNightVisionExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionNightVisionSplashOutput, Arrays.asList(potionNightVisionSplashExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionNightVisionSplashOutput, Arrays.asList(potionNightVision, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionNightVisionExtended, Arrays.asList(potionNightVision, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionNightVisionSplashExtended, Arrays.asList(potionNightVisionSplash, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionNightVisionSplashExtended, Arrays.asList(potionNightVisionExtended, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionNightVisionExtendedOutput, Arrays.asList(potionNightVision, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionNightVisionSplashExtendedOutput, Arrays.asList(potionNightVisionSplash, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionNightVisionSplashExtendedOutput, Arrays.asList(potionNightVisionExtended, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionInvisibility, Arrays.asList(potionNightVision, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionInvisibility, Arrays.asList(potionInvisibilityExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionInvisibilitySplash, Arrays.asList(potionNightVisionSplash, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionInvisibilitySplash, Arrays.asList(potionInvisibilitySplashExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionInvisibilitySplash, Arrays.asList(potionInvisibility, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionInvisibilityOutput, Arrays.asList(potionNightVision, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionInvisibilityOutput, Arrays.asList(potionInvisibilityExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionInvisibilitySplashOutput, Arrays.asList(potionNightVisionSplash, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionInvisibilitySplashOutput, Arrays.asList(potionInvisibilitySplashExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionInvisibilitySplashOutput, Arrays.asList(potionInvisibility, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionInvisibilityExtended, Arrays.asList(potionInvisibility, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionInvisibilityExtended, Arrays.asList(potionNightVisionExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtended, Arrays.asList(potionInvisibilitySplash, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtended, Arrays.asList(potionNightVisionSplashExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtended, Arrays.asList(potionInvisibilityExtended, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionInvisibilityExtendedOutput, Arrays.asList(potionInvisibility, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionInvisibilityExtendedOutput, Arrays.asList(potionNightVisionExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtendedOutput, Arrays.asList(potionInvisibilitySplash, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtendedOutput, Arrays.asList(potionNightVisionSplashExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionInvisibilitySplashExtendedOutput, Arrays.asList(potionInvisibilityExtended, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionFireResist, Arrays.asList(potionAwkward, reagentMagmaCream)); - RecipeRegistryProxy.addRecipe(potionFireResist, Arrays.asList(potionFireResistExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionFireResistSplash, Arrays.asList(potionFireResistSplashExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionFireResistSplash, Arrays.asList(potionFireResist, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionFireResistOutput, Arrays.asList(potionAwkward, reagentMagmaCream)); + RecipeRegistryProxy.addRecipe(potionFireResistOutput, Arrays.asList(potionFireResistExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionFireResistSplashOutput, Arrays.asList(potionFireResistSplashExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionFireResistSplashOutput, Arrays.asList(potionFireResist, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionFireResistExtended, Arrays.asList(potionFireResist, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionFireResistSplashExtended, Arrays.asList(potionFireResistSplash, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionFireResistSplashExtended, Arrays.asList(potionFireResistExtended, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionFireResistExtendedOutput, Arrays.asList(potionFireResist, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionFireResistSplashExtendedOutput, Arrays.asList(potionFireResistSplash, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionFireResistSplashExtendedOutput, Arrays.asList(potionFireResistExtended, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionSlowness, Arrays.asList(potionFireResist, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionSlowness, Arrays.asList(potionSlownessExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionSlowness, Arrays.asList(potionSwiftness, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionSlowness, Arrays.asList(potionSwiftnessExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionSlownessSplash, Arrays.asList(potionFireResistSplash, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionSlownessSplash, Arrays.asList(potionSlownessSplashExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionSlownessSplash, Arrays.asList(potionSwiftnessSplash, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionSlownessSplash, Arrays.asList(potionSwiftnessSplashExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionSlownessSplash, Arrays.asList(potionSlowness, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionSlownessOutput, Arrays.asList(potionFireResist, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionSlownessOutput, Arrays.asList(potionSlownessExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionSlownessOutput, Arrays.asList(potionSwiftness, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionSlownessOutput, Arrays.asList(potionSwiftnessExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, Arrays.asList(potionFireResistSplash, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, Arrays.asList(potionSlownessSplashExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, Arrays.asList(potionSwiftnessSplash, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, Arrays.asList(potionSwiftnessSplashExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionSlownessSplashOutput, Arrays.asList(potionSlowness, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionSlownessExtended, Arrays.asList(potionFireResistExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionSlownessExtended, Arrays.asList(potionSwiftnessEnhanced, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionSlownessSplashExtended, Arrays.asList(potionFireResistSplashExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionSlownessSplashExtended, Arrays.asList(potionSwiftnessSplashEnhanced, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionSlownessSplashExtended, Arrays.asList(potionSlownessExtended, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionSlownessExtendedOutput, Arrays.asList(potionFireResistExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionSlownessExtendedOutput, Arrays.asList(potionSwiftnessEnhanced, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionSlownessSplashExtendedOutput, Arrays.asList(potionFireResistSplashExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionSlownessSplashExtendedOutput, Arrays.asList(potionSwiftnessSplashEnhanced, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionSlownessSplashExtendedOutput, Arrays.asList(potionSlownessExtended, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionSwiftness, Arrays.asList(potionAwkward, reagentSugar)); - RecipeRegistryProxy.addRecipe(potionSwiftnessSplash, Arrays.asList(potionSwiftness, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionSwiftnessOutput, Arrays.asList(potionAwkward, reagentSugar)); + RecipeRegistryProxy.addRecipe(potionSwiftnessSplashOutput, Arrays.asList(potionSwiftness, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionSwiftnessExtended, Arrays.asList(potionSwiftness, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionSwiftnessExtended, Arrays.asList(potionSwiftnessEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtended, Arrays.asList(potionSwiftnessSplash, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtended, Arrays.asList(potionSwiftnessSplashEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtended, Arrays.asList(potionSwiftnessExtended, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionSwiftnessExtendedOutput, Arrays.asList(potionSwiftness, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionSwiftnessExtendedOutput, Arrays.asList(potionSwiftnessEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtendedOutput, Arrays.asList(potionSwiftnessSplash, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtendedOutput, Arrays.asList(potionSwiftnessSplashEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionSwiftnessSplashExtendedOutput, Arrays.asList(potionSwiftnessExtended, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionSwiftnessEnhanced, Arrays.asList(potionSwiftness, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionSwiftnessEnhanced, Arrays.asList(potionSwiftnessExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhanced, Arrays.asList(potionSwiftnessSplash, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhanced, Arrays.asList(potionSwiftnessSplashExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhanced, Arrays.asList(potionSwiftnessEnhanced, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionSwiftnessEnhancedOutput, Arrays.asList(potionSwiftness, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionSwiftnessEnhancedOutput, Arrays.asList(potionSwiftnessExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhancedOutput, Arrays.asList(potionSwiftnessSplash, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhancedOutput, Arrays.asList(potionSwiftnessSplashExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionSwiftnessSplashEnhancedOutput, Arrays.asList(potionSwiftnessEnhanced, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionHealing, Arrays.asList(potionAwkward, reagentGlisteringMelon)); - RecipeRegistryProxy.addRecipe(potionHealing, Arrays.asList(potionHealingEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionHealingSplash, Arrays.asList(potionHealingSplashEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionHealingSplash, Arrays.asList(potionHealing, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionHealingOutput, Arrays.asList(potionAwkward, reagentGlisteringMelon)); + RecipeRegistryProxy.addRecipe(potionHealingOutput, Arrays.asList(potionHealingEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionHealingSplashOutput, Arrays.asList(potionHealingSplashEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionHealingSplashOutput, Arrays.asList(potionHealing, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionHealingEnhanced, Arrays.asList(potionHealing, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionHealingSplashEnhanced, Arrays.asList(potionHealingSplash, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionHealingSplashEnhanced, Arrays.asList(potionHealingEnhanced, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionHealingEnhancedOutput, Arrays.asList(potionHealing, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionHealingSplashEnhancedOutput, Arrays.asList(potionHealingSplash, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionHealingSplashEnhancedOutput, Arrays.asList(potionHealingEnhanced, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionHarming, Arrays.asList(potionHealing, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionHarming, Arrays.asList(potionPoison, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionHarming, Arrays.asList(potionPoisonExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionHarming, Arrays.asList(potionHarmingEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionHarmingSplash, Arrays.asList(potionHealingSplash, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionHarmingSplash, Arrays.asList(potionPoisonSplash, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionHarmingSplash, Arrays.asList(potionPoisonSplashExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionHarmingSplash, Arrays.asList(potionHarmingSplashEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionHarmingSplash, Arrays.asList(potionHarming, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionHarmingOutput, Arrays.asList(potionHealing, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionHarmingOutput, Arrays.asList(potionPoison, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionHarmingOutput, Arrays.asList(potionPoisonExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionHarmingOutput, Arrays.asList(potionHarmingEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, Arrays.asList(potionHealingSplash, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, Arrays.asList(potionPoisonSplash, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, Arrays.asList(potionPoisonSplashExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, Arrays.asList(potionHarmingSplashEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionHarmingSplashOutput, Arrays.asList(potionHarming, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionHarmingEnhanced, Arrays.asList(potionHealingEnhanced, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionHarmingEnhanced, Arrays.asList(potionHarming, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionHarmingEnhanced, Arrays.asList(potionPoisonEnhanced, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhanced, Arrays.asList(potionHealingSplashEnhanced, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhanced, Arrays.asList(potionHarmingSplash, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhanced, Arrays.asList(potionPoisonSplashEnhanced, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhanced, Arrays.asList(potionHarmingEnhanced, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionHarmingEnhancedOutput, Arrays.asList(potionHealingEnhanced, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionHarmingEnhancedOutput, Arrays.asList(potionHarming, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionHarmingEnhancedOutput, Arrays.asList(potionPoisonEnhanced, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, Arrays.asList(potionHealingSplashEnhanced, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, Arrays.asList(potionHarmingSplash, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, Arrays.asList(potionPoisonSplashEnhanced, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionHarmingSplashEnhancedOutput, Arrays.asList(potionHarmingEnhanced, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionPoison, Arrays.asList(potionAwkward, reagentSpiderEye)); - RecipeRegistryProxy.addRecipe(potionPoisonSplash, Arrays.asList(potionPoison, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionPoisonOutput, Arrays.asList(potionAwkward, reagentSpiderEye)); + RecipeRegistryProxy.addRecipe(potionPoisonSplashOutput, Arrays.asList(potionPoison, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionPoisonExtended, Arrays.asList(potionPoisonExtended, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionPoisonExtended, Arrays.asList(potionPoisonEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionPoisonSplashExtended, Arrays.asList(potionPoisonSplashExtended, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionPoisonSplashExtended, Arrays.asList(potionPoisonSplashEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionPoisonSplashExtended, Arrays.asList(potionPoisonExtended, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionPoisonExtendedOutput, Arrays.asList(potionPoisonExtended, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionPoisonExtendedOutput, Arrays.asList(potionPoisonEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionPoisonSplashExtendedOutput, Arrays.asList(potionPoisonSplashExtended, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionPoisonSplashExtendedOutput, Arrays.asList(potionPoisonSplashEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionPoisonSplashExtendedOutput, Arrays.asList(potionPoisonExtended, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionPoisonEnhanced, Arrays.asList(potionPoison, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionPoisonEnhanced, Arrays.asList(potionPoisonExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhanced, Arrays.asList(potionPoisonSplash, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhanced, Arrays.asList(potionPoisonSplashExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhanced, Arrays.asList(potionPoisonEnhanced, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionPoisonEnhancedOutput, Arrays.asList(potionPoison, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionPoisonEnhancedOutput, Arrays.asList(potionPoisonExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhancedOutput, Arrays.asList(potionPoisonSplash, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhancedOutput, Arrays.asList(potionPoisonSplashExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionPoisonSplashEnhancedOutput, Arrays.asList(potionPoisonEnhanced, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionRegeneration, Arrays.asList(potionAwkward, reagentGhastTear)); - RecipeRegistryProxy.addRecipe(potionRegenerationSplash, Arrays.asList(potionRegeneration, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionRegenerationOutput, Arrays.asList(potionAwkward, reagentGhastTear)); + RecipeRegistryProxy.addRecipe(potionRegenerationSplashOutput, Arrays.asList(potionRegeneration, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionRegenerationExtended, Arrays.asList(potionRegeneration, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionRegenerationExtended, Arrays.asList(potionRegenerationEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtended, Arrays.asList(potionRegenerationSplash, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtended, Arrays.asList(potionRegenerationSplashEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtended, Arrays.asList(potionRegenerationExtended, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionRegenerationExtendedOutput, Arrays.asList(potionRegeneration, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionRegenerationExtendedOutput, Arrays.asList(potionRegenerationEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtendedOutput, Arrays.asList(potionRegenerationSplash, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtendedOutput, Arrays.asList(potionRegenerationSplashEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionRegenerationSplashExtendedOutput, Arrays.asList(potionRegenerationExtended, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionRegenerationEnhanced, Arrays.asList(potionRegeneration, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionRegenerationEnhanced, Arrays.asList(potionRegenerationExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhanced, Arrays.asList(potionRegenerationSplash, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhanced, Arrays.asList(potionRegenerationSplashExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhanced, Arrays.asList(potionRegenerationEnhanced, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionRegenerationEnhancedOutput, Arrays.asList(potionRegeneration, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionRegenerationEnhancedOutput, Arrays.asList(potionRegenerationExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhancedOutput, Arrays.asList(potionRegenerationSplash, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhancedOutput, Arrays.asList(potionRegenerationSplashExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionRegenerationSplashEnhancedOutput, Arrays.asList(potionRegenerationEnhanced, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionWeakness, Arrays.asList(potionAwkward, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeakness, Arrays.asList(potionRegeneration, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeakness, Arrays.asList(potionRegenerationEnhanced, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeakness, Arrays.asList(potionStrength, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeakness, Arrays.asList(potionStrengthEnhanced, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeakness, Arrays.asList(potionMundane, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeakness, Arrays.asList(potionWeaknessExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplash, Arrays.asList(potionRegenerationSplash, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplash, Arrays.asList(potionRegenerationSplashEnhanced, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplash, Arrays.asList(potionStrengthSplash, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplash, Arrays.asList(potionStrengthSplashEnhanced, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplash, Arrays.asList(potionMundaneSplash, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplash, Arrays.asList(potionWeaknessSplashExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplash, Arrays.asList(potionWeakness, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionAwkward, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionRegeneration, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionRegenerationEnhanced, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionStrength, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionStrengthEnhanced, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionMundane, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessOutput, Arrays.asList(potionWeaknessExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionRegenerationSplash, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionRegenerationSplashEnhanced, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionStrengthSplash, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionStrengthSplashEnhanced, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionMundaneSplash, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionWeaknessSplashExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashOutput, Arrays.asList(potionWeakness, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionWeaknessExtended, Arrays.asList(potionWeakness, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionWeaknessExtended, Arrays.asList(potionRegenerationExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessExtended, Arrays.asList(potionStrengthExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessExtended, Arrays.asList(potionMundaneExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtended, Arrays.asList(potionWeaknessSplash, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtended, Arrays.asList(potionRegenerationSplashExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtended, Arrays.asList(potionStrengthSplashExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtended, Arrays.asList(potionMundaneSplashExtended, reagentFermentedSpiderEye)); - RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtended, Arrays.asList(potionWeaknessExtended, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, Arrays.asList(potionWeakness, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, Arrays.asList(potionRegenerationExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, Arrays.asList(potionStrengthExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessExtendedOutput, Arrays.asList(potionMundaneExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, Arrays.asList(potionWeaknessSplash, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, Arrays.asList(potionRegenerationSplashExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, Arrays.asList(potionStrengthSplashExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, Arrays.asList(potionMundaneSplashExtended, reagentFermentedSpiderEye)); + RecipeRegistryProxy.addRecipe(potionWeaknessSplashExtendedOutput, Arrays.asList(potionWeaknessExtended, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionStrength, Arrays.asList(potionAwkward, reagentBlazePowder)); - RecipeRegistryProxy.addRecipe(potionStrengthSplash, Arrays.asList(potionStrength, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionStrengthOutput, Arrays.asList(potionAwkward, reagentBlazePowder)); + RecipeRegistryProxy.addRecipe(potionStrengthSplashOutput, Arrays.asList(potionStrength, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionStrengthEnhanced, Arrays.asList(potionStrength, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionStrengthEnhanced, Arrays.asList(potionStrengthExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhanced, Arrays.asList(potionStrengthSplash, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhanced, Arrays.asList(potionStrengthSplashExtended, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhanced, Arrays.asList(potionStrengthEnhanced, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionStrengthEnhancedOutput, Arrays.asList(potionStrength, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionStrengthEnhancedOutput, Arrays.asList(potionStrengthExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhancedOutput, Arrays.asList(potionStrengthSplash, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhancedOutput, Arrays.asList(potionStrengthSplashExtended, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionStrengthSplashEnhancedOutput, Arrays.asList(potionStrengthEnhanced, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionStrengthExtended, Arrays.asList(potionStrength, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionStrengthExtended, Arrays.asList(potionStrengthEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionStrengthSplashExtended, Arrays.asList(potionStrengthSplash, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionStrengthSplashExtended, Arrays.asList(potionStrengthSplashEnhanced, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionStrengthSplashExtended, Arrays.asList(potionStrengthExtended, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionStrengthExtendedOutput, Arrays.asList(potionStrength, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionStrengthExtendedOutput, Arrays.asList(potionStrengthEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionStrengthSplashExtendedOutput, Arrays.asList(potionStrengthSplash, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionStrengthSplashExtendedOutput, Arrays.asList(potionStrengthSplashEnhanced, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionStrengthSplashExtendedOutput, Arrays.asList(potionStrengthExtended, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionThick, Arrays.asList(bottleWater, reagentGlowstoneDust)); + RecipeRegistryProxy.addRecipe(potionThickOutput, Arrays.asList(bottleWater, reagentGlowstoneDust)); - RecipeRegistryProxy.addRecipe(potionMundane, Arrays.asList(bottleWater, reagentSugar)); - RecipeRegistryProxy.addRecipe(potionMundane, Arrays.asList(bottleWater, reagentGlisteringMelon)); - RecipeRegistryProxy.addRecipe(potionMundane, Arrays.asList(bottleWater, reagentSpiderEye)); - RecipeRegistryProxy.addRecipe(potionMundane, Arrays.asList(bottleWater, reagentBlazePowder)); - RecipeRegistryProxy.addRecipe(potionMundane, Arrays.asList(bottleWater, reagentMagmaCream)); - RecipeRegistryProxy.addRecipe(potionMundane, Arrays.asList(bottleWater, reagentGhastTear)); - RecipeRegistryProxy.addRecipe(potionMundaneSplash, Arrays.asList(potionMundane, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentSugar)); + RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentGlisteringMelon)); + RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentSpiderEye)); + RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentBlazePowder)); + RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentMagmaCream)); + RecipeRegistryProxy.addRecipe(potionMundaneOutput, Arrays.asList(bottleWater, reagentGhastTear)); + RecipeRegistryProxy.addRecipe(potionMundaneSplashOutput, Arrays.asList(potionMundane, reagentGunpowder)); - RecipeRegistryProxy.addRecipe(potionMundaneExtended, Arrays.asList(bottleWater, reagentRedstoneDust)); - RecipeRegistryProxy.addRecipe(potionMundaneSplashExtended, Arrays.asList(potionMundaneExtended, reagentGunpowder)); + RecipeRegistryProxy.addRecipe(potionMundaneExtendedOutput, Arrays.asList(bottleWater, reagentRedstoneDust)); + RecipeRegistryProxy.addRecipe(potionMundaneSplashExtendedOutput, Arrays.asList(potionMundaneExtended, reagentGunpowder)); } } From a3c5c3fafde2becf1dde55fd24a3806ea33b1756 Mon Sep 17 00:00:00 2001 From: Pahimar Date: Tue, 9 Jun 2015 21:27:45 -0400 Subject: [PATCH 3/6] Change default configuration setting for when to regenerate EMC values from 'When Mods Change' to 'Always; --- src/main/java/com/pahimar/ee3/handler/ConfigurationHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/pahimar/ee3/handler/ConfigurationHandler.java b/src/main/java/com/pahimar/ee3/handler/ConfigurationHandler.java index 4ce9a7b4..21e5d628 100644 --- a/src/main/java/com/pahimar/ee3/handler/ConfigurationHandler.java +++ b/src/main/java/com/pahimar/ee3/handler/ConfigurationHandler.java @@ -32,7 +32,7 @@ public class ConfigurationHandler Settings.General.syncThreshold = configuration.getInt(Messages.Configuration.GENERAL_SYNC_THRESHOLD, Configuration.CATEGORY_GENERAL, 5, 0, Short.MAX_VALUE, StatCollector.translateToLocal(Messages.Configuration.GENERAL_SYNC_THRESHOLD_COMMENT), Messages.Configuration.GENERAL_SYNC_THRESHOLD_LABEL); Settings.Sounds.soundMode = ConfigurationHelper.getString(configuration, Messages.Configuration.SOUND_MODE, Configuration.CATEGORY_GENERAL, "All", StatCollector.translateToLocal(Messages.Configuration.SOUND_MODE_COMMENT), new String[]{"All", "Self", "None"}, Messages.Configuration.SOUND_MODE_LABEL); Settings.Abilities.onlyLoadFile = configuration.getBoolean(Messages.Configuration.ABILITIES_ONLY_LOAD_FILE, Configuration.CATEGORY_GENERAL, false, StatCollector.translateToLocal(Messages.Configuration.ABILITIES_ONLY_LOAD_FILE_COMMENT), Messages.Configuration.ABILITIES_ONLY_LOAD_FILE_LABEL); - Settings.DynamicEnergyValueGeneration.regenerateEnergyValuesWhen = ConfigurationHelper.getString(configuration, Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN, Configuration.CATEGORY_GENERAL, "When Mods Change", StatCollector.translateToLocal(Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN_COMMENT), new String[]{"Never", "When Mods Change", "Always"}, Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN_LABEL); + Settings.DynamicEnergyValueGeneration.regenerateEnergyValuesWhen = ConfigurationHelper.getString(configuration, Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN, Configuration.CATEGORY_GENERAL, "Always", StatCollector.translateToLocal(Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN_COMMENT), new String[]{"Never", "When Mods Change", "Always"}, Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN_LABEL); Settings.Debug.logTraceToInfo = configuration.getBoolean(Messages.Configuration.LOG_TRACE_TO_INFO, CATEGORY_DEBUG, false, StatCollector.translateToLocal(Messages.Configuration.LOG_TRACE_TO_INFO_COMMENT), Messages.Configuration.LOG_TRACE_TO_INFO_LABEL); if (configuration.hasChanged()) From e4c61830831d4cbf7c2e2d843bc692aca3c51f98 Mon Sep 17 00:00:00 2001 From: Pahimar Date: Tue, 9 Jun 2015 23:25:40 -0400 Subject: [PATCH 4/6] A lot of various things done, including fixing derpy bounding boxes/etc --- build.properties | 2 +- .../com/pahimar/ee3/EquivalentExchange3.java | 5 +- .../exchange/EnergyValueRegistryProxy.java | 42 +++- .../ee3/array/AlchemyArrayTransmutation.java | 9 + .../pahimar/ee3/block/BlockAlchemyArray.java | 14 +- .../pahimar/ee3/block/BlockDummyArray.java | 10 +- .../java/com/pahimar/ee3/block/BlockEE.java | 8 + .../com/pahimar/ee3/block/BlockGlassBell.java | 14 +- .../pahimar/ee3/block/BlockTileEntityEE.java | 8 + .../com/pahimar/ee3/command/CommandDebug.java | 2 +- .../ee3/command/CommandSetEnergyValue.java | 36 ++- .../CommandSetEnergyValueCurrentItem.java | 32 ++- .../DynamicEnergyValueInitThread.java | 6 + .../ee3/exchange/EnergyValueRegistry.java | 219 ++++++++++-------- .../ee3/knowledge/AbilityRegistry.java | 2 +- .../TransmutationKnowledgeRegistry.java | 4 +- .../java/com/pahimar/ee3/reference/Files.java | 39 +++- .../ee3/test/VanillaEnergyValueTest.java | 74 +++--- .../pahimar/ee3/util/SerializationHelper.java | 20 +- src/main/resources/assets/ee3/lang/en_US.lang | 4 +- .../minecraft-v1710-vanilla-test-suite.json | 74 +++--- 21 files changed, 386 insertions(+), 238 deletions(-) diff --git a/build.properties b/build.properties index dbb08e31..b201c671 100644 --- a/build.properties +++ b/build.properties @@ -3,5 +3,5 @@ minecraft_version = 1.7.10 forge_version = 10.13.3.1399-1.7.10 mod_version = 0.3 -api_version = 1.2 +api_version = 1.3 release_type = beta diff --git a/src/main/java/com/pahimar/ee3/EquivalentExchange3.java b/src/main/java/com/pahimar/ee3/EquivalentExchange3.java index a7acd780..8119b504 100644 --- a/src/main/java/com/pahimar/ee3/EquivalentExchange3.java +++ b/src/main/java/com/pahimar/ee3/EquivalentExchange3.java @@ -12,6 +12,7 @@ import com.pahimar.ee3.network.PacketHandler; import com.pahimar.ee3.proxy.IProxy; import com.pahimar.ee3.recipe.AludelRecipeManager; import com.pahimar.ee3.recipe.RecipeRegistry; +import com.pahimar.ee3.reference.Files; import com.pahimar.ee3.reference.Messages; import com.pahimar.ee3.reference.Reference; import com.pahimar.ee3.reference.Settings; @@ -69,6 +70,8 @@ public class EquivalentExchange3 { ConfigurationHandler.init(event.getSuggestedConfigurationFile()); + Files.Global.init(event); + PacketHandler.init(); proxy.registerKeybindings(); @@ -113,8 +116,6 @@ public class EquivalentExchange3 public void postInit(FMLPostInitializationEvent event) { CachedOreDictionary.getInstance(); - RecipeRegistry.getInstance().registerVanillaRecipes(); - AludelRecipeManager.registerRecipes(); Abilities.setOresNotLearnable(); } diff --git a/src/main/java/com/pahimar/ee3/api/exchange/EnergyValueRegistryProxy.java b/src/main/java/com/pahimar/ee3/api/exchange/EnergyValueRegistryProxy.java index 7e1c8263..cf61d154 100644 --- a/src/main/java/com/pahimar/ee3/api/exchange/EnergyValueRegistryProxy.java +++ b/src/main/java/com/pahimar/ee3/api/exchange/EnergyValueRegistryProxy.java @@ -10,33 +10,67 @@ public final class EnergyValueRegistryProxy @Mod.Instance("EE3") private static Object ee3Mod; + public static void addPreCalculationEnergyValue(Object object, float energyValue) + { + addPreCalculationEnergyValue(object, new EnergyValue(energyValue)); + } + + @Deprecated public static void addPreAssignedEnergyValue(Object object, float energyValue) { addPreAssignedEnergyValue(object, new EnergyValue(energyValue)); } + public static void addPreCalculationEnergyValue(Object object, EnergyValue energyValue) + { + init(); + + if (ee3Mod != null) + { + EE3Wrapper.ee3mod.getEnergyValueRegistry().addPreCalculationEnergyValue(object, energyValue); + } + } + + @Deprecated public static void addPreAssignedEnergyValue(Object object, EnergyValue energyValue) { init(); if (ee3Mod != null) { - EE3Wrapper.ee3mod.getEnergyValueRegistry().addPreAssignedEnergyValue(object, energyValue); + EE3Wrapper.ee3mod.getEnergyValueRegistry().addPreCalculationEnergyValue(object, energyValue); } } + public static void addPostCalculationEnergyValue(Object object, float energyValue) + { + addPostCalculationEnergyValue(object, new EnergyValue(energyValue)); + } + + @Deprecated public static void addPostAssignedEnergyValue(Object object, float energyValue) { addPostAssignedEnergyValue(object, new EnergyValue(energyValue)); } + public static void addPostCalculationEnergyValue(Object object, EnergyValue energyValue) + { + init(); + + if (ee3Mod != null) + { + EE3Wrapper.ee3mod.getEnergyValueRegistry().addPostCalculationExactEnergyValue(object, energyValue); + } + } + + @Deprecated public static void addPostAssignedEnergyValue(Object object, EnergyValue energyValue) { init(); if (ee3Mod != null) { - EE3Wrapper.ee3mod.getEnergyValueRegistry().addPostAssignedExactEnergyValue(object, energyValue); + EE3Wrapper.ee3mod.getEnergyValueRegistry().addPostCalculationExactEnergyValue(object, energyValue); } } @@ -143,8 +177,8 @@ public final class EnergyValueRegistryProxy public enum Phase { - PRE_ASSIGNMENT, - POST_ASSIGNMENT, + PRE_CALCULATION, + POST_CALCULATION, RUNTIME, ALL } diff --git a/src/main/java/com/pahimar/ee3/array/AlchemyArrayTransmutation.java b/src/main/java/com/pahimar/ee3/array/AlchemyArrayTransmutation.java index c99c2127..8173814d 100644 --- a/src/main/java/com/pahimar/ee3/array/AlchemyArrayTransmutation.java +++ b/src/main/java/com/pahimar/ee3/array/AlchemyArrayTransmutation.java @@ -9,6 +9,8 @@ import com.pahimar.ee3.tileentity.TileEntityAlchemyArray; import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet; import com.pahimar.ee3.util.CommonParticleHelper; import com.pahimar.ee3.util.CommonSoundHelper; +import com.pahimar.ee3.util.LogHelper; +import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; @@ -30,6 +32,12 @@ public class AlchemyArrayTransmutation extends AlchemyArrayEE implements IInvent super(Textures.AlchemyArray.TRANSMUTATION_ALCHEMY_ARRAY, Names.AlchemyArrays.TRANSMUTATION_ALCHEMY_ARRAY); } + @Override + public void onEntityCollidedWithArray(World world, int eventX, int eventY, int eventZ, int arrayX, int arrayY, int arrayZ, Entity entity) + { + LogHelper.info(entity); + } + @Override public void onArrayActivated(World world, int eventX, int eventY, int eventZ, int arrayX, int arrayY, int arrayZ, EntityPlayer entityPlayer, int sideHit, float hitX, float hitY, float hitZ) { @@ -66,6 +74,7 @@ public class AlchemyArrayTransmutation extends AlchemyArrayEE implements IInvent if (world.getTileEntity(arrayX, arrayY - 1, arrayZ) instanceof TileEntityTransmutationTablet) { ((TileEntityTransmutationTablet) world.getTileEntity(arrayX, arrayY - 1, arrayZ)).setOrientation(tileEntityAlchemyArray.getOrientation()); + ((TileEntityTransmutationTablet) world.getTileEntity(arrayX, arrayY - 1, arrayZ)).setRotation(tileEntityAlchemyArray.getRotation()); } ejectInventory(world, arrayX, arrayY, arrayZ); diff --git a/src/main/java/com/pahimar/ee3/block/BlockAlchemyArray.java b/src/main/java/com/pahimar/ee3/block/BlockAlchemyArray.java index eaf9b0ab..c706221d 100644 --- a/src/main/java/com/pahimar/ee3/block/BlockAlchemyArray.java +++ b/src/main/java/com/pahimar/ee3/block/BlockAlchemyArray.java @@ -20,8 +20,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; import net.minecraft.world.Explosion; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -76,11 +74,11 @@ public class BlockAlchemyArray extends BlockTileEntityEE } @Override - public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 startVec, Vec3 endVec) + public void setBlockBoundsBasedOnState(IBlockAccess iBlockAccess, int x, int y, int z) { - if (world.getTileEntity(x, y, z) instanceof TileEntityAlchemyArray) + if (iBlockAccess.getTileEntity(x, y, z) instanceof TileEntityAlchemyArray) { - TileEntityAlchemyArray tileEntityAlchemyArray = (TileEntityAlchemyArray) world.getTileEntity(x, y, z); + TileEntityAlchemyArray tileEntityAlchemyArray = (TileEntityAlchemyArray) iBlockAccess.getTileEntity(x, y, z); switch (tileEntityAlchemyArray.getOrientation()) { @@ -118,10 +116,12 @@ public class BlockAlchemyArray extends BlockTileEntityEE { break; } + default: + { + this.setBlockBounds(0f, 0f, 0f, 1f, 0.0625f, 1f); + } } } - - return super.collisionRayTrace(world, x, y, z, startVec, endVec); } @Override diff --git a/src/main/java/com/pahimar/ee3/block/BlockDummyArray.java b/src/main/java/com/pahimar/ee3/block/BlockDummyArray.java index d6a7f742..31f1e8fb 100644 --- a/src/main/java/com/pahimar/ee3/block/BlockDummyArray.java +++ b/src/main/java/com/pahimar/ee3/block/BlockDummyArray.java @@ -13,8 +13,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; import net.minecraft.world.Explosion; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -254,11 +252,11 @@ public class BlockDummyArray extends BlockTileEntityEE } @Override - public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 startVec, Vec3 endVec) + public void setBlockBoundsBasedOnState(IBlockAccess iBlockAccess, int x, int y, int z) { - if (world.getTileEntity(x, y, z) instanceof TileEntityDummyArray) + if (iBlockAccess.getTileEntity(x, y, z) instanceof TileEntityDummyArray) { - TileEntityDummyArray tileEntityDummyArray = (TileEntityDummyArray) world.getTileEntity(x, y, z); + TileEntityDummyArray tileEntityDummyArray = (TileEntityDummyArray) iBlockAccess.getTileEntity(x, y, z); switch (tileEntityDummyArray.getOrientation()) { @@ -298,8 +296,6 @@ public class BlockDummyArray extends BlockTileEntityEE } } } - - return super.collisionRayTrace(world, x, y, z, startVec, endVec); } public void breakBlock(World world, int x, int y, int z, Block block, int metaData) diff --git a/src/main/java/com/pahimar/ee3/block/BlockEE.java b/src/main/java/com/pahimar/ee3/block/BlockEE.java index 15f760c0..30aaa6ab 100644 --- a/src/main/java/com/pahimar/ee3/block/BlockEE.java +++ b/src/main/java/com/pahimar/ee3/block/BlockEE.java @@ -14,6 +14,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -93,6 +94,13 @@ public class BlockEE extends Block } } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) + { + this.setBlockBoundsBasedOnState(world, x, y, z); + return super.getCollisionBoundingBoxFromPool(world, x, y, z); + } + protected void dropInventory(World world, int x, int y, int z) { TileEntity tileEntity = world.getTileEntity(x, y, z); diff --git a/src/main/java/com/pahimar/ee3/block/BlockGlassBell.java b/src/main/java/com/pahimar/ee3/block/BlockGlassBell.java index 9877578e..d83cf2f3 100644 --- a/src/main/java/com/pahimar/ee3/block/BlockGlassBell.java +++ b/src/main/java/com/pahimar/ee3/block/BlockGlassBell.java @@ -12,8 +12,6 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -118,16 +116,12 @@ public class BlockGlassBell extends BlockTileEntityEE return sideHit; } - /** - * Ray traces through the blocks collision from start vector to end vector returning a ray trace hit. Args: world, - * x, y, z, startVec, endVec - */ @Override - public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 startVec, Vec3 endVec) + public void setBlockBoundsBasedOnState(IBlockAccess iBlockAccess, int x, int y, int z) { - if (world.getTileEntity(x, y, z) instanceof TileEntityGlassBell) + if (iBlockAccess.getTileEntity(x, y, z) instanceof TileEntityGlassBell) { - TileEntityGlassBell tileGlassBell = (TileEntityGlassBell) world.getTileEntity(x, y, z); + TileEntityGlassBell tileGlassBell = (TileEntityGlassBell) iBlockAccess.getTileEntity(x, y, z); switch (tileGlassBell.getOrientation()) { @@ -167,7 +161,5 @@ public class BlockGlassBell extends BlockTileEntityEE } } } - - return super.collisionRayTrace(world, x, y, z, startVec, endVec); } } diff --git a/src/main/java/com/pahimar/ee3/block/BlockTileEntityEE.java b/src/main/java/com/pahimar/ee3/block/BlockTileEntityEE.java index b692632f..f1dc99b1 100644 --- a/src/main/java/com/pahimar/ee3/block/BlockTileEntityEE.java +++ b/src/main/java/com/pahimar/ee3/block/BlockTileEntityEE.java @@ -15,6 +15,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -89,6 +90,13 @@ public abstract class BlockTileEntityEE extends BlockContainer } } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) + { + this.setBlockBoundsBasedOnState(world, x, y, z); + return super.getCollisionBoundingBoxFromPool(world, x, y, z); + } + protected void dropInventory(World world, int x, int y, int z) { TileEntity tileEntity = world.getTileEntity(x, y, z); diff --git a/src/main/java/com/pahimar/ee3/command/CommandDebug.java b/src/main/java/com/pahimar/ee3/command/CommandDebug.java index aaae3580..7b6d03ec 100644 --- a/src/main/java/com/pahimar/ee3/command/CommandDebug.java +++ b/src/main/java/com/pahimar/ee3/command/CommandDebug.java @@ -30,7 +30,7 @@ public class CommandDebug extends CommandBase @Override public void processCommand(ICommandSender commandSender, String[] args) { - EnergyValueRegistryProxy.dumpEnergyValueRegistryToLog(EnergyValueRegistryProxy.Phase.PRE_ASSIGNMENT); + EnergyValueRegistryProxy.dumpEnergyValueRegistryToLog(EnergyValueRegistryProxy.Phase.PRE_CALCULATION); } @Override diff --git a/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValue.java b/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValue.java index d6d15ec9..88293459 100644 --- a/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValue.java +++ b/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValue.java @@ -95,22 +95,46 @@ public class CommandSetEnergyValue extends CommandBase { if (args[1].equalsIgnoreCase("pre")) { - Map preAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.PRE_ASSIGNED_ENERGY_VALUES); - preAssignedValues.put(wrappedStack, newEnergyValue); + EnergyValueRegistry.getInstance().setEnergyValue(wrappedStack, newEnergyValue); - SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.PRE_ASSIGNED_ENERGY_VALUES, preAssignedValues); + Map preAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.PRE_CALCULATION_ENERGY_VALUES); + preAssignedValues.put(wrappedStack, newEnergyValue); + SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.PRE_CALCULATION_ENERGY_VALUES, preAssignedValues); + EnergyValueRegistry.getInstance().setShouldRegenNextRestart(true); + } + else if (args[1].equalsIgnoreCase("global-pre")) + { + EnergyValueRegistry.getInstance().setEnergyValue(wrappedStack, newEnergyValue); + + Map preAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.Global.preCalcluationEnergyValueFile); + preAssignedValues.put(wrappedStack, newEnergyValue); + SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.Global.preCalcluationEnergyValueFile, preAssignedValues); EnergyValueRegistry.getInstance().setShouldRegenNextRestart(true); } else if (args[1].equalsIgnoreCase("post")) { EnergyValueRegistry.getInstance().setEnergyValue(wrappedStack, newEnergyValue); - Map postAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.POST_ASSIGNED_ENERGY_VALUES); + Map postAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.POST_CALCULATION_ENERGY_VALUES); postAssignedValues.put(wrappedStack, newEnergyValue); + SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.POST_CALCULATION_ENERGY_VALUES, postAssignedValues); - SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.POST_ASSIGNED_ENERGY_VALUES, postAssignedValues); PacketHandler.INSTANCE.sendToAll(new MessageSetEnergyValue(wrappedStack, newEnergyValue)); } + else if (args[1].equalsIgnoreCase("global-post")) + { + EnergyValueRegistry.getInstance().setEnergyValue(wrappedStack, newEnergyValue); + + Map postAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.Global.postCalcluationEnergyValueFile); + postAssignedValues.put(wrappedStack, newEnergyValue); + SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.Global.postCalcluationEnergyValueFile, postAssignedValues); + + PacketHandler.INSTANCE.sendToAll(new MessageSetEnergyValue(wrappedStack, newEnergyValue)); + } + else + { + throw new WrongUsageException(Messages.Commands.SET_ENERGY_VALUE_USAGE); + } // Notify admins and log the value change func_152373_a(commandSender, this, Messages.Commands.SET_ENERGY_VALUE_SUCCESS, new Object[]{commandSender.getCommandSenderName(), args[1], itemStack.func_151000_E(), newEnergyValue.getChatComponent()}); @@ -127,7 +151,7 @@ public class CommandSetEnergyValue extends CommandBase { if (args.length == 2) { - return getListOfStringsMatchingLastWord(args, "pre", "post"); + return getListOfStringsMatchingLastWord(args, "pre", "global-pre", "post", "global-post"); } else if (args.length == 3) { diff --git a/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValueCurrentItem.java b/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValueCurrentItem.java index 53ceb0cc..7ce64026 100644 --- a/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValueCurrentItem.java +++ b/src/main/java/com/pahimar/ee3/command/CommandSetEnergyValueCurrentItem.java @@ -65,20 +65,40 @@ public class CommandSetEnergyValueCurrentItem extends CommandBase { if (args[1].equalsIgnoreCase("pre")) { - Map preAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.PRE_ASSIGNED_ENERGY_VALUES); - preAssignedValues.put(wrappedStack, newEnergyValue); + EnergyValueRegistry.getInstance().setEnergyValue(wrappedStack, newEnergyValue); - SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.PRE_ASSIGNED_ENERGY_VALUES, preAssignedValues); + Map preAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.PRE_CALCULATION_ENERGY_VALUES); + preAssignedValues.put(wrappedStack, newEnergyValue); + SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.PRE_CALCULATION_ENERGY_VALUES, preAssignedValues); + EnergyValueRegistry.getInstance().setShouldRegenNextRestart(true); + } + else if (args[1].equalsIgnoreCase("global-pre")) + { + EnergyValueRegistry.getInstance().setEnergyValue(wrappedStack, newEnergyValue); + + Map preAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.Global.preCalcluationEnergyValueFile); + preAssignedValues.put(wrappedStack, newEnergyValue); + SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.Global.preCalcluationEnergyValueFile, preAssignedValues); EnergyValueRegistry.getInstance().setShouldRegenNextRestart(true); } else if (args[1].equalsIgnoreCase("post")) { EnergyValueRegistry.getInstance().setEnergyValue(wrappedStack, newEnergyValue); - Map postAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.POST_ASSIGNED_ENERGY_VALUES); + Map postAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.POST_CALCULATION_ENERGY_VALUES); postAssignedValues.put(wrappedStack, newEnergyValue); + SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.POST_CALCULATION_ENERGY_VALUES, postAssignedValues); + + PacketHandler.INSTANCE.sendToAll(new MessageSetEnergyValue(wrappedStack, newEnergyValue)); + } + else if (args[1].equalsIgnoreCase("global-post")) + { + EnergyValueRegistry.getInstance().setEnergyValue(wrappedStack, newEnergyValue); + + Map postAssignedValues = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.Global.postCalcluationEnergyValueFile); + postAssignedValues.put(wrappedStack, newEnergyValue); + SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.Global.postCalcluationEnergyValueFile, postAssignedValues); - SerializationHelper.writeEnergyValueStackMapToJsonFile(Files.POST_ASSIGNED_ENERGY_VALUES, postAssignedValues); PacketHandler.INSTANCE.sendToAll(new MessageSetEnergyValue(wrappedStack, newEnergyValue)); } else @@ -106,7 +126,7 @@ public class CommandSetEnergyValueCurrentItem extends CommandBase { if (args.length == 2) { - return getListOfStringsMatchingLastWord(args, "pre", "post"); + return getListOfStringsMatchingLastWord(args, "pre", "global-pre", "post", "global-post"); } return null; diff --git a/src/main/java/com/pahimar/ee3/exchange/DynamicEnergyValueInitThread.java b/src/main/java/com/pahimar/ee3/exchange/DynamicEnergyValueInitThread.java index cc80b3c9..62e83610 100644 --- a/src/main/java/com/pahimar/ee3/exchange/DynamicEnergyValueInitThread.java +++ b/src/main/java/com/pahimar/ee3/exchange/DynamicEnergyValueInitThread.java @@ -1,5 +1,7 @@ package com.pahimar.ee3.exchange; +import com.pahimar.ee3.recipe.AludelRecipeManager; +import com.pahimar.ee3.recipe.RecipeRegistry; import com.pahimar.ee3.util.LogHelper; public class DynamicEnergyValueInitThread implements Runnable @@ -14,6 +16,10 @@ public class DynamicEnergyValueInitThread implements Runnable @Override public void run() { + // Add in recipes to the RecipeRegistry *just* before we do calculations + RecipeRegistry.getInstance().registerVanillaRecipes(); + AludelRecipeManager.registerRecipes(); + long startTime = System.currentTimeMillis(); EnergyValueRegistry.getInstance().init(); LogHelper.info(String.format("DynamicEMC system initialized after %s ms", System.currentTimeMillis() - startTime)); diff --git a/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java b/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java index 74e235a6..2d9cf787 100644 --- a/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java +++ b/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java @@ -26,15 +26,15 @@ import java.util.*; public class EnergyValueRegistry implements JsonSerializer, JsonDeserializer { - private static final Gson jsonSerializer = (new GsonBuilder()).registerTypeAdapter(EnergyValueRegistry.class, new EnergyValueRegistry()).registerTypeAdapter(EnergyValueStackMapping.class, new EnergyValueStackMapping()).create(); - private static final Gson prettyJsonSerializer = (new GsonBuilder()).setPrettyPrinting().registerTypeAdapter(EnergyValueRegistry.class, new EnergyValueRegistry()).registerTypeAdapter(EnergyValueStackMapping.class, new EnergyValueStackMapping()).create(); + private static final Gson JSON_SERIALIZER = (new GsonBuilder()).setPrettyPrinting().registerTypeAdapter(EnergyValueRegistry.class, new EnergyValueRegistry()).registerTypeAdapter(EnergyValueStackMapping.class, new EnergyValueStackMapping()).create(); private boolean shouldRegenNextRestart = false; private static EnergyValueRegistry energyValueRegistry = null; - private static Map preAssignedMappings; - private static Map postAssignedMappings; + private static Map preCalculationMappings; + private static Map postCalculationMappings; private ImmutableSortedMap stackMappings; private ImmutableSortedMap> valueMappings; + private SortedSet uncomputedStacks; private EnergyValueRegistry() { @@ -50,16 +50,16 @@ public class EnergyValueRegistry implements JsonSerializer, return energyValueRegistry; } - public void addPreAssignedEnergyValue(Object object, float energyValue) + public void addPreCalculationEnergyValue(Object object, float energyValue) { - addPreAssignedEnergyValue(object, new EnergyValue(energyValue)); + addPreCalculationEnergyValue(object, new EnergyValue(energyValue)); } - public void addPreAssignedEnergyValue(Object object, EnergyValue energyValue) + public void addPreCalculationEnergyValue(Object object, EnergyValue energyValue) { - if (preAssignedMappings == null) + if (preCalculationMappings == null) { - preAssignedMappings = new TreeMap(); + preCalculationMappings = new TreeMap(); } if (WrappedStack.canBeWrapped(object) && energyValue != null && Float.compare(energyValue.getValue(), 0f) > 0) @@ -71,33 +71,33 @@ public class EnergyValueRegistry implements JsonSerializer, WrappedStack factoredWrappedStack = WrappedStack.wrap(wrappedStack, 1); EnergyValue factoredEnergyValue = EnergyValueHelper.factorEnergyValue(energyValue, wrappedStack.getStackSize()); - if (preAssignedMappings.containsKey(factoredWrappedStack)) + if (preCalculationMappings.containsKey(factoredWrappedStack)) { - if (factoredEnergyValue.compareTo(preAssignedMappings.get(factoredWrappedStack)) < 0) + if (factoredEnergyValue.compareTo(preCalculationMappings.get(factoredWrappedStack)) < 0) { LogHelper.trace(String.format("EnergyValueRegistry[%s]: Mod with ID '%s' added a pre-assignment energy value of %s for object %s", LoaderHelper.getLoaderState(), Loader.instance().activeModContainer().getModId(), energyValue, wrappedStack)); - preAssignedMappings.put(factoredWrappedStack, factoredEnergyValue); + preCalculationMappings.put(factoredWrappedStack, factoredEnergyValue); } } else { LogHelper.trace(String.format("EnergyValueRegistry[%s]: Mod with ID '%s' added a pre-assignment energy value of %s for object %s", LoaderHelper.getLoaderState(), Loader.instance().activeModContainer().getModId(), energyValue, wrappedStack)); - preAssignedMappings.put(factoredWrappedStack, factoredEnergyValue); + preCalculationMappings.put(factoredWrappedStack, factoredEnergyValue); } } } } - public void addPostAssignedExactEnergyValue(Object object, float energyValue) + public void addPostCalculationExactEnergyValue(Object object, float energyValue) { - addPostAssignedExactEnergyValue(object, new EnergyValue(energyValue)); + addPostCalculationExactEnergyValue(object, new EnergyValue(energyValue)); } - public void addPostAssignedExactEnergyValue(Object object, EnergyValue energyValue) + public void addPostCalculationExactEnergyValue(Object object, EnergyValue energyValue) { - if (postAssignedMappings == null) + if (postCalculationMappings == null) { - postAssignedMappings = new TreeMap(); + postCalculationMappings = new TreeMap(); } if (WrappedStack.canBeWrapped(object) && energyValue != null && Float.compare(energyValue.getValue(), 0f) > 0) @@ -110,7 +110,7 @@ public class EnergyValueRegistry implements JsonSerializer, EnergyValue factoredEnergyValue = EnergyValueHelper.factorEnergyValue(energyValue, wrappedStack.getStackSize()); LogHelper.trace(String.format("EnergyValueRegistry[%s]: Mod with ID '%s' added a post-assignment energy value of %s for object %s", LoaderHelper.getLoaderState(), Loader.instance().activeModContainer().getModId(), energyValue, wrappedStack)); - postAssignedMappings.put(factoredWrappedStack, factoredEnergyValue); + postCalculationMappings.put(factoredWrappedStack, factoredEnergyValue); } } } @@ -137,13 +137,13 @@ public class EnergyValueRegistry implements JsonSerializer, public EnergyValue getEnergyValue(EnergyValueRegistryProxy.Phase phase, Object object, boolean strict) { - if (phase == EnergyValueRegistryProxy.Phase.PRE_ASSIGNMENT) + if (phase == EnergyValueRegistryProxy.Phase.PRE_CALCULATION) { - return getEnergyValueFromMap(preAssignedMappings, object, strict); + return getEnergyValueFromMap(preCalculationMappings, object, strict); } - else if (phase == EnergyValueRegistryProxy.Phase.POST_ASSIGNMENT) + else if (phase == EnergyValueRegistryProxy.Phase.POST_CALCULATION) { - return getEnergyValueFromMap(postAssignedMappings, object, strict); + return getEnergyValueFromMap(postCalculationMappings, object, strict); } else { @@ -348,53 +348,60 @@ public class EnergyValueRegistry implements JsonSerializer, private void runDynamicEnergyValueResolution() { TreeMap stackValueMap = new TreeMap(); + uncomputedStacks = null; - /* - * Pre-assigned values - */ - stackValueMap.putAll(preAssignedMappings); + // Add in all mod specified pre-calculation values + stackValueMap.putAll(preCalculationMappings); // TODO Logging - // Grab custom pre-assigned values from file - Map preAssignedValueMap = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.PRE_ASSIGNED_ENERGY_VALUES); - for (WrappedStack wrappedStack : preAssignedValueMap.keySet()) + // Add in all global pre-calculation values + LogHelper.trace(String.format("BEGIN Adding EnergyValue mappings from %s", Files.PRE_CALCULATION_ENERGY_VALUES)); + Map globalPreCalculationValueMap = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.Global.preCalcluationEnergyValueFile); + for (WrappedStack wrappedStack : globalPreCalculationValueMap.keySet()) { - if (preAssignedValueMap.get(wrappedStack) != null) + if (globalPreCalculationValueMap.get(wrappedStack) != null) { - stackValueMap.put(wrappedStack, preAssignedValueMap.get(wrappedStack)); + stackValueMap.put(wrappedStack, globalPreCalculationValueMap.get(wrappedStack)); + LogHelper.trace(String.format("Adding EnergyValue %s for %s", globalPreCalculationValueMap.get(wrappedStack), wrappedStack)); } } + LogHelper.trace(String.format("END Adding EnergyValue mappings from %s", Files.PRE_CALCULATION_ENERGY_VALUES)); + + // Add in all instance pre-calculation values + LogHelper.trace(String.format("BEGIN Adding EnergyValue mappings from %s", Files.PRE_CALCULATION_ENERGY_VALUES)); + Map instancePreAssignedValueMap = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.PRE_CALCULATION_ENERGY_VALUES); + for (WrappedStack wrappedStack : instancePreAssignedValueMap.keySet()) + { + if (instancePreAssignedValueMap.get(wrappedStack) != null) + { + stackValueMap.put(wrappedStack, instancePreAssignedValueMap.get(wrappedStack)); + LogHelper.trace(String.format("Adding EnergyValue %s for %s", instancePreAssignedValueMap.get(wrappedStack), wrappedStack)); + } + } + LogHelper.trace(String.format("END Adding EnergyValue mappings from %s", Files.PRE_CALCULATION_ENERGY_VALUES)); /* * Auto-assignment */ - // Initialize the maps for the first pass to happen - ImmutableSortedMap.Builder stackMappingsBuilder = ImmutableSortedMap.naturalOrder(); - stackMappingsBuilder.putAll(stackValueMap); - stackMappings = stackMappingsBuilder.build(); - Map computedStackValues = new TreeMap(); - - // Initialize the pass counter + Map computedStackValues; int passNumber = 0; long computationStartTime = System.currentTimeMillis(); long passStartTime; - int computedValueCount = 0; + int passComputedValueCount = 0; int totalComputedValueCount = 0; - LogHelper.info("Beginning dynamic value computation"); + LogHelper.info("Beginning dynamic value calculation"); boolean isFirstPass = true; - while ((isFirstPass || computedValueCount > 0) && (passNumber < 16)) + while ((isFirstPass || passComputedValueCount > 0) && (passNumber < 16)) { if (isFirstPass) { isFirstPass = false; } - - computedValueCount = 0; + passComputedValueCount = 0; passStartTime = System.currentTimeMillis(); - // Increment the pass counter passNumber++; // Compute stack mappings from existing stack mappings - computedStackValues = computeStackMappings(stackValueMap); + computedStackValues = computeStackMappings(stackValueMap, passNumber); for (WrappedStack keyStack : computedStackValues.keySet()) { @@ -416,50 +423,70 @@ public class EnergyValueRegistry implements JsonSerializer, { if (factoredExchangeEnergyValue.compareTo(stackValueMap.get(factoredKeyStack)) == -1) { + LogHelper.trace(String.format("")); // TODO Log message stackValueMap.put(factoredKeyStack, factoredExchangeEnergyValue); } } else { + LogHelper.trace(String.format("")); // TODO Log message stackValueMap.put(factoredKeyStack, factoredExchangeEnergyValue); - computedValueCount++; + passComputedValueCount++; totalComputedValueCount++; } } } - LogHelper.info(String.format("Pass %s: Computed %s values for objects in %s ms", passNumber, computedValueCount, System.currentTimeMillis() - passStartTime)); + LogHelper.info(String.format("Pass %s: Calculated %s values for objects in %s ms", passNumber, passComputedValueCount, System.currentTimeMillis() - passStartTime)); } - LogHelper.info(String.format("Finished dynamic value computation (computed %s values for objects in %s ms)", totalComputedValueCount, System.currentTimeMillis() - computationStartTime)); + LogHelper.info(String.format("Finished dynamic value calculation (calculated %s values for objects in %s ms)", totalComputedValueCount, System.currentTimeMillis() - computationStartTime)); - if (postAssignedMappings != null) + // Add in all mod specified post-calculation values + // TODO Logging + if (postCalculationMappings != null) { - for (WrappedStack wrappedStack : postAssignedMappings.keySet()) + for (WrappedStack wrappedStack : postCalculationMappings.keySet()) { - if (postAssignedMappings.get(wrappedStack) != null) + if (postCalculationMappings.get(wrappedStack) != null) { - stackValueMap.put(wrappedStack, postAssignedMappings.get(wrappedStack)); + stackValueMap.put(wrappedStack, postCalculationMappings.get(wrappedStack)); } } } else { - postAssignedMappings = new TreeMap(); + postCalculationMappings = new TreeMap(); } - // Grab custom post-assigned values from file - Map postAssignedValueMap = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.POST_ASSIGNED_ENERGY_VALUES); - for (WrappedStack wrappedStack : postAssignedValueMap.keySet()) + // Add in all global post-calculation values + LogHelper.trace(String.format("Begin Adding EnergyValue mappings from %s", Files.POST_CALCULATION_ENERGY_VALUES)); + Map globalPostCalculationValueMap = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.Global.postCalcluationEnergyValueFile); + for (WrappedStack wrappedStack : globalPostCalculationValueMap.keySet()) { - if (postAssignedValueMap.get(wrappedStack) != null) + if (globalPostCalculationValueMap.get(wrappedStack) != null) { - stackValueMap.put(wrappedStack, postAssignedValueMap.get(wrappedStack)); + stackValueMap.put(wrappedStack, globalPostCalculationValueMap.get(wrappedStack)); + LogHelper.trace(String.format("Adding EnergyValue %s for %s", globalPostCalculationValueMap.get(wrappedStack), wrappedStack)); } } + LogHelper.trace(String.format("END Adding EnergyValue mappings from %s", Files.PRE_CALCULATION_ENERGY_VALUES)); + + // Add in all instance post-calculation values + LogHelper.trace(String.format("Begin Adding EnergyValue mappings from %s", Files.POST_CALCULATION_ENERGY_VALUES)); + Map instancePostCalculationValueMap = SerializationHelper.readEnergyValueStackMapFromJsonFile(Files.POST_CALCULATION_ENERGY_VALUES); + for (WrappedStack wrappedStack : instancePostCalculationValueMap.keySet()) + { + if (instancePostCalculationValueMap.get(wrappedStack) != null) + { + stackValueMap.put(wrappedStack, instancePostCalculationValueMap.get(wrappedStack)); + LogHelper.trace(String.format("Adding EnergyValue %s for %s", instancePreAssignedValueMap.get(wrappedStack), wrappedStack)); + } + } + LogHelper.trace(String.format("End Adding EnergyValue mappings from %s", Files.POST_CALCULATION_ENERGY_VALUES)); /** * Finalize the stack to value map */ - stackMappingsBuilder = ImmutableSortedMap.naturalOrder(); + ImmutableSortedMap.Builder stackMappingsBuilder = ImmutableSortedMap.naturalOrder(); stackMappingsBuilder.putAll(stackValueMap); stackMappings = stackMappingsBuilder.build(); @@ -471,6 +498,17 @@ public class EnergyValueRegistry implements JsonSerializer, // Serialize values to disk LogHelper.info("Saving energy values to disk"); save(); + + // TODO Make this make "sense" and also ensure it's added as an option to the debug command + LogHelper.info("BEGIN UNCOMPUTED OBJECT LIST"); + for (WrappedStack wrappedStack : uncomputedStacks) + { + if (!hasEnergyValue(wrappedStack)) + { + LogHelper.info(wrappedStack); + } + } + LogHelper.info("END UNCOMPUTED OBJECT LIST"); } private void generateValueStackMappings() @@ -502,12 +540,13 @@ public class EnergyValueRegistry implements JsonSerializer, valueMappings = ImmutableSortedMap.copyOf(tempValueMappings); } - private Map computeStackMappings(Map stackValueMappings) + private Map computeStackMappings(Map stackValueMappings, int passCount) { Map computedStackMap = new TreeMap(); for (WrappedStack recipeOutput : RecipeRegistry.getInstance().getRecipeMappings().keySet()) { + // TODO Review: possible fault in the logic here that is preventing some values from being assigned? if (!hasEnergyValue(recipeOutput.getWrappedObject(), false) && !computedStackMap.containsKey(recipeOutput)) { EnergyValue lowestValue = null; @@ -523,6 +562,15 @@ public class EnergyValueRegistry implements JsonSerializer, lowestValue = computedValue; } } + else + { + if (uncomputedStacks == null) + { + uncomputedStacks = new TreeSet(); + } + + uncomputedStacks.add(recipeOutput); + } } if ((lowestValue != null) && (lowestValue.getValue() > 0f)) @@ -616,47 +664,14 @@ public class EnergyValueRegistry implements JsonSerializer, { if (wrappedStack != null && energyValue != null && Float.compare(energyValue.getValue(), 0f) > 0) { - TreeMap stackValueMap = new TreeMap(); - - /** - * Read stack value mappings from NBTTagCompound - */ - stackValueMap.putAll(stackMappings); + TreeMap stackValueMap = new TreeMap(stackMappings); stackValueMap.put(wrappedStack, energyValue); ImmutableSortedMap.Builder stackMappingsBuilder = ImmutableSortedMap.naturalOrder(); stackMappingsBuilder.putAll(stackValueMap); stackMappings = stackMappingsBuilder.build(); - /** - * Resolve value stack mappings from the newly loaded stack mappings - */ - SortedMap> tempValueMappings = new TreeMap>(); - - for (WrappedStack stack : stackMappings.keySet()) - { - if (stack != null) - { - EnergyValue value = stackMappings.get(stack); - - if (value != null) - { - if (tempValueMappings.containsKey(value)) - { - if (!(tempValueMappings.get(value).contains(stack))) - { - tempValueMappings.get(value).add(stack); - } - } - else - { - tempValueMappings.put(value, new ArrayList(Arrays.asList(stack))); - } - } - } - } - - valueMappings = ImmutableSortedMap.copyOf(tempValueMappings); + generateValueStackMappings(); } } @@ -763,7 +778,7 @@ public class EnergyValueRegistry implements JsonSerializer, public String toJson() { - return prettyJsonSerializer.toJson(this); + return JSON_SERIALIZER.toJson(this); } @Override @@ -817,18 +832,18 @@ public class EnergyValueRegistry implements JsonSerializer, public void dumpEnergyValueRegistryToLog(EnergyValueRegistryProxy.Phase phase) { LogHelper.info(String.format("BEGIN DUMPING %s ENERGY VALUE MAPPINGS", phase)); - if (phase == EnergyValueRegistryProxy.Phase.PRE_ASSIGNMENT) + if (phase == EnergyValueRegistryProxy.Phase.PRE_CALCULATION) { - for (WrappedStack wrappedStack : this.preAssignedMappings.keySet()) + for (WrappedStack wrappedStack : this.preCalculationMappings.keySet()) { LogHelper.info(String.format("- Object: %s, Value: %s", wrappedStack, EnergyValueRegistry.getInstance().getStackValueMap().get(wrappedStack))); } } - else if (phase == EnergyValueRegistryProxy.Phase.POST_ASSIGNMENT) + else if (phase == EnergyValueRegistryProxy.Phase.POST_CALCULATION) { - if (this.postAssignedMappings != null) + if (this.postCalculationMappings != null) { - for (WrappedStack wrappedStack : this.postAssignedMappings.keySet()) + for (WrappedStack wrappedStack : this.postCalculationMappings.keySet()) { LogHelper.info(String.format("- Object: %s, Value: %s", wrappedStack, EnergyValueRegistry.getInstance().getStackValueMap().get(wrappedStack))); } diff --git a/src/main/java/com/pahimar/ee3/knowledge/AbilityRegistry.java b/src/main/java/com/pahimar/ee3/knowledge/AbilityRegistry.java index 78faf032..ce130a0c 100644 --- a/src/main/java/com/pahimar/ee3/knowledge/AbilityRegistry.java +++ b/src/main/java/com/pahimar/ee3/knowledge/AbilityRegistry.java @@ -300,7 +300,7 @@ public class AbilityRegistry implements JsonSerializer, JsonDes } else { - abilityDirectory = new File(SerializationHelper.getDataDirectory(), "abilities"); + abilityDirectory = new File(SerializationHelper.getInstanceDataDirectory(), "abilities"); abilityDirectory.mkdirs(); } } diff --git a/src/main/java/com/pahimar/ee3/knowledge/TransmutationKnowledgeRegistry.java b/src/main/java/com/pahimar/ee3/knowledge/TransmutationKnowledgeRegistry.java index 2a7c61b4..8afde911 100644 --- a/src/main/java/com/pahimar/ee3/knowledge/TransmutationKnowledgeRegistry.java +++ b/src/main/java/com/pahimar/ee3/knowledge/TransmutationKnowledgeRegistry.java @@ -23,10 +23,10 @@ public class TransmutationKnowledgeRegistry private TransmutationKnowledgeRegistry() { - playerKnowledgeDirectory = new File(SerializationHelper.getPlayerDataDirectory(), "knowledge" + File.separator + "transmutation"); + playerKnowledgeDirectory = new File(SerializationHelper.getInstancePlayerDataDirectory(), "knowledge" + File.separator + "transmutation"); playerKnowledgeDirectory.mkdirs(); - dataKnowledgeDirectory = new File(SerializationHelper.getDataDirectory(), "knowledge" + File.separator + "transmutation"); + dataKnowledgeDirectory = new File(SerializationHelper.getInstanceDataDirectory(), "knowledge" + File.separator + "transmutation"); dataKnowledgeDirectory.mkdirs(); loadTemplateKnowledgeFromDisk(); diff --git a/src/main/java/com/pahimar/ee3/reference/Files.java b/src/main/java/com/pahimar/ee3/reference/Files.java index 150e2411..83976972 100644 --- a/src/main/java/com/pahimar/ee3/reference/Files.java +++ b/src/main/java/com/pahimar/ee3/reference/Files.java @@ -1,10 +1,45 @@ package com.pahimar.ee3.reference; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; + +import java.io.File; + public class Files { - public static final String PRE_ASSIGNED_ENERGY_VALUES = "pre-assigned-energy-values.json"; - public static final String POST_ASSIGNED_ENERGY_VALUES = "post-assigned-energy-values.json"; + public static final String PRE_CALCULATION_ENERGY_VALUES = "pre-calculation-energy-values.json"; + public static final String POST_CALCULATION_ENERGY_VALUES = "post-calculation-energy-values.json"; public static final String TEMPLATE_JSON_FILE = "template.json"; public static final String ABILITIES_JSON_FILE = "abilities.json"; public static final String STATIC_ENERGY_VALUES_JSON = "energy-values.json.gz"; + + public static class Global + { + public static File dataDirectory; + + public static File preCalcluationEnergyValueFile; + public static File postCalcluationEnergyValueFile; + + public static File abilityFile; + + public static File templateTransmutationKnowledgeFile; + + public static void init(FMLPreInitializationEvent event) + { + dataDirectory = new File(event.getModConfigurationDirectory().getParentFile(), "data" + File.separator + Reference.LOWERCASE_MOD_ID); + dataDirectory.mkdirs(); + + File energyValueDataDirectory = new File(dataDirectory, "energyvalues"); + energyValueDataDirectory.mkdirs(); + preCalcluationEnergyValueFile = new File(energyValueDataDirectory, PRE_CALCULATION_ENERGY_VALUES); + postCalcluationEnergyValueFile = new File(energyValueDataDirectory, POST_CALCULATION_ENERGY_VALUES); + + File abilityDataDirectory = new File(dataDirectory, "abilities"); + abilityDataDirectory.mkdirs(); + abilityFile = new File(abilityDataDirectory, ABILITIES_JSON_FILE); + + File knowledgeDataDirectory = new File(dataDirectory, "knowledge"); + knowledgeDataDirectory.mkdirs(); + templateTransmutationKnowledgeFile = new File(knowledgeDataDirectory, TEMPLATE_JSON_FILE); + } + } } diff --git a/src/main/java/com/pahimar/ee3/test/VanillaEnergyValueTest.java b/src/main/java/com/pahimar/ee3/test/VanillaEnergyValueTest.java index b5260467..8e437cc7 100644 --- a/src/main/java/com/pahimar/ee3/test/VanillaEnergyValueTest.java +++ b/src/main/java/com/pahimar/ee3/test/VanillaEnergyValueTest.java @@ -486,63 +486,63 @@ public class VanillaEnergyValueTest extends EnergyValueMappingsTestSuite { add(Items.ghast_tear, 4096); add(new ItemStack(Items.potionitem, 1, 0), 2); - add(new ItemStack(Items.potionitem, 1, 16), 26); - add(new ItemStack(Items.potionitem, 1, 8193), 4122); - add(new ItemStack(Items.potionitem, 1, 8225), 4506); - add(new ItemStack(Items.potionitem, 1, 8257), 4154); - add(new ItemStack(Items.potionitem, 1, 16385), 4314); - add(new ItemStack(Items.potionitem, 1, 16417), 4698); - add(new ItemStack(Items.potionitem, 1, 16449), 4346); - add(new ItemStack(Items.potionitem, 1, 8194), 58); - add(new ItemStack(Items.potionitem, 1, 8226), 442); - add(new ItemStack(Items.potionitem, 1, 8258), 90); - add(new ItemStack(Items.potionitem, 1, 16386), 250); - add(new ItemStack(Items.potionitem, 1, 16418), 634); - add(new ItemStack(Items.potionitem, 1, 16450), 282); + add(new ItemStack(Items.potionitem, 1, 16), 8.667); + add(new ItemStack(Items.potionitem, 1, 8193), 1368.222); + add(new ItemStack(Items.potionitem, 1, 8225), 163.064); + add(new ItemStack(Items.potionitem, 1, 8257), 76.151); + add(new ItemStack(Items.potionitem, 1, 16385), 520.074); + add(new ItemStack(Items.potionitem, 1, 16417), 129.484); + add(new ItemStack(Items.potionitem, 1, 16449), 63.509); + add(new ItemStack(Items.potionitem, 1, 8194), 13.556); + add(new ItemStack(Items.potionitem, 1, 8226), 132.519); + add(new ItemStack(Items.potionitem, 1, 8258), 15.185); + add(new ItemStack(Items.potionitem, 1, 16386), 68.519); + add(new ItemStack(Items.potionitem, 1, 16418), 108.173); + add(new ItemStack(Items.potionitem, 1, 16450), 33.506); add(new ItemStack(Items.potionitem, 1, 8227), null); add(new ItemStack(Items.potionitem, 1, 8259), null); add(new ItemStack(Items.potionitem, 1, 16419), null); add(new ItemStack(Items.potionitem, 1, 16451), null); - add(new ItemStack(Items.potionitem, 1, 8196), 154); - add(new ItemStack(Items.potionitem, 1, 8228), 538); - add(new ItemStack(Items.potionitem, 1, 8260), 570); - add(new ItemStack(Items.potionitem, 1, 16388), 346); - add(new ItemStack(Items.potionitem, 1, 16420), 730); - add(new ItemStack(Items.potionitem, 1, 16452), 762); + add(new ItemStack(Items.potionitem, 1, 8196), 45.556); + add(new ItemStack(Items.potionitem, 1, 8228), 138.044); + add(new ItemStack(Items.potionitem, 1, 8260), 20.711); + add(new ItemStack(Items.potionitem, 1, 16388), 79.185); + add(new ItemStack(Items.potionitem, 1, 16420), 111.728); + add(new ItemStack(Items.potionitem, 1, 16452), 26.636); add(new ItemStack(Items.potionitem, 1, 8261), null); - add(new ItemStack(Items.potionitem, 1, 8229), 2246.448); + add(new ItemStack(Items.potionitem, 1, 8229), 168.557); add(new ItemStack(Items.potionitem, 1, 16453), null); - add(new ItemStack(Items.potionitem, 1, 16421), 2438.448); + add(new ItemStack(Items.potionitem, 1, 16421), 120.186); add(new ItemStack(Items.potionitem, 1, 8230), null); - add(new ItemStack(Items.potionitem, 1, 8262), 1902.448); + add(new ItemStack(Items.potionitem, 1, 8262), 77.396); add(new ItemStack(Items.potionitem, 1, 16422), null); - add(new ItemStack(Items.potionitem, 1, 16454), 2094.448); + add(new ItemStack(Items.potionitem, 1, 16454), 54.243); add(new ItemStack(Items.potionitem, 1, 8232), null); - add(new ItemStack(Items.potionitem, 1, 8264), 226); + add(new ItemStack(Items.potionitem, 1, 8264), 32.963); add(new ItemStack(Items.potionitem, 1, 16424), null); - add(new ItemStack(Items.potionitem, 1, 16456), 418); - add(new ItemStack(Items.potionitem, 1, 8201), 794); - add(new ItemStack(Items.potionitem, 1, 8233), 1178); - add(new ItemStack(Items.potionitem, 1, 8265), 826); - add(new ItemStack(Items.potionitem, 1, 16393), 986); - add(new ItemStack(Items.potionitem, 1, 16425), 1370); - add(new ItemStack(Items.potionitem, 1, 16457), 1018); + add(new ItemStack(Items.potionitem, 1, 16456), 39.432); + add(new ItemStack(Items.potionitem, 1, 8201), 258.889); + add(new ItemStack(Items.potionitem, 1, 8233), 149.369); + add(new ItemStack(Items.potionitem, 1, 8265), 62.455); + add(new ItemStack(Items.potionitem, 1, 16393), 150.296); + add(new ItemStack(Items.potionitem, 1, 16425), 115.789); + add(new ItemStack(Items.potionitem, 1, 16457), 49.813); add(new ItemStack(Items.potionitem, 1, 8234), null); - add(new ItemStack(Items.potionitem, 1, 8266), 634); + add(new ItemStack(Items.potionitem, 1, 8266), 85.468); add(new ItemStack(Items.potionitem, 1, 16426), null); - add(new ItemStack(Items.potionitem, 1, 16458), 826); + add(new ItemStack(Items.potionitem, 1, 16458), 84.551); add(new ItemStack(Items.potionitem, 1, 8268), null); - add(new ItemStack(Items.potionitem, 1, 8236), 730); + add(new ItemStack(Items.potionitem, 1, 8236), 111.728); add(new ItemStack(Items.potionitem, 1, 16460), null); - add(new ItemStack(Items.potionitem, 1, 16428), 922); + add(new ItemStack(Items.potionitem, 1, 16428), 101.243); add(new ItemStack(Items.potionitem, 1, 8237), null); add(new ItemStack(Items.potionitem, 1, 8269), null); add(new ItemStack(Items.potionitem, 1, 16429), null); add(new ItemStack(Items.potionitem, 1, 16461), null); add(new ItemStack(Items.potionitem, 1, 8238), null); - add(new ItemStack(Items.potionitem, 1, 8270), 2094.448); + add(new ItemStack(Items.potionitem, 1, 8270), 54.243); add(new ItemStack(Items.potionitem, 1, 16430), null); - add(new ItemStack(Items.potionitem, 1, 16462), 2286.448); + add(new ItemStack(Items.potionitem, 1, 16462), 61.989); add(Items.glass_bottle, 1); add(Items.fermented_spider_eye, 192); add(Items.blaze_powder, 768); diff --git a/src/main/java/com/pahimar/ee3/util/SerializationHelper.java b/src/main/java/com/pahimar/ee3/util/SerializationHelper.java index 5fa4d256..09020187 100644 --- a/src/main/java/com/pahimar/ee3/util/SerializationHelper.java +++ b/src/main/java/com/pahimar/ee3/util/SerializationHelper.java @@ -21,17 +21,17 @@ import java.util.*; public class SerializationHelper { - private static File dataDirectory; - private static File playerDataDirectory; + private static File instanceDataDirectory; + private static File instancePlayerDataDirectory; /** * Returns a File reference to the mod specific directory in the data directory * * @return */ - public static File getDataDirectory() + public static File getInstanceDataDirectory() { - return dataDirectory; + return instanceDataDirectory; } /** @@ -39,9 +39,9 @@ public class SerializationHelper * * @return */ - public static File getPlayerDataDirectory() + public static File getInstancePlayerDataDirectory() { - return playerDataDirectory; + return instancePlayerDataDirectory; } /** @@ -49,11 +49,11 @@ public class SerializationHelper */ public static void initModDataDirectories() { - dataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "data" + File.separator + Reference.LOWERCASE_MOD_ID); - dataDirectory.mkdirs(); + instanceDataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "data" + File.separator + Reference.LOWERCASE_MOD_ID); + instanceDataDirectory.mkdirs(); - playerDataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "playerdata" + File.separator + Reference.LOWERCASE_MOD_ID); - playerDataDirectory.mkdirs(); + instancePlayerDataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "playerdata" + File.separator + Reference.LOWERCASE_MOD_ID); + instancePlayerDataDirectory.mkdirs(); } public static String getModListMD5() diff --git a/src/main/resources/assets/ee3/lang/en_US.lang b/src/main/resources/assets/ee3/lang/en_US.lang index 0b2830bd..d135dea6 100644 --- a/src/main/resources/assets/ee3/lang/en_US.lang +++ b/src/main/resources/assets/ee3/lang/en_US.lang @@ -132,9 +132,9 @@ commands.ee3.usage=/ee3 commands.ee3.player-not-found.error=Player with name %s was not found on the server commands.ee3.invalid-nbt-tag.error=Data tag parsing failed: %s commands.ee3.no-item.error=No current item -commands.ee3.set-energy-value.usage=/ee3 set-energy-value
   [data] [dataTag] OR /ee3 set-energy-value    [data] [dataTag]
+commands.ee3.set-energy-value.usage=/ee3 set-energy-value    [data] [dataTag]
 commands.ee3.set-energy-value.success=%s set a %s EnergyValue of %s to %s
-commands.ee3.set-energy-value-current-item.usage=/ee3 set-energy-value-current-item 
  OR /ee3 set-energy-value-current-item  
+commands.ee3.set-energy-value-current-item.usage=/ee3 set-energy-value-current-item  
 commands.ee3.set-energy-value-current-item.success=%s set a %s EnergyValue of %s to %s
 commands.ee3.sync-energy-values.usage=/ee3 sync-energy-values
 commands.ee3.sync-energy-values.success=Successfully synchronized energy values with the server
diff --git a/src/test/resources/minecraft-v1710-vanilla-test-suite.json b/src/test/resources/minecraft-v1710-vanilla-test-suite.json
index 6ecd4733..7ab89864 100644
--- a/src/test/resources/minecraft-v1710-vanilla-test-suite.json
+++ b/src/test/resources/minecraft-v1710-vanilla-test-suite.json
@@ -5115,7 +5115,7 @@
             }
         },
         "energyValue": {
-            "value": 26.0
+            "value": 8.667
         }
     },
     {
@@ -5128,7 +5128,7 @@
             }
         },
         "energyValue": {
-            "value": 4122.0
+            "value": 1368.222
         }
     },
     {
@@ -5141,7 +5141,7 @@
             }
         },
         "energyValue": {
-            "value": 58.0
+            "value": 13.556
         }
     },
     {
@@ -5154,7 +5154,7 @@
             }
         },
         "energyValue": {
-            "value": 154.0
+            "value": 45.556
         }
     },
     {
@@ -5167,7 +5167,7 @@
             }
         },
         "energyValue": {
-            "value": 794.0
+            "value": 258.889
         }
     },
     {
@@ -5180,7 +5180,7 @@
             }
         },
         "energyValue": {
-            "value": 4506.0
+            "value": 163.064
         }
     },
     {
@@ -5193,7 +5193,7 @@
             }
         },
         "energyValue": {
-            "value": 442.0
+            "value": 132.519
         }
     },
     {
@@ -5216,7 +5216,7 @@
             }
         },
         "energyValue": {
-            "value": 538.0
+            "value": 138.044
         }
     },
     {
@@ -5229,7 +5229,7 @@
             }
         },
         "energyValue": {
-            "value": 2246.448
+            "value": 168.557
         }
     },
     {
@@ -5262,7 +5262,7 @@
             }
         },
         "energyValue": {
-            "value": 1178.0
+            "value": 149.369
         }
     },
     {
@@ -5285,7 +5285,7 @@
             }
         },
         "energyValue": {
-            "value": 730.0
+            "value": 111.728
         }
     },
     {
@@ -5318,7 +5318,7 @@
             }
         },
         "energyValue": {
-            "value": 4154.0
+            "value": 76.151
         }
     },
     {
@@ -5331,7 +5331,7 @@
             }
         },
         "energyValue": {
-            "value": 90.0
+            "value": 15.185
         }
     },
     {
@@ -5354,7 +5354,7 @@
             }
         },
         "energyValue": {
-            "value": 570.0
+            "value": 20.711
         }
     },
     {
@@ -5377,7 +5377,7 @@
             }
         },
         "energyValue": {
-            "value": 1902.448
+            "value": 77.396
         }
     },
     {
@@ -5390,7 +5390,7 @@
             }
         },
         "energyValue": {
-            "value": 226.0
+            "value": 32.963
         }
     },
     {
@@ -5403,7 +5403,7 @@
             }
         },
         "energyValue": {
-            "value": 826.0
+            "value": 62.455
         }
     },
     {
@@ -5416,7 +5416,7 @@
             }
         },
         "energyValue": {
-            "value": 634.0
+            "value": 85.468
         }
     },
     {
@@ -5449,7 +5449,7 @@
             }
         },
         "energyValue": {
-            "value": 2094.448
+            "value": 54.243
         }
     },
     {
@@ -5462,7 +5462,7 @@
             }
         },
         "energyValue": {
-            "value": 4314.0
+            "value": 520.074
         }
     },
     {
@@ -5475,7 +5475,7 @@
             }
         },
         "energyValue": {
-            "value": 250.0
+            "value": 68.519
         }
     },
     {
@@ -5488,7 +5488,7 @@
             }
         },
         "energyValue": {
-            "value": 346.0
+            "value": 79.185
         }
     },
     {
@@ -5501,7 +5501,7 @@
             }
         },
         "energyValue": {
-            "value": 986.0
+            "value": 150.296
         }
     },
     {
@@ -5514,7 +5514,7 @@
             }
         },
         "energyValue": {
-            "value": 4698.0
+            "value": 129.484
         }
     },
     {
@@ -5527,7 +5527,7 @@
             }
         },
         "energyValue": {
-            "value": 634.0
+            "value": 108.173
         }
     },
     {
@@ -5550,7 +5550,7 @@
             }
         },
         "energyValue": {
-            "value": 730.0
+            "value": 111.728
         }
     },
     {
@@ -5563,7 +5563,7 @@
             }
         },
         "energyValue": {
-            "value": 2438.448
+            "value": 120.186
         }
     },
     {
@@ -5596,7 +5596,7 @@
             }
         },
         "energyValue": {
-            "value": 1370.0
+            "value": 115.789
         }
     },
     {
@@ -5619,7 +5619,7 @@
             }
         },
         "energyValue": {
-            "value": 922.0
+            "value": 101.243
         }
     },
     {
@@ -5652,7 +5652,7 @@
             }
         },
         "energyValue": {
-            "value": 4346.0
+            "value": 63.509
         }
     },
     {
@@ -5665,7 +5665,7 @@
             }
         },
         "energyValue": {
-            "value": 282.0
+            "value": 33.506
         }
     },
     {
@@ -5688,7 +5688,7 @@
             }
         },
         "energyValue": {
-            "value": 762.0
+            "value": 26.636
         }
     },
     {
@@ -5711,7 +5711,7 @@
             }
         },
         "energyValue": {
-            "value": 2094.448
+            "value": 54.243
         }
     },
     {
@@ -5724,7 +5724,7 @@
             }
         },
         "energyValue": {
-            "value": 418.0
+            "value": 39.432
         }
     },
     {
@@ -5737,7 +5737,7 @@
             }
         },
         "energyValue": {
-            "value": 1018.0
+            "value": 49.813
         }
     },
     {
@@ -5750,7 +5750,7 @@
             }
         },
         "energyValue": {
-            "value": 826.0
+            "value": 84.551
         }
     },
     {
@@ -5783,7 +5783,7 @@
             }
         },
         "energyValue": {
-            "value": 2286.448
+            "value": 61.989
         }
     },
     {

From a196413c205c52cba1c208c794a0d017f80804bc Mon Sep 17 00:00:00 2001
From: pahimar 
Date: Wed, 10 Jun 2015 07:43:13 -0400
Subject: [PATCH 5/6] Remove unused inner class

---
 src/main/java/com/pahimar/ee3/reference/Names.java | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/src/main/java/com/pahimar/ee3/reference/Names.java b/src/main/java/com/pahimar/ee3/reference/Names.java
index 2f472600..5621feed 100644
--- a/src/main/java/com/pahimar/ee3/reference/Names.java
+++ b/src/main/java/com/pahimar/ee3/reference/Names.java
@@ -19,14 +19,6 @@ public class Names
         public static final String DUMMY_ARRAY = "dummyArray";
     }
 
-    public static final class TileEntities
-    {
-        private static final String PREFIX = "tile.ee3:";
-        private static final String SUFFIX = ".name";
-
-        public static final String ALCHEMICAL_CHEST = PREFIX + Blocks.ALCHEMICAL_CHEST + SUFFIX;
-    }
-
     public static final class Items
     {
         public static final String ALCHEMICAL_BAG = "alchemicalBag";

From b59fe4f64bcdcf4595e7ccb639d873d581c471ae Mon Sep 17 00:00:00 2001
From: pahimar 
Date: Wed, 10 Jun 2015 07:47:22 -0400
Subject: [PATCH 6/6] Didn't even think to deprecated Enum entries - doh

---
 .../ee3/api/exchange/EnergyValueRegistryProxy.java  | 13 +++++++++++++
 .../pahimar/ee3/exchange/EnergyValueRegistry.java   |  8 ++++----
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/pahimar/ee3/api/exchange/EnergyValueRegistryProxy.java b/src/main/java/com/pahimar/ee3/api/exchange/EnergyValueRegistryProxy.java
index cf61d154..82c47d3d 100644
--- a/src/main/java/com/pahimar/ee3/api/exchange/EnergyValueRegistryProxy.java
+++ b/src/main/java/com/pahimar/ee3/api/exchange/EnergyValueRegistryProxy.java
@@ -177,9 +177,22 @@ public final class EnergyValueRegistryProxy
 
     public enum Phase
     {
+        /**
+         * @Deprecated Use PRE_CALCULATION instead
+         */
+        @Deprecated PRE_ASSIGNMENT,
+
         PRE_CALCULATION,
+
+        /**
+         * @Deprecated Use POST_CALCULATION instead
+         */
+        @Deprecated POST_ASSIGNMENT,
+
         POST_CALCULATION,
+
         RUNTIME,
+
         ALL
     }
 }
diff --git a/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java b/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java
index 2d9cf787..51df1939 100644
--- a/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java
+++ b/src/main/java/com/pahimar/ee3/exchange/EnergyValueRegistry.java
@@ -137,11 +137,11 @@ public class EnergyValueRegistry implements JsonSerializer,
 
     public EnergyValue getEnergyValue(EnergyValueRegistryProxy.Phase phase, Object object, boolean strict)
     {
-        if (phase == EnergyValueRegistryProxy.Phase.PRE_CALCULATION)
+        if (phase == EnergyValueRegistryProxy.Phase.PRE_ASSIGNMENT || phase == EnergyValueRegistryProxy.Phase.PRE_CALCULATION)
         {
             return getEnergyValueFromMap(preCalculationMappings, object, strict);
         }
-        else if (phase == EnergyValueRegistryProxy.Phase.POST_CALCULATION)
+        else if (phase == EnergyValueRegistryProxy.Phase.POST_ASSIGNMENT || phase == EnergyValueRegistryProxy.Phase.POST_CALCULATION)
         {
             return getEnergyValueFromMap(postCalculationMappings, object, strict);
         }
@@ -832,14 +832,14 @@ public class EnergyValueRegistry implements JsonSerializer,
     public void dumpEnergyValueRegistryToLog(EnergyValueRegistryProxy.Phase phase)
     {
         LogHelper.info(String.format("BEGIN DUMPING %s ENERGY VALUE MAPPINGS", phase));
-        if (phase == EnergyValueRegistryProxy.Phase.PRE_CALCULATION)
+        if (phase == EnergyValueRegistryProxy.Phase.PRE_ASSIGNMENT || phase == EnergyValueRegistryProxy.Phase.PRE_CALCULATION)
         {
             for (WrappedStack wrappedStack : this.preCalculationMappings.keySet())
             {
                 LogHelper.info(String.format("- Object: %s, Value: %s", wrappedStack, EnergyValueRegistry.getInstance().getStackValueMap().get(wrappedStack)));
             }
         }
-        else if (phase == EnergyValueRegistryProxy.Phase.POST_CALCULATION)
+        else if (phase == EnergyValueRegistryProxy.Phase.POST_ASSIGNMENT || phase == EnergyValueRegistryProxy.Phase.POST_CALCULATION)
         {
             if (this.postCalculationMappings != null)
             {