From 03068d7ddbac45ee49f7ab067138e5e886c0becf Mon Sep 17 00:00:00 2001 From: MysteriousAges Date: Tue, 25 Aug 2015 17:31:25 -0700 Subject: [PATCH] Moving to Forestry 3.6; updating deprecated methods to new versions. --- build.gradle | 3 + gradle.properties | 4 +- .../java/magicbees/bees/BeeProductHelper.java | 452 +++++++++--------- src/main/java/magicbees/bees/BeeSpecies.java | 40 +- .../allele/flowerProvider/FlowerImpl.java | 50 ++ .../allele/flowerProvider/FlowerProvider.java | 50 ++ .../FlowerProviderArsMagicaFlower.java | 28 +- .../FlowerProviderAuraNode.java | 47 +- .../FlowerProviderBookshelf.java | 18 +- .../flowerProvider/FlowerProviderBotania.java | 14 +- .../FlowerProviderThaumcraftFlower.java | 25 +- .../magicbees/main/utils/CraftingManager.java | 299 +++++++----- .../main/utils/compat/ThaumcraftHelper.java | 1 + .../magicbees/storage/BackpackDefinition.java | 12 - .../tileentity/EffectJarHousing.java | 27 +- .../tileentity/TileEntityMagicApiary.java | 40 +- 16 files changed, 631 insertions(+), 479 deletions(-) create mode 100644 src/main/java/magicbees/bees/allele/flowerProvider/FlowerImpl.java create mode 100644 src/main/java/magicbees/bees/allele/flowerProvider/FlowerProvider.java diff --git a/build.gradle b/build.gradle index 3703214..51f5fbf 100644 --- a/build.gradle +++ b/build.gradle @@ -74,3 +74,6 @@ task deobfJar(type: Jar) { // Generate deobfuscated from sourceSets.main.output classifier = 'deobf' } + +task fullBuild(dependsOn: ['build', 'deobfJar']) { +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 0cc4e67..07384a2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ version_major=2 version_minor=3 -version_rev=3 +version_rev=4 -version_forestry=3.4.0.7 +version_forestry=3.6.3.20 version_bloodmagic=1.3.3-4 version_botania=r1.6-197 diff --git a/src/main/java/magicbees/bees/BeeProductHelper.java b/src/main/java/magicbees/bees/BeeProductHelper.java index b0ca053..3f824d1 100644 --- a/src/main/java/magicbees/bees/BeeProductHelper.java +++ b/src/main/java/magicbees/bees/BeeProductHelper.java @@ -26,212 +26,212 @@ import static magicbees.bees.BeeSpecies.*; public class BeeProductHelper { public static void initBaseProducts() { - MYSTICAL.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 15); - SORCEROUS.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 15); - UNUSUAL.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 15); - ATTUNED.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 15); - ELDRITCH.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 15); + MYSTICAL.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 0.15f); + SORCEROUS.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 0.15f); + UNUSUAL.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 0.15f); + ATTUNED.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 0.15f); + ELDRITCH.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 0.15f); - ESOTERIC.addProduct(Config.combs.getStackForType(CombType.OCCULT), 18); - MYSTERIOUS.addProduct(Config.combs.getStackForType(CombType.OCCULT), 20); - ARCANE.addProduct(Config.combs.getStackForType(CombType.OCCULT), 25) - .addSpecialty(Config.drops.getStackForType(DropType.ENCHANTED, 1), 9); + ESOTERIC.addProduct(Config.combs.getStackForType(CombType.OCCULT), 0.18f); + MYSTERIOUS.addProduct(Config.combs.getStackForType(CombType.OCCULT), 0.20f); + ARCANE.addProduct(Config.combs.getStackForType(CombType.OCCULT), 0.25f) + .addSpecialty(Config.drops.getStackForType(DropType.ENCHANTED, 1), 0.9f); - CHARMED.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 18); - ENCHANTED.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 20); - SUPERNATURAL.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 25) - .addSpecialty(Config.pollen.getStackForType(PollenType.UNUSUAL), 8); + CHARMED.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 0.18f); + ENCHANTED.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 0.20f); + SUPERNATURAL.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 0.25f) + .addSpecialty(Config.pollen.getStackForType(PollenType.UNUSUAL), 0.8f); - ETHEREAL.addProduct(Config.combs.getStackForType(CombType.OCCULT), 10) - .addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 10); + ETHEREAL.addProduct(Config.combs.getStackForType(CombType.OCCULT), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 0.10f); - WINDY.addProduct(Config.combs.getStackForType(CombType.AIRY), 25); - FIREY.addProduct(Config.combs.getStackForType(CombType.FIREY), 25); - EARTHY.addProduct(Config.combs.getStackForType(CombType.EARTHY), 25); - WATERY.addProduct(Config.combs.getStackForType(CombType.WATERY), 25) - .addSpecialty(new ItemStack(Blocks.ice), 2); + WINDY.addProduct(Config.combs.getStackForType(CombType.AIRY), 0.25f); + FIREY.addProduct(Config.combs.getStackForType(CombType.FIREY), 0.25f); + EARTHY.addProduct(Config.combs.getStackForType(CombType.EARTHY), 0.25f); + WATERY.addProduct(Config.combs.getStackForType(CombType.WATERY), 0.25f) + .addSpecialty(new ItemStack(Blocks.ice), 0.025f); - PUPIL.addProduct(Config.combs.getStackForType(CombType.PAPERY), 20); - SCHOLARLY.addProduct(Config.combs.getStackForType(CombType.PAPERY), 25); - SAVANT.addProduct(Config.combs.getStackForType(CombType.PAPERY), 40); + PUPIL.addProduct(Config.combs.getStackForType(CombType.PAPERY), 0.20f); + SCHOLARLY.addProduct(Config.combs.getStackForType(CombType.PAPERY), 0.25f); + SAVANT.addProduct(Config.combs.getStackForType(CombType.PAPERY), 0.40f); - AWARE.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 18); - SPIRIT.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 22) - .addSpecialty(Config.combs.getStackForType(CombType.SOUL), 16); - SOUL.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 28) - .addSpecialty(Config.combs.getStackForType(CombType.SOUL), 20); + AWARE.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 0.18f); + SPIRIT.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 0.22f) + .addSpecialty(Config.combs.getStackForType(CombType.SOUL), 0.16f); + SOUL.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 0.28f) + .addSpecialty(Config.combs.getStackForType(CombType.SOUL), 0.20f); - SKULKING.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 10); - GHASTLY.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 8) - .addSpecialty(new ItemStack(Items.ghast_tear), 2); - SPIDERY.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 13) - .addProduct(new ItemStack(Items.string), 8) - .addSpecialty(new ItemStack(Items.spider_eye), 8); - SMOULDERING.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 10) - .addProduct(Config.combs.getStackForType(CombType.MOLTEN), 10) - .addSpecialty(new ItemStack(Items.blaze_rod), 5); - BIGBAD.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 18) - .addProduct(new ItemStack(Items.beef), 12) - .addProduct(new ItemStack(Items.chicken), 12) - .addSpecialty(new ItemStack(Items.melon), 20); + SKULKING.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.10f); + GHASTLY.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.8f) + .addSpecialty(new ItemStack(Items.ghast_tear), 0.099f); + SPIDERY.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.13f) + .addProduct(new ItemStack(Items.string), 0.08f) + .addSpecialty(new ItemStack(Items.spider_eye), 0.08f); + SMOULDERING.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.MOLTEN), 0.10f) + .addSpecialty(new ItemStack(Items.blaze_rod), 0.05f); + BIGBAD.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.18f) + .addProduct(new ItemStack(Items.beef), 0.12f) + .addProduct(new ItemStack(Items.chicken), 0.12f) + .addSpecialty(new ItemStack(Items.melon), 0.20f); - TIMELY.addProduct(Config.combs.getStackForType(CombType.TEMPORAL), 16); - LORDLY.addProduct(Config.combs.getStackForType(CombType.TEMPORAL), 19); - DOCTORAL.addProduct(Config.combs.getStackForType(CombType.TEMPORAL), 24) - .addSpecialty(new ItemStack(Config.jellyBaby), 7); + TIMELY.addProduct(Config.combs.getStackForType(CombType.TEMPORAL), 0.16f); + LORDLY.addProduct(Config.combs.getStackForType(CombType.TEMPORAL), 0.19f); + DOCTORAL.addProduct(Config.combs.getStackForType(CombType.TEMPORAL), 0.24f) + .addSpecialty(new ItemStack(Config.jellyBaby), 0.078f); - INFERNAL.addProduct(Config.combs.getStackForType(CombType.MOLTEN), 12); - HATEFUL.addProduct(Config.combs.getStackForType(CombType.MOLTEN), 18); - SPITEFUL.addProduct(Config.combs.getStackForType(CombType.MOLTEN), 24); - WITHERING.addSpecialty(Config.miscResources.getStackForType(ResourceType.SKULL_CHIP), 15); + INFERNAL.addProduct(Config.combs.getStackForType(CombType.MOLTEN), 0.12f); + HATEFUL.addProduct(Config.combs.getStackForType(CombType.MOLTEN), 0.18f); + SPITEFUL.addProduct(Config.combs.getStackForType(CombType.MOLTEN), 0.24f); + WITHERING.addSpecialty(Config.miscResources.getStackForType(ResourceType.SKULL_CHIP), 0.15f); - OBLIVION.addProduct(Config.combs.getStackForType(CombType.FORGOTTEN), 14); - NAMELESS.addProduct(Config.combs.getStackForType(CombType.FORGOTTEN), 19); - ABANDONED.addProduct(Config.combs.getStackForType(CombType.FORGOTTEN), 24); - FORLORN.addProduct(Config.combs.getStackForType(CombType.FORGOTTEN), 30); - DRACONIC.addSpecialty(Config.miscResources.getStackForType(ResourceType.DRAGON_DUST), 15); + OBLIVION.addProduct(Config.combs.getStackForType(CombType.FORGOTTEN), 0.14f); + NAMELESS.addProduct(Config.combs.getStackForType(CombType.FORGOTTEN), 0.19f); + ABANDONED.addProduct(Config.combs.getStackForType(CombType.FORGOTTEN), 0.24f); + FORLORN.addProduct(Config.combs.getStackForType(CombType.FORGOTTEN), 0.30f); + DRACONIC.addSpecialty(Config.miscResources.getStackForType(ResourceType.DRAGON_DUST), 0.15f); - IRON.addProduct(ForestryHelper.itemHoneycomb, 10) - .addSpecialty(Config.nuggets.getStackForType(NuggetType.IRON), 18); - GOLD.addProduct(ForestryHelper.itemHoneycomb, 10) - .addSpecialty(new ItemStack(Items.gold_nugget, 1), 16); - DIAMOND.addProduct(ForestryHelper.itemHoneycomb, 10) - .addSpecialty(Config.nuggets.getStackForType(NuggetType.DIAMOND), 6); - EMERALD.addProduct(ForestryHelper.itemHoneycomb, 10) - .addSpecialty(Config.nuggets.getStackForType(NuggetType.EMERALD), 4); - COPPER.addProduct(ForestryHelper.itemHoneycomb, 10) - .addSpecialty(Config.nuggets.getStackForType(NuggetType.COPPER), 20); - TIN.addProduct(ForestryHelper.itemHoneycomb, 10) - .addSpecialty(Config.nuggets.getStackForType(NuggetType.TIN), 20); - APATITE.addProduct(ForestryHelper.itemHoneycomb, 10) - .addSpecialty(Config.nuggets.getStackForType(NuggetType.APATITE), 10); + IRON.addProduct(ForestryHelper.itemHoneycomb, 0.10f) + .addSpecialty(Config.nuggets.getStackForType(NuggetType.IRON), 0.18f); + GOLD.addProduct(ForestryHelper.itemHoneycomb, 0.10f) + .addSpecialty(new ItemStack(Items.gold_nugget, 1), 0.16f); + DIAMOND.addProduct(ForestryHelper.itemHoneycomb, 0.10f) + .addSpecialty(Config.nuggets.getStackForType(NuggetType.DIAMOND), 0.6f); + EMERALD.addProduct(ForestryHelper.itemHoneycomb, 0.10f) + .addSpecialty(Config.nuggets.getStackForType(NuggetType.EMERALD), 0.4f); + COPPER.addProduct(ForestryHelper.itemHoneycomb, 0.10f) + .addSpecialty(Config.nuggets.getStackForType(NuggetType.COPPER), 0.20f); + TIN.addProduct(ForestryHelper.itemHoneycomb, 0.10f) + .addSpecialty(Config.nuggets.getStackForType(NuggetType.TIN), 0.20f); + APATITE.addProduct(ForestryHelper.itemHoneycomb, 0.10f) + .addSpecialty(Config.nuggets.getStackForType(NuggetType.APATITE), 0.10f); - MUTABLE.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.PARCHED.ordinal()), 30) - .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 10); - TRANSMUTING.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.PARCHED.ordinal()), 10) - .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 30) - .addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.SILKY.ordinal()), 5) - .addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.SIMMERING.ordinal()), 5); - CRUMBLING.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.PARCHED.ordinal()), 10) - .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 30) - .addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.POWDERY.ordinal()), 10) - .addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.COCOA.ordinal()), 15); + MUTABLE.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.PARCHED.ordinal()), 0.30f) + .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 0.10f); + TRANSMUTING.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.PARCHED.ordinal()), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 0.30f) + .addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.SILKY.ordinal()), 0.5f) + .addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.SIMMERING.ordinal()), 0.5f); + CRUMBLING.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.PARCHED.ordinal()), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 0.30f) + .addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.POWDERY.ordinal()), 0.10f) + .addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.COCOA.ordinal()), 0.15f); - INVISIBLE.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 35); + INVISIBLE.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 0.35f); } public static void initOreDictSProducts() { - SILVER.addProduct(ForestryHelper.itemHoneycomb, 10); + SILVER.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("ingotSilver").size() > 0) { - SILVER.addSpecialty(Config.nuggets.getStackForType(NuggetType.SILVER), 16); + SILVER.addSpecialty(Config.nuggets.getStackForType(NuggetType.SILVER), 0.16f); } else { SILVER.setInactive(); } - LEAD.addProduct(ForestryHelper.itemHoneycomb, 10); + LEAD.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("ingotLead").size() > 0) { - LEAD.addSpecialty(Config.nuggets.getStackForType(NuggetType.LEAD), 17); + LEAD.addSpecialty(Config.nuggets.getStackForType(NuggetType.LEAD), 0.17f); } else { LEAD.setInactive(); } - ALUMINUM.addProduct(ForestryHelper.itemHoneycomb, 10); + ALUMINUM.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("nuggetAluminum").size() > 0) { - ALUMINUM.addSpecialty(OreDictionary.getOres("nuggetAluminum").get(0), 20); + ALUMINUM.addSpecialty(OreDictionary.getOres("nuggetAluminum").get(0), 0.20f); } else { ALUMINUM.setInactive(); } - TE_PLATINUM.addProduct(ForestryHelper.itemHoneycomb, 10); + TE_PLATINUM.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("nuggetPlatinum").size() > 0&& OreDictionary.getOres("ingotPlatinum").size() > 0) { - TE_PLATINUM.addSpecialty(OreDictionary.getOres("nuggetPlatinum").get(0), 18); + TE_PLATINUM.addSpecialty(OreDictionary.getOres("nuggetPlatinum").get(0), 0.18f); } else { TE_PLATINUM.setInactive(); } - TE_NICKEL.addProduct(ForestryHelper.itemHoneycomb, 10); + TE_NICKEL.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("nuggetNickel").size() > 0 && OreDictionary.getOres("ingotNickel").size() > 0) { - TE_NICKEL.addSpecialty(OreDictionary.getOres("nuggetNickel").get(0), 18); + TE_NICKEL.addSpecialty(OreDictionary.getOres("nuggetNickel").get(0), 0.18f); } else { TE_NICKEL.setInactive(); } - ARDITE.addProduct(ForestryHelper.itemHoneycomb, 10); + ARDITE.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("nuggetArdite").size() > 0) { - ARDITE.addSpecialty(OreDictionary.getOres("nuggetArdite").get(0), 18); + ARDITE.addSpecialty(OreDictionary.getOres("nuggetArdite").get(0), 0.18f); } else { ARDITE.setInactive(); } - COBALT.addProduct(ForestryHelper.itemHoneycomb, 10); + COBALT.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("nuggetCobalt").size() > 0) { - COBALT.addSpecialty(OreDictionary.getOres("nuggetCobalt").get(0), 18); + COBALT.addSpecialty(OreDictionary.getOres("nuggetCobalt").get(0), 0.18f); } if (OreDictionary.getOres("nuggetNaturalCobalt").size() > 0) { - COBALT.addSpecialty(OreDictionary.getOres("nuggetNaturalCobalt").get(0), 24); + COBALT.addSpecialty(OreDictionary.getOres("nuggetNaturalCobalt").get(0), 0.24f); } - if (COBALT.getSpecialty().size() <= 0) { + if (COBALT.getSpecialtyChances().size() <= 0) { COBALT.setInactive(); } - TE_BRONZE.addProduct(ForestryHelper.itemHoneycomb, 10); + TE_BRONZE.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("nuggetBronze").size() > 0 && OreDictionary.getOres("ingotBronze").size() > 0) { - TE_BRONZE.addSpecialty(OreDictionary.getOres("nuggetBronze").get(0), 18); + TE_BRONZE.addSpecialty(OreDictionary.getOres("nuggetBronze").get(0), 0.18f); } else { TE_BRONZE.setInactive(); } - TE_INVAR.addProduct(ForestryHelper.itemHoneycomb, 10); + TE_INVAR.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("nuggetInvar").size() > 0 && OreDictionary.getOres("ingotInvar").size() > 0) { - TE_INVAR.addSpecialty(OreDictionary.getOres("nuggetInvar").get(0), 18); + TE_INVAR.addSpecialty(OreDictionary.getOres("nuggetInvar").get(0), 0.18f); } else { TE_INVAR.setInactive(); } - TE_ELECTRUM.addProduct(ForestryHelper.itemHoneycomb, 10); + TE_ELECTRUM.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("nuggetElectrum").size() > 0 && OreDictionary.getOres("ingotElectrum").size() > 0) { - TE_ELECTRUM.addSpecialty(OreDictionary.getOres("nuggetElectrum").get(0), 18); + TE_ELECTRUM.addSpecialty(OreDictionary.getOres("nuggetElectrum").get(0), 0.18f); } else { TE_ELECTRUM.setInactive(); } - MANYULLYN.addProduct(ForestryHelper.itemHoneycomb, 10); + MANYULLYN.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("nuggetManyullyn").size() > 0) { - MANYULLYN.addSpecialty(OreDictionary.getOres("nuggetManyullyn").get(0), 16); + MANYULLYN.addSpecialty(OreDictionary.getOres("nuggetManyullyn").get(0), 0.16f); } else { MANYULLYN.setInactive(); } - OSMIUM.addProduct(ForestryHelper.itemHoneycomb, 15); + OSMIUM.addProduct(ForestryHelper.itemHoneycomb, 0.15f); if (OreDictionary.getOres("nuggetOsmium").size() > 0) { - OSMIUM.addSpecialty(OreDictionary.getOres("nuggetOsmium").get(0), 16); + OSMIUM.addSpecialty(OreDictionary.getOres("nuggetOsmium").get(0), 0.16f); } else { OSMIUM.setInactive(); } - CERTUS.addProduct(ForestryHelper.itemHoneycomb, 10); + CERTUS.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("crystalCertusQuartz").size() > 0) { - CERTUS.addSpecialty(OreDictionary.getOres("crystalCertusQuartz").get(0), 8); + CERTUS.addSpecialty(OreDictionary.getOres("crystalCertusQuartz").get(0), 0.8f); } else { CERTUS.setInactive(); } - SILICON.addProduct(ForestryHelper.itemHoneycomb, 10); + SILICON.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("itemSilicon").size() > 0) { - SILICON.addSpecialty(OreDictionary.getOres("itemSilicon").get(0), 16); + SILICON.addSpecialty(OreDictionary.getOres("itemSilicon").get(0), 0.16f); } else { SILICON.setInactive(); } - FLUIX.addProduct(ForestryHelper.itemHoneycomb, 10); + FLUIX.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (OreDictionary.getOres("crystalFluix").size() > 0) { - FLUIX.addSpecialty(OreDictionary.getOres("crystalFluix").get(0), 6); + FLUIX.addSpecialty(OreDictionary.getOres("crystalFluix").get(0), 0.6f); } else { FLUIX.setInactive(); @@ -239,172 +239,172 @@ public class BeeProductHelper { } public static void initThaumcraftProducts() { - TC_AIR.addProduct(Config.combs.getStackForType(CombType.TC_AIR), 20); - TC_FIRE.addProduct(Config.combs.getStackForType(CombType.TC_FIRE), 20); - TC_WATER.addProduct(Config.combs.getStackForType(CombType.TC_WATER), 20); - TC_EARTH.addProduct(Config.combs.getStackForType(CombType.TC_EARTH), 20); - TC_ORDER.addProduct(Config.combs.getStackForType(CombType.TC_ORDER), 20); - TC_CHAOS.addProduct(Config.combs.getStackForType(CombType.TC_CHAOS), 20); + TC_AIR.addProduct(Config.combs.getStackForType(CombType.TC_AIR), 0.20f); + TC_FIRE.addProduct(Config.combs.getStackForType(CombType.TC_FIRE), 0.20f); + TC_WATER.addProduct(Config.combs.getStackForType(CombType.TC_WATER), 0.20f); + TC_EARTH.addProduct(Config.combs.getStackForType(CombType.TC_EARTH), 0.20f); + TC_ORDER.addProduct(Config.combs.getStackForType(CombType.TC_ORDER), 0.20f); + TC_CHAOS.addProduct(Config.combs.getStackForType(CombType.TC_CHAOS), 0.20f); - TC_VIS.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 10); - TC_TAINT.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 18); - TC_ATTRACT.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 14); - TC_PURE.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 16); - TC_REJUVENATING.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 18); + TC_VIS.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 0.10f); + TC_TAINT.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 0.18f); + TC_ATTRACT.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 0.14f); + TC_PURE.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 0.16f); + TC_REJUVENATING.addProduct(Config.combs.getStackForType(CombType.INTELLECT), 0.18f); - TC_BRAINY.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 10) - .addProduct(new ItemStack(Items.rotten_flesh), 6); - TC_BATTY.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 10) - .addSpecialty(new ItemStack(Items.gunpowder), 4); - TC_WISPY.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.SILKY.ordinal()), 22) - .addSpecialty(new ItemStack(Config.fCraftingResource, 1, ForestryHelper.CraftingMaterial.SILK_WISP.ordinal()), 4); - TC_CHICKEN.addProduct(ForestryHelper.itemHoneycomb, 10); - TC_BEEF.addProduct(ForestryHelper.itemHoneycomb, 10); - TC_PORK.addProduct(ForestryHelper.itemHoneycomb, 10); + TC_BRAINY.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.10f) + .addProduct(new ItemStack(Items.rotten_flesh), 0.6f); + TC_BATTY.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.10f) + .addSpecialty(new ItemStack(Items.gunpowder), 0.4f); + TC_WISPY.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.SILKY.ordinal()), 0.22f) + .addSpecialty(new ItemStack(Config.fCraftingResource, 1, ForestryHelper.CraftingMaterial.SILK_WISP.ordinal()), 0.4f); + TC_CHICKEN.addProduct(ForestryHelper.itemHoneycomb, 0.10f); + TC_BEEF.addProduct(ForestryHelper.itemHoneycomb, 0.10f); + TC_PORK.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (ThaumcraftHelper.isActive()) { - SCHOLARLY.addSpecialty(Config.miscResources.getStackForType(ResourceType.LORE_FRAGMENT), 2); - SAVANT.addSpecialty(Config.miscResources.getStackForType(ResourceType.LORE_FRAGMENT), 5); + SCHOLARLY.addSpecialty(Config.miscResources.getStackForType(ResourceType.LORE_FRAGMENT), 0.2f); + SAVANT.addSpecialty(Config.miscResources.getStackForType(ResourceType.LORE_FRAGMENT), 0.5f); - TC_AIR.addSpecialty(Config.propolis.getStackForType(PropolisType.AIR), 18); - TC_FIRE.addSpecialty(Config.propolis.getStackForType(PropolisType.FIRE), 18); - TC_WATER.addSpecialty(Config.propolis.getStackForType(PropolisType.WATER), 18); - TC_EARTH.addSpecialty(Config.propolis.getStackForType(PropolisType.EARTH), 18); - TC_ORDER.addSpecialty(Config.propolis.getStackForType(PropolisType.ORDER), 18); - TC_CHAOS.addSpecialty(Config.propolis.getStackForType(PropolisType.CHAOS), 18); + TC_AIR.addSpecialty(Config.propolis.getStackForType(PropolisType.AIR), 0.18f); + TC_FIRE.addSpecialty(Config.propolis.getStackForType(PropolisType.FIRE), 0.18f); + TC_WATER.addSpecialty(Config.propolis.getStackForType(PropolisType.WATER), 0.18f); + TC_EARTH.addSpecialty(Config.propolis.getStackForType(PropolisType.EARTH), 0.18f); + TC_ORDER.addSpecialty(Config.propolis.getStackForType(PropolisType.ORDER), 0.18f); + TC_CHAOS.addSpecialty(Config.propolis.getStackForType(PropolisType.CHAOS), 0.18f); - TC_BRAINY.addSpecialty(new ItemStack(Config.tcMiscResource, 1, ThaumcraftHelper.MiscResource.ZOMBIE_BRAIN.ordinal()), 2); - TC_CHICKEN.addSpecialty(new ItemStack(Config.tcNuggetChicken, 1), 9); - TC_BEEF.addSpecialty(new ItemStack(Config.tcNuggetBeef, 1), 9); - TC_PORK.addSpecialty(new ItemStack(Config.tcNuggetPork, 1), 9); + TC_BRAINY.addSpecialty(new ItemStack(Config.tcMiscResource, 1, ThaumcraftHelper.MiscResource.ZOMBIE_BRAIN.ordinal()), 0.2f); + TC_CHICKEN.addSpecialty(new ItemStack(Config.tcNuggetChicken, 1), 0.9f); + TC_BEEF.addSpecialty(new ItemStack(Config.tcNuggetBeef, 1), 0.9f); + TC_PORK.addSpecialty(new ItemStack(Config.tcNuggetPork, 1), 0.9f); } } public static void initEquivalentExchange3Species() { - EE_MINIUM.addProduct(Config.combs.getStackForType(CombType.OCCULT), 16); + EE_MINIUM.addProduct(Config.combs.getStackForType(CombType.OCCULT), 0.16f); if (EquivalentExchangeHelper.isActive()) { - EE_MINIUM.addSpecialty(new ItemStack(Config.eeMinuimShard), 6); + EE_MINIUM.addSpecialty(new ItemStack(Config.eeMinuimShard), 0.6f); } } public static void initArsMagicaSpecies() { - AM_ESSENCE.addProduct(Config.combs.getStackForType(CombType.AM_ESSENCE), 12); - AM_QUINTESSENCE.addProduct(Config.combs.getStackForType(CombType.AM_ESSENCE), 23); - AM_EARTH.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 12); - AM_AIR.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 12); - AM_FIRE.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 12); - AM_WATER.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 12); - AM_LIGHTNING.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 12); - AM_PLANT.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 12); - AM_ICE.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 12); - AM_ARCANE.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 19); - AM_VORTEX.addProduct(Config.combs.getStackForType(CombType.AM_ESSENCE), 10); - AM_WIGHT.addProduct(Config.combs.getStackForType(CombType.SOUL), 30) - .addProduct(Config.combs.getStackForType(CombType.FURTIVE), 10); + AM_ESSENCE.addProduct(Config.combs.getStackForType(CombType.AM_ESSENCE), 0.12f); + AM_QUINTESSENCE.addProduct(Config.combs.getStackForType(CombType.AM_ESSENCE), 0.23f); + AM_EARTH.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 0.12f); + AM_AIR.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 0.12f); + AM_FIRE.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 0.12f); + AM_WATER.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 0.12f); + AM_LIGHTNING.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 0.12f); + AM_PLANT.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 0.12f); + AM_ICE.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 0.12f); + AM_ARCANE.addProduct(Config.combs.getStackForType(CombType.AM_POTENT), 0.19f); + AM_VORTEX.addProduct(Config.combs.getStackForType(CombType.AM_ESSENCE), 0.10f); + AM_WIGHT.addProduct(Config.combs.getStackForType(CombType.SOUL), 0.30f) + .addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.10f); if (ArsMagicaHelper.isActive()) { - AM_QUINTESSENCE.addSpecialty(new ItemStack(Config.amItemResource, 1, ArsMagicaHelper.ResourceType.ARCANE_COMPOUND.ordinal()), 5); - AM_EARTH.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.EARTH.ordinal()), 7); - AM_AIR.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.AIR.ordinal()), 7); - AM_FIRE.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.FIRE.ordinal()), 7); - AM_WATER.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.WATER.ordinal()), 7); - AM_LIGHTNING.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.LIGHTNING.ordinal()), 7); - AM_PLANT.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.PLANT.ordinal()), 7); - AM_ICE.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.ICE.ordinal()), 7); - AM_ARCANE.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.ARCANE.ordinal()), 11); - AM_VORTEX.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.EARTH.ordinal()), 15); - AM_WIGHT.addSpecialty(new ItemStack(Config.amItemResource, 1, ArsMagicaHelper.ResourceType.ARCANE_COMPOUND.ordinal()), 11); + AM_QUINTESSENCE.addSpecialty(new ItemStack(Config.amItemResource, 1, ArsMagicaHelper.ResourceType.ARCANE_COMPOUND.ordinal()), 0.5f); + AM_EARTH.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.EARTH.ordinal()), 0.7f); + AM_AIR.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.AIR.ordinal()), 0.7f); + AM_FIRE.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.FIRE.ordinal()), 0.7f); + AM_WATER.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.WATER.ordinal()), 0.7f); + AM_LIGHTNING.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.LIGHTNING.ordinal()), 0.7f); + AM_PLANT.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.PLANT.ordinal()), 0.7f); + AM_ICE.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.ICE.ordinal()), 0.7f); + AM_ARCANE.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.ARCANE.ordinal()), 0.11f); + AM_VORTEX.addSpecialty(new ItemStack(Config.amEssence, 1, ArsMagicaHelper.EssenceType.EARTH.ordinal()), 0.15f); + AM_WIGHT.addSpecialty(new ItemStack(Config.amItemResource, 1, ArsMagicaHelper.ResourceType.ARCANE_COMPOUND.ordinal()), 0.11f); } } public static void initThermalExpansionProducts() { - TE_DANTE.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 10) - .addProduct(Config.combs.getStackForType(CombType.MOLTEN), 10) - .addSpecialty(new ItemStack(Items.blaze_powder), 5); - TE_PYRO.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 10) - .addProduct(Config.combs.getStackForType(CombType.MOLTEN), 10) - .addSpecialty(new ItemStack(Items.blaze_powder), 5); - TE_DESTABILIZED.addProduct(Config.combs.getStackForType(CombType.TE_DESTABILIZED), 10) - .addProduct(Config.combs.getStackForType(CombType.OCCULT), 10) - .addSpecialty(new ItemStack(Items.redstone), 5); - TE_LUX.addProduct(Config.combs.getStackForType(CombType.TE_LUX), 10) - .addProduct(Config.combs.getStackForType(CombType.OCCULT), 10) - .addSpecialty(new ItemStack(Items.glowstone_dust), 5); - TE_WINSOME.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 10) - .addProduct(Config.combs.getStackForType(CombType.TE_ENDEARING), 5) - .addSpecialty(new ItemStack(Items.ender_pearl), 5); - TE_ENDEARING.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.MYSTERIOUS.ordinal()), 10) - .addProduct(Config.combs.getStackForType(CombType.TE_ENDEARING), 5); - TE_COAL.addProduct(ForestryHelper.itemHoneycomb, 10) - .addProduct(Config.combs.getStackForType(CombType.TE_CARBON), 5) - .addSpecialty(new ItemStack(Items.coal), 5); - TE_BLIZZY.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.FROZEN.ordinal()), 10); - TE_GELID.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.FROZEN.ordinal()), 10); + TE_DANTE.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.MOLTEN), 0.10f) + .addSpecialty(new ItemStack(Items.blaze_powder), 0.5f); + TE_PYRO.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.MOLTEN), 0.10f) + .addSpecialty(new ItemStack(Items.blaze_powder), 0.5f); + TE_DESTABILIZED.addProduct(Config.combs.getStackForType(CombType.TE_DESTABILIZED), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.OCCULT), 0.10f) + .addSpecialty(new ItemStack(Items.redstone), 0.5f); + TE_LUX.addProduct(Config.combs.getStackForType(CombType.TE_LUX), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.OCCULT), 0.10f) + .addSpecialty(new ItemStack(Items.glowstone_dust), 0.5f); + TE_WINSOME.addProduct(Config.combs.getStackForType(CombType.FURTIVE), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.TE_ENDEARING), 0.5f) + .addSpecialty(new ItemStack(Items.ender_pearl), 0.5f); + TE_ENDEARING.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.MYSTERIOUS.ordinal()), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.TE_ENDEARING), 0.5f); + TE_COAL.addProduct(ForestryHelper.itemHoneycomb, 0.10f) + .addProduct(Config.combs.getStackForType(CombType.TE_CARBON), 0.5f) + .addSpecialty(new ItemStack(Items.coal), 0.5f); + TE_BLIZZY.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.FROZEN.ordinal()), 0.10f); + TE_GELID.addProduct(new ItemStack(Config.fBeeComb, 1, ForestryHelper.Comb.FROZEN.ordinal()), 0.10f); if (ThermalExpansionHelper.isActive()) { LogHelper.info("Thermal Expansion bees active"); - TE_BLIZZY.addSpecialty(Config.teDustBlizz, 9); - TE_GELID.addSpecialty(Config.teDustCryotheum, 9); - TE_DANTE.addSpecialty(Config.teDustSulfur, 9); - TE_PYRO.addSpecialty(Config.teDustPyrotheum, 9); - TE_WINSOME.addSpecialty(Config.teDustPlatinum, 9); - TE_ENDEARING.addSpecialty(Config.teEnderiumNugget, 9); + TE_BLIZZY.addSpecialty(Config.teDustBlizz, 0.9f); + TE_GELID.addSpecialty(Config.teDustCryotheum, 0.9f); + TE_DANTE.addSpecialty(Config.teDustSulfur, 0.9f); + TE_PYRO.addSpecialty(Config.teDustPyrotheum, 0.9f); + TE_WINSOME.addSpecialty(Config.teDustPlatinum, 0.9f); + TE_ENDEARING.addSpecialty(Config.teEnderiumNugget, 0.9f); } } public static void initRedstoneArsenelProducts() { - RSA_FLUXED.addProduct(ForestryHelper.itemHoneycomb, 10); + RSA_FLUXED.addProduct(ForestryHelper.itemHoneycomb, 0.10f); if (RedstoneArsenalHelper.isActive()) { - RSA_FLUXED.addSpecialty(RedstoneArsenalHelper.fluxNugget, 9); + RSA_FLUXED.addSpecialty(RedstoneArsenalHelper.fluxNugget, 0.9f); } } public static void initBloodMagicProducts() { - BM_BLOODY.addProduct(Config.combs.getStackForType(CombType.OCCULT), 12) - .addSpecialty(Config.combs.getStackForType(CombType.BM_SANGUINE), 8); - BM_BOUND.addProduct(Config.combs.getStackForType(CombType.BM_SANGUINE), 8) - .addProduct(Config.combs.getStackForType(CombType.OCCULT), 16); + BM_BLOODY.addProduct(Config.combs.getStackForType(CombType.OCCULT), 0.12f) + .addSpecialty(Config.combs.getStackForType(CombType.BM_SANGUINE), 0.8f); + BM_BOUND.addProduct(Config.combs.getStackForType(CombType.BM_SANGUINE), 0.8f) + .addProduct(Config.combs.getStackForType(CombType.OCCULT), 0.16f); } public static void initBotaniaProducts() { - BOT_ROOTED.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 10); - BOT_BOTANIC.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 10) - .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 5); - BOT_BLOSSOM.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 20) - .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 5); - BOT_FLORAL.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 25) - .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 5); - BOT_VAZBEE.addProduct(Config.combs.getStackForType(CombType.SOUL), 5) - .addProduct(new ItemStack(Items.dye, 1, 9), 20) - .addProduct(new ItemStack(Blocks.wool, 1, 9), 2) - .addProduct(new ItemStack(Blocks.red_flower, 1, 7), 6) - .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 15); - BOT_SOMNOLENT.addProduct(Config.combs.getStackForType(CombType.WATERY), 8) - .addProduct(Config.combs.getStackForType(CombType.SOUL), 15); - BOT_DREAMING.addProduct(Config.combs.getStackForType(CombType.WATERY), 16) - .addProduct(Config.combs.getStackForType(CombType.SOUL), 33); - BOT_ALFHEIM.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 28); + BOT_ROOTED.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 0.10f); + BOT_BOTANIC.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 0.10f) + .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 0.5f); + BOT_BLOSSOM.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 0.20f) + .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 0.5f); + BOT_FLORAL.addProduct(Config.combs.getStackForType(CombType.MUNDANE), 0.25f) + .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 0.5f); + BOT_VAZBEE.addProduct(Config.combs.getStackForType(CombType.SOUL), 0.5f) + .addProduct(new ItemStack(Items.dye, 1, 9), 0.20f) + .addProduct(new ItemStack(Blocks.wool, 1, 9), 0.2f) + .addProduct(new ItemStack(Blocks.red_flower, 1, 7), 0.6f) + .addProduct(Config.combs.getStackForType(CombType.TRANSMUTED), 0.15f); + BOT_SOMNOLENT.addProduct(Config.combs.getStackForType(CombType.WATERY), 0.8f) + .addProduct(Config.combs.getStackForType(CombType.SOUL), 0.15f); + BOT_DREAMING.addProduct(Config.combs.getStackForType(CombType.WATERY), 0.16f) + .addProduct(Config.combs.getStackForType(CombType.SOUL), 0.33f); + BOT_ALFHEIM.addProduct(Config.combs.getStackForType(CombType.OTHERWORLDLY), 0.28f); if (BotaniaHelper.isActive()) { for (int i = 0; i < 16; ++i) { ItemStack petal = new ItemStack(BotaniaHelper.itemPetal, 1, i); - BOT_BOTANIC.addSpecialty(petal, 1); - BOT_BLOSSOM.addSpecialty(petal, 4); - BOT_FLORAL.addSpecialty(petal, 16); + BOT_BOTANIC.addSpecialty(petal, 0.1f); + BOT_BLOSSOM.addSpecialty(petal, 0.4f); + BOT_FLORAL.addSpecialty(petal, 0.16f); } for (PastureSeed type : PastureSeed.values()) { - BOT_VAZBEE.addSpecialty(new ItemStack(BotaniaHelper.itemPastureSeed, 1, type.ordinal()), 4); + BOT_VAZBEE.addSpecialty(new ItemStack(BotaniaHelper.itemPastureSeed, 1, type.ordinal()), 0.4f); } } } public static void initAppEngProducts() { - AE_SKYSTONE.addProduct(Config.combs.getStackForType(CombType.EARTHY), 19); + AE_SKYSTONE.addProduct(Config.combs.getStackForType(CombType.EARTHY), 0.19f); if (AppliedEnergisticsHelper.skystone != null) { - AE_SKYSTONE.addSpecialty(new ItemStack(AppliedEnergisticsHelper.skystone), 2); + AE_SKYSTONE.addSpecialty(new ItemStack(AppliedEnergisticsHelper.skystone), 0.2f); } else { AE_SKYSTONE.setInactive(); diff --git a/src/main/java/magicbees/bees/BeeSpecies.java b/src/main/java/magicbees/bees/BeeSpecies.java index b59a449..e988821 100644 --- a/src/main/java/magicbees/bees/BeeSpecies.java +++ b/src/main/java/magicbees/bees/BeeSpecies.java @@ -555,8 +555,8 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider private boolean isActive; private boolean isNocturnal; private IClassification branch; - private HashMap products; - private HashMap specialties; + private HashMap products; + private HashMap specialties; private IAllele genomeTemplate[]; private String uid; private boolean dominant; @@ -603,8 +603,8 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider hasEffect = hasGlowEffect; isSecret = isSpeciesSecret; isCounted = isSpeciesCounted; - products = new HashMap(); - specialties = new HashMap(); + products = new HashMap(); + specialties = new HashMap(); this.branch = classification; this.branch.addMemberSpecies(this); this.isNocturnal = isSpeciesNocturnal; @@ -615,13 +615,25 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider return genomeTemplate; } + @Deprecated public BeeSpecies addProduct(ItemStack produce, int percentChance) { - products.put(produce, percentChance); + products.put(produce, percentChance / 100f); + return this; + } + + public BeeSpecies addProduct(ItemStack produce, float chance) { + products.put(produce, chance); return this; } + @Deprecated public BeeSpecies addSpecialty(ItemStack produce, int percentChance) { - specialties.put(produce, Integer.valueOf(percentChance)); + specialties.put(produce, percentChance / 100f); + return this; + } + + public BeeSpecies addSpecialty(ItemStack produce, float chance) { + specialties.put(produce, chance); return this; } @@ -695,15 +707,27 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider } @Override - public HashMap getProducts() { + public Map getProductChances() { return products; } @Override - public HashMap getSpecialty() { + public Map getSpecialtyChances() { return specialties; } + @Override + @Deprecated + public HashMap getProducts() { + return null; + } + + @Override + @Deprecated + public HashMap getSpecialty() { + return null; + } + @Override public String getUID() { return this.uid; diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerImpl.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerImpl.java new file mode 100644 index 0000000..56d52e0 --- /dev/null +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerImpl.java @@ -0,0 +1,50 @@ +package magicbees.bees.allele.flowerProvider; + +import net.minecraft.block.Block; +import forestry.api.genetics.IFlower; + +public class FlowerImpl implements IFlower { + + private Block flowerBlock; + private int meta; + private double weight; + private boolean plantable; + + public FlowerImpl(Block flower, int blockMeta, double flowerWeight, boolean isPlantable) { + flowerBlock = flower; + meta = blockMeta; + weight = flowerWeight; + plantable = isPlantable; + } + + @Override + public Block getBlock() { + return flowerBlock; + } + + @Override + public int getMeta() { + return meta; + } + + @Override + public double getWeight() { + return weight; + } + + @Override + public void setWeight(double value) { + weight = value; + } + + @Override + public boolean isPlantable() { + return plantable; + } + + @Override + public int compareTo(IFlower other) { + return (int)(weight - other.getWeight()); + } + +} diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProvider.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProvider.java new file mode 100644 index 0000000..96d8acf --- /dev/null +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProvider.java @@ -0,0 +1,50 @@ +package magicbees.bees.allele.flowerProvider; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import forestry.api.genetics.IFlower; +import forestry.api.genetics.IFlowerProvider; +import forestry.api.genetics.IIndividual; +import forestry.api.genetics.IPollinatable; + +public abstract class FlowerProvider implements IFlowerProvider { + + protected List flowers; + + public FlowerProvider(int size) { + flowers = new ArrayList(size); + } + + @Override + public boolean isAcceptedFlower(World world, IIndividual genome, int x, int y, int z) { + Block block = world.getBlock(x, y, z); + for (IFlower flower : flowers) { + if (flower.getBlock() == block) { + return true; + } + } + return false; + } + + @Override + public List getFlowers() { + return flowers; + } + + @Override + public abstract boolean isAcceptedPollinatable(World world, IPollinatable pollinatable); + + @Override + public abstract boolean growFlower(World world, IIndividual individual, int x, int y, int z); + + @Override + public abstract String getDescription(); + + @Override + public abstract ItemStack[] affectProducts(World world, IIndividual individual, int x, int y, int z, ItemStack[] products); + +} \ No newline at end of file diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderArsMagicaFlower.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderArsMagicaFlower.java index e3c28e4..c6842a3 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderArsMagicaFlower.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderArsMagicaFlower.java @@ -6,23 +6,18 @@ import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import forestry.api.genetics.IFlowerProvider; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; -public class FlowerProviderArsMagicaFlower implements IFlowerProvider { - private ItemStack[] flowers = { new ItemStack(Config.amBlackOrchid), new ItemStack(Config.amDesertNova), new ItemStack(Config.amAum), - new ItemStack(Config.amWakebloom), new ItemStack(Config.amTarmaRoot) }; - - @Override - public boolean isAcceptedFlower(World world, IIndividual genome, int x, int y, int z) { - boolean flag = false; - Block block = world.getBlock(x, y, z); - if (block == Config.amBlackOrchid || block == Config.amDesertNova || block == Config.amAum || block == Config.amWakebloom - || block == Config.amTarmaRoot) { - flag = true; - } - return flag; +public class FlowerProviderArsMagicaFlower extends FlowerProvider { + + public FlowerProviderArsMagicaFlower() { + super(5); + flowers.add(new FlowerImpl(Config.amBlackOrchid, 0, 1, true)); + flowers.add(new FlowerImpl(Config.amDesertNova, 0, 1, true)); + flowers.add(new FlowerImpl(Config.amAum, 0, 1, true)); + flowers.add(new FlowerImpl(Config.amWakebloom, 0, 1, true)); + flowers.add(new FlowerImpl(Config.amTarmaRoot, 0, 1, true)); } @Override @@ -66,11 +61,6 @@ public class FlowerProviderArsMagicaFlower implements IFlowerProvider { return products; } - @Override - public ItemStack[] getItemStacks() { - return this.flowers; - } - @Override public boolean isAcceptedPollinatable(World world, IPollinatable pollinatable) { return pollinatable.getPlantType().size() > 1; diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java index 8a08218..5d39782 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderAuraNode.java @@ -1,18 +1,24 @@ package magicbees.bees.allele.flowerProvider; +import java.util.ArrayList; +import java.util.List; + import magicbees.main.utils.LocalizationManager; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import forestry.api.genetics.IFlowerProvider; +import forestry.api.genetics.IFlower; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; -public class FlowerProviderAuraNode implements IFlowerProvider { - protected int nodeRange = 70; +public class FlowerProviderAuraNode extends FlowerProvider { + + public FlowerProviderAuraNode() { + super(0); + } @Override public boolean isAcceptedFlower(World world, IIndividual genome, int x, int y, int z) { - return this.isNodeWithinRange(world, x, y, z); + return false; } @Override @@ -32,34 +38,12 @@ public class FlowerProviderAuraNode implements IFlowerProvider { @Override public ItemStack[] affectProducts(World world, IIndividual genome, int x, int y, int z, ItemStack[] products) { + if (isAcceptedFlower(world, genome, x, y, z)) { + + } return products; } - @Override - public ItemStack[] getItemStacks() { - return null; - } - - protected boolean isNodeWithinRange(World w, int x, int y, int z) { - boolean nodeNearby = false; - /* - * if (ThaumcraftApi.getClosestAuraWithinRange(w, x, y, z, - * this.nodeRange) >= 0) { nodeNearby = true; } - */ - return nodeNearby; - } - - /* - * protected AuraNode getNodeWithinRange(World w, int x, int y, int z) { - * AuraNode node = null; - * - * int nodeId = ThaumcraftApi.getClosestAuraWithinRange(w, x, y, z, - * this.nodeRange); if (nodeId >= 0) { node = - * ThaumcraftApi.getNodeCopy(nodeId); } - * - * return node; } - */ - protected ItemStack[] addItemToProducts(ItemStack[] products, ItemStack itemStack) { for (ItemStack stack : products) { if (stack.getItem() == itemStack.getItem() && stack.getItemDamage() == itemStack.getItemDamage()) { @@ -82,4 +66,9 @@ public class FlowerProviderAuraNode implements IFlowerProvider { return products; } + @Override + public List getFlowers() { + return new ArrayList(); + } + } diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBookshelf.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBookshelf.java index 6ebb947..33064cd 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBookshelf.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBookshelf.java @@ -7,11 +7,16 @@ import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; -import forestry.api.genetics.IFlowerProvider; +import net.minecraftforge.oredict.OreDictionary; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; -public class FlowerProviderBookshelf implements IFlowerProvider { +public class FlowerProviderBookshelf extends FlowerProvider { + + public FlowerProviderBookshelf() { + super(1); + flowers.add(new FlowerImpl(Blocks.bookshelf, OreDictionary.WILDCARD_VALUE, 1, false)); + } public boolean isAcceptedFlower(World world, IIndividual genome, int x, int i, int j) { boolean flag = false; @@ -21,26 +26,23 @@ public class FlowerProviderBookshelf implements IFlowerProvider { return flag; } + @Override public boolean growFlower(World world, IIndividual genome, int x, int i, int j) { - // Always return true so the system thinks we grew a flower. - // Bees can't grow bookshelves! Are you crazy?! return true; } + @Override public ItemStack[] affectProducts(World world, IIndividual genome, int x, int i, int j, ItemStack products[]) { return products; } - public ItemStack[] getItemStacks() { - return new ItemStack[] { new ItemStack(Blocks.bookshelf) }; - } - @Override public boolean isAcceptedPollinatable(World world, IPollinatable pollinatable) { EnumSet types = pollinatable.getPlantType(); return types.size() > 0 && !types.contains(EnumPlantType.Nether) && !types.contains(EnumPlantType.Water); } + @Override public String getDescription() { return LocalizationManager.getLocalizedString("flowerProvider.book"); } diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBotania.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBotania.java index 06239d9..4b5a797 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBotania.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderBotania.java @@ -4,11 +4,16 @@ import magicbees.main.utils.LocalizationManager; import magicbees.main.utils.compat.BotaniaHelper; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import forestry.api.genetics.IFlowerProvider; +import net.minecraftforge.oredict.OreDictionary; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; -public class FlowerProviderBotania implements IFlowerProvider { +public class FlowerProviderBotania extends FlowerProvider { + + public FlowerProviderBotania() { + super(1); + flowers.add(new FlowerImpl(BotaniaHelper.blockMysticalFlower, OreDictionary.WILDCARD_VALUE, 1, true)); + } @Override public boolean growFlower(World world, IIndividual individual, int x, int y, int z) { @@ -24,11 +29,6 @@ public class FlowerProviderBotania implements IFlowerProvider { return products; } - @Override - public ItemStack[] getItemStacks() { - return BotaniaHelper.mysticalFlowerVariants; - } - @Override public String getDescription() { return LocalizationManager.getLocalizedString("flowerProvider.botania"); diff --git a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderThaumcraftFlower.java b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderThaumcraftFlower.java index f0659a8..05bd357 100644 --- a/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderThaumcraftFlower.java +++ b/src/main/java/magicbees/bees/allele/flowerProvider/FlowerProviderThaumcraftFlower.java @@ -7,23 +7,27 @@ import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import forestry.api.genetics.IFlowerProvider; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; -public class FlowerProviderThaumcraftFlower implements IFlowerProvider { - private ItemStack[] flowers = { new ItemStack(Config.tcPlant, 1, 2), new ItemStack(Config.tcPlant, 1, 3) }; +public class FlowerProviderThaumcraftFlower extends FlowerProvider { + + public FlowerProviderThaumcraftFlower() { + super(2); + flowers.add(new FlowerImpl(Config.tcPlant, ThaumcraftHelper.BlockPlant.SHIMMERLEAF.ordinal(), 1, true)); + flowers.add(new FlowerImpl(Config.tcPlant, ThaumcraftHelper.BlockPlant.CINDERPEARL.ordinal(), 1, true)); + } @Override public boolean isAcceptedFlower(World world, IIndividual genome, int x, int y, int z) { - boolean flag = false; if (world.getBlock(x, y, z) == Config.tcPlant) { int meta = world.getBlockMetadata(x, y, z); - if (meta == 2 || meta == 3) { - flag = true; + if (meta == ThaumcraftHelper.BlockPlant.SHIMMERLEAF.ordinal() + || meta == ThaumcraftHelper.BlockPlant.CINDERPEARL.ordinal()) { + return true; } } - return flag; + return false; } @Override @@ -52,14 +56,9 @@ public class FlowerProviderThaumcraftFlower implements IFlowerProvider { return products; } - @Override - public ItemStack[] getItemStacks() { - return this.flowers; - } - @Override public boolean isAcceptedPollinatable(World world, IPollinatable pollinatable) { - return pollinatable.getPlantType().size() > 1; + return 0 < pollinatable.getPlantType().size(); } } diff --git a/src/main/java/magicbees/main/utils/CraftingManager.java b/src/main/java/magicbees/main/utils/CraftingManager.java index e7b802f..776a271 100644 --- a/src/main/java/magicbees/main/utils/CraftingManager.java +++ b/src/main/java/magicbees/main/utils/CraftingManager.java @@ -1,5 +1,8 @@ package magicbees.main.utils; +import java.util.Hashtable; +import java.util.Map; + import magicbees.item.ItemCapsule; import magicbees.item.types.CombType; import magicbees.item.types.DropType; @@ -400,149 +403,201 @@ public class CraftingManager { ); } } + + private static Map newMap() { + return new Hashtable(); + } private static void setupCentrifugeRecipes() { ItemStack beeswax = ItemInterface.getItemStack("beeswax"); ItemStack propolis = ItemInterface.getItemStack("propolis"); propolis.setItemDamage(ForestryHelper.Propolis.PULSATING.ordinal()); + Map output = newMap(); // 20 is the 'average' time to centrifuge a comb. - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.MUNDANE), - new ItemStack[] { beeswax, ItemInterface.getItemStack("honeyDrop"), - Config.wax.getStackForType(WaxType.MAGIC) }, - new int[] { 90, 60, 10 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.MOLTEN), - new ItemStack[] { ItemInterface.getItemStack("refractoryWax"), - ItemInterface.getItemStack("honeyDrop") }, - new int[] { 86, 8 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.FORGOTTEN), - new ItemStack[] { Config.wax.getStackForType(WaxType.AMNESIC), propolis, - ItemInterface.getItemStack("honeyDrop") }, - new int[] { 50, 50, 22 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.OCCULT), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), ItemInterface.getItemStack("honeyDrop") }, - new int[] { 100, 60 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.OTHERWORLDLY), - new ItemStack[] { beeswax, Config.wax.getStackForType(WaxType.MAGIC), - ItemInterface.getItemStack("honeyDrop") }, - new int[] { 50, 20, 100 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.PAPERY), - new ItemStack[] { ItemInterface.getItemStack("beeswax"), - Config.wax.getStackForType(WaxType.MAGIC), - new ItemStack(Items.paper) }, - new int[] { 80, 20, 5 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.INTELLECT), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), ItemInterface.getItemStack("honeydew"), Config.drops.getStackForType(DropType.INTELLECT) }, - new int[] { 90, 40, 10 }); + output.put(beeswax, 0.9f); + output.put(ItemInterface.getItemStack("honeyDrop"), 0.6f); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 0.1f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.MUNDANE), output); + + output = newMap(); + output.put(ItemInterface.getItemStack("refractoryWax"), 0.86f); + output.put(ItemInterface.getItemStack("honeyDrop"), 0.087f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.MOLTEN), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.AMNESIC), 0.5f); + output.put(propolis, 0.5f); + output.put(ItemInterface.getItemStack("honeyDrop"), 0.4f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.FORGOTTEN), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(ItemInterface.getItemStack("honeyDrop"), 0.6f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.OCCULT), output); + + output = newMap(); + output.put(beeswax, 0.5f); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 0.22f); + output.put(ItemInterface.getItemStack("honeyDrop"), 1f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.OTHERWORLDLY), output); + + output = newMap(); + output.put(ItemInterface.getItemStack("beeswax"), 0.8f); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 0.2f); + output.put(new ItemStack(Items.paper), 0.057f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.PAPERY), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 0.9f); + output.put(ItemInterface.getItemStack("honeydew"), 0.4f); + output.put(Config.drops.getStackForType(DropType.INTELLECT), 0.1f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.INTELLECT), output); + propolis.setItemDamage(ForestryHelper.Propolis.NORMAL.ordinal()); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.FURTIVE), - new ItemStack[] { ItemInterface.getItemStack("beeswax"), propolis, - ItemInterface.getItemStack("honeydew") }, - new int[] { 90, 20, 35 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.SOUL), - new ItemStack[] { Config.wax.getStackForType(WaxType.SOUL), ItemInterface.getItemStack("honeydew") }, - new int[] { 95, 26 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TEMPORAL), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), Config.pollen.getStackForType(PollenType.PHASED), new ItemStack(Config.fHoneydew, 1) }, - new int[] { 100, 5, 60 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TRANSMUTED), - new ItemStack[] { ItemInterface.getItemStack("beeswax"), - Config.wax.getStackForType(WaxType.MAGIC), Config.propolis.getStackForType(PropolisType.UNSTABLE) }, - new int[] { 80, 80, 15 }); + output = newMap(); + output.put(ItemInterface.getItemStack("beeswax"), 0.9f); + output.put(propolis, 0.2f); + output.put(ItemInterface.getItemStack("honeydew"), 0.35f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.FURTIVE), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.SOUL), 0.95f); + output.put(ItemInterface.getItemStack("honeydew"), 0.26f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.SOUL), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(Config.pollen.getStackForType(PollenType.PHASED), 0.055f); + output.put(new ItemStack(Config.fHoneydew, 1), 0.6f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TEMPORAL), output); + + output = newMap(); + output.put(ItemInterface.getItemStack("beeswax"), 0.8f); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 0.8f); + output.put(Config.propolis.getStackForType(PropolisType.UNSTABLE), 0.15f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TRANSMUTED), output); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.AIRY), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Items.feather) }, - new int[] { 100, 60 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.FIREY), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Items.blaze_powder) }, - new int[] { 100, 60 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.WATERY), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Items.dye) }, - new int[] { 100, 60 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.EARTHY), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Items.clay_ball) }, - new int[] { 100, 60 }); + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(new ItemStack(Items.feather), 0.6f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.AIRY), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(new ItemStack(Items.blaze_powder), 0.6f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.FIREY), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(new ItemStack(Items.dye), 0.6f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.WATERY), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(new ItemStack(Items.clay_ball), 0.6f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.EARTHY), output); if (ThaumcraftHelper.isActive()) { - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_AIR), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Items.feather), - Config.propolis.getStackForType(PropolisType.AIR) }, - new int[] { 100, 60, 80 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_FIRE), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Items.blaze_powder), - Config.propolis.getStackForType(PropolisType.FIRE) }, - new int[] { 100, 60, 80 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_WATER), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Items.dye), - Config.propolis.getStackForType(PropolisType.WATER) }, - new int[] { 100, 60, 80 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_EARTH), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Items.clay_ball), - Config.propolis.getStackForType(PropolisType.EARTH) }, - new int[] { 100, 60, 80 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_ORDER), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Items.redstone), - Config.propolis.getStackForType(PropolisType.ORDER) }, - new int[] { 100, 60, 80 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_CHAOS), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), new ItemStack(Items.gunpowder), - Config.propolis.getStackForType(PropolisType.CHAOS) }, - new int[] { 100, 60, 80 }); + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(new ItemStack(Items.feather), 0.6f); + output.put(Config.propolis.getStackForType(PropolisType.AIR), 0.8f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_AIR), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(new ItemStack(Items.blaze_powder), 0.6f); + output.put(Config.propolis.getStackForType(PropolisType.FIRE), 0.8f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_FIRE), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(new ItemStack(Items.dye), 0.6f); + output.put(Config.propolis.getStackForType(PropolisType.WATER), 0.8f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_WATER), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(new ItemStack(Items.clay_ball), 0.6f); + output.put(Config.propolis.getStackForType(PropolisType.EARTH), 0.8f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_EARTH), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(new ItemStack(Items.redstone), 0.6f); + output.put(Config.propolis.getStackForType(PropolisType.ORDER), 0.8f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_ORDER), output); + + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 1f); + output.put(new ItemStack(Items.gunpowder), 0.6f); + output.put(Config.propolis.getStackForType(PropolisType.CHAOS), 0.8f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TC_CHAOS), output); - RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.AIR), - new ItemStack[] { propolis, Config.miscResources.getStackForType(ResourceType.TC_DUST_AIR) }, - new int[] { 100, 90 }); - RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.FIRE), - new ItemStack[] { propolis, Config.miscResources.getStackForType(ResourceType.TC_DUST_FIRE) }, - new int[] { 100, 90 }); - RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.WATER), - new ItemStack[] { propolis, Config.miscResources.getStackForType(ResourceType.TC_DUST_WATER) }, - new int[] { 100, 90 }); - RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.EARTH), - new ItemStack[] { propolis, Config.miscResources.getStackForType(ResourceType.TC_DUST_EARTH) }, - new int[] { 100, 90 }); - RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.ORDER), - new ItemStack[] { propolis, Config.miscResources.getStackForType(ResourceType.TC_DUST_ORDER) }, - new int[] { 100, 90 }); - RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.CHAOS), - new ItemStack[] { propolis, Config.miscResources.getStackForType(ResourceType.TC_DUST_CHAOS) }, - new int[] { 100, 90 }); + output = newMap(); + output.put(propolis, 1f); + output.put(Config.miscResources.getStackForType(ResourceType.TC_DUST_AIR), 0.9f); + RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.AIR), output); + output = newMap(); + output.put(propolis, 1f); + output.put(Config.miscResources.getStackForType(ResourceType.TC_DUST_FIRE), 0.9f); + RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.FIRE), output); + output = newMap(); + output.put(propolis, 1f); + output.put(Config.miscResources.getStackForType(ResourceType.TC_DUST_WATER), 0.9f); + RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.WATER), output); + output = newMap(); + output.put(propolis, 1f); + output.put(Config.miscResources.getStackForType(ResourceType.TC_DUST_EARTH), 0.9f); + RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.EARTH), output); + output = newMap(); + output.put(propolis, 1f); + output.put(Config.miscResources.getStackForType(ResourceType.TC_DUST_ORDER), 0.9f); + RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.ORDER), output); + output = newMap(); + output.put(propolis, 1f); + output.put(Config.miscResources.getStackForType(ResourceType.TC_DUST_CHAOS), 0.9f); + RecipeManagers.centrifugeManager.addRecipe(8, Config.propolis.getStackForType(PropolisType.CHAOS), output); } if (ArsMagicaHelper.isActive()) { - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.AM_ESSENCE), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), - new ItemStack(Config.amItemResource), - new ItemStack(Config.amItemResource) }, - new int[] { 85, 10, 2 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.AM_POTENT), - new ItemStack[] { ItemInterface.getItemStack("beeswax"), - ItemInterface.getItemStack("refractoryWax"), - ItemInterface.getItemStack("honeydew") }, - new int[] { 50, 50, 65 }); + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 0.85f); + output.put(new ItemStack(Config.amItemResource), 0.10f); + output.put(new ItemStack(Config.amItemResource), 0.024f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.AM_ESSENCE), output); + output = newMap(); + output.put(ItemInterface.getItemStack("beeswax"), 0.5f); + output.put(ItemInterface.getItemStack("refractoryWax"), 0.5f); + output.put(ItemInterface.getItemStack("honeydew"), 0.65f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.AM_POTENT), output); } if (BloodMagicHelper.isActive()) { - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.BM_SANGUINE), - new ItemStack[] { Config.wax.getStackForType(WaxType.SOUL), - BloodMagicHelper.bloodShard }, - new int[] { 90, 8 } ); + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.SOUL), 0.9f); + output.put(BloodMagicHelper.bloodShard, 0.08f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.BM_SANGUINE), output); } if (ThermalExpansionHelper.isActive()) { - - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TE_DESTABILIZED), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), Config.drops.getStackForType(DropType.DESTABILIZED) }, - new int[] { 50, 22 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TE_CARBON), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), Config.drops.getStackForType(DropType.CARBON) }, - new int[] { 50, 22 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TE_LUX), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), Config.drops.getStackForType(DropType.LUX) }, - new int[] { 50, 22 }); - RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TE_ENDEARING), - new ItemStack[] { Config.wax.getStackForType(WaxType.MAGIC), Config.drops.getStackForType(DropType.ENDEARING) }, - new int[] { 50, 22 }); + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 0.55f); + output.put(Config.drops.getStackForType(DropType.DESTABILIZED), 0.22f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TE_DESTABILIZED), output); + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 0.55f); + output.put(Config.drops.getStackForType(DropType.CARBON), 0.22f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TE_CARBON), output); + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 0.55f); + output.put(Config.drops.getStackForType(DropType.LUX), 0.22f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TE_LUX), output); + output = newMap(); + output.put(Config.wax.getStackForType(WaxType.MAGIC), 0.55f); + output.put(Config.drops.getStackForType(DropType.ENDEARING), 0.22f); + RecipeManagers.centrifugeManager.addRecipe(20, Config.combs.getStackForType(CombType.TE_ENDEARING), output); } } diff --git a/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java b/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java index 0a40a36..06dc66e 100644 --- a/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java +++ b/src/main/java/magicbees/main/utils/compat/ThaumcraftHelper.java @@ -135,6 +135,7 @@ public class ThaumcraftHelper { SHIMMERLEAF, CINDERPEARL, PURIFYING_PLANT, + VISHROOM, ; } diff --git a/src/main/java/magicbees/storage/BackpackDefinition.java b/src/main/java/magicbees/storage/BackpackDefinition.java index ba26d6c..c78656c 100644 --- a/src/main/java/magicbees/storage/BackpackDefinition.java +++ b/src/main/java/magicbees/storage/BackpackDefinition.java @@ -3,7 +3,6 @@ package magicbees.storage; import java.util.ArrayList; import java.util.List; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import forestry.api.storage.IBackpackDefinition; @@ -39,11 +38,6 @@ public class BackpackDefinition implements IBackpackDefinition return name; } - @Override - public String getName() { - return name; - } - @Override public int getPrimaryColour() { @@ -65,12 +59,6 @@ public class BackpackDefinition implements IBackpackDefinition } } - @Override - public boolean isValidItem(EntityPlayer player, ItemStack itemStack) - { - return isValidItem(itemStack); - } - @Override public boolean isValidItem(ItemStack itemStack) { boolean flag = false; diff --git a/src/main/java/magicbees/tileentity/EffectJarHousing.java b/src/main/java/magicbees/tileentity/EffectJarHousing.java index 86006c1..b93f1b8 100644 --- a/src/main/java/magicbees/tileentity/EffectJarHousing.java +++ b/src/main/java/magicbees/tileentity/EffectJarHousing.java @@ -1,10 +1,12 @@ package magicbees.tileentity; +import java.util.Set; + import com.mojang.authlib.GameProfile; + import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; - import forestry.api.apiculture.IBee; import forestry.api.apiculture.IBeeGenome; import forestry.api.apiculture.IBeeHousing; @@ -146,12 +148,6 @@ public class EffectJarHousing implements IBeeHousing { } - @Override - public int getBiomeId() - { - return getBiome().biomeID; - } - @Override public BiomeGenBase getBiome() { return this.jarEntity.getWorldObj().getBiomeGenForCoords(getXCoord(), getYCoord()); @@ -195,20 +191,20 @@ public class EffectJarHousing implements IBeeHousing return this.jarEntity.getOwner(); } - @Override - public void setErrorState(int state) - { - } - @Override public void setErrorState(IErrorState enumErrorCode) { } @Override - public int getErrorOrdinal() - { - return getErrorState().getID(); + public Set getErrorStates() { + return null; + } + + + @Override + public boolean setErrorCondition(boolean condition, IErrorState errorState) { + return false; } @Override @@ -246,5 +242,4 @@ public class EffectJarHousing implements IBeeHousing { return 0f; } - } diff --git a/src/main/java/magicbees/tileentity/TileEntityMagicApiary.java b/src/main/java/magicbees/tileentity/TileEntityMagicApiary.java index 6ef050a..872b1fe 100644 --- a/src/main/java/magicbees/tileentity/TileEntityMagicApiary.java +++ b/src/main/java/magicbees/tileentity/TileEntityMagicApiary.java @@ -1,11 +1,13 @@ package magicbees.tileentity; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; -import magicbees.bees.AuraCharge; import magicbees.api.bees.IMagicApiaryAuraProvider; +import magicbees.bees.AuraCharge; import magicbees.bees.BeeManager; import magicbees.main.CommonProxy; import magicbees.main.MagicBees; @@ -68,6 +70,7 @@ public class TileEntityMagicApiary extends TileEntity implements ISidedInventory private final AuraCharges auraCharges = new AuraCharges(); private IErrorState errorState = ErrorStateRegistry.getErrorState("ok"); + private Set errors = new HashSet(); private ItemStack[] items; @@ -273,11 +276,6 @@ public class TileEntityMagicApiary extends TileEntity implements ISidedInventory return zCoord; } - @Override - public int getBiomeId() { - return biome.biomeID; - } - @Override public BiomeGenBase getBiome() { return biome; @@ -293,26 +291,32 @@ public class TileEntityMagicApiary extends TileEntity implements ISidedInventory return EnumHumidity.getFromValue(getExactHumidity()); } - @Override - public void setErrorState(int state) { - this.errorState = ErrorStateRegistry.getErrorState((short) state); - } - @Override public void setErrorState(IErrorState state) { this.errorState = state; } - @Override - public int getErrorOrdinal() { - return this.errorState.getID(); - } - @Override public IErrorState getErrorState() { return this.errorState; } + @Override + public boolean setErrorCondition(boolean condition, IErrorState errorState) { + if (!condition) { + errors.add(errorState); + } + else { + errors.remove(errorState); + } + return true; + } + + @Override + public Set getErrorStates() { + return errors; + } + @Override public boolean addProduct(ItemStack product, boolean all) { int countAdded = ItemStackUtils.addItemToInventory(this, product, SLOT_PRODUCTS_START, SLOT_PRODUCTS_COUNT); @@ -602,7 +606,9 @@ public class TileEntityMagicApiary extends TileEntity implements ISidedInventory } tickCharges(); - logic.update(); + if (logic.canWork()) { + logic.doWork(); + } IBee queen = logic.getQueen(); if (queen == null) {