From fa5c8aa26421032e0768d188c7ac35325600d80d Mon Sep 17 00:00:00 2001 From: MysteriousAges Date: Fri, 3 Jul 2015 19:03:13 -0700 Subject: [PATCH] Adding bees for AE2 materials. Closes #72 You're welcome, @FireBall1725 =D --- .../java/magicbees/bees/BeeGenomeManager.java | 42 +++++++++++++++++++ src/main/java/magicbees/bees/BeeMutation.java | 33 +++++++++++++++ .../java/magicbees/bees/BeeProductHelper.java | 25 +++++++++-- src/main/java/magicbees/bees/BeeSpecies.java | 26 +++++++++--- .../magicbees/main/utils/VersionInfo.java | 2 +- .../compat/AppliedEnergisticsHelper.java | 13 ++---- .../main/utils/compat/ModHelper.java | 3 ++ .../assets/magicbees/lang/en_US.lang | 8 ++++ 8 files changed, 134 insertions(+), 18 deletions(-) diff --git a/src/main/java/magicbees/bees/BeeGenomeManager.java b/src/main/java/magicbees/bees/BeeGenomeManager.java index 2074107..39ea409 100644 --- a/src/main/java/magicbees/bees/BeeGenomeManager.java +++ b/src/main/java/magicbees/bees/BeeGenomeManager.java @@ -673,6 +673,37 @@ public class BeeGenomeManager { return genome; } + + public static IAllele[] getTemplateSilicon() { + IAllele[] genome = getTemplateBaseMetallic(); + + genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.SILICON; + genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedSlow"); + genome[EnumBeeChromosome.TERRITORY.ordinal()] = Allele.getBaseAllele("territoryLarger"); + genome[EnumBeeChromosome.TOLERANT_FLYER.ordinal()] = Allele.getBaseAllele("boolTrue"); + + return genome; + } + + public static IAllele[] getTemplateCertus() { + IAllele[] genome = getTemplateBaseMetallic(); + + genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.CERTUS; + genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedSlower"); + + return genome; + } + + + public static IAllele[] getTemplateFluix() { + IAllele[] genome = getTemplateBaseMetallic(); + + genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.FLUIX; + genome[EnumBeeChromosome.SPEED.ordinal()] = Allele.getBaseAllele("speedSlowest"); + + return genome; + } + public static IAllele[] getTemplateMutableBase() { IAllele[] genome = getTemplateModBase(); @@ -1391,6 +1422,17 @@ public class BeeGenomeManager { return genome; } + public static IAllele[] getTemplateAESkystone() { + IAllele[] genome = getTemplateModBase(); + + genome[EnumBeeChromosome.SPECIES.ordinal()] = BeeSpecies.AE_SKYSTONE; + genome[EnumBeeChromosome.CAVE_DWELLING.ordinal()] = Allele.getBaseAllele("boolTrue"); + genome[EnumBeeChromosome.FERTILITY.ordinal()] = Allele.getBaseAllele("fertilityLow"); + genome[EnumBeeChromosome.EFFECT.ordinal()] = Allele.getBaseAllele("effectIgnition"); + + return genome; + } + /*--------------------- Other Stuff ---------------------------------- */ public static ItemStack getBeeNBTForSpecies(BeeSpecies species, EnumBeeType beeType) { diff --git a/src/main/java/magicbees/bees/BeeMutation.java b/src/main/java/magicbees/bees/BeeMutation.java index 76756e0..0f742cd 100644 --- a/src/main/java/magicbees/bees/BeeMutation.java +++ b/src/main/java/magicbees/bees/BeeMutation.java @@ -7,6 +7,7 @@ import magicbees.main.Config; import magicbees.main.utils.LocalizationManager; import magicbees.main.utils.LogHelper; import magicbees.main.utils.MoonPhase; +import magicbees.main.utils.compat.AppliedEnergisticsHelper; import magicbees.main.utils.compat.ArsMagicaHelper; import magicbees.main.utils.compat.BotaniaHelper; import magicbees.main.utils.compat.EquivalentExchangeHelper; @@ -206,6 +207,31 @@ public class BeeMutation implements IBeeMutation new BeeMutation(Allele.getBaseSpecies("Rural"), BeeSpecies.COPPER, BeeSpecies.APATITE, 12) .setBlockRequired("blockApatite"); + if (BeeSpecies.SILICON.isActive()) { + baseA = (BeeSpecies.AE_SKYSTONE.isActive()) ? BeeSpecies.AE_SKYSTONE : BeeSpecies.EARTHY; + new BeeMutation(baseA, BeeSpecies.IRON, BeeSpecies.SILICON, 17); + } + + if (BeeSpecies.CERTUS.isActive()) { + baseA = (BeeSpecies.SILICON.isActive()) ? BeeSpecies.SILICON : BeeSpecies.IRON; + baseB = (BeeSpecies.AE_SKYSTONE.isActive()) ? BeeSpecies.AE_SKYSTONE : BeeSpecies.EARTHY; + new BeeMutation(baseA, baseB, BeeSpecies.CERTUS, 13); + } + + if (BeeSpecies.FLUIX.isActive()) { + if (BeeSpecies.CERTUS.isActive()) { + baseA = BeeSpecies.CERTUS; + } + else if (BeeSpecies.SILICON.isActive()) { + baseA = BeeSpecies.SILICON; + } + else { + baseA = BeeSpecies.IRON; + } + baseB = (BeeSpecies.AE_SKYSTONE.isActive()) ? BeeSpecies.AE_SKYSTONE : BeeSpecies.EARTHY; + new BeeMutation(baseA, baseB, BeeSpecies.FLUIX, 17); + } + if (ThaumcraftHelper.isActive()) { new BeeMutation(BeeSpecies.WINDY, BeeSpecies.WINDY, BeeSpecies.TC_AIR, 8) @@ -321,6 +347,13 @@ public class BeeMutation implements IBeeMutation new BeeMutation(BeeSpecies.BOT_BOTANIC, BeeSpecies.EARTHY, BeeSpecies.BOT_BLOSSOM, 12); new BeeMutation(BeeSpecies.BOT_BOTANIC, BeeSpecies.BOT_BLOSSOM, BeeSpecies.BOT_FLORAL, 8); } + + if (AppliedEnergisticsHelper.isActive()) { + if (BeeSpecies.AE_SKYSTONE.isActive()) { + new BeeMutation(BeeSpecies.EARTHY, BeeSpecies.WINDY, BeeSpecies.AE_SKYSTONE, 20) + .setBlockRequired(AppliedEnergisticsHelper.skystone); + } + } } private IAllele parent1; diff --git a/src/main/java/magicbees/bees/BeeProductHelper.java b/src/main/java/magicbees/bees/BeeProductHelper.java index c62c267..b073cab 100644 --- a/src/main/java/magicbees/bees/BeeProductHelper.java +++ b/src/main/java/magicbees/bees/BeeProductHelper.java @@ -8,6 +8,7 @@ import magicbees.item.types.PropolisType; import magicbees.item.types.ResourceType; import magicbees.main.Config; import magicbees.main.utils.LogHelper; +import magicbees.main.utils.compat.AppliedEnergisticsHelper; import magicbees.main.utils.compat.ArsMagicaHelper; import magicbees.main.utils.compat.BotaniaHelper; import magicbees.main.utils.compat.EquivalentExchangeHelper; @@ -214,19 +215,27 @@ public class BeeProductHelper { CERTUS.addProduct(ForestryHelper.itemHoneycomb, 10); if (OreDictionary.getOres("crystalCertusQuartz").size() > 0) { - CERTUS.addSpecialty(OreDictionary.getOres("crystalCertusQuartz").get(0), 16); + CERTUS.addSpecialty(OreDictionary.getOres("crystalCertusQuartz").get(0), 8); } else { CERTUS.setInactive(); } SILICON.addProduct(ForestryHelper.itemHoneycomb, 10); - if (OreDictionary.getOres("crystalCertusQuartz").size() > 0) { - SILICON.addSpecialty(OreDictionary.getOres("crystalCertusQuartz").get(0), 16); + if (OreDictionary.getOres("itemSilicon").size() > 0) { + SILICON.addSpecialty(OreDictionary.getOres("itemSilicon").get(0), 16); } else { SILICON.setInactive(); } + + FLUIX.addProduct(ForestryHelper.itemHoneycomb, 10); + if (OreDictionary.getOres("crystalFluix").size() > 0) { + FLUIX.addSpecialty(OreDictionary.getOres("crystalFluix").get(0), 6); + } + else { + FLUIX.setInactive(); + } } public static void initThaumcraftProducts() { @@ -389,4 +398,14 @@ public class BeeProductHelper { } } } + + public static void initAppEngProducts() { + AE_SKYSTONE.addProduct(Config.combs.getStackForType(CombType.EARTHY), 19); + if (AppliedEnergisticsHelper.skystone != null) { + AE_SKYSTONE.addSpecialty(new ItemStack(AppliedEnergisticsHelper.skystone), 2); + } + else { + AE_SKYSTONE.setInactive(); + } + } } diff --git a/src/main/java/magicbees/bees/BeeSpecies.java b/src/main/java/magicbees/bees/BeeSpecies.java index adcc33b..ddbca8f 100644 --- a/src/main/java/magicbees/bees/BeeSpecies.java +++ b/src/main/java/magicbees/bees/BeeSpecies.java @@ -10,6 +10,7 @@ import java.util.Map; import magicbees.main.CommonProxy; import magicbees.main.Config; import magicbees.main.utils.LocalizationManager; +import magicbees.main.utils.compat.AppliedEnergisticsHelper; import magicbees.main.utils.compat.ArsMagicaHelper; import magicbees.main.utils.compat.BloodMagicHelper; import magicbees.main.utils.compat.BotaniaHelper; @@ -160,16 +161,18 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider OSMIUM("Osmium", "hyacintho", BeeClassification.METALLIC, 0x374B5B, 0x6C7B89, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false), - DIAMOND("Diamond", "diamond", BeeClassification.GEM, + DIAMOND("Diamond", "diamond", BeeClassification.GEM, 0x209581, 0x8DF5E3, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, false), EMERALD("Emerald", "prasinus", BeeClassification.GEM, 0x005300, 0x17DD62, EnumTemperature.NORMAL, EnumHumidity.NORMAL, true, false), APATITE("Apatite", "apatite", BeeClassification.GEM, 0x2EA7EC, 0x001D51, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false), - CERTUS("Certus", "", BeeClassification.GEM, - 0xffffff, 0xffffff, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true), - SILICON("Silicon", "", BeeClassification.GEM, - 0xffffff, 0xffffff, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false), + SILICON("Silicon", "siliconisque ", BeeClassification.GEM, + 0xADA2A7, 0x736675, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false), + CERTUS("Certus", "alia cristallum", BeeClassification.GEM, + 0x93C7FF, 0xA6B8C7, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true), + FLUIX("Fluix", "alien cristallum", BeeClassification.GEM, + 0xFC639E, 0x534797, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, true), MUTABLE("Mutable", "mutable", BeeClassification.TRANSMUTING, 0xDBB24C, 0xE0D5A6, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false), @@ -316,6 +319,10 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider BOT_ALFHEIM("BotAlfheim", "alfheimis", BeeClassification.BOTANICAL, -1, -1, EnumTemperature.NORMAL, EnumHumidity.NORMAL, false, false), + // -------------------Applied Energistics 2 Bees--------------------------- + AE_SKYSTONE("Skystone", "terra astris", BeeClassification.TRANSMUTING, + 0x4B8381, 0x252929, EnumTemperature.HOT, EnumHumidity.ARID, false, true), + ; // For body colours used by more than one bee. @@ -384,6 +391,9 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider DIAMOND.registerGenomeTemplate(BeeGenomeManager.getTemplateDiamond()); EMERALD.registerGenomeTemplate(BeeGenomeManager.getTemplateEmerald()); APATITE.registerGenomeTemplate(BeeGenomeManager.getTemplateApatite()); + SILICON.registerGenomeTemplate(BeeGenomeManager.getTemplateSilicon()); + FLUIX.registerGenomeTemplate(BeeGenomeManager.getTemplateFluix()); + CERTUS.registerGenomeTemplate(BeeGenomeManager.getTemplateCertus()); MUTABLE.registerGenomeTemplate(BeeGenomeManager.getTemplateMutable()); TRANSMUTING.registerGenomeTemplate(BeeGenomeManager.getTemplateTransmuting()); CRUMBLING.registerGenomeTemplate(BeeGenomeManager.getTemplateCrumbling()); @@ -443,6 +453,7 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider BOT_SOMNOLENT.registerGenomeTemplate(BeeGenomeManager.getTemplateBotSomnolent()); BOT_DREAMING.registerGenomeTemplate(BeeGenomeManager.getTemplateBotDreaming()); BOT_ALFHEIM.registerGenomeTemplate(BeeGenomeManager.getTemplateBotAelfheim()); + AE_SKYSTONE.registerGenomeTemplate(BeeGenomeManager.getTemplateAESkystone()); BeeProductHelper.initThaumcraftProducts(); if (!ThaumcraftHelper.isActive()) { @@ -521,6 +532,11 @@ public enum BeeSpecies implements IAlleleBeeSpecies, IIconProvider BOT_FLORAL.setInactive(); BOT_VAZBEE.setInactive(); } + + BeeProductHelper.initAppEngProducts(); + if (!AppliedEnergisticsHelper.isActive()) { + AE_SKYSTONE.setInactive(); + } } private String binomial; diff --git a/src/main/java/magicbees/main/utils/VersionInfo.java b/src/main/java/magicbees/main/utils/VersionInfo.java index d96a0d4..4545126 100644 --- a/src/main/java/magicbees/main/utils/VersionInfo.java +++ b/src/main/java/magicbees/main/utils/VersionInfo.java @@ -25,7 +25,7 @@ public class VersionInfo public static final String Logo = "/gfx/magicbees/logo.png"; - public static final String Depends = "required-after:Forestry@[3.1.1.4,);after:Thaumcraft;after:ExtraBees;after:EE3;after:ArsMagica;after:TConstruct;after:Railcraft;after:ThermalFoundation;after:ThermalExpansion;after:AWWayofTime;after:Botania"; + public static final String Depends = "required-after:Forestry@[3.1.1.4,);after:Thaumcraft;after:ExtraBees;after:EE3;after:ArsMagica;after:TConstruct;after:Railcraft;after:ThermalFoundation;after:ThermalExpansion;after:AWWayofTime;after:Botania;after:appliedenergistics2"; boolean criticalUpdate; boolean newVersion; diff --git a/src/main/java/magicbees/main/utils/compat/AppliedEnergisticsHelper.java b/src/main/java/magicbees/main/utils/compat/AppliedEnergisticsHelper.java index e93d068..39616d9 100644 --- a/src/main/java/magicbees/main/utils/compat/AppliedEnergisticsHelper.java +++ b/src/main/java/magicbees/main/utils/compat/AppliedEnergisticsHelper.java @@ -1,15 +1,12 @@ package magicbees.main.utils.compat; -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; import magicbees.main.Config; +import net.minecraft.block.Block; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; public class AppliedEnergisticsHelper { - public static ItemStack silicon; - public static ItemStack fluixCrystal; public static Block skystone; public static final String Name = "appliedenergistics2"; @@ -27,14 +24,12 @@ public class AppliedEnergisticsHelper { public static void init() { if (isActive()) { - skystone = GameRegistry.findBlock(Name, "tile.skystone"); - silicon = GameRegistry.findItemStack(Name, "item.silicon", 1); + skystone = GameRegistry.findBlock(Name, "tile.BlockSkyStone"); } } public static void postInit() { - if (isActive()) { - - } + /*if (isActive()) { + }*/ } } diff --git a/src/main/java/magicbees/main/utils/compat/ModHelper.java b/src/main/java/magicbees/main/utils/compat/ModHelper.java index 3e8f5f2..7f8c906 100644 --- a/src/main/java/magicbees/main/utils/compat/ModHelper.java +++ b/src/main/java/magicbees/main/utils/compat/ModHelper.java @@ -14,6 +14,7 @@ public class ModHelper RedstoneArsenalHelper.preInit(); BloodMagicHelper.preInit(); BotaniaHelper.preInit(); + AppliedEnergisticsHelper.preInit(); } public static void init() @@ -28,6 +29,7 @@ public class ModHelper RedstoneArsenalHelper.init(); BloodMagicHelper.init(); BotaniaHelper.init(); + AppliedEnergisticsHelper.init(); } public static void postInit() @@ -42,5 +44,6 @@ public class ModHelper RedstoneArsenalHelper.postInit(); BloodMagicHelper.postInit(); BotaniaHelper.postInit(); + AppliedEnergisticsHelper.postInit(); } } diff --git a/src/main/resources/assets/magicbees/lang/en_US.lang b/src/main/resources/assets/magicbees/lang/en_US.lang index 4e12b35..b233d1c 100644 --- a/src/main/resources/assets/magicbees/lang/en_US.lang +++ b/src/main/resources/assets/magicbees/lang/en_US.lang @@ -333,6 +333,12 @@ magicbees.speciesManyullyn=Manyullyn magicbees.speciesManyullyn.description="Doot doo-dee-doot doot!" magicbees.speciesOsmium=Osmium magicbees.speciesOsmium.description=Occasionally confused for Iridium bees, despite their lack of goopy texture and pink colouration as described in older books.|Apinomicon +magicbees.speciesSilicon=Silicon +magicbees.speciesSilicon.description="Not to be confused with Silicone bees, AKA the Boo Bees!"|Myrathi, Wearer of Headpants +magicbees.speciesCertus=Certus +magicbees.speciesCertus.description=The OTHER kind of Quartz, slightly bluer, but no less valuable.|Apinomicon +magicbees.speciesFluix=Fluix +magicbees.speciesFluix.description=Fusing properties of Redstone, Nether Quartz and Certus Quartz, the Fluix crystal itself is unusual, unstable, and volatile if struck with TNT.|Apinomicon magicbees.speciesDiamond=Diamandi magicbees.speciesDiamond.description=Crystalline, glittering, and harder than dragon's teeth. These bees are none of those.|Apinomicon @@ -463,6 +469,8 @@ magicbees.speciesBotDreaming=Dreaming magicbees.speciesBotDreaming.description=These bees spend an inordinate time inactive and asleep; there is no way to know what they dream of.|Apinomicon magicbees.speciesBotAlfheim=Alfheim magicbees.speciesBotAlfheim.description=They recall their time in Alfheim, and yearn for a world infused with mana, and seek to make it so.|Apinomicon +magicbees.speciesAESkystone=Skystone +magicbees.speciesAESkystone.description=Born of the union of the Earth and the Sky, falling to the ground, wreathed in flame.|Apinomicon magicbees.species= magicbees.species.description=