diff options
Diffstat (limited to 'src/main/java/gregtech')
26 files changed, 4604 insertions, 347 deletions
diff --git a/src/main/java/gregtech/api/enums/GTNH_ExtraMaterials.java b/src/main/java/gregtech/api/enums/GTNH_ExtraMaterials.java index a2c7ced80c..cefa527b6c 100644 --- a/src/main/java/gregtech/api/enums/GTNH_ExtraMaterials.java +++ b/src/main/java/gregtech/api/enums/GTNH_ExtraMaterials.java @@ -19,6 +19,9 @@ public class GTNH_ExtraMaterials implements IMaterialHandler { public static Materials EnrichedCopper = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "EnrichedCopper" , "Enriched Copper" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL ); public static Materials DiamondCopper = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "DiamondCopper" , "Diamond Copper" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL ); public static Materials TarPitch = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "TarPitch" , "Tar Pitch" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL ); + public static Materials LimePure = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 0, 0 , 255, 255, 255, 0, "LimePure" , "Pure Lime" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeLime ); + public static Materials Wimalite = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 8 , 255, 255, 255, 0, "Wimalite" , "Wimalite" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow ); + public static Materials Yellorite = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 8 , 255, 255, 255, 0, "Yellorite" , "Yellorite" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow ); private static void initSubTags() { SubTag.METAL.addTo(Signalum, Lumium, EnrichedCopper, DiamondCopper); diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java index 6de06b94d0..f7795746f7 100644 --- a/src/main/java/gregtech/api/enums/ItemList.java +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -366,7 +366,7 @@ public enum ItemList implements IItemContainer { Circuit_Biowarecomputer, Circuit_Biowaresupercomputer, Rotor_LV, Rotor_MV, Rotor_HV, Rotor_EV, Rotor_IV, Rotor_LuV, Rotor_ZPM, Rotor_UV, - Electric_Motor_LV, Electric_Motor_MV, Electric_Motor_HV, Electric_Motor_EV, Electric_Motor_IV, Electric_Motor_LuV, Electric_Motor_ZPM, Electric_Motor_UV, Electric_Motor_UHV, + Electric_Motor_LV, Electric_Motor_MV, Electric_Motor_HV, Electric_Motor_EV, Electric_Motor_IV, Electric_Motor_LuV, Electric_Motor_ZPM, Electric_Motor_UV, Electric_Motor_UHV, Electric_Motor_UEV, Electric_Pump_LV, Electric_Pump_MV, Electric_Pump_HV, Electric_Pump_EV, Electric_Pump_IV, Electric_Pump_LuV, Electric_Pump_ZPM, Electric_Pump_UV, Electric_Pump_UHV, Conveyor_Module_LV, Conveyor_Module_MV, Conveyor_Module_HV, Conveyor_Module_EV, Conveyor_Module_IV, Conveyor_Module_LuV, Conveyor_Module_ZPM, Conveyor_Module_UV, Conveyor_Module_UHV, Electric_Piston_LV, Electric_Piston_MV, Electric_Piston_HV, Electric_Piston_EV, Electric_Piston_IV, Electric_Piston_LuV, Electric_Piston_ZPM, Electric_Piston_UV, Electric_Piston_UHV, diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index 3148674201..41b38abf30 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -341,8 +341,6 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials Voidstone = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 200, "Voidstone" , "Voidstone" , 0, 0, -1, 0, false, true, 1, 1, 1, Dyes._NULL , Arrays.asList(new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.VACUOS, 1)));
public static Materials Vulcanite = new Materials( 489, TextureSet.SET_METALLIC , 6.0F, 64, 2, 1|2 |8 |64|128 , 255, 132, 72, 0, "Vulcanite" , "Vulcanite" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes._NULL );
public static Materials Vyroxeres = new Materials( 951, TextureSet.SET_METALLIC , 9.0F, 768, 3, 1|2 |8 |64 , 85, 224, 1, 0, "Vyroxeres" , "Vyroxeres" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes._NULL );
- public static Materials Wimalite = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 8 , 255, 255, 255, 0, "Wimalite" , "Wimalite" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow );
- public static Materials Yellorite = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 8 , 255, 255, 255, 0, "Yellorite" , "Yellorite" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow );
public static Materials Yellorium = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "Yellorium" , "Yellorium" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow );
public static Materials Zectium = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 |8 , 255, 255, 255, 0, "Zectium" , "Zectium" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeBlack );
@@ -384,7 +382,6 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials FryingOilHot = new Materials( 727, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 200, 196, 0, 0, "FryingOilHot" , "Hot Frying Oil" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeOrange , Arrays.asList(new TC_AspectStack(TC_Aspects.AQUA, 1), new TC_AspectStack(TC_Aspects.IGNIS, 1)));
public static Materials Honey = new Materials( 725, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 210, 200, 0, 0, "Honey" , "Honey" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow );
public static Materials Leather = new Materials( -1, TextureSet.SET_ROUGH , 1.0F, 0, 0, 1 , 150, 150, 80, 127, "Leather" , "Leather" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeOrange );
- public static Materials LimePure = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 0, 0 , 255, 255, 255, 0, "LimePure" , "Pure Lime" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeLime );
public static Materials Lubricant = new Materials( 724, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 255, 196, 0, 0, "Lubricant" , "Lubricant" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeOrange , Arrays.asList(new TC_AspectStack(TC_Aspects.AQUA, 2), new TC_AspectStack(TC_Aspects.MACHINA, 1)));
public static Materials McGuffium239 = new Materials( 999, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 200, 50, 150, 0, "McGuffium239" , "Mc Guffium 239" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyePink , Arrays.asList(new TC_AspectStack(TC_Aspects.ALIENIS, 8), new TC_AspectStack(TC_Aspects.PERMUTATIO, 8), new TC_AspectStack(TC_Aspects.SPIRITUS, 8), new TC_AspectStack(TC_Aspects.AURAM, 8), new TC_AspectStack(TC_Aspects.VITIUM, 8), new TC_AspectStack(TC_Aspects.RADIO, 8), new TC_AspectStack(TC_Aspects.MAGNETO, 8), new TC_AspectStack(TC_Aspects.ELECTRUM, 8), new TC_AspectStack(TC_Aspects.NEBRISUM, 8), new TC_AspectStack(TC_Aspects.STRONTIO, 8)));
public static Materials MeatRaw = new Materials( 892, TextureSet.SET_FINE , 1.0F, 0, 0, 1 , 255, 100, 100, 0, "MeatRaw" , "Raw Meat" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyePink );
@@ -503,7 +500,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials Pyrolusite = new Materials( 943, TextureSet.SET_DULL , 1.0F, 0, 2, 1 |8 , 150, 150, 170, 0, "Pyrolusite" , "Pyrolusite" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeLightGray , 1, Arrays.asList(new MaterialStack(Manganese, 1), new MaterialStack(Oxygen, 2)));
public static Materials Pyrope = new Materials( 835, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1 |8 , 120, 50, 100, 0, "Pyrope" , "Pyrope" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyePurple , 1, Arrays.asList(new MaterialStack(Aluminium, 2), new MaterialStack(Magnesium, 3), new MaterialStack(Silicon, 3), new MaterialStack(Oxygen, 12)));
public static Materials RockSalt = new Materials( 944, TextureSet.SET_FINE , 1.0F, 0, 1, 1 |8 , 240, 200, 200, 0, "RockSalt" , "Rock Salt" , 0, 0, -1, 0, false, false, 2, 1, 1, Dyes.dyeWhite , 1, Arrays.asList(new MaterialStack(Potassium, 1), new MaterialStack(Chlorine, 1)));
- public static Materials Rubber = new Materials( 880, TextureSet.SET_SHINY , 1.5F, 32, 0, 1|2 |64|128 , 0, 0, 0, 0, "Rubber" , "Rubber" , 0, 0, 400, 0, false, false, 1, 1, 1, Dyes.dyeBlack , 0, Arrays.asList(new MaterialStack(Carbon, 5), new MaterialStack(Hydrogen, 8)), Arrays.asList(new TC_AspectStack(TC_Aspects.MOTUS, 2))); public static Materials RawRubber = new Materials( 896, TextureSet.SET_DULL , 1.0F, 0, 0, 1 , 204, 199, 137, 0, "RawRubber" , "Raw Rubber" , 0, 0, 400, 0, false, false, 1, 1, 1, Dyes.dyeWhite , 0, Arrays.asList(new MaterialStack(Carbon, 5), new MaterialStack(Hydrogen, 8)), Arrays.asList(new TC_AspectStack(TC_Aspects.MOTUS, 2)));
+ public static Materials Rubber = new Materials( 880, TextureSet.SET_SHINY , 1.5F, 32, 0, 1|2 |64|128 , 0, 0, 0, 0, "Rubber" , "Rubber" , 0, 0, 400, 0, false, false, 1, 1, 1, Dyes.dyeBlack , 0, Arrays.asList(new MaterialStack(Carbon, 5), new MaterialStack(Hydrogen, 8)), Arrays.asList(new TC_AspectStack(TC_Aspects.MOTUS, 2)));
+ public static Materials RawRubber = new Materials( 896, TextureSet.SET_DULL , 1.0F, 0, 0, 1 , 204, 199, 137, 0, "RawRubber" , "Raw Rubber" , 0, 0, 400, 0, false, false, 1, 1, 1, Dyes.dyeWhite , 0, Arrays.asList(new MaterialStack(Carbon, 5), new MaterialStack(Hydrogen, 8)), Arrays.asList(new TC_AspectStack(TC_Aspects.MOTUS, 2)));
public static Materials Ruby = new Materials( 502, TextureSet.SET_RUBY , 7.0F, 256, 2, 1 |4|8 |64 , 255, 100, 100, 127, "Ruby" , "Ruby" , 0, 0, -1, 0, false, true, 5, 1, 1, Dyes.dyeRed , 1, Arrays.asList(new MaterialStack(Chrome, 1), new MaterialStack(Aluminium, 2), new MaterialStack(Oxygen, 3)), Arrays.asList(new TC_AspectStack(TC_Aspects.LUCRUM, 6), new TC_AspectStack(TC_Aspects.VITREUS, 4)));
public static Materials Salt = new Materials( 817, TextureSet.SET_FINE , 1.0F, 0, 1, 1 |8 , 250, 250, 250, 0, "Salt" , "Salt" , 0, 0, -1, 0, false, false, 2, 1, 1, Dyes.dyeWhite , 0, Arrays.asList(new MaterialStack(Sodium, 1), new MaterialStack(Chlorine, 1)));
public static Materials Saltpeter = new Materials( 836, TextureSet.SET_FINE , 1.0F, 0, 1, 1 |8 , 230, 230, 230, 0, "Saltpeter" , "Saltpeter" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeWhite , 1, Arrays.asList(new MaterialStack(Potassium, 1), new MaterialStack(Nitrogen, 1), new MaterialStack(Oxygen, 3)));
@@ -623,7 +621,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials Cumene = new MaterialBuilder(688, TextureSet.SET_FLUID , "Isopropylbenzene").addCell().addFluid().setRGB(85, 34, 0).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Carbon, 9), new MaterialStack(Hydrogen, 12)).addElectrolyzerRecipe().constructMaterial();
public static Materials PhosphoricAcid = new MaterialBuilder(689, TextureSet.SET_FLUID , "Phosphoric Acid").setName("PhosphoricAcid_GT5U").addCell().addFluid().setRGB(220, 220, 0).setColor(Dyes.dyeYellow).setMaterialList(new MaterialStack(Hydrogen, 3), new MaterialStack(Phosphor, 1), new MaterialStack(Oxygen, 4)).addElectrolyzerRecipe().constructMaterial();
public static Materials SaltWater = new MaterialBuilder(692, TextureSet.SET_FLUID , "Salt Water").addCell().addFluid().setRGB(0, 0, 200).setColor(Dyes.dyeBlue).constructMaterial();
- public static Materials IronIIIChloride = new MaterialBuilder(693, TextureSet.SET_FLUID , "Iron III Chloride").setName("IronIIIChloride").addCell().addFluid().setRGB(22, 21, 14).setColor(Dyes.dyeBlack).setMaterialList(new MaterialStack(HydrochloricAcid, 2), new MaterialStack(Iron, 1)).addElectrolyzerRecipe().constructMaterial();
+ public static Materials IronIIIChloride = new MaterialBuilder(693, TextureSet.SET_FLUID , "Iron III Chloride").setName("IronIIIChloride").addCell().addFluid().setRGB(22, 21, 14).setColor(Dyes.dyeBlack).setMaterialList(new MaterialStack(Chlorine, 3), new MaterialStack(Iron, 1)).addElectrolyzerRecipe().constructMaterial();
public static Materials LifeEssence = new MaterialBuilder(694, TextureSet.SET_FLUID , "Life").setName("lifeessence").addCell().addFluid().setRGB(110, 3, 3).setColor(Dyes.dyeRed).setMaterialList().constructMaterial();
public static Materials SolderingAlloy = new Materials( 314, TextureSet.SET_DULL , 1.0F, 0, 1, 1|2 , 220, 220, 230, 0, "SolderingAlloy" , "Soldering Alloy" , 0, 0, 400, 400, false, false, 1, 1, 1, Dyes.dyeWhite , 2, Arrays.asList(new MaterialStack(Tin, 9), new MaterialStack(Antimony, 1)));
@@ -674,6 +672,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { public static Materials VolcanicAsh = new Materials( 940, TextureSet.SET_FLINT , 1.0F, 0, 0, 1 , 60, 50, 50, 0, "VolcanicAsh" , "Volcanic Ashes" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack , 2, Arrays.asList(new MaterialStack(Flint, 6), new MaterialStack(Iron, 1), new MaterialStack(Magnesium, 1)));
public static Materials Niter = new Materials( 531, TextureSet.SET_FLINT , 1.0F, 0, 1, 1 |4|8 , 255, 200, 200, 0, "Niter" , "Niter" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyePink , 2, Arrays.asList(new MaterialStack(Saltpeter, 1)));
public static Materials Pyrotheum = new Materials( 843, TextureSet.SET_FIERY , 1.0F, 0, 1, 1 , 255, 128, 0, 0, "Pyrotheum" , "Pyrotheum" , 2, 62, -1, 0, false, false, 2, 3, 1, Dyes.dyeYellow , 2, Arrays.asList(new MaterialStack(Coal, 1), new MaterialStack(Redstone, 1), new MaterialStack(Blaze, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.PRAECANTATIO, 2), new TC_AspectStack(TC_Aspects.IGNIS, 1)));
+ public static Materials Cryotheum = new Materials( 898, TextureSet.SET_SHINY , 1.0F, 0, 1, 1 , 0, 148, 203, 0, "Cryotheum" , "Cryotheum" , 2, 62, -1, 0, false, false, 2, 3, 1, Dyes.dyeLightBlue , 2, Arrays.asList(new MaterialStack(Saltpeter, 1), new MaterialStack(Redstone, 1), new MaterialStack(Snow, 1), new MaterialStack(Blizz, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.PRAECANTATIO, 2), new TC_AspectStack(TC_Aspects.ELECTRUM, 1), new TC_AspectStack(TC_Aspects.GELUM, 1)));
public static Materials HydratedCoal = new Materials( 818, TextureSet.SET_ROUGH , 1.0F, 0, 1, 1 , 70, 70, 100, 0, "HydratedCoal" , "Hydrated Coal" , 0, 0, -1, 0, false, false, 1, 9, 8, Dyes.dyeBlack , 2, Arrays.asList(new MaterialStack(Coal, 8), new MaterialStack(Water, 1)));
public static Materials Apatite = new Materials( 530, TextureSet.SET_DIAMOND , 1.0F, 0, 1, 1 |4|8 , 200, 200, 255, 0, "Apatite" , "Apatite" , 0, 0, -1, 0, false, false, 2, 1, 1, Dyes.dyeCyan , 1, Arrays.asList(new MaterialStack(Calcium, 5), new MaterialStack(Phosphate, 3), new MaterialStack(Chlorine, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.MESSIS, 2)));
public static Materials Alumite = new Materials( -1, TextureSet.SET_METALLIC , 1.5F, 64, 0, 1|2 |64 , 255, 255, 255, 0, "Alumite" , "Alumite" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyePink , 2, Arrays.asList(new MaterialStack(Aluminium, 5), new MaterialStack(Steel, 2), new MaterialStack(Obsidian, 2)), Arrays.asList(new TC_AspectStack(TC_Aspects.STRONTIO, 2)));
@@ -1357,7 +1356,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { PulsatingIron, Manasteel, DarkThaumium, /**ElvenElementium EnrichedCopper, DiamondCopper,**/ Adamantium, Amordrine, Angmallen, Ardite, Aredrite, Atlarus, /**Blutonium,**/ Carmot, Celenegil, Ceruclase, DarkIron,
Desh, Desichalkos, Duranium, ElectrumFlux, Enderium, EnderiumBase, Eximite, FierySteel, Force, Haderoth, Hematite, Hepatizon, HSLA, Infuscolium, InfusedGold, Inolashite, Mercassium, MeteoricIron,
MeteoricSteel, Naquadah, NaquadahAlloy, NaquadahEnriched, Naquadria, ObsidianFlux, Orichalcum, Osmonium, Oureclase, Phoenixite, Prometheum, Sanguinite, /**Starconium,**/
- Tartarite, Ichorium,/**Thyrium,**/ Tritanium, Vulcanite, Vyroxeres, /**Yellorium,**/ Zectium, AluminiumBrass, Osmiridium, Sunnarium, AnnealedCopper, BatteryAlloy, Brass, Bronze, ChromiumDioxide, Cupronickel, DeepIron,
+ Tartarite, Ichorium,/**Thyrium,**/ Tritanium, Vulcanite, Vyroxeres, Yellorium, Zectium, AluminiumBrass, Osmiridium, Sunnarium, AnnealedCopper, BatteryAlloy, Brass, Bronze, ChromiumDioxide, Cupronickel, DeepIron,
Electrum, Invar, /**IronCompressed,**/ Kanthal, Magnalium, Nichrome, NiobiumNitride, NiobiumTitanium, PigIron, SolderingAlloy, StainlessSteel, Steel, Ultimet, VanadiumGallium, WroughtIron,
YttriumBariumCuprate, IronWood, Alumite, Manyullyn, ShadowIron, Shadow, ShadowSteel, Steeleaf, SterlingSilver, RoseGold, BlackBronze, BismuthBronze, BlackSteel, RedSteel, BlueSteel, DamascusSteel,
TungstenSteel, AstralSilver, /**Midasium,**/ Mithril, BlueAlloy, RedAlloy, CobaltBrass, Thaumium, Void, IronMagnetic, SteelMagnetic, NeodymiumMagnetic, SamariumMagnetic, Knightmetal, HSSG, HSSE, HSSS, TungstenCarbide, HeeEndium,
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java index 7b634ae9f0..bf6293baae 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java @@ -10,6 +10,7 @@ import gregtech.api.metatileentity.BaseMetaTileEntity; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_ModHandler.RecipeBits; +import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; import ic2.core.Ic2Items; @@ -661,6 +662,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_ } } + @Override public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { super.onPreTick(aBaseMetaTileEntity, aTick); diff --git a/src/main/java/gregtech/api/util/GT_OreDictUnificator.java b/src/main/java/gregtech/api/util/GT_OreDictUnificator.java index 33149eb801..9d9b45cecf 100644 --- a/src/main/java/gregtech/api/util/GT_OreDictUnificator.java +++ b/src/main/java/gregtech/api/util/GT_OreDictUnificator.java @@ -165,16 +165,21 @@ public class GT_OreDictUnificator { if (!GT_Utility.areStacksEqual(tStack0, tStack1)) { GT_ItemStack tGTStack1 = new GT_ItemStack(tStack1); List<ItemStack> list = sUnificationTable.get(tGTStack1); - if (list == null) sUnificationTable.put(tGTStack1, list = new ArrayList<ItemStack>()); - if (!list.contains(tStack0)) list.add(tStack0); + if (list == null) + sUnificationTable.put(tGTStack1, list = new ArrayList<ItemStack>()); + if (!list.contains(tStack0)) + list.add(tStack0); } } } } ItemStack[] aStacks = {}; - if (obj instanceof ItemStack) aStacks = new ItemStack[]{(ItemStack) obj}; - else if (obj instanceof ItemStack[]) aStacks = (ItemStack[]) obj; - else if (obj instanceof List) aStacks = (ItemStack[]) ((List)obj).toArray(new ItemStack[0]); + if (obj instanceof ItemStack) + aStacks = new ItemStack[]{(ItemStack) obj}; + else if (obj instanceof ItemStack[]) + aStacks = (ItemStack[]) obj; + else if (obj instanceof List) aStacks = (ItemStack[]) + ((List)obj).toArray(new ItemStack[0]); List<ItemStack> rList = new ArrayList<ItemStack>(); for (ItemStack aStack : aStacks) { rList.add(aStack); @@ -230,7 +235,8 @@ public class GT_OreDictUnificator { } public static void addAssociation(OrePrefixes aPrefix, Materials aMaterial, ItemStack aStack, boolean aBlackListed) { - if (aPrefix == null || aMaterial == null || GT_Utility.isStackInvalid(aStack)) return; + if (aPrefix == null || aMaterial == null || GT_Utility.isStackInvalid(aStack)) + return; if (Items.feather.getDamage(aStack) == W) for (byte i = 0; i < 16; i++) setItemData(GT_Utility.copyAmountAndMetaData(1, i, aStack), new ItemData(aPrefix, aMaterial, aBlackListed)); setItemData(aStack, new ItemData(aPrefix, aMaterial, aBlackListed)); @@ -256,8 +262,13 @@ public class GT_OreDictUnificator { } public static boolean isItemStackDye(ItemStack aStack) { - if (GT_Utility.isStackInvalid(aStack)) return false; - for (Dyes tDye : Dyes.VALUES) if (isItemStackInstanceOf(aStack, tDye.toString())) return true; + if (GT_Utility.isStackInvalid(aStack)) + return false; + + for (Dyes tDye : Dyes.VALUES) + if (isItemStackInstanceOf(aStack, tDye.toString())) + return true; + return false; } @@ -266,11 +277,20 @@ public class GT_OreDictUnificator { } public static boolean registerOre(Object aName, ItemStack aStack) { - if (aName == null || GT_Utility.isStackInvalid(aStack)) return false; + if (aName == null || GT_Utility.isStackInvalid(aStack)) + return false; + String tName = aName.toString(); - if (GT_Utility.isStringInvalid(tName)) return false; + + if (GT_Utility.isStringInvalid(tName)) + return false; + ArrayList<ItemStack> tList = getOres(tName); - for (int i = 0; i < tList.size(); i++) if (GT_Utility.areStacksEqual(tList.get(i), aStack, true)) return false; + + for (int i = 0; i < tList.size(); i++) + if (GT_Utility.areStacksEqual(tList.get(i), aStack, true)) + return false; + isRegisteringOre++; OreDictionary.registerOre(tName, GT_Utility.copyAmount(1, aStack)); isRegisteringOre--; @@ -286,7 +306,8 @@ public class GT_OreDictUnificator { } public static void resetUnificationEntries() { - for (ItemData tPrefixMaterial : sItemStack2DataMap.values()) tPrefixMaterial.mUnificationTarget = null; + for (ItemData tPrefixMaterial : sItemStack2DataMap.values()) + tPrefixMaterial.mUnificationTarget = null; } public static ItemStack getGem(MaterialStack aMaterial) { diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index 2e420f13cd..234dc994d8 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -19,6 +19,7 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem;
+import net.minecraftforge.oredict.OreDictionary;
import java.util.*;
@@ -583,7 +584,6 @@ public class GT_Recipe implements Comparable<GT_Recipe> { public static final GT_Recipe_Map_Fuel sHugeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.fluidnaquadahreactor", "Naquadah Reactor MkIII", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sExtremeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.hugenaquadahreactor", "Naquadah Reactor MkIV", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sUltraHugeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.extrahugenaquadahreactor", "Naquadah Reactor MkV", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
- //public static final GT_Recipe_Map_Fuel sUltraHugeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.ultrahugenaquadahreactor", "Naquadah Reactor MkV", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_LargeBoilerFakeFuels sLargeBoilerFakeFuels = new GT_Recipe_Map_LargeBoilerFakeFuels();
/**
@@ -1296,24 +1296,71 @@ public class GT_Recipe implements Comparable<GT_Recipe> { * Special Class for Assembler handling.
*/
public static class GT_Recipe_Map_Assembler extends GT_Recipe_Map {
+
public GT_Recipe_Map_Assembler(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed);
}
@Override
public GT_Recipe findRecipe(IHasWorldObjectAndCoords aTileEntity, GT_Recipe aRecipe, boolean aNotUnificated, long aVoltage, FluidStack[] aFluids, ItemStack aSpecialSlot, ItemStack... aInputs) {
- GT_Recipe rRecipe = super.findRecipe(aTileEntity, aRecipe, aNotUnificated, aVoltage, aFluids, aSpecialSlot, aInputs);
+
+ GT_Recipe rRecipe = super.findRecipe(aTileEntity, aRecipe, true, aVoltage, aFluids, aSpecialSlot, aInputs);
+/*
+
+
+ Doesnt work, keep it as a reminder tho
+
+ if (rRecipe == null){
+ Set<ItemStack> aInputs2 = new TreeSet<ItemStack>();
+ for (ItemStack aInput : aInputs) {
+ aInputs2.add(aInput);
+ }
+
+ for (ItemStack aInput : aInputs) {
+ aInputs2.remove(aInput);
+ int[] oredictIDs = OreDictionary.getOreIDs(aInput);
+ if ( oredictIDs.length > 1){
+ for (final int i : oredictIDs){
+ final ItemStack[] oredictIS = (ItemStack[]) OreDictionary.getOres(OreDictionary.getOreName(i)).toArray();
+ if (oredictIS != null && oredictIS.length > 1){
+ for (final ItemStack IS : oredictIS){
+ aInputs2.add(IS);
+ ItemStack[] temp = (ItemStack[]) aInputs2.toArray();
+ rRecipe = super.findRecipe(aTileEntity, aRecipe, aNotUnificated, aVoltage, aFluids, aSpecialSlot,temp);
+ if(rRecipe!= null){
+ break;
+ }
+ else {
+ aInputs2.remove(IS);
+ }
+ }
+ if(rRecipe!= null)
+ break;
+ }
+ }
+ if(rRecipe!= null)
+ break;
+ }else
+ aInputs2.add(aInput);
+ if(rRecipe!= null)
+ break;
+ }
+ }
+*/
if (aInputs == null || aInputs.length <= 0 || aInputs[0] == null || rRecipe == null || !GregTech_API.sPostloadFinished)
return rRecipe;
+
for (ItemStack aInput : aInputs) {
if (ItemList.Paper_Printed_Pages.isStackEqual(aInput, false, true)) {
rRecipe = rRecipe.copy();
rRecipe.mCanBeBuffered = false;
rRecipe.mOutputs[0].setTagCompound(aInput.getTagCompound());
}
+
}
return rRecipe;
}
+
}
/**
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index 5b3c4e8b79..100b5016ab 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -8,6 +8,9 @@ import cpw.mods.fml.common.network.FMLNetworkEvent; import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
+import forestry.api.genetics.AlleleManager;
+import forestry.apiculture.genetics.Bee;
+import forestry.core.genetics.alleles.AlleleHelper;
import gregtech.api.GregTech_API;
import gregtech.api.enums.*;
import gregtech.api.enums.TC_Aspects.TC_AspectStack;
@@ -44,6 +47,7 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
import net.minecraft.potion.Potion;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.DamageSource;
@@ -72,6 +76,7 @@ import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.RecipeSorter;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
+import org.apache.commons.lang3.text.WordUtils;
import static gregtech.GT_Mod.GT_FML_LOGGER;
@@ -1312,6 +1317,104 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { tCount += tStack.stackSize * 64 / Math.max(1, tStack.getMaxStackSize());
}
if (this.mInventoryUnification) {
+
+ if (tStack.getTagCompound()!= null && (tStack.getTagCompound().getTag("Mate")!= null || tStack.getTagCompound().getTag("Genome")!= null )) {
+
+ String orgMate = "";
+ if(tStack.getTagCompound().getTag("Mate")!= null)
+ orgMate = (tStack.getTagCompound().getCompoundTag("Mate")).getTagList("Chromosomes",10).getCompoundTagAt(0).getString("UID1");
+
+ String orgGen = orgMate;
+
+ if(tStack.getTagCompound().getTag("Genome")!= null)
+ orgGen = (tStack.getTagCompound().getCompoundTag("Genome")).getTagList("Chromosomes",10).getCompoundTagAt(0).getString("UID1");
+
+ final boolean[] yn = {orgMate.contains("gendustry"),orgGen.contains("gendustry")};
+
+ if (yn[0] || yn[1]) {
+
+ final NBTTagCompound NBTTAGCOMPOUND = (NBTTagCompound) tStack.getTagCompound().copy();
+
+ //MATE
+ if (yn[0]) {
+ final NBTTagCompound MATE = NBTTAGCOMPOUND.getCompoundTag("Mate");
+ final NBTTagList chromosomesMate = MATE.getTagList("Chromosomes", 10);
+ final NBTTagCompound species = chromosomesMate.getCompoundTagAt(0);
+
+ String ident1 = species.getString("UID1");
+ final String[] split = ident1.split("[.]");
+ ident1 = "gregtech.bee.species" + WordUtils.capitalize(split[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident1) == null)
+ return;
+
+ String ident2 = species.getString("UID0");
+ final String[] split2 = ident2.split("[.]");
+ ident2 = "gregtech.bee.species"+WordUtils.capitalize(split2[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident2) == null)
+ return;
+
+ final NBTTagCompound nuspeciesmate = new NBTTagCompound();
+ nuspeciesmate.setString("UID1", ident1);
+ nuspeciesmate.setString("UID0", ident2);
+ nuspeciesmate.setByte("Slot", (byte) 0);
+
+ final NBTTagCompound nuMate2 = new NBTTagCompound();
+ final NBTTagList nuMate = new NBTTagList();
+ nuMate.appendTag(nuspeciesmate);
+
+ for (int j = 1; j < chromosomesMate.tagCount(); j++) {
+ nuMate.appendTag(chromosomesMate.getCompoundTagAt(j));
+ }
+
+ nuMate2.setTag("Chromosomes", nuMate);
+ NBTTAGCOMPOUND.removeTag("Mate");
+ NBTTAGCOMPOUND.setTag("Mate", nuMate2);
+ }
+ if (yn[1]) {
+ //Genome
+ final NBTTagCompound genome = NBTTAGCOMPOUND.getCompoundTag("Genome");
+ final NBTTagList chromosomesGenome = genome.getTagList("Chromosomes", 10);
+ final NBTTagCompound speciesGenome = chromosomesGenome.getCompoundTagAt(0);
+
+ String ident1Genome = speciesGenome.getString("UID1");
+ final String[] splitGenome = ident1Genome.split("[.]");
+ ident1Genome = "gregtech.bee.species" + WordUtils.capitalize(splitGenome[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident1Genome) == null)
+ return;
+
+ String ident2Genome = speciesGenome.getString("UID0");
+ final String[] splitGenome2 = ident2Genome.split("[.]");
+ ident2Genome = "gregtech.bee.species" + WordUtils.capitalize(splitGenome2[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident2Genome) == null)
+ return;
+
+ final NBTTagCompound nuspeciesgenome = new NBTTagCompound();
+ nuspeciesgenome.setString("UID1", ident1Genome);
+ nuspeciesgenome.setString("UID0", ident2Genome);
+ nuspeciesgenome.setByte("Slot", (byte) 0);
+
+ final NBTTagCompound nugenome2 = new NBTTagCompound();
+ final NBTTagList nuGenome = new NBTTagList();
+ nuGenome.appendTag(nuspeciesgenome);
+
+ for (int j = 1; j < chromosomesGenome.tagCount(); j++) {
+ nuGenome.appendTag(chromosomesGenome.getCompoundTagAt(j));
+ }
+
+ nugenome2.setTag("Chromosomes", nuGenome);
+ NBTTAGCOMPOUND.removeTag("Genome");
+ NBTTAGCOMPOUND.setTag("Genome", nugenome2);
+ }
+ tStack.setTagCompound(new NBTTagCompound());
+ tStack.setTagCompound(NBTTAGCOMPOUND);
+ }
+ else return;
+ }
+
GT_OreDictUnificator.setStack(true, tStack);
}
}
diff --git a/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java b/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java new file mode 100644 index 0000000000..83dc82e6f9 --- /dev/null +++ b/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java @@ -0,0 +1,39 @@ +package gregtech.common.bees; + +import forestry.api.apiculture.EnumBeeChromosome; +import forestry.api.apiculture.IAlleleBeeSpeciesCustom; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IClassification; +import forestry.apiculture.genetics.alleles.AlleleBeeSpecies; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class GT_AlleleBeeSpecies extends AlleleBeeSpecies { + public GT_AlleleBeeSpecies(String uid, boolean dominant, String unlocalizedName, String authority, String unlocalizedDescription, IClassification branch, String binomial, int primaryColor, int secondaryColor) { + super(uid, unlocalizedName, authority, unlocalizedDescription, dominant, branch, binomial, primaryColor, secondaryColor); + AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPECIES); + } + + @Override + public IAlleleBeeSpeciesCustom addProduct(ItemStack product, Float chance) { + if (product == null || product.getItem() == null) { + product=new ItemStack(Items.boat); + } + if (chance <= 0.0f || chance > 1.0f) { + chance = 0.1f; + } + return super.addProduct(product,chance); + } + + @Override + public IAlleleBeeSpeciesCustom addSpecialty(ItemStack specialty, Float chance) { + if (specialty == null || specialty.getItem() == null) { + specialty=new ItemStack(Items.boat); + } + if (chance <= 0.0f || chance > 1.0f) { + chance = 0.1f; + } + return super.addSpecialty(specialty, chance); + } + +} diff --git a/src/main/java/gregtech/common/bees/GT_AlleleHelper.java b/src/main/java/gregtech/common/bees/GT_AlleleHelper.java new file mode 100644 index 0000000000..3431f96eb4 --- /dev/null +++ b/src/main/java/gregtech/common/bees/GT_AlleleHelper.java @@ -0,0 +1,224 @@ +package gregtech.common.bees; + +import forestry.api.apiculture.EnumBeeChromosome; +import forestry.api.arboriculture.EnumTreeChromosome; +import forestry.api.genetics.*; +import forestry.api.lepidopterology.EnumButterflyChromosome; +import forestry.apiculture.flowers.FlowerProvider; +import forestry.core.config.Constants; +import forestry.core.genetics.alleles.*; +import forestry.core.utils.vect.IVect; +import forestry.plugins.PluginManager; + +import java.util.EnumMap; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; + +public class GT_AlleleHelper extends AlleleHelper { + + private static final String modId = Constants.ID; + + private final Map<Class, Map<?, ? extends IAllele>> alleleMaps = new HashMap<>(); + + public void init() { + if (PluginManager.Module.APICULTURE.isEnabled()) { + createAlleles(EnumAllele.Fertility.class, EnumBeeChromosome.FERTILITY); + createAlleles(EnumAllele.Flowering.class, EnumBeeChromosome.FLOWERING); + } + + if (PluginManager.Module.APICULTURE.isEnabled() || PluginManager.Module.ARBORICULTURE.isEnabled()) { + createAlleles(EnumAllele.Territory.class, + EnumBeeChromosome.TERRITORY, + EnumTreeChromosome.TERRITORY + ); + + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.territoryDefault", get(EnumAllele.Territory.AVERAGE)); + } + + if (PluginManager.Module.APICULTURE.isEnabled() || PluginManager.Module.LEPIDOPTEROLOGY.isEnabled()) { + createAlleles(EnumAllele.Speed.class, + EnumBeeChromosome.SPEED, + EnumButterflyChromosome.SPEED + ); + createAlleles(EnumAllele.Lifespan.class, + EnumBeeChromosome.LIFESPAN, + EnumButterflyChromosome.LIFESPAN + ); + createAlleles(EnumAllele.Tolerance.class, + EnumBeeChromosome.TEMPERATURE_TOLERANCE, + EnumBeeChromosome.HUMIDITY_TOLERANCE, + EnumButterflyChromosome.TEMPERATURE_TOLERANCE, + EnumButterflyChromosome.HUMIDITY_TOLERANCE + ); + createAlleles(EnumAllele.Flowers.class, + EnumBeeChromosome.FLOWER_PROVIDER, + EnumButterflyChromosome.FLOWER_PROVIDER + ); + + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.speedNorm", get(EnumAllele.Speed.NORMAL)); + } + + if (PluginManager.Module.ARBORICULTURE.isEnabled()) { + createAlleles(EnumAllele.Height.class, EnumTreeChromosome.HEIGHT); + createAlleles(EnumAllele.Saplings.class, EnumTreeChromosome.FERTILITY); + createAlleles(EnumAllele.Yield.class, EnumTreeChromosome.YIELD); + createAlleles(EnumAllele.Fireproof.class, EnumTreeChromosome.FIREPROOF); + createAlleles(EnumAllele.Maturation.class, EnumTreeChromosome.MATURATION); + createAlleles(EnumAllele.Sappiness.class, EnumTreeChromosome.SAPPINESS); + + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.heightMax10", get(EnumAllele.Height.AVERAGE)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsDefault", get(EnumAllele.Saplings.AVERAGE)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsDouble", get(EnumAllele.Saplings.HIGH)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsTriple", get(EnumAllele.Saplings.HIGHER)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.yieldDefault", get(EnumAllele.Yield.AVERAGE)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlowest", get(EnumAllele.Maturation.SLOWEST)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlower", get(EnumAllele.Maturation.SLOWER)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlow", get(EnumAllele.Maturation.SLOW)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityAverage", get(EnumAllele.Maturation.AVERAGE)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFast", get(EnumAllele.Maturation.FAST)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFaster", get(EnumAllele.Maturation.FASTER)); + AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFastest", get(EnumAllele.Maturation.FASTEST)); + } + + if (PluginManager.Module.LEPIDOPTEROLOGY.isEnabled()) { + createAlleles(EnumAllele.Size.class, EnumButterflyChromosome.SIZE); + } + + Map<Integer, IAlleleInteger> integers = new HashMap<>(); + for (int i = 1; i <= 10; i++) { + IAlleleInteger alleleInteger = new AlleleInteger(modId, "i", i + "d", i, true); + AlleleManager.alleleRegistry.registerAllele(alleleInteger, + EnumTreeChromosome.GIRTH, + EnumButterflyChromosome.METABOLISM, + EnumButterflyChromosome.FERTILITY + ); + integers.put(i, alleleInteger); + } + alleleMaps.put(Integer.class, integers); + + Map<Boolean, IAlleleBoolean> booleans = new HashMap<>(); + booleans.put(true, new AlleleBoolean(modId, "bool", true, false)); + booleans.put(false, new AlleleBoolean(modId, "bool", false, false)); + for (IAlleleBoolean alleleBoolean : booleans.values()) { + AlleleManager.alleleRegistry.registerAllele(alleleBoolean, + EnumBeeChromosome.NOCTURNAL, + EnumBeeChromosome.TOLERANT_FLYER, + EnumBeeChromosome.CAVE_DWELLING, + EnumButterflyChromosome.NOCTURNAL, + EnumButterflyChromosome.TOLERANT_FLYER, + EnumButterflyChromosome.FIRE_RESIST + ); + } + alleleMaps.put(Boolean.class, booleans); + } + + public static void initialisation(){ + AlleleHelper.instance = new GT_AlleleHelper(); + AlleleHelper.instance.init(); + } + + + + @Override + public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, IAllele allele) { + + if (allele == null) { + return; + } + + if (!chromosomeType.getAlleleClass().isInstance(allele)) { + return; + } + + // uncomment this once all addon mods are using the allele registration with IChromosomeType + // Collection<IChromosomeType> validTypes = AlleleManager.alleleRegistry.getChromosomeTypes(allele); + // if (validTypes.size() > 0 && !validTypes.contains(chromosomeType)) { + // throw new IllegalArgumentException("Allele can't applied to this Chromosome type. Expected: " + validTypes + " Got: " + chromosomeType); + // } + + alleles[chromosomeType.ordinal()] = allele; + } + + @Override + public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, IAlleleValue value) { + set(alleles, chromosomeType, get(value)); + } + + @Override + public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, boolean value) { + set(alleles, chromosomeType, get(value)); + } + + @Override + public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, int value) { + set(alleles, chromosomeType, get(value)); + } + + private IAllele get(Object value) { + Class<?> valueClass = value.getClass(); + Map<?, ? extends IAllele> map = alleleMaps.get(valueClass); + if (map == null) { + throw new IllegalArgumentException("There is no IAllele type for: " + valueClass + ' ' + value); + } + IAllele allele = map.get(value); + if (allele == null) { + allele = new IAllele() { + @Override + public String getUID() { + return "NOT_FOUND"; + } + + @Override + public boolean isDominant() { + return false; + } + + @Override + public String getName() { + return "NOT_FOUND"; + } + + @Override + public String getUnlocalizedName() { + return "NOT_FOUND"; + } + }; + } + return allele; + } + + private <K extends Enum<K> & IAlleleValue<V>, V> void createAlleles(Class<K> enumClass, IChromosomeType... types) { + String category = enumClass.getSimpleName().toLowerCase(Locale.ENGLISH); + EnumMap<K, IAllele> map = new EnumMap<>(enumClass); + for (K enumValue : enumClass.getEnumConstants()) { + IAllele allele = createAllele(category, enumValue, types); + map.put(enumValue, allele); + } + alleleMaps.put(enumClass, map); + } + private static <K extends IAlleleValue<V>, V> IAllele createAllele(String category, K enumValue, IChromosomeType... types) { + V value = enumValue.getValue(); + boolean isDominant = enumValue.isDominant(); + String name = enumValue.toString().toLowerCase(Locale.ENGLISH); + + Class<?> valueClass = value.getClass(); + if (Float.class.isAssignableFrom(valueClass)) { + return AlleleManager.alleleFactory.createFloat(modId, category, name, (Float) value, isDominant, types); + } else if (Integer.class.isAssignableFrom(valueClass)) { + return AlleleManager.alleleFactory.createInteger(modId, category, name, (Integer) value, isDominant, types); + } else if (IVect.class.isAssignableFrom(valueClass)) { + IVect area = (IVect) value; + return AlleleManager.alleleFactory.createArea(modId, category, name, area.getX(), area.getY(), area.getZ(), isDominant, types); + } else if (Boolean.class.isAssignableFrom(valueClass)) { + return AlleleManager.alleleFactory.createBoolean(modId, category, (Boolean) value, isDominant, types); + } else if (EnumTolerance.class.isAssignableFrom(valueClass)) { + IAlleleTolerance alleleTolerance = new AlleleTolerance(modId, category, name, (EnumTolerance) value, isDominant); + AlleleManager.alleleRegistry.registerAllele(alleleTolerance, types); + return alleleTolerance; + } else if (FlowerProvider.class.isAssignableFrom(valueClass)) { + return AlleleManager.alleleFactory.createFlowers(modId, category, name, (FlowerProvider) value, isDominant, types); + } + throw new RuntimeException("could not create allele for category: " + category + " and value " + valueClass); + } +} diff --git a/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java b/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java new file mode 100644 index 0000000000..852f00e6d6 --- /dev/null +++ b/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java @@ -0,0 +1,75 @@ +package gregtech.common.bees; + +import forestry.api.apiculture.*; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IGenome; +import forestry.api.genetics.IMutationCondition; +import forestry.apiculture.genetics.BeeMutation; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.World; + +import java.lang.reflect.Field; +import java.util.List; + + +public class GT_Bee_Mutation extends BeeMutation { + + private int split = 1; + + public GT_Bee_Mutation(IAlleleBeeSpecies bee0, IAlleleBeeSpecies bee1, IAllele[] result, int chance, int split) { + super(bee0, bee1, result, chance); + this.split = split; + BeeManager.beeRoot.registerMutation(this); + } + + @Override + public float getBaseChance() { + return ((float) ((float)super.getBaseChance() / ((float)split))); + } + + @Override + public float getChance(IBeeHousing housing, IAlleleBeeSpecies allele0, IAlleleBeeSpecies allele1, IBeeGenome genome0, IBeeGenome genome1) { + World world = housing.getWorld(); + ChunkCoordinates housingCoordinates = housing.getCoordinates(); + int x = housingCoordinates.posX; + int y = housingCoordinates.posY; + int z = housingCoordinates.posZ; + + float processedChance = getbasicChance(world, x, y, z, allele0, allele1, genome0, genome1); + + + if (processedChance <= 0f) { + return 0f; + } + + IBeeModifier beeHousingModifier = BeeManager.beeRoot.createBeeHousingModifier(housing); + IBeeModifier beeModeModifier = BeeManager.beeRoot.getBeekeepingMode(world).getBeeModifier(); + + processedChance *= beeHousingModifier.getMutationModifier(genome0, genome1, processedChance); + processedChance *= beeModeModifier.getMutationModifier(genome0, genome1, processedChance); + + return processedChance; + } + + protected float getbasicChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) { + float mutationChance = getBaseChance(); + List<IMutationCondition> mutationConditions = null; + try { + Field f = this.getClass().getDeclaredField("mutationConditions"); + f.setAccessible(true); + Object o = f.get(this); + mutationConditions = o instanceof List ? (List) o : null ; + } catch (NoSuchFieldException | IllegalAccessException e) { + e.printStackTrace(); + } + + if (mutationConditions != null) + for (IMutationCondition mutationCondition : mutationConditions) { + mutationChance *= mutationCondition.getChance(world, x, y, z, allele0, allele1, genome0, genome1); + if (mutationChance == 0) { + return 0; + } + } + return mutationChance; + } +} diff --git a/src/main/java/gregtech/common/items/CombType.java b/src/main/java/gregtech/common/items/CombType.java index ffde997fb9..9ff5eb359c 100644 --- a/src/main/java/gregtech/common/items/CombType.java +++ b/src/main/java/gregtech/common/items/CombType.java @@ -4,63 +4,206 @@ import gregtech.api.enums.Materials; import gregtech.api.util.GT_LanguageManager; public enum CombType { - //Organic + //Organic Line LIGNIE("lignite", true, Materials.Lignite, 100), COAL("coal", true, Materials.Coal, 100), STICKY("stickyresin", true, Materials._NULL, 50), OIL("oil", true, Materials._NULL, 100), + APATITE("apatite", true, Materials.Apatite, 100), + ASH("ash", true, Materials.Ash, 100), + + //IC2 Line + COOLANT("coolant", true, Materials._NULL, 100), + ENERGY("energy", true, Materials._NULL, 80), + LAPOTRON("lapotron", true, Materials._NULL, 60), + PYROTHEUM("pyrotheum", true, Materials.Pyrotheum, 50), + CRYOTHEUM("cryotheum", true, Materials.Pyrotheum, 50), + + //Alloy Line + REDALLOY("redalloy", true, Materials.RedAlloy, 100), + REDSTONEALLOY("redstonealloy", true, Materials.RedstoneAlloy, 90), + CONDUCTIVEIRON("conductiveiron", true, Materials.ConductiveIron, 80), + VIBRANTALLOY("vibrantalloy", true, Materials.VibrantAlloy, 50), + ENERGETICALLOY("energeticalloy", true, Materials.EnergeticAlloy, 70), + ELECTRICALSTEEL("electricalsteel", true, Materials.ElectricalSteel, 90), + DARKSTEEL("darksteel", true, Materials.DarkSteel, 80), + PULSATINGIRON("pulsatingiron", true, Materials.PulsatingIron, 80), + STAINLESSSTEEL("stainlesssteel", true, Materials.StainlessSteel, 75), + ENDERIUM("enderium", true, Materials.Enderium, 40), + + //Thaumcraft Line + THAUMIUMDUST("thaumiumdust", true, Materials.Thaumium, 100), + THAUMIUMSHARD("thaumiumshard", true, Materials._NULL, 85), + AMBER("amber", true, Materials.Amber, 90), + QUICKSILVER("quicksilver", true, Materials.Mercury, 90), + SALISMUNDUS("salismundus", true, Materials._NULL, 75), + TAINTED("tainted", true, Materials._NULL, 80), + MITHRIL("mithril", true, Materials.Mithril, 70), + ASTRALSILVER("astralsilver", true, Materials.AstralSilver, 70), + THAUMINITE("thauminite", true, Materials._NULL, 50), + SHADOWMETAL("shadowmetal", true, Materials.Shadow, 50), + DIVIDED("divided", true, Materials.Unstable, 40), + SPARKELING("sparkeling", true, Materials.NetherStar, 40), + //Gem Line STONE("stone", true, Materials._NULL, 70), CERTUS("certus", true, Materials.CertusQuartz, 100), + FLUIX("fluix", true, Materials.Fluix, 100), REDSTONE("redstone", true, Materials.Redstone, 100), + RAREEARTH("rareearth", true, Materials.RareEarth, 100), LAPIS("lapis", true, Materials.Lapis, 100), RUBY("ruby", true, Materials.Ruby, 100), + REDGARNET("redgarnet", true, Materials.GarnetRed,100), + YELLOWGARNET("yellowgarnet", true, Materials.GarnetYellow,100), SAPPHIRE("sapphire", true, Materials.Sapphire, 100), DIAMOND("diamond", true, Materials.Diamond, 100), OLIVINE("olivine", true, Materials.Olivine, 100), EMERALD("emerald", true, Materials.Emerald, 100), + PYROPE("pyrope", true, Materials.Pyrope, 100), + GROSSULAR("grossular", true, Materials.Grossular, 100), + FIRESTONE("firestone", true, Materials.Firestone, 100), - // Metals Line + //Metals Line SLAG("slag", true, Materials._NULL, 50), - COPPER("coppon", true, Materials.Copper, 100), - TIN("tine", true, Materials.Tin, 100), - LEAD("plumbilia", true, Materials.Lead, 100), - IRON("ferru", true, Materials.Iron, 100), - STEEL("steeldust", true, Materials.Steel, 100), - NICKEL("nickeldust", true, Materials.Nickel, 100), - ZINC("galvania", true, Materials.Zinc, 100), - SILVER("argentia", true, Materials.Silver, 100), - GOLD("aurelia", true, Materials.Gold, 100), - - // Rare Metals Line - ALUMINIUM("bauxia", true, Materials.Aluminium, 60), - MANGANESE("pyrolusium", true, Materials.Manganese, 30), + COPPER("copper", true, Materials.Copper, 100), + TIN("tin", true, Materials.Tin, 100), + LEAD("lead", true, Materials.Lead, 100), + IRON("iron", true, Materials.Iron, 100), + STEEL("steel", true, Materials.Steel, 95), + NICKEL("nickel", true, Materials.Nickel, 100), + ZINC("zinc", true, Materials.Zinc, 100), + SILVER("silver", true, Materials.Silver, 100), + GOLD("gold", true, Materials.Gold, 100), + SULFUR("sulfur", true, Materials.Sulfur, 100), + GALLIUM ("gallium", true, Materials.Gallium, 75), + ARSENIC ("arsenic", true, Materials.Arsenic, 75), + + //Rare Metals Line + BAUXITE("bauxite", true, Materials.Bauxite, 85), + ALUMINIUM("aluminium", true, Materials.Aluminium, 60), + MANGANESE("manganese", true, Materials.Manganese, 30), + MAGNESIUM("magnesium", true, Materials.Magnesium, 75), TITANIUM("titanium", true, Materials.Ilmenite, 100), CHROME("chromium", true, Materials.Chrome, 50), - TUNGSTEN("scheelinium", true, Materials.Tungstate, 100), - PLATINUM("platina", true, Materials.Platinum, 40), - IRIDIUM("quantaria", true, Materials.Iridium, 20), + TUNGSTEN("tungsten", true, Materials.Tungstate, 100), + PLATINUM("platinum", true, Materials.Platinum, 40), + IRIDIUM("iridium", true, Materials.Iridium, 20), + MOLYBDENUM("molybdenum", true, Materials.Molybdenum, 20), + OSMIUM("osmium", true, Materials.Osmium, 15), + LITHIUM("lithium", true, Materials.Lithium, 75), + SALT("salt", true, Materials.Salt, 90), + ELECTROTINE("electrotine", true, Materials.Electrotine, 75), + ALMANDINE("almandine", true, Materials.Almandine, 85), - - // Radioactive Line - URANIUM("urania", true, Materials.Uranium, 50), + //Radioactive Line + URANIUM("uranium", true, Materials.Uranium, 50), PLUTONIUM("plutonium", true, Materials.Plutonium, 10), - NAQUADAH("stargatium", true, Materials.Naquadah, 10),; + NAQUADAH("naquadah", true, Materials.Naquadah, 10), + NAQUADRIA("naquadria", true, Materials.Naquadria, 5), + DOB("d-o-b", true, Materials._NULL, 50), + THORIUM("thorium", true, Materials.Thorium, 75), + LUTETIUM("lutetium", true, Materials.Lutetium, 10), + AMERICUM("americum", true, Materials.Americium, 5), + NEUTRONIUM("neutronium", true, Materials.Neutronium, 2), + + //Twilight + NAGA("naga", true, Materials._NULL, 100), + LICH("lich", true, Materials._NULL, 90), + HYDRA("hydra", true, Materials._NULL, 80), + URGHAST("urghast", true, Materials._NULL, 70), + SNOWQUEEN("snowqueen", true, Materials._NULL, 60), + + //Space + SPACE("space", true, Materials._NULL, 100), + METEORICIRON("meteoriciron",true, Materials.MeteoricIron, 100), + DESH("desh",true, Materials.Desh, 90), + LEDOX("ledox",true, Materials.Ledox, 75), + CALLISTOICE("callistoice",true, Materials.CallistoIce, 75), + MYTRYL("mytryl",true, Materials.Mytryl, 65), + QUANTIUM("quantium",true, Materials.Quantium, 50), + ORIHARUKON("oriharukon",true, Materials.Oriharukon, 50), + MYSTERIOUSCRYSTAL("mysteriouscrystal",true, Materials.MysteriousCrystal, 45), + BLACKPLUTONIUM("blackplutonium",true, Materials.Quantium, 25), + TRINIUM("trinium",true, Materials.Trinium, 25), + + //Planet + MERCURY("mercury", true, Materials._NULL, 65), + VENUS("venus",true, Materials._NULL, 65), + MOON("moon",true, Materials._NULL, 90), + MARS("mars",true, Materials._NULL, 80), + JUPITER("jupiter",true, Materials._NULL, 75), + SATURN("saturn",true, Materials._NULL, 55), + URANUS("uranus",true, Materials._NULL, 45), + NEPTUN("neptun",true, Materials._NULL, 35), + PLUTO("pluto",true, Materials._NULL, 25), + HAUMEA("haumea",true, Materials._NULL, 20), + MAKEMAKE("makemake",true, Materials._NULL, 20), + CENTAURI("centauri",true, Materials._NULL, 15), + TCETI("tceti",true, Materials._NULL, 10), + BARNARDA("barnarda",true, Materials._NULL, 10), + VEGA("vega",true, Materials._NULL, 10), + + //Infinity + COSMICNEUTRONIUM("cosmicneutronium",true, Materials._NULL, 5), + INFINITYCATALYST("infinitycatalyst",true, Materials._NULL, 2), + INFINITY("infinity",true, Materials._NULL, 1); private static int[][] colours = new int[][]{ - {0x906237, 0x58300B}, - {0x666666, 0x525252}, + //organic + {0x58300B, 0x906237}, + {0x525252, 0x666666}, {0x2E8F5B, 0xDCC289}, - {0x4C4C4C, 0x333333}, + {0x333333, 0x4C4C4C}, + {0xc1c1f6, 0x676784}, + {0x1e1a18, 0xc6c6c6}, + //ic2 + {0x144F5A, 0x2494A2}, + {0xC11F1F, 0xEBB9B9}, + {0x1414FF, 0x6478FF}, + {0xffebc4, 0xe36400}, + {0x2660ff, 0x5af7ff}, + //alloy + {0xE60000, 0xB80000}, + {0xB80000, 0xA50808}, + {0x817671, 0xCEADA3}, + {0x86A12D, 0xC4F2AE}, + {0xFF9933, 0xFFAD5C}, + {0x787878, 0xD8D8D8}, + {0x252525, 0x443B44}, + {0x006600, 0x6DD284}, + {0x778899, 0xC8C8DC}, + {0x2E8B57, 0x599087}, + //Thaumcraft + {0x7A007A, 0x5C005C}, + {0x9966FF, 0xAD85FF}, + {0x774B15, 0xEE7700}, + {0xc7c7ea, 0xb5b3df}, + {0xF7ADDE, 0x592582}, + {0x904BB8, 0xE800FF}, + {0xF0E68C, 0xFFFFD2}, + {0xAFEEEE, 0xE6E6FF}, + {0x2E2D79, 0x7581E0}, + {0x100322, 0x100342}, + {0xF0F0F0, 0xDCDCDC}, + {0x7A007A, 0xFFFFFF}, + //gems {0x808080, 0x999999}, {0x57CFFB, 0xBBEEFF}, + {0xA375FF, 0xB591FF}, {0x7D0F0F, 0xD11919}, + {0x555643, 0x343428}, {0x1947D1, 0x476CDA}, {0xE6005C, 0xCC0052}, + {0xBD4C4C, 0xECCECE}, + {0xA3A341, 0xEDEDCE}, {0x0033CC, 0x00248F}, {0xCCFFFF, 0xA3CCCC}, {0x248F24, 0xCCFFCC}, {0x248F24, 0x2EB82E}, + {0x763162, 0x8B8B8B}, + {0x9B4E00, 0x8B8B8B}, + {0xC00000, 0xFF0000}, + //Metals {0xD4D4D4, 0x58300B}, {0xFF6600, 0xE65C00}, {0xD4D4D4, 0xDDDDDD}, @@ -71,16 +214,73 @@ public enum CombType { {0xF0DEF0, 0xF2E1F2}, {0xC2C2D6, 0xCECEDE}, {0xE6B800, 0xCFA600}, + {0x6F6F01, 0x8B8B8B}, + {0x8B8B8B, 0xC5C5E4}, + {0x736C52, 0x292412}, + //Rare Metals + {0x6B3600, 0x8B8B8B}, {0x008AB8, 0xD6D6FF}, {0xD5D5D5, 0xAAAAAA}, + {0xF1D9D9, 0x8B8B8B}, {0xCC99FF, 0xDBB8FF}, {0xEBA1EB, 0xF2C3F2}, {0x62626D, 0x161620}, {0xE6E6E6, 0xFFFFCC}, {0xDADADA, 0xD1D1E0}, + {0xAEAED4, 0x8B8B8B}, + {0x2B2BDA, 0x8B8B8B}, + {0xF0328C, 0xE1DCFF}, + {0xF0C8C8, 0xFAFAFA}, + {0x1E90FF, 0x3CB4C8}, + {0xC60000, 0x8B8B8B}, + //Radioactive Line {0x19AF19, 0x169E16}, - {0x335C33, 0x6B8F00}, - {0x003300, 0x002400}, + {0x240000, 0x570000}, + {0x000000, 0x004400}, + {0x000000, 0x002400}, + {0x007700, 0x002400}, + {0x001E00, 0x005000}, + {0xE6FFE6, 0xFFFFFF}, + {0xE6E6FF, 0xC8C8C8}, + {0xFFF0F0, 0xFAFAFA}, + //Twilight + {0x0D5A0D, 0x28874B}, + {0x5C605E, 0xC5C5C5}, + {0x872836, 0xB8132C}, + {0x7C0618, 0xA7041C}, + {0x9C0018, 0xD02001}, + //space + {0x003366, 0xC0C0C0}, + {0x321928, 0x643250}, + {0x282828, 0x323232}, + {0x0000CD, 0x0074FF}, + {0x0074FF, 0x1EB1FF}, + {0xDAA520, 0xF26404}, + {0x00FF00, 0x00D10B}, + {0x228B22, 0x677D68}, + {0x3CB371, 0x16856C}, + {0x000000, 0x323232}, + {0xB0E0E6, 0xC8C8D2}, + //planets + {0x4A4033, 0xB5A288}, + {0x120E07, 0x272010}, + {0x373735, 0x7E7E78}, + {0x220D05, 0x3A1505}, + {0x734B2E, 0xD0CBC4}, + {0xD2A472, 0xF8C37B}, + {0x75C0C9, 0x84D8EC}, + {0x334CFF, 0x576DFF}, + {0x34271E, 0x69503D}, + {0x1C1413, 0x392B28}, + {0x301811, 0x120A07}, + {0x2F2A14, 0xB06B32}, + {0x46241A, 0x7B412F}, + {0x0D5A0D, 0xE6C18D}, + {0x1A2036, 0xB5C0DE}, + //infinity + {0x484848, 0x323232}, + {0xFFFFFF, 0xFFFFFF}, + {0xFFFFFF, 0xFFFFFF}, }; public boolean showInList; public Materials material; diff --git a/src/main/java/gregtech/common/items/DropType.java b/src/main/java/gregtech/common/items/DropType.java new file mode 100644 index 0000000000..258126b52e --- /dev/null +++ b/src/main/java/gregtech/common/items/DropType.java @@ -0,0 +1,48 @@ +package gregtech.common.items; + +import gregtech.api.enums.Materials; +import gregtech.api.util.GT_LanguageManager; + +public enum DropType { + + OIL("oil",true), + MUTAGEN("small mutagen catalyst",true), + COOLANT("coolant",true), + HOT_COOLANT("hot coolant",true), + HYDRA("hydra blood",true), + SNOW_QUEEN("snowqueen blood",true), + OXYGEN("oxygen",true), + LAPIS("lapis coolant",true); + + private static int[][] colours = new int[][]{ + {0x19191B, 0x303032}, + {0xffc100, 0x00ff11}, + {0x144F5A, 0x2494A2}, + {0xC11F1F, 0xEBB9B9}, + {0x872836, 0xB8132C}, + {0xD02001, 0x9C0018}, + {0x003366, 0x0066BB}, + {0x1727b1, 0x008ce3}, + }; + public boolean showInList; + public Materials material; + public int chance; + private String name; + private DropType(String pName, boolean show) { + this.name = pName; + this.showInList = show; + } + + public void setHidden() { + this.showInList = false; + } + + public String getName() { +// return "gt.comb."+this.name; + return GT_LanguageManager.addStringLocalization("drop." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Drop"); + } + + public int[] getColours() { + return colours[this.ordinal()]; + } +}
\ No newline at end of file diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index db26ca6e71..37c43e1ad8 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -515,7 +515,8 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { ItemList.Electric_Motor_LuV.set(addItem(606, "Electric Motor (LuV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 32L)})); ItemList.Electric_Motor_ZPM.set(addItem(607, "Electric Motor (ZPM)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 64L)})); ItemList.Electric_Motor_UV.set(addItem(608, "Electric Motor (UV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L)})); - ItemList.Electric_Motor_UHV.set(addItem(596, "Electric Motor (UHV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L)})); + ItemList.Electric_Motor_UHV.set(addItem(596, "Electric Motor (UHV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 256L)})); + ItemList.Electric_Motor_UEV.set(addItem(595, "Electric Motor (UEV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L)})); GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.IronMagnetic), 'R', OrePrefixes.stick.get(Materials.AnyIron), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', OrePrefixes.cableGt01.get(Materials.Tin)}); GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', OrePrefixes.stick.get(Materials.Steel), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', OrePrefixes.cableGt01.get(Materials.Tin)}); diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java index 33a558542e..8940231160 100644 --- a/src/main/java/gregtech/common/items/ItemComb.java +++ b/src/main/java/gregtech/common/items/ItemComb.java @@ -11,14 +11,17 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gregtech.loaders.materialprocessing.ProcessingModSupport; +import gregtech.loaders.misc.GT_Bees; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.FluidRegistry; import java.util.List; @@ -93,208 +96,592 @@ public class ItemComb extends Item { public String getItemStackDisplayName(ItemStack stack) { return CombType.values()[stack.getItemDamage()].getName(); } - public void initCombsRecipes() { ItemStack tComb; //Organic tComb = getStackForType(CombType.LIGNIE); - addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), 90); - addProcess(tComb, Materials.Lignite, 100); + addSpecialCentLV(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), 90); + addProcessLV(tComb, Materials.Lignite, 100); tComb = getStackForType(CombType.COAL); - addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), 40); - addProcess(tComb, Materials.Coal, 100); + addSpecialCentLV(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), 5, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Coal, 1), 100); + addProcessLV(tComb, Materials.Coal, 100); tComb = getStackForType(CombType.STICKY); - addSpecialCent(tComb, ItemList.IC2_Resin.get(1, new Object[0]), 70); + addSpecialCentLV(tComb, ItemList.IC2_Resin.get(1, new Object[0]), 50, ItemList.IC2_Plantball.get(1, new Object[0]), 15); tComb = getStackForType(CombType.OIL); - addSpecialCent(tComb, ItemList.Crop_Drop_OilBerry.get(2, new Object[0]), 70); - addProcess(tComb, Materials.Oilsands, 100); - - //Gem Line + addSpecialCentLV(tComb, ItemList.Crop_Drop_OilBerry.get(1, new Object[0]), 70, GT_Bees.drop.getStackForType(DropType.OIL), 100); + addProcessLV(tComb, Materials.Oilsands, 100); + tComb = getStackForType(CombType.APATITE); + addProcessLV(tComb, Materials.Apatite, 100); + addProcessLV(tComb, Materials.Calcium, 80); + addProcessLV(tComb, Materials.Phosphate, 80); + tComb = getStackForType(CombType.ASH); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 5000, 5000}, 128, 5); + + //ic2 + tComb = getStackForType(CombType.COOLANT); + addSpecialCentHV(tComb, GT_Bees.drop.getStackForType(DropType.COOLANT), 100, ItemList.FR_Wax.get(1, new Object[0]), 100); + tComb = getStackForType(CombType.ENERGY); + addSpecialCentHV(tComb, GT_Bees.drop.getStackForType(DropType.HOT_COOLANT), 20, ItemList.IC2_Energium_Dust.get(1L), 20, ItemList.FR_RefractoryWax.get(1, new Object[0]), 50); + tComb = getStackForType(CombType.LAPOTRON); + addSpecialCentHV(tComb, GT_Bees.drop.getStackForType(DropType.LAPIS), 20, GT_ModHandler.getModItem("dreamcraft", "item.LapotronDust", 1, 0), 15, GT_ModHandler.getModItem("MagicBees", "wax", 1, 2), 40); + tComb = getStackForType(CombType.PYROTHEUM); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Blizz,1), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Pyrotheum,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{3000, 2500, 2000, 0, 0, 0}, 384, 480); + tComb = getStackForType(CombType.CRYOTHEUM); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Blaze,1), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Cryotheum,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{3000, 2500, 2000, 0, 0, 0}, 384, 480); + //Alloy + tComb = getStackForType(CombType.REDALLOY); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.RedAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 128, 5); + addProcessLV(tComb, Materials.Redstone, 75); + addProcessLV(tComb, Materials.Copper, 90); + tComb = getStackForType(CombType.REDSTONEALLOY); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.RedstoneAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 128, 5); + addProcessLV(tComb, Materials.Redstone, 90); + addProcessLV(tComb, Materials.Silicon, 75); + addProcessLV(tComb, Materials.Coal, 75); + tComb = getStackForType(CombType.CONDUCTIVEIRON); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.ConductiveIron, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 9000}, 256, 120); + addProcessMV(tComb, Materials.Silver, 55); + addProcessMV(tComb, Materials.Iron, 65); + tComb = getStackForType(CombType.VIBRANTALLOY); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.VibrantAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 7000}, 384, 480); + addProcessHV(tComb, Materials.Chrome, 50); + tComb = getStackForType(CombType.ENERGETICALLOY); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.VibrantAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 8000}, 384, 480); + addProcessHV(tComb, Materials.Gold, 60); + tComb = getStackForType(CombType.ELECTRICALSTEEL); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.ElectricalSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 128, 5); + addProcessLV(tComb, Materials.Silicon, 75); + addProcessLV(tComb, Materials.Coal, 75); + tComb = getStackForType(CombType.DARKSTEEL); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 256, 120); + addProcessMV(tComb, Materials.Coal, 75); + tComb = getStackForType(CombType.PULSATINGIRON); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.PulsatingIron, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 8000}, 384, 480); + addProcessHV(tComb, Materials.Iron, 75); + tComb = getStackForType(CombType.STAINLESSSTEEL); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.StainlessSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 5000}, 384, 480); + addProcessHV(tComb, Materials.Iron, 75); + addProcessHV(tComb, Materials.Chrome, 55); + addProcessHV(tComb, Materials.Manganese, 75); + addProcessHV(tComb, Materials.Nickel, 75); + tComb = getStackForType(CombType.ENDERIUM); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.EnderiumBase, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Enderium, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 3000, 5000}, 384, 480); + + + //Thaumic + tComb = getStackForType(CombType.THAUMIUMDUST); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Thaumium, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 256, 120); + addProcessMV(tComb, Materials.Iron, 75); + tComb = getStackForType(CombType.THAUMIUMSHARD); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "propolis", 1, 1), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 2), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 3), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 4), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 5), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 6), new int[] {2000, 2000, 2000, 2000, 2000, 2000 }, 128, 5); + tComb = getStackForType(CombType.AMBER); + addProcessLV(tComb, Materials.Amber, 100); + tComb = getStackForType(CombType.QUICKSILVER); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "ItemNugget", 1, 5), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 1000}, 128, 5); + addProcessLV(tComb, Materials.Cinnabar, 85); + tComb = getStackForType(CombType.SALISMUNDUS); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 14), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 1000}, 256, 120); + tComb = getStackForType(CombType.TAINTED); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 11), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 12), GT_ModHandler.getModItem("Thaumcraft", "blockTaintFibres", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "blockTaintFibres", 1, 1), GT_ModHandler.getModItem("Thaumcraft", "blockTaintFibres", 1, 2), GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), new int[] {1500, 1500, 1500, 1500, 1500, 5000}, 128, 5); + tComb = getStackForType(CombType.MITHRIL); + addProcessHV(tComb, Materials.Mithril, 75); + addProcessHV(tComb, Materials.Platinum, 55); + tComb = getStackForType(CombType.ASTRALSILVER); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.AstralSilver, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000}, 384, 480); + addProcessHV(tComb, Materials.Silver, 75); + tComb = getStackForType(CombType.THAUMINITE); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("thaumicbases", "resource", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Thaumium, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000}, 384, 480); + tComb = getStackForType(CombType.SHADOWMETAL); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Shadow, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.ShadowSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000}, 384, 480); + addProcessHV(tComb, Materials.ShadowSteel, 75); + tComb = getStackForType(CombType.DIVIDED); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("ExtraUtilities", "unstableingot", 1, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Diamond, 1), GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000, 500}, 384, 480); + addProcessHV(tComb, Materials.Iron, 75); + addProcessHV(tComb, Materials.Diamond, 55); + tComb = getStackForType(CombType.SPARKELING); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("MagicBees", "miscResources", 1, 5), GT_ModHandler.getModItem("MagicBees", "miscResources", 1, 5), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NetherStar, 1), GT_Values.NI, GT_Values.NI, new int[] {5000, 1000, 500, 1000}, 512, 1920); + addProcessEV(tComb, Materials.NetherStar, 50); + + //Gem Line tComb = getStackForType(CombType.STONE); - addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), 70,GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Salt,1),20,GT_OreDictUnificator.get(OrePrefixes.dust,Materials.RockSalt,1),20); - addProcess(tComb, Materials.Soapstone, 100); - addProcess(tComb, Materials.Talc, 100); - addProcess(tComb, Materials.Apatite, 100); - addProcess(tComb, Materials.Phosphate, 100); - addProcess(tComb, Materials.Phosphorus, 100); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.GraniteBlack,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.GraniteRed,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Basalt,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Marble,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Redrock,1), new int[] {7000, 5000, 5000, 5000, 5000, 5000}, 128, 5); + addProcessLV(tComb, Materials.Soapstone, 95); + addProcessLV(tComb, Materials.Talc, 90); + addProcessLV(tComb, Materials.Apatite, 80); + addProcessLV(tComb, Materials.Phosphate, 75); + addProcessLV(tComb, Materials.Phosphorus, 75); tComb = getStackForType(CombType.CERTUS); - addProcess(tComb, Materials.CertusQuartz, 100); - addProcess(tComb, Materials.Quartzite, 100); - addProcess(tComb, Materials.Barite, 100); + addProcessLV(tComb, Materials.CertusQuartz, 100); + addProcessLV(tComb, Materials.Quartzite, 80); + addProcessLV(tComb, Materials.Barite, 75); + tComb = getStackForType(CombType.FLUIX); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF,ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Fluix,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {3000, 2500}, 128, 5); + addProcessLV(tComb, Materials.Redstone, 90); + addProcessLV(tComb, Materials.CertusQuartz, 90); + addProcessLV(tComb, Materials.NetherQuartz, 90); tComb = getStackForType(CombType.REDSTONE); - addProcess(tComb, Materials.Redstone, 100); - addProcess(tComb, Materials.Cinnabar, 100); + addProcessLV(tComb, Materials.Redstone, 100); + addProcessLV(tComb, Materials.Cinnabar, 80); + tComb = getStackForType(CombType.RAREEARTH); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF,ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.RareEarth,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {3000, 10000}, 128, 5); tComb = getStackForType(CombType.LAPIS); - addProcess(tComb, Materials.Lapis, 100); - addProcess(tComb, Materials.Sodalite, 100); - addProcess(tComb, Materials.Lazurite, 100); - addProcess(tComb, Materials.Calcite, 100); + addProcessLV(tComb, Materials.Lapis, 100); + addProcessLV(tComb, Materials.Sodalite, 90); + addProcessLV(tComb, Materials.Lazurite, 90); + addProcessLV(tComb, Materials.Calcite, 85); tComb = getStackForType(CombType.RUBY); - addProcess(tComb, Materials.Ruby, 100); - addProcess(tComb, Materials.Redstone, 100); + addProcessLV(tComb, Materials.Ruby, 100); + addProcessLV(tComb, Materials.Redstone, 90); + tComb = getStackForType(CombType.REDGARNET); + addProcessLV(tComb, Materials.GarnetRed, 100); + addProcessLV(tComb, Materials.GarnetYellow, 75); + tComb = getStackForType(CombType.YELLOWGARNET); + addProcessLV(tComb, Materials.GarnetYellow, 100); + addProcessLV(tComb, Materials.GarnetRed, 75); tComb = getStackForType(CombType.SAPPHIRE); - addProcess(tComb, Materials.Sapphire, 100); - addProcess(tComb, Materials.GreenSapphire, 100); - addProcess(tComb, Materials.Almandine, 100); - addProcess(tComb, Materials.Pyrope, 100); + addProcessLV(tComb, Materials.Sapphire, 100); + addProcessLV(tComb, Materials.GreenSapphire, 90); + addProcessLV(tComb, Materials.Almandine, 75); + addProcessLV(tComb, Materials.Pyrope, 75); tComb = getStackForType(CombType.DIAMOND); - addProcess(tComb, Materials.Diamond, 100); - addProcess(tComb, Materials.Graphite, 100); + addProcessLV(tComb, Materials.Diamond, 100); + addProcessLV(tComb, Materials.Graphite, 75); tComb = getStackForType(CombType.OLIVINE); - addProcess(tComb, Materials.Olivine, 100); - addProcess(tComb, Materials.Bentonite, 100); - addProcess(tComb, Materials.Magnesite, 100); - addProcess(tComb, Materials.Glauconite, 100); + addProcessLV(tComb, Materials.Olivine, 100); + addProcessLV(tComb, Materials.Bentonite, 90); + addProcessLV(tComb, Materials.Magnesite, 80); + addProcessLV(tComb, Materials.Glauconite, 75); tComb = getStackForType(CombType.EMERALD); - addProcess(tComb, Materials.Emerald, 100); - addProcess(tComb, Materials.Beryllium, 100); - addProcess(tComb, Materials.Thorium, 100); - + addProcessLV(tComb, Materials.Emerald, 100); + addProcessLV(tComb, Materials.Beryllium, 85); + addProcessLV(tComb, Materials.Thorium, 75); + tComb = getStackForType(CombType.FIRESTONE); + addProcessLV(tComb, Materials.Firestone, 100); + tComb = getStackForType(CombType.PYROPE); + addProcessLV(tComb, Materials.Pyrope, 100); + addProcessLV(tComb, Materials.Aluminium, 75); + addProcessLV(tComb, Materials.Magnesium, 80); + addProcessLV(tComb, Materials.Silicon, 75); + tComb = getStackForType(CombType.GROSSULAR); + addProcessLV(tComb, Materials.Grossular, 100); + addProcessLV(tComb, Materials.Calcium, 80); + addProcessLV(tComb, Materials.Aluminium, 75); + addProcessLV(tComb, Materials.Silicon, 75); // // Metals Line tComb = getStackForType(CombType.SLAG); - addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), 50,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniteBlack, 1), 20,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniteRed, 1), 20); - addProcess(tComb, Materials.Salt, 100); - addProcess(tComb, Materials.RockSalt, 100); - addProcess(tComb, Materials.Lepidolite, 100); - addProcess(tComb, Materials.Spodumene, 100); - addProcess(tComb, Materials.Monazite, 100); + addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), 50,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniteBlack, 1), 20,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniteRed, 1), 20); + addProcessLV(tComb, Materials.Salt, 100); + addProcessLV(tComb, Materials.RockSalt, 100); + addProcessLV(tComb, Materials.Lepidolite, 100); + addProcessLV(tComb, Materials.Spodumene, 100); + addProcessLV(tComb, Materials.Monazite, 100); tComb = getStackForType(CombType.COPPER); - addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1), 70); - addProcess(tComb, Materials.Copper, 100); - addProcess(tComb, Materials.Tetrahedrite, 100); - addProcess(tComb, Materials.Chalcopyrite, 100); - addProcess(tComb, Materials.Malachite, 100); - addProcess(tComb, Materials.Pyrite, 100); - addProcess(tComb, Materials.Stibnite, 100); + addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1), 70); + addProcessLV(tComb, Materials.Copper, 100); + addProcessLV(tComb, Materials.Tetrahedrite, 85); + addProcessLV(tComb, Materials.Chalcopyrite, 95); + addProcessLV(tComb, Materials.Malachite, 80); + addProcessLV(tComb, Materials.Pyrite, 75); + addProcessLV(tComb, Materials.Stibnite, 65); tComb = getStackForType(CombType.TIN); - addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1), 60); - addProcess(tComb, Materials.Tin, 100); - addProcess(tComb, Materials.Cassiterite, 100); + addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1), 60); + addProcessLV(tComb, Materials.Tin, 100); + addProcessLV(tComb, Materials.Cassiterite, 85); tComb = getStackForType(CombType.LEAD); - addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1), 45); - addProcess(tComb, Materials.Lead, 100); + addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1), 45); + addProcessLV(tComb, Materials.Lead, 100); tComb = getStackForType(CombType.IRON); - addProcess(tComb, Materials.Iron, 100); - addProcess(tComb, Materials.Magnetite, 100); - addProcess(tComb, Materials.BrownLimonite, 100); - addProcess(tComb, Materials.YellowLimonite, 100); - addProcess(tComb, Materials.VanadiumMagnetite, 100); - addProcess(tComb, Materials.BandedIron, 100); - addProcess(tComb, Materials.Pyrite, 100); + addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), 30); + addProcessLV(tComb, Materials.Iron, 100); + addProcessLV(tComb, Materials.Magnetite, 90); + addProcessLV(tComb, Materials.BrownLimonite, 85); + addProcessLV(tComb, Materials.YellowLimonite, 85); + addProcessLV(tComb, Materials.VanadiumMagnetite, 80); + addProcessLV(tComb, Materials.BandedIron, 85); + addProcessLV(tComb, Materials.Pyrite, 80); if (ProcessingModSupport.aEnableGCMarsMats) - addProcess(tComb, Materials.MeteoricIron, 100); + addProcessLV(tComb, Materials.MeteoricIron, 75); tComb = getStackForType(CombType.STEEL); - addProcess(tComb, Materials.Iron, Materials.Iron, 100); - addProcess(tComb, Materials.Magnetite, Materials.Magnetite, 100); - addProcess(tComb, Materials.BrownLimonite, Materials.BrownLimonite, 100); - addProcess(tComb, Materials.YellowLimonite, Materials.YellowLimonite, 100); - addProcess(tComb, Materials.VanadiumMagnetite, Materials.VanadiumMagnetite, 100); - addProcess(tComb, Materials.BandedIron, Materials.BandedIron, 100); - addProcess(tComb, Materials.Pyrite, Materials.Pyrite, 100); + addProcessLV(tComb, Materials.Iron, Materials.Iron, 100); + addProcessLV(tComb, Materials.Magnetite, Materials.Magnetite, 90); + addProcessLV(tComb, Materials.BrownLimonite, Materials.BrownLimonite, 85); + addProcessLV(tComb, Materials.YellowLimonite, Materials.YellowLimonite, 85); + addProcessLV(tComb, Materials.VanadiumMagnetite, Materials.VanadiumMagnetite, 80); + addProcessLV(tComb, Materials.BandedIron, Materials.BandedIron, 85); + addProcessLV(tComb, Materials.Pyrite, Materials.Pyrite, 80); if (ProcessingModSupport.aEnableGCMarsMats) - addProcess(tComb, Materials.MeteoricIron, Materials.MeteoricIron, 100); - addProcess(tComb, Materials.Molybdenite, 100); - addProcess(tComb, Materials.Molybdenum, 100); + addProcessLV(tComb, Materials.MeteoricIron, Materials.MeteoricIron, 75); + addProcessLV(tComb, Materials.Molybdenite, 65); + addProcessLV(tComb, Materials.Molybdenum, 65); tComb = getStackForType(CombType.NICKEL); - addProcess(tComb, Materials.Nickel, 100); - addProcess(tComb, Materials.Garnierite, 100); - addProcess(tComb, Materials.Pentlandite, 100); - addProcess(tComb, Materials.Cobaltite, 100); - addProcess(tComb, Materials.Wulfenite, 100); - addProcess(tComb, Materials.Powellite, 100); + addProcessLV(tComb, Materials.Nickel, 100); + addProcessLV(tComb, Materials.Garnierite, 85); + addProcessLV(tComb, Materials.Pentlandite, 85); + addProcessLV(tComb, Materials.Cobaltite, 80); + addProcessLV(tComb, Materials.Wulfenite, 75); + addProcessLV(tComb, Materials.Powellite, 75); tComb = getStackForType(CombType.ZINC); - addProcess(tComb, Materials.Zinc, 100); - addProcess(tComb, Materials.Sphalerite, 100); - addProcess(tComb, Materials.Sulfur, 100); + addProcessLV(tComb, Materials.Zinc, 100); + addProcessLV(tComb, Materials.Sphalerite, 80); + addProcessLV(tComb, Materials.Sulfur, 75); tComb = getStackForType(CombType.SILVER); - addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), 30); - addProcess(tComb, Materials.Silver, 100); - addProcess(tComb, Materials.Galena, 100); + addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), 80); + addProcessLV(tComb, Materials.Silver, 100); + addProcessLV(tComb, Materials.Galena, 80); tComb = getStackForType(CombType.GOLD); - addProcess(tComb, Materials.Gold, 100); - addProcess(tComb, Materials.Magnetite, Materials.Gold, 100); + addProcessLV(tComb, Materials.Gold, 100); + addProcessLV(tComb, Materials.Magnetite, Materials.Gold, 80); + tComb = getStackForType(CombType.SULFUR); + addProcessLV(tComb, Materials.Sulfur, 100); + addProcessLV(tComb, Materials.Pyrite, 90); + addProcessLV(tComb, Materials.Sphalerite, 80); + tComb = getStackForType(CombType.GALLIUM); + addProcessLV(tComb, Materials.Gallium, 80); + addProcessLV(tComb, Materials.Niobium, 75); + tComb = getStackForType(CombType.ARSENIC); + addProcessLV(tComb, Materials.Arsenic, 80); + addProcessLV(tComb, Materials.Bismuth, 70); + addProcessLV(tComb, Materials.Antimony, 70); - // Rare Metals Line + // Rare Metals Line + tComb = getStackForType(CombType.BAUXITE); + addProcessLV(tComb, Materials.Bauxite, 75); + addProcessLV(tComb,Materials.Aluminium,55); tComb = getStackForType(CombType.ALUMINIUM); - addProcess(tComb,Materials.Aluminium,60); - addProcess(tComb,Materials.Bauxite,100); + addProcessLV(tComb,Materials.Aluminium,60); + addProcessLV(tComb,Materials.Bauxite,80); tComb = getStackForType(CombType.MANGANESE); - addProcess(tComb,Materials.Manganese,30); - addProcess(tComb,Materials.Grossular,100); - addProcess(tComb,Materials.Spessartine,100); - addProcess(tComb,Materials.Pyrolusite,100); - addProcess(tComb,Materials.Tantalite,100); + addProcessLV(tComb,Materials.Manganese,30); + addProcessLV(tComb,Materials.Grossular,100); + addProcessLV(tComb,Materials.Spessartine,100); + addProcessLV(tComb,Materials.Pyrolusite,100); + addProcessLV(tComb,Materials.Tantalite,100); tComb = getStackForType(CombType.TITANIUM); - addProcess(tComb,Materials.Titanium,100); - addProcess(tComb,Materials.Ilmenite,100); - addProcess(tComb,Materials.Bauxite,100); + addProcessEV(tComb,Materials.Titanium,90); + addProcessEV(tComb,Materials.Ilmenite,80); + addProcessEV(tComb,Materials.Bauxite,75); + tComb = getStackForType(CombType.MAGNESIUM); + addProcessLV(tComb,Materials.Magnesium,100); + addProcessLV(tComb,Materials.Magnesite,80); tComb = getStackForType(CombType.CHROME); - addProcess(tComb,Materials.Chrome,50); - addProcess(tComb,Materials.Ruby,100); - addProcess(tComb,Materials.Chromite,50); - addProcess(tComb,Materials.Redstone,100); - addProcess(tComb, Materials.Neodymium, 100); - addProcess(tComb, Materials.Bastnasite, 100); + addProcessHV(tComb,Materials.Chrome,50); + addProcessHV(tComb,Materials.Ruby,100); + addProcessHV(tComb,Materials.Chromite,50); + addProcessHV(tComb,Materials.Redstone,100); + addProcessHV(tComb, Materials.Neodymium, 80); + addProcessHV(tComb, Materials.Bastnasite, 80); tComb = getStackForType(CombType.TUNGSTEN); - addProcess(tComb,Materials.Tungstate,100); - addProcess(tComb,Materials.Scheelite,100); - addProcess(tComb,Materials.Lithium,100); + addProcessIV(tComb,Materials.Tungstate,80); + addProcessIV(tComb,Materials.Scheelite,75); + addProcessIV(tComb,Materials.Lithium,75); tComb = getStackForType(CombType.PLATINUM); - addProcess(tComb,Materials.Platinum,40); - addProcess(tComb,Materials.Cooperite,40); - addProcess(tComb,Materials.Palladium,40); + addProcessHV(tComb,Materials.Platinum,40); + addProcessHV(tComb,Materials.Cooperite,40); + addProcessHV(tComb,Materials.Palladium,40); + tComb = getStackForType(CombType.MOLYBDENUM); + addProcessLV(tComb,Materials.Molybdenum,100); + addProcessLV(tComb,Materials.Molybdenite,90); + addProcessLV(tComb,Materials.Powellite,80); + addProcessLV(tComb,Materials.Wulfenite,75); + addProcessIV(tComb,Materials.Osmium,15); tComb = getStackForType(CombType.IRIDIUM); - addProcess(tComb,Materials.Iridium,20); - addProcess(tComb,Materials.Osmium,20); + addProcessIV(tComb,Materials.Iridium,20); + addProcessIV(tComb,Materials.Osmium,15); + tComb = getStackForType(CombType.OSMIUM); + addProcessIV(tComb,Materials.Osmium,25); + addProcessIV(tComb,Materials.Iridium,15); + tComb = getStackForType(CombType.LITHIUM); + addProcessMV(tComb,Materials.Lithium,85); + addProcessMV(tComb,Materials.Aluminium,75); + tComb = getStackForType(CombType.SALT); + addProcessMV(tComb,Materials.Salt,100); + addProcessMV(tComb,Materials.Sodium,75); + addProcessMV(tComb,Materials.RockSalt,75); + addProcessMV(tComb,Materials.Saltpeter,65); + addSpecialCentMV(tComb, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 1), 100, GT_ModHandler.getModItem("dreamcraft", "item.EdibleSalt", 1L, 0), 50); + tComb = getStackForType(CombType.ELECTROTINE); + addProcessHV(tComb,Materials.Electrotine,80); + addProcessHV(tComb,Materials.Electrum,75); + addProcessHV(tComb,Materials.Redstone,65); // Radioactive Line + tComb = getStackForType(CombType.ALMANDINE); + addProcessLV(tComb,Materials.Almandine,90); + addProcessLV(tComb,Materials.Pyrope,80); + addProcessLV(tComb,Materials.Sapphire,75); + addProcessLV(tComb,Materials.GreenSapphire,75); tComb = getStackForType(CombType.URANIUM); - addProcess(tComb,Materials.Uranium,50); - addProcess(tComb,Materials.Pitchblende,50); - addProcess(tComb,Materials.Uraninite,50); - addProcess(tComb,Materials.Uranium235,50); + addProcessEV(tComb,Materials.Uranium,50); + addProcessEV(tComb,Materials.Pitchblende,65); + addProcessEV(tComb,Materials.Uraninite,75); + addProcessEV(tComb,Materials.Uranium235,50); tComb = getStackForType(CombType.PLUTONIUM); - addProcess(tComb,Materials.Plutonium,10); - addProcess(tComb,Materials.Uranium235,Materials.Plutonium,5); + addProcessEV(tComb,Materials.Plutonium,10); + addProcessEV(tComb,Materials.Uranium235, Materials.Plutonium,5); tComb = getStackForType(CombType.NAQUADAH); - addProcess(tComb,Materials.Naquadah,10); - addProcess(tComb,Materials.NaquadahEnriched,10); - addProcess(tComb,Materials.Naquadria,10); + addProcessIV(tComb,Materials.Naquadah,10); + addProcessIV(tComb,Materials.NaquadahEnriched,5); + addProcessIV(tComb,Materials.Naquadria,5); + tComb = getStackForType(CombType.NAQUADRIA); + addProcessIV(tComb,Materials.Naquadah,15); + addProcessLUV(tComb,Materials.NaquadahEnriched,10); + addProcessLUV(tComb,Materials.Naquadria,10); + tComb = getStackForType(CombType.THORIUM); + addProcessEV(tComb,Materials.Thorium,75); + addProcessEV(tComb,Materials.Uranium,75); + addProcessEV(tComb,Materials.Coal,95); + tComb = getStackForType(CombType.LUTETIUM); + addProcessIV(tComb,Materials.Lutetium,35); + addProcessIV(tComb,Materials.Thorium,55); + tComb = getStackForType(CombType.AMERICUM); + addProcessLUV(tComb,Materials.Americium,25); + addProcessLUV(tComb,Materials.Lutetium,45); + tComb = getStackForType(CombType.NEUTRONIUM); + addProcessZPM(tComb,Materials.Neutronium,15); + addProcessZPM(tComb,Materials.Americium,35); + + // Twilight + tComb = getStackForType(CombType.NAGA); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 4), GT_ModHandler.getModItem("dreamcraft", "item.NagaScaleChip", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.NagaScaleFragment", 1L, 0), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 800, 0, 0}, 256, 120); + tComb = getStackForType(CombType.LICH); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 5), GT_ModHandler.getModItem("dreamcraft", "item.LichBoneChip", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.LichBoneFragment", 1L, 0), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 800, 0, 0}, 384, 480); + tComb = getStackForType(CombType.HYDRA); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 1), GT_ModHandler.getModItem("dreamcraft", "item.FieryBloodDrop", 1L, 0), GT_Bees.drop.getStackForType(DropType.HYDRA), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 1000, 0, 0}, 384, 480); + tComb = getStackForType(CombType.URGHAST); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), GT_ModHandler.getModItem("dreamcraft", "item..CarminiteChip", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.CarminiteFragment",1L, 0), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 800, 0, 0}, 512, 1920); + tComb = getStackForType(CombType.SNOWQUEEN); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), GT_ModHandler.getModItem("dreamcraft", "item.SnowQueenBloodDrop", 1L, 0), GT_Bees.drop.getStackForType(DropType.SNOW_QUEEN), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 1000, 0, 0}, 512, 1920); + + //Space Line + tComb = getStackForType(CombType.SPACE); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), ItemList.FR_RefractoryWax.get(1L), GT_Bees.drop.getStackForType(DropType.OXYGEN), GT_ModHandler.getModItem("dreamcraft", "item.CoinSpace", 1L, 0), GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 1500, 500, 0, 0}, 384, 480); + tComb = getStackForType(CombType.METEORICIRON); + addProcessHV(tComb,Materials.MeteoricIron,85); + addProcessHV(tComb,Materials.Iron,100); + tComb = getStackForType(CombType.DESH); + addProcessEV(tComb,Materials.Desh,75); + addProcessEV(tComb,Materials.Titanium,50); + tComb = getStackForType(CombType.LEDOX); + addProcessEV(tComb,Materials.Ledox,65); + addProcessEV(tComb,Materials.CallistoIce,55); + addProcessEV(tComb,Materials.Lead,85); + tComb = getStackForType(CombType.CALLISTOICE); + addProcessIV(tComb,Materials.CallistoIce,65); + addProcessIV(tComb,Materials.Ledox,75); + addProcessIV(tComb,Materials.Lead,100); + tComb = getStackForType(CombType.MYTRYL); + addProcessIV(tComb,Materials.Mytryl,55); + addProcessIV(tComb,Materials.Mithril,50); + tComb = getStackForType(CombType.QUANTIUM); + addProcessIV(tComb,Materials.Quantium,50); + addProcessIV(tComb,Materials.Osmium,60); + tComb = getStackForType(CombType.ORIHARUKON); + addProcessIV(tComb,Materials.Oriharukon,50); + addProcessIV(tComb,Materials.Lead,75); + tComb = getStackForType(CombType.MYSTERIOUSCRYSTAL); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.MysteriousCrystal, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Emerald, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 1000, 1500, 0, 0, 0}, 512, 30720); + addProcessLUV(tComb,Materials.Emerald,50); + tComb = getStackForType(CombType.BLACKPLUTONIUM); + addProcessLUV(tComb,Materials.BlackPlutonium,25); + addProcessLUV(tComb,Materials.Plutonium,50); + tComb = getStackForType(CombType.TRINIUM); + addProcessZPM(tComb,Materials.Trinium,35); + addProcessZPM(tComb,Materials.Iridium,45); + + //Planet Line + tComb = getStackForType(CombType.MOON); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MoonStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 120); + tComb = getStackForType(CombType.MARS); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MarsStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 480); + tComb = getStackForType(CombType.JUPITER); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("dreamcraft", "item.IoStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.EuropaIceDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.EuropaStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.GanymedStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.CallistoStoneDust", 1L, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.CallistoIce, 1L), new int[]{3000, 3000, 3000, 3000, 3000, 500}, 300, 480); + tComb = getStackForType(CombType.MERCURY); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MercuryCoreDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.MercuryStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 1920); + tComb = getStackForType(CombType.VENUS); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.VenusStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 1920); + tComb = getStackForType(CombType.SATURN); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.EnceladusStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.TitanStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 7680); + tComb = getStackForType(CombType.URANUS); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MirandaStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.OberonStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 7680); + tComb = getStackForType(CombType.NEPTUN); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.ProteusStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.TritonStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 7680); + tComb = getStackForType(CombType.PLUTO); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.PlutoStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.PlutoIceDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 30720); + tComb = getStackForType(CombType.HAUMEA); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.HaumeaStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 30720); + tComb = getStackForType(CombType.MAKEMAKE); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MakeMakeStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 30720); + tComb = getStackForType(CombType.CENTAURI); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.CentauriASurfaceDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.CentauriAStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 122880); + tComb = getStackForType(CombType.TCETI); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.TCetiEStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 122880); + tComb = getStackForType(CombType.BARNARDA); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.BarnardaEStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.BarnardaFStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 122880); + tComb = getStackForType(CombType.VEGA); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.VegaBStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 122880); + //Infinity Line + tComb = getStackForType(CombType.COSMICNEUTRONIUM); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.CosmicNeutronium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Neutronium, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 50, 100, 0, 0, 0}, 12000, 500000); + tComb = getStackForType(CombType.INFINITYCATALYST); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.InfinityCatalyst, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Neutronium, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 5, 100, 0, 0, 0}, 24000, 2000000); + tComb = getStackForType(CombType.INFINITY); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Infinity, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.InfinityCatalyst, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 1, 5, 0, 0, 0}, 48000, 8000000); + } - public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance){ - GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5); + public void addSpecialCentLV(ItemStack tComb, ItemStack aOutput, int chance){ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 5000 }, 128, 5); RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(aOutput, chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f)); } - public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2){ - GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000, chance2 * 100 }, 128, 5); + public void addSpecialCentLV(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2){ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 5000, chance2 * 100 }, 128, 5); RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(aOutput, chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f,aOutput2,chance2 * 0.01f)); } - public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2, ItemStack aOutput3, int chance3){ - GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), aOutput2, aOutput3, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000, chance2 * 100, chance3*100 }, 128, 5); + public void addSpecialCentLV(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2, ItemStack aOutput3, int chance3){ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), aOutput2, aOutput3, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 5000, chance2 * 100, chance3*100 }, 128, 5); RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(aOutput, chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f,aOutput2,chance2 * 0.01f,aOutput3,chance3*0.01f)); } - - public void addProcess(ItemStack tComb, Materials aMaterial, int chance){ + public void addSpecialCentMV(ItemStack tComb, ItemStack aOutput, int chance){ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput,GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 7000 }, 160, 120); + } + + public void addSpecialCentMV(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2){ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, chance2 * 100}, 160, 120); + } + + public void addSpecialCentHV(ItemStack tComb, ItemStack aOutput, int chance){ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput,GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 7000 }, 196, 480); + } + + public void addSpecialCentHV(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2){ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, chance2 * 100}, 196, 480); + } + + public void addSpecialCentHV(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2, ItemStack aOutput3, int chance3){ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, aOutput2, aOutput3, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, chance2 * 100, chance3 * 100 }, 196, 480); + } + + public void addProcessLV(ItemStack tComb, Materials aMaterial, int chance){ if(GT_Mod.gregtechproxy.mNerfedCombs){ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.Water.getFluid(1000), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 96, 24); - GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(16, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 10000, (int) (aMaterial.getMass() * 128), 384); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 384); }else{ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5); RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f)); } } - - public void addProcess(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){ + public void addProcessMV(ItemStack tComb, Materials aMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), GT_ModHandler.getDistilledWater(1000L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 128, 96); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 768); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 160, 120); + } + } + public void addProcessHV(ItemStack tComb, Materials aMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.Mercury.getFluid(144L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 160, 384); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 1536); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 192, 480); + } + } + public void addProcessEV(ItemStack tComb, Materials aMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.GrowthMediumRaw.getFluid(144L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,192, 1536, true); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+18)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 3072, true); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 224, 1920); + } + } + public void addProcessIV(ItemStack tComb, Materials aMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.GrowthMediumRaw.getFluid(288L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,224, 3072, true); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+27)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 6144, true); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 256, 7680); + } + } + public void addProcessLUV(ItemStack tComb, Materials aMaterial, int chance){ if(GT_Mod.gregtechproxy.mNerfedCombs){ - GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.Water.getFluid(1000), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 96, 24); - GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(16, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 1), 10000, (int) (aOutMaterial.getMass() * 128), 384); + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), FluidRegistry.getFluidStack("mutagen", 144), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,256, 12288, true); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+36)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 24576, true); }else{ - GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5); + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 288, 30720); + } + } + public void addProcessZPM(ItemStack tComb, Materials aMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), FluidRegistry.getFluidStack("mutagen", 288), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,288, 500000, true); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+45)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 100000, true); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 320, 122880); + } + } + + public void addProcessLV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance) { + if (GT_Mod.gregtechproxy.mNerfedCombs) { + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.Water.getFluid(1000L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 96, 24); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass() +9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 384); + } else { + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{chance * 100, 3000}, 128, 5); RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f)); } } - + public void addProcessMV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), GT_ModHandler.getDistilledWater(1000L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 128, 96); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 768); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 160, 120); + } + + } + public void addProcessHV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.Mercury.getFluid(144L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 160, 384); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 1536); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 192, 480); + } + + } + public void addProcessEV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.GrowthMediumRaw.getFluid(144L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 192, 1536); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+18)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 3072); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 224, 1920, true); + } + + } + public void addProcessIV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.GrowthMediumRaw.getFluid(288L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 224, 3072); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+27)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 6144); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 256, 7680, true); + } + + } + public void addProcessLUV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), FluidRegistry.getFluidStack("mutagen", 144), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), GT_Values.NI, 256, 12288, true); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+36)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 24576, true); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 288, 30720, true); + } + + } + public void addProcessZPM(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){ + if(GT_Mod.gregtechproxy.mNerfedCombs){ + GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), FluidRegistry.getFluidStack("mutagen", 288), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), GT_Values.NI, 288, 500000, true); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+45)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 100000, true); + }else{ + GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 320, 122880, true); + } + + } } diff --git a/src/main/java/gregtech/common/items/ItemDrop.java b/src/main/java/gregtech/common/items/ItemDrop.java new file mode 100644 index 0000000000..f461d8b68e --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemDrop.java @@ -0,0 +1,127 @@ +package gregtech.common.items; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import forestry.api.core.Tabs; +import forestry.api.recipes.RecipeManagers; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; +import gregtech.api.util.GT_ModHandler; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import java.util.List; + +import static gregtech.api.enums.GT_Values.MOD_ID; + +public class ItemDrop extends Item { + @SideOnly(Side.CLIENT) + private IIcon secondIcon; + + public ItemDrop() { + super(); + this.setCreativeTab(Tabs.tabApiculture); + this.setHasSubtypes(true); + this.setUnlocalizedName("gt.drop"); + GameRegistry.registerItem(this, "gt.drop", MOD_ID); + } + + public ItemStack getStackForType(DropType type) { + return new ItemStack(this, 1, type.ordinal()); + } + + public ItemStack getStackForType(DropType type, int count) { + return new ItemStack(this, count, type.ordinal()); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tabs, List list) { + for (DropType type : DropType.values()) { + if (type.showInList) { + list.add(this.getStackForType(type)); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { + return true; + } + + @Override + public int getRenderPasses(int meta) { + return 2; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("forestry:honeyDrop.0"); + this.secondIcon = par1IconRegister.registerIcon("forestry:honeyDrop.1"); + } + + @Override + public IIcon getIcon(ItemStack stack, int pass) { + return (pass == 0) ? itemIcon : secondIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) { + int meta = Math.max(0, Math.min(DropType.values().length - 1, stack.getItemDamage())); + int colour = DropType.values()[meta].getColours()[0]; + + if (pass >= 1) { + colour = DropType.values()[meta].getColours()[1]; + } + + return colour; + } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + return DropType.values()[stack.getItemDamage()].getName(); + } + public void initDropsRecipes() { + ItemStack tDrop; + + tDrop = getStackForType(DropType.OIL); + addProcessLV(tDrop, Materials.OilHeavy.getFluid(100L), GT_ModHandler.getModItem("Forestry", "propolis", 1L, 0), 3000, 8); + RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, Materials.OilHeavy.getFluid(100L), GT_ModHandler.getModItem("Forestry", "propolis", 1L, 0), 30); + tDrop = getStackForType(DropType.COOLANT); + addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 0), 3000, 8); + RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 0), 30); + tDrop = getStackForType(DropType.HOT_COOLANT); + addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 3000, 8); + RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 30); + tDrop = getStackForType(DropType.SNOW_QUEEN); + addProcessMV(tDrop, Materials.FierySteel.getFluid(200L), GT_ModHandler.getModItem("dreamcraft", "SnowQueenBloodDrop", 1L, 0), 1500, 48); + tDrop = getStackForType(DropType.LAPIS); + addProcessLV(tDrop,new FluidStack(FluidRegistry.getFluid("ic2coolant"), 200), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), 5000, 1200,2); + RecipeManagers.squeezerManager.addRecipe(400, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), 30); + tDrop = getStackForType(DropType.HYDRA); + addProcessMV(tDrop, Materials.FierySteel.getFluid(50L), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 3000, 8); + tDrop = getStackForType(DropType.OXYGEN); + addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("liquidoxygen"), 100), GT_ModHandler.getModItem("ExtraBees", "propolis", 1L, 2), 250, 1200,8); + RecipeManagers.squeezerManager.addRecipe(400, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("ExtraBees", "propolis", 1L, 2), 30); + + } + + public void addProcessLV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) { + GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, 32, aEUt); + } + public void addProcessLV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aDuration, int aEUt) { + GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, aDuration, aEUt); + } + public void addProcessMV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) { + GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, 64, aEUt); + } + +}
\ No newline at end of file diff --git a/src/main/java/gregtech/common/items/ItemPollen.java b/src/main/java/gregtech/common/items/ItemPollen.java new file mode 100644 index 0000000000..c3da0e7c1d --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemPollen.java @@ -0,0 +1,88 @@ +package gregtech.common.items; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import forestry.api.core.Tabs; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import java.util.List; + +import static gregtech.api.enums.GT_Values.MOD_ID; + +public class ItemPollen extends Item { + @SideOnly(Side.CLIENT) + private IIcon secondIcon; + + public ItemPollen() { + super(); + this.setCreativeTab(Tabs.tabApiculture); + this.setHasSubtypes(true); + this.setUnlocalizedName("gt.pollen"); + GameRegistry.registerItem(this, "gt.pollen", MOD_ID); + } + + public ItemStack getStackForType(PollenType type) { + return new ItemStack(this, 1, type.ordinal()); + } + + public ItemStack getStackForType(PollenType type, int count) { + return new ItemStack(this, count, type.ordinal()); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tabs, List list) { + for (PollenType type : PollenType.values()) { + if (type.showInList) { + list.add(this.getStackForType(type)); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { + return true; + } + + @Override + public int getRenderPasses(int meta) { + return 2; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("forestry:pollen.0"); + this.secondIcon = par1IconRegister.registerIcon("forestry:pollen.1"); + } + + @Override + public IIcon getIcon(ItemStack stack, int pass) { + return (pass == 0) ? itemIcon : secondIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) { + int meta = Math.max(0, Math.min(PollenType.values().length - 1, stack.getItemDamage())); + int colour = PollenType.values()[meta].getColours()[0]; + + if (pass >= 1) { + colour = PollenType.values()[meta].getColours()[1]; + } + + return colour; + } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + return PollenType.values()[stack.getItemDamage()].getName(); + } + + +} diff --git a/src/main/java/gregtech/common/items/ItemPropolis.java b/src/main/java/gregtech/common/items/ItemPropolis.java new file mode 100644 index 0000000000..75c38ae016 --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemPropolis.java @@ -0,0 +1,82 @@ +package gregtech.common.items; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import forestry.api.core.Tabs; +import gregtech.api.enums.GT_Values; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.FluidStack; + +import java.util.List; + +import static gregtech.api.enums.GT_Values.MOD_ID; + +public class ItemPropolis extends Item { + @SideOnly(Side.CLIENT) + private IIcon secondIcon; + + public ItemPropolis() { + super(); + this.setCreativeTab(Tabs.tabApiculture); + this.setHasSubtypes(true); + this.setUnlocalizedName("gt.propolis"); + GameRegistry.registerItem(this, "gt.propolis", MOD_ID); + } + + public ItemStack getStackForType(PropolisType type) { + return new ItemStack(this, 1, type.ordinal()); + } + + public ItemStack getStackForType(PropolisType type, int count) { + return new ItemStack(this, count, type.ordinal()); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tabs, List list) { + for (PropolisType type : PropolisType.values()) { + if (type.showInList) { + list.add(this.getStackForType(type)); + } + } + } + + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("forestry:propolis.0"); + } + + @Override + public IIcon getIcon(ItemStack stack, int pass) { + return itemIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) { + int meta = Math.max(0, Math.min(PropolisType.values().length - 1, stack.getItemDamage())); + return PropolisType.values()[meta].getColours(); + } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + return PropolisType.values()[stack.getItemDamage()].getName(); + } + public void initPropolisRecipes() { + ItemStack tPropolis; + + tPropolis = getStackForType(PropolisType.Zoko); + //addRecipe(tDrop, aOutput, aOutput2, aChance, aEUt); + } + + public void addRecipe(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) { + GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, 40, aEUt); + } + +} diff --git a/src/main/java/gregtech/common/items/PollenType.java b/src/main/java/gregtech/common/items/PollenType.java new file mode 100644 index 0000000000..5bfb38e599 --- /dev/null +++ b/src/main/java/gregtech/common/items/PollenType.java @@ -0,0 +1,34 @@ +package gregtech.common.items; + +import gregtech.api.enums.Materials; +import gregtech.api.util.GT_LanguageManager; + +public enum PollenType { + + MATRIX("matrix",true); + + private static int[][] colours = new int[][]{ + {0x19191B, 0x303032}, + }; + public boolean showInList; + public Materials material; + public int chance; + private String name; + private PollenType(String pName, boolean show) { + this.name = pName; + this.showInList = show; + } + + public void setHidden() { + this.showInList = false; + } + + public String getName() { +// return "gt.comb."+this.name; + return GT_LanguageManager.addStringLocalization("pollen." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Pollen"); + } + + public int[] getColours() { + return colours[this.ordinal()]; + } +}
\ No newline at end of file diff --git a/src/main/java/gregtech/common/items/PropolisType.java b/src/main/java/gregtech/common/items/PropolisType.java new file mode 100644 index 0000000000..e9519c5c94 --- /dev/null +++ b/src/main/java/gregtech/common/items/PropolisType.java @@ -0,0 +1,35 @@ +package gregtech.common.items; + +import gregtech.api.enums.Materials; +import gregtech.api.util.GT_LanguageManager; + +public enum PropolisType { + + Zoko("zoko",true); + + private static int[] colours = new int[]{ + 0x3A9898 + }; + + public boolean showInList; + public Materials material; + public int chance; + private String name; + private PropolisType(String pName, boolean show) { + this.name = pName; + this.showInList = show; + } + + public void setHidden() { + this.showInList = false; + } + + public String getName() { +// return "gt.comb."+this.name; + return GT_LanguageManager.addStringLocalization("propolis." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Propolis"); + } + + public int getColours() { + return colours[this.ordinal()]; + } +}
\ No newline at end of file diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java index 2d1083ed79..6437a95a33 100644 --- a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java +++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java @@ -26,8 +26,6 @@ public class GT_FuelLoader ItemList.sIndiumConcentrate = GT_Mod.gregtechproxy.addFluid("indiumconcentrate", "Indium Concentrate", null, 1, 295);//TODO CHECK NEW x3
ItemList.sLeadZincSolution = GT_Mod.gregtechproxy.addFluid("leadzincsolution", "Lead-Zinc solution", null, 1, 295);
ItemList.sRocketFuel = GT_Mod.gregtechproxy.addFluid("rocket_fuel", "Rocket Fuel", null, 1, 295);
- //ItemList.sIron3Chloride = GT_Mod.gregtechproxy.addFluid("iron3chloride", "Iron III Chloride", Materials.IronIIIChloride, 1, 295);
- //ItemList.sLifeEssence = GT_Mod.gregtechproxy.addFluid("lifeessence", "Life Essence", Materials.LifeEssence, 1, 295);
new GT_Recipe(new ItemStack(Items.lava_bucket), new ItemStack(Blocks.obsidian), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Electrum, 1L), 30, 2);
GT_Recipe.GT_Recipe_Map.sSmallNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)}, null, null, null, 0, 0, 25000);
@@ -35,7 +33,6 @@ public class GT_FuelLoader GT_Recipe.GT_Recipe_Map.sHugeNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L)}, null, null, null, 0, 0, 250000);
GT_Recipe.GT_Recipe_Map.sExtremeNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)}, null, null, null, 0, 0, 500000);
GT_Recipe.GT_Recipe_Map.sUltraHugeNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadria, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L)}, null, null, null, 0, 0, 1000000);
- //GT_Recipe.GT_Recipe_Map.sUltraHugeNaquadahReactorFuels.addRecipe(true, new ItemStack[]{null}, new ItemStack[]{null}, null, new FluidStack[]{Materials.FluidNaquadahFuel.getFluid(1000L)}, new FluidStack[]{Materials.Naquadah.getFluid(1000L)}, 0, 0, 2000000);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1L, 4), null, 4, 5);
GT_Values.RA.addFuel(new ItemStack(Items.experience_bottle, 1), null, 10, 5);
diff --git a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java index e57d640d1f..f726349a8d 100644 --- a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java +++ b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java @@ -1,519 +1,1509 @@ package gregtech.loaders.misc; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.common.registry.GameRegistry; import forestry.api.apiculture.*; import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; +import forestry.api.genetics.IAlleleFlowers; import forestry.apiculture.genetics.Bee; -import forestry.apiculture.genetics.BeeDefinition; import forestry.apiculture.genetics.BeeVariation; import forestry.apiculture.genetics.IBeeDefinition; +import forestry.apiculture.genetics.alleles.AlleleEffect; import forestry.core.genetics.alleles.AlleleHelper; +import forestry.core.genetics.alleles.EnumAllele; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.common.bees.GT_AlleleBeeSpecies; +import gregtech.common.bees.GT_Bee_Mutation; import gregtech.common.items.CombType; +import net.minecraft.block.Block; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import net.minecraftforge.common.BiomeDictionary; import org.apache.commons.lang3.text.WordUtils; import java.util.Arrays; import java.util.Locale; -//import forestry.apiculture.items.EnumHoneyComb; -//import forestry.plugins.PluginApiculture; - public enum GT_BeeDefinition implements IBeeDefinition { - CLAY(GT_BranchDefinition.ORGANIC, "Clay", true, 0x19d0ec, 0xffdc16) { + + //organic + CLAY(GT_BranchDefinition.ORGANIC, "Clay", true, 0xC8C8DA, 0x0000FF) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f); beeSpecies.addProduct(new ItemStack(Items.clay_ball, 1), 0.15f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("BiomesOPlenty", "mudball", 1, 0), 0.05f); beeSpecies.setHumidity(EnumHumidity.DAMP); beeSpecies.setTemperature(EnumTemperature.NORMAL); + //Example + //beeSpecies.setIsSecret(); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.MEADOWS.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); + //Exaples + //template = BeeDefinition.CULTIVATED.getTemplate(); + //AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST); + //tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(-1)); + //tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(50)); + //tMutation.requireResource(Blocks.coal_block, 0); + //AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + //tMutation.requireResource(GameRegistry.findBlock("minecraft", "sand"), 1); + //AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, GT_Bees.superLife); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), getSpecies("Diligent"), 20); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY, "Industrious"), getSpecies(FORRESTRY, "Diligent"), 10); + tMutation.requireResource("blockClay"); } }, SLIMEBALL(GT_BranchDefinition.ORGANIC, "SlimeBall", true, 0x4E9E55, 0x00FF15) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 15), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STICKY), 0.30f); + beeSpecies.addProduct(new ItemStack(Items.slime_ball, 1), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STICKY), 0.05f); beeSpecies.setHumidity(EnumHumidity.DAMP); beeSpecies.setTemperature(EnumTemperature.NORMAL); + if (Loader.isModLoaded("TConstruct")) { + beeSpecies.addProduct(GT_ModHandler.getModItem("TConstruct", "strangeFood", 1, 0), 0.10f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("TConstruct", "slime.gel", 1, 2), 0.01f); + } + } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.MARSHY.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "water")); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Marshy"), CLAY.species, 15); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Marshy"), CLAY.species, 7); + if (Loader.isModLoaded("TConstruct")) + tMutation.requireResource(GameRegistry.findBlock("TConstruct", "slime.gel"), 1); } }, PEAT(GT_BranchDefinition.ORGANIC, "Peat", true, 0x906237, 0x58300B) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LIGNIE), 0.30f); beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.15f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "peat", 1, 0), 0.15f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "mulch", 1, 0), 0.05f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.RURAL.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Rural"), CLAY.species, 20); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Rural"), CLAY.species, 10); } }, STICKYRESIN(GT_BranchDefinition.ORGANIC, "StickyResin", true, 0x2E8F5B, 0xDCC289) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f); - beeSpecies.addProduct(ItemList.IC2_Resin.get(1, new Object[0]), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STICKY), 0.15f); + beeSpecies.addSpecialty(ItemList.IC2_Resin.get(1, new Object[0]), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.MEADOWS.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(SLIMEBALL.species, PEAT.species, 25); + IBeeMutationCustom tMutation = registerMutation(SLIMEBALL.species, PEAT.species, 15); + tMutation.requireResource("logRubber"); } }, COAL(GT_BranchDefinition.ORGANIC, "Coal", true, 0x666666, 0x525252) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LIGNIE), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.COAL), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.COAL), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.AUSTERE.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.CACTI); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectCreeper); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), PEAT.species, 18); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Industrious"), PEAT.species, 9); + tMutation.requireResource("blockCoal"); } }, OIL(GT_BranchDefinition.ORGANIC, "Oil", true, 0x4C4C4C, 0x333333) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.OIL), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OIL), 0.15f); beeSpecies.setHumidity(EnumHumidity.DAMP); beeSpecies.setTemperature(EnumTemperature.NORMAL); - beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "water")); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); + + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(COAL.species, STICKYRESIN.species, 4); + } + }, + SANDWICH(GT_BranchDefinition.ORGANIC, "Sandwich", true, 0x32CD32, 0xDAA520) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f); + beeSpecies.addSpecialty(ItemList.Food_Sliced_Cucumber.get(1, new Object[0]), 0.05f); + beeSpecies.addSpecialty(ItemList.Food_Sliced_Onion.get(1, new Object[0]), 0.05f); + beeSpecies.addSpecialty(ItemList.Food_Sliced_Tomato.get(1, new Object[0]), 0.05f); + beeSpecies.addSpecialty(ItemList.Food_Sliced_Cheese.get(1, new Object[0]), 0.05f); + beeSpecies.addSpecialty(new ItemStack(Items.cooked_porkchop, 1, 0), 0.05f); + beeSpecies.addSpecialty(new ItemStack(Items.cooked_beef, 1, 0), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectFertile); + AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Agrarian"), getSpecies(MAGICBEES,"TCBatty"), 10); + } + }, + ASH(GT_BranchDefinition.ORGANIC, "Ash", true, 0x1e1a18, 0xc6c6c6) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ASH), 0.15f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(COAL.species, CLAY.species, 10); + tMutation.restrictTemperature(EnumTemperature.HELLISH); + } + }, + APATITE(GT_BranchDefinition.ORGANIC, "Apatite", true, 0xc1c1f6, 0x676784) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.APATITE), 0.15f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.WARM); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock")); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(ASH.species, COAL.species, 10); + tMutation.requireResource("blockApatite"); + } + }, + + FERTILIZER(GT_BranchDefinition.ORGANIC, "Fertilizer", true, 0x7fcef5, 0x654525) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f); + beeSpecies.addSpecialty(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1), 0.2f); + beeSpecies.addSpecialty(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1), 0.2f); + beeSpecies.addSpecialty(ItemList.FR_Fertilizer.get(1, new Object[0]), 0.3f); + beeSpecies.addSpecialty(ItemList.IC2_Fertilizer.get(1, new Object[0]), 0.3f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.WARM); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(ASH.species, APATITE.species, 8); + } + }, + + //IC2 + COOLANT(GT_BranchDefinition.IC2, "Coolant", false, 0x144F5A, 0x2494A2) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 4), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.COOLANT), 0.15f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectGlacial); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Icy"), getSpecies(FORRESTRY,"Glacial"), 10); + tMutation.requireResource(Block.getBlockFromItem(GT_ModHandler.getModItem("IC2", "fluidCoolant", 1).getItem()), 0); + tMutation.restrictTemperature(EnumTemperature.ICY); + } + }, + ENERGY(GT_BranchDefinition.IC2, "Energy", false, 0xC11F1F, 0xEBB9B9) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 12), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENERGY), 0.15f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.WARM); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.NETHER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Demonic"), getSpecies(EXTRABEES,"volcanic"), 10); + tMutation.requireResource(Block.getBlockFromItem(GT_ModHandler.getModItem("IC2", "fluidHotCoolant", 1).getItem()), 0); + tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(128, "Boneyard Biome"));//Boneyard Biome + } + }, + LAPOTRON(GT_BranchDefinition.IC2, "Lapotron", false, 0x6478FF, 0x1414FF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LAPIS), 0.20f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENERGY), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LAPOTRON), 0.10f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(LAPIS.species, ENERGY.species, 6); + tMutation.requireResource("blockLapis"); + tMutation.restrictTemperature(EnumTemperature.ICY); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(28, "Moon"));//moon dim + } + }, + PYROTHEUM(GT_BranchDefinition.IC2, "Pyrotheum", false, 0xffebc4, 0xe36400) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ENERGY), 0.20f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.PYROTHEUM), 0.15f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.NETHER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, ENERGY.species, 4); + tMutation.restrictTemperature(EnumTemperature.HELLISH); + } + }, + CRYOTHEUM(GT_BranchDefinition.IC2, "Cryotheum", false, 0x2660ff, 0x5af7ff) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.COOLANT), 0.20f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CRYOTHEUM), 0.15f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectSnowing); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, COOLANT.species, 4); + tMutation.restrictTemperature(EnumTemperature.ICY); + } + }, + //Alloy + REDALLOY(GT_BranchDefinition.GTALLOY, "RedAlloy", false, 0xE60000, 0xB80000) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDALLOY), 0.15f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(COPPER.species, REDSTONE.species, 10); + tMutation.requireResource("blockRedAlloy"); + } + }, + REDSTONEALLOY(GT_BranchDefinition.GTALLOY, "RedStoneAlloy", false, 0xA50808, 0xE80000) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDSTONEALLOY), 0.15f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, REDALLOY.species, 8); + tMutation.requireResource("blockRedstoneAlloy"); + } + }, + CONDUCTIVEIRON(GT_BranchDefinition.GTALLOY, "ConductiveIron", false, 0xCEADA3, 0x817671) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CONDUCTIVEIRON), 0.15f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.WARM); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONEALLOY.species, IRON.species, 8); + tMutation.requireResource("blockConductiveIron"); + } + }, + VIBRANTALLOY(GT_BranchDefinition.GTALLOY, "VibrantAlloy", false, 0x86A12D, 0xC4F2AE) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.VIBRANTALLOY), 0.15f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(ENERGETICALLOY.species, getSpecies(FORRESTRY,"Phantasmal"), 6); + tMutation.requireResource("blockVibrantAlloy"); + tMutation.restrictTemperature(EnumTemperature.HOT, EnumTemperature.HELLISH); + } + }, + ENERGETICALLOY(GT_BranchDefinition.GTALLOY, "EnergeticAlloy", false, 0xFF9933, 0xFFAD5C) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENERGETICALLOY), 0.15f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONEALLOY.species, getSpecies(FORRESTRY,"Demonic"), 9); + tMutation.requireResource("blockEnergeticAlloy"); + } + }, + ELECTRICALSTEEL(GT_BranchDefinition.GTALLOY, "ElectricalSteel", false, 0x787878, 0xD8D8D8) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ELECTRICALSTEEL), 0.15f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(STEEL.species, getSpecies(FORRESTRY,"Demonic"), 9); + tMutation.requireResource("blockElectricalSteel"); + } + }, + DARKSTEEL(GT_BranchDefinition.GTALLOY, "DarkSteel", false, 0x252525, 0x443B44) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DARKSTEEL), 0.15f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.COLD); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(ELECTRICALSTEEL.species, getSpecies(FORRESTRY,"Demonic"), 7); + tMutation.requireResource("blockDarkSteel"); + } + }, + PULSATINGIRON(GT_BranchDefinition.GTALLOY, "PulsatingIron", false, 0x6DD284, 0x006600) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.PULSATINGIRON), 0.15f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDALLOY.species, getSpecies(FORRESTRY,"Ended"), 9); + tMutation.requireResource("blockPulsatingIron"); + } + }, + STAINLESSSTEEL(GT_BranchDefinition.GTALLOY, "StainlessSteel", false, 0xC8C8DC, 0x778899) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STEEL), 0.10f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STAINLESSSTEEL), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CHROME), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition); + } + + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(CHROME.species, STEEL.species, 9); + tMutation.requireResource("blockStainlessSteel"); + } + }, + ENDERIUM(GT_BranchDefinition.GTALLOY, "Enderium", false, 0x599087, 0x2E8B57) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENDERIUM), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CHROME), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, GT_Bees.speedBlinding); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, getEffect(EXTRABEES, "teleport")); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(PLATINUM.species, getSpecies(FORRESTRY,"Phantasmal"), 3); + tMutation.requireResource("blockEnderium"); + } + }, + //thaumic + THAUMIUMDUST(GT_BranchDefinition.THAUMIC, "ThaumiumDust", true, 0x7A007A, 0x5C005C) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.THAUMIUMDUST), 0.20f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectExploration); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"TCFire"), getSpecies(FORRESTRY,"Edenic"), 10); + tMutation.requireResource("blockThaumium"); + tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(192, "Magical Forest"));//magical forest + } + }, + THAUMIUMSHARD(GT_BranchDefinition.THAUMIC, "ThaumiumShard", true, 0x9966FF, 0xAD85FF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.THAUMIUMDUST), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.THAUMIUMSHARD), 0.20f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectGlacial); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(THAUMIUMDUST.species, getSpecies(MAGICBEES,"TCWater"), 10); + tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(192, "Magical Forest"));//magical forest + } + }, + AMBER(GT_BranchDefinition.THAUMIC, "Amber", true, 0xEE7700, 0x774B15) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.AMBER), 0.20f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(THAUMIUMDUST.species, STICKYRESIN.species, 10); + tMutation.requireResource("blockAmber"); + } + }, + QUICKSILVER(GT_BranchDefinition.THAUMIC, "Quicksilver", true, 0x7A007A, 0x5C005C) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.QUICKSILVER), 0.20f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectMiasmic); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(THAUMIUMDUST.species, SILVER.species, 10); + } + }, + SALISMUNDUS(GT_BranchDefinition.THAUMIC, "SalisMundus", true, 0xF7ADDE, 0x592582) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.20f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.MEADOWS.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectMiasmic); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(COAL.species, STICKYRESIN.species, 8); + IBeeMutationCustom tMutation = registerMutation(THAUMIUMDUST.species, THAUMIUMSHARD.species, 8); + tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(192, "Magical Forest"));//magical forest } }, + TAINTED(GT_BranchDefinition.THAUMIC, "Tainted", true, 0x904BB8, 0xE800FF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.TAINTED), 0.20f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock")); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(THAUMIUMDUST.species, THAUMIUMSHARD.species, 7); + tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(193, "Tainted Land"));//Tainted Land + } + }, + MITHRIL(GT_BranchDefinition.THAUMIC, "Mithril", true, 0xF0E68C, 0xFFFFD2) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.20f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MITHRIL), 0.125f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock")); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(IO.species, PLATINUM.species, 7); + tMutation.requireResource(GregTech_API.sBlockMetal4, 10); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(36, "IO"));//IO Dim + } + }, + ASTRALSILVER(GT_BranchDefinition.THAUMIC, "AstralSilver", true, 0xAFEEEE, 0xE6E6FF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SILVER), 0.20f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ASTRALSILVER), 0.125f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock")); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(SILVER.species, IRON.species, 3); + tMutation.requireResource(GregTech_API.sBlockMetal1, 6); + } + }, + THAUMINITE(GT_BranchDefinition.THAUMIC, "Thauminite", true, 0x2E2D79, 0x7581E0) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem("MagicBees", "comb", 1, 19), 0.20f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.THAUMINITE), 0.125f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"TCOrder"), THAUMIUMDUST.species, 8); + if (Loader.isModLoaded("thaumicbases")) + tMutation.requireResource(GameRegistry.findBlock("thaumicbases", "thauminiteBlock"), 0); + } + }, + SHADOWMETAL(GT_BranchDefinition.THAUMIC, "ShadowMetal", true, 0x100322, 0x100342) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem("MagicBees", "comb", 1, 20), 0.20f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SHADOWMETAL), 0.125f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"TCChaos"), getSpecies(MAGICBEES,"TCVoid"), 6); + if (Loader.isModLoaded("TaintedMagic")) + tMutation.requireResource(GameRegistry.findBlock("TaintedMagic", "BlockShadowmetal"), 0); + } + }, + DIVIDED(GT_BranchDefinition.THAUMIC, "Unstable", true, 0xF0F0F0, 0xDCDCDC) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 61), 0.20f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DIVIDED), 0.125f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(DIAMOND.species, IRON.species, 3); + if (Loader.isModLoaded("ExtraUtilities")) + tMutation.requireResource(GameRegistry.findBlock("ExtraUtilities", "decorativeBlock1"), 5); + } + }, + SPARKELING(GT_BranchDefinition.THAUMIC, "NetherStar", true, 0x7A007A, 0xFFFFFF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_ModHandler.getModItem("MagicBees", "miscResources", 1, 3), 0.20f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SPARKELING), 0.125f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.NETHER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectAggressive); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"Withering"), getSpecies(MAGICBEES, "Draconic"), 1); + tMutation.requireResource(GregTech_API.sBlockGem3, 3); + tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(9, "END Biome"));//sky end biome + } + }, +//gems REDSTONE(GT_BranchDefinition.GEM, "Redstone", true, 0x7D0F0F, 0xD11919) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.REDSTONE), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDSTONE), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.RAREEARTH), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), getSpecies("Demonic"), 20); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Industrious"), getSpecies(FORRESTRY,"Demonic"), 10); + tMutation.requireResource("blockRedstone"); } }, LAPIS(GT_BranchDefinition.GEM, "Lapis", true, 0x1947D1, 0x476CDA) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LAPIS), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LAPIS), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Demonic"), getSpecies("Imperial"), 20); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Demonic"), getSpecies(FORRESTRY,"Imperial"), 10); + tMutation.requireResource("blockLapis"); } }, CERTUS(GT_BranchDefinition.GEM, "CertusQuartz", true, 0x57CFFB, 0xBBEEFF) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CERTUS), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CERTUS), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Hermitic"), LAPIS.species, 20); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Hermitic"), LAPIS.species, 10); + tMutation.requireResource("blockCertusQuartz"); } }, - RUBY(GT_BranchDefinition.GEM, "Ruby", true, 0xE6005C, 0xCC0052) { + FLUIX(GT_BranchDefinition.GEM, "FluixDust", true, 0xA375FF, 0xB591FF) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.RUBY), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.FLUIX), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, DIAMOND.species, 10); + IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, LAPIS.species, 7); + tMutation.requireResource("blockFluix"); + } + }, + RUBY(GT_BranchDefinition.GEM, "Ruby", false, 0xE6005C, 0xCC0052) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.RUBY), 0.15f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.REDGARNET), 0.05f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, DIAMOND.species, 5); + tMutation.requireResource("blockRuby"); } }, SAPPHIRE(GT_BranchDefinition.GEM, "Sapphire", true, 0x0033CC, 0x00248F) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SAPPHIRE), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SAPPHIRE), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(CERTUS.species, LAPIS.species, 10); + IBeeMutationCustom tMutation = registerMutation(CERTUS.species, LAPIS.species, 5); + tMutation.requireResource(GregTech_API.sBlockGem2, 13); } }, - DIAMOND(GT_BranchDefinition.GEM, "Diamond", true, 0xCCFFFF, 0xA3CCCC) { + DIAMOND(GT_BranchDefinition.GEM, "Diamond", false, 0xCCFFFF, 0xA3CCCC) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.DIAMOND), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DIAMOND), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setTemperature(EnumTemperature.HOT); + beeSpecies.setHasEffect(); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(CERTUS.species, COAL.species, 6); + IBeeMutationCustom tMutation = registerMutation(CERTUS.species, COAL.species, 3); + tMutation.requireResource("blockDiamond"); } }, OLIVINE(GT_BranchDefinition.GEM, "Olivine", true, 0x248F24, 0xCCFFCC) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.OLIVINE), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OLIVINE), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MAGNESIUM), 0.05f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(CERTUS.species, getSpecies("Ended"), 10); + IBeeMutationCustom tMutation = registerMutation(CERTUS.species, getSpecies(FORRESTRY,"Ended"), 5); } }, - EMERALD(GT_BranchDefinition.GEM, "Emerald", true, 0x248F24, 0x2EB82E) { + EMERALD(GT_BranchDefinition.GEM, "Emerald", false, 0x248F24, 0x2EB82E) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.EMERALD), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.EMERALD), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ALUMINIUM), 0.05f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setHasEffect(); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(OLIVINE.species, DIAMOND.species, 8); + IBeeMutationCustom tMutation = registerMutation(OLIVINE.species, DIAMOND.species, 4); + tMutation.requireResource("blockEmerald"); } }, + REDGARNET(GT_BranchDefinition.GEM, "RedGarnet", false, 0xBD4C4C, 0xECCECE) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDGARNET), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.PYROPE), 0.05f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.WARM); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(DIAMOND.species, RUBY.species, 4); + tMutation.requireResource("blockGarnetRed"); + } + }, + YELLOWGARNET(GT_BranchDefinition.GEM, "YellowGarnet", false, 0xA3A341, 0xEDEDCE) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.YELLOWGARNET), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.GROSSULAR), 0.05f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.WARM); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(EMERALD.species, REDGARNET.species, 3); + tMutation.requireResource("blockGarnetYellow"); + } + }, + FIRESTONE(GT_BranchDefinition.GEM, "Firestone", false, 0xC00000, 0xFF0000) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.FIRESTONE), 0.15f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.WARM); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, RUBY.species, 4); + tMutation.requireResource("blockFirestone"); + } + }, + //Metal Line COPPER(GT_BranchDefinition.METAL, "Copper", true, 0xFF6600, 0xE65C00) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.COPPER), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.GOLD), 0.05f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Majestic"), CLAY.species, 25); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Majestic"), CLAY.species, 13); + tMutation.requireResource("blockCopper"); } }, TIN(GT_BranchDefinition.METAL, "Tin", true, 0xD4D4D4, 0xDDDDDD) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TIN), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ZINC), 0.05f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(CLAY.species, getSpecies("Diligent"), 25); + IBeeMutationCustom tMutation = registerMutation(CLAY.species, getSpecies(FORRESTRY,"Diligent"), 13); + tMutation.requireResource("blockTin"); } }, LEAD(GT_BranchDefinition.METAL, "Lead", true, 0x666699, 0xA3A3CC) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LEAD), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SULFUR), 0.05f); beeSpecies.setHumidity(EnumHumidity.DAMP); beeSpecies.setTemperature(EnumTemperature.WARM); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(COAL.species, COPPER.species, 25); + IBeeMutationCustom tMutation = registerMutation(COAL.species, COPPER.species, 13); + tMutation.requireResource("blockLead"); } }, IRON(GT_BranchDefinition.METAL, "Iron", true, 0xDA9147, 0xDE9C59) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.IRON), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.TIN), 0.05f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(TIN.species, COPPER.species, 25); + IBeeMutationCustom tMutation = registerMutation(TIN.species, COPPER.species, 13); + tMutation.requireResource("blockIron"); } }, STEEL(GT_BranchDefinition.METAL, "Steel", true, 0x808080, 0x999999) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STEEL), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.IRON), 0.05f); beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setTemperature(EnumTemperature.WARM); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(IRON.species, COAL.species, 20); + IBeeMutationCustom tMutation = registerMutation(IRON.species, COAL.species, 10); + tMutation.requireResource("blockSteel"); + tMutation.restrictTemperature(EnumTemperature.HOT); + } }, NICKEL(GT_BranchDefinition.METAL, "Nickel", true, 0x8585AD, 0x8585AD) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NICKEL), 0.15f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.02f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } - @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(IRON.species, COPPER.species, 25); + IBeeMutationCustom tMutation = registerMutation(IRON.species, COPPER.species, 13); + tMutation.requireResource("blockNickel"); } }, ZINC(GT_BranchDefinition.METAL, "Zinc", true, 0xF0DEF0, 0xF2E1F2) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ZINC), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.GALLIUM), 0.05f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(IRON.species, TIN.species, 20); + IBeeMutationCustom tMutation = registerMutation(IRON.species, TIN.species, 13); + tMutation.requireResource("blockZinc"); } }, SILVER(GT_BranchDefinition.METAL, "Silver", true, 0xC2C2D6, 0xCECEDE) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SILVER), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SULFUR), 0.05f); beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setTemperature(EnumTemperature.COLD); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(LEAD.species, TIN.species, 20); + IBeeMutationCustom tMutation = registerMutation(LEAD.species, TIN.species, 10); + tMutation.requireResource("blockSilver"); } }, GOLD(GT_BranchDefinition.METAL, "Gold", true, 0xEBC633, 0xEDCC47) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.GOLD), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.NICKEL), 0.05f); beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setTemperature(EnumTemperature.WARM); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(LEAD.species, COPPER.species, 13); + tMutation.requireResource("blockGold"); + tMutation.restrictTemperature(EnumTemperature.HOT); + } + }, + ARSENIC(GT_BranchDefinition.METAL, "Arsenic", true, 0x736C52, 0x292412) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ARSENIC), 0.15f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.WARM); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(LEAD.species, COPPER.species, 20); + IBeeMutationCustom tMutation = registerMutation(ZINC.species, SILVER.species, 10); + tMutation.requireResource("blockArsenic"); } }, + //Rare Metals ALUMINIUM(GT_BranchDefinition.RAREMETAL, "Aluminium", true, 0xB8B8FF, 0xD6D6FF) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ALUMINIUM), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.BAUXITE), 0.05f); beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.HOT); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(NICKEL.species, ZINC.species, 18); + IBeeMutationCustom tMutation = registerMutation(NICKEL.species, ZINC.species, 9); + tMutation.requireResource("blockAluminium"); } }, TITANIUM(GT_BranchDefinition.RAREMETAL, "Titanium", true, 0xCC99FF, 0xDBB8FF) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TITANIUM), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ALMANDINE), 0.05f); beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.HOT); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, ALUMINIUM.species, 5); + tMutation.requireResource(GregTech_API.sBlockMetal7, 9); } }, CHROME(GT_BranchDefinition.RAREMETAL, "Chrome", true, 0xEBA1EB, 0xF2C3F2) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CHROME), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MAGNESIUM), 0.05f); beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.HOT); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override @@ -524,16 +1514,17 @@ public enum GT_BeeDefinition implements IBeeDefinition { }, MANGANESE(GT_BranchDefinition.RAREMETAL, "Manganese", true, 0xD5D5D5, 0xAAAAAA) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MANGANESE), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.IRON), 0.05f); beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.HOT); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override @@ -542,38 +1533,40 @@ public enum GT_BeeDefinition implements IBeeDefinition { tMutation.requireResource(GregTech_API.sBlockMetal4, 6); } }, - TUNGSTEN(GT_BranchDefinition.RAREMETAL, "Tungsten", true, 0x5C5C8A, 0x7D7DA1) { + TUNGSTEN(GT_BranchDefinition.RAREMETAL, "Tungsten", false, 0x5C5C8A, 0x7D7DA1) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TUNGSTEN), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MOLYBDENUM), 0.05f); beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.HOT); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Heroic"), MANGANESE.species, 5); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Heroic"), MANGANESE.species, 5); tMutation.requireResource(GregTech_API.sBlockMetal7, 11); } }, - PLATINUM(GT_BranchDefinition.RAREMETAL, "Platinum", true, 0xE6E6E6, 0xFFFFCC) { + PLATINUM(GT_BranchDefinition.RAREMETAL, "Platinum", false, 0xE6E6E6, 0xFFFFCC) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.IRIDIUM), 0.02f); beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.HOT); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override @@ -582,52 +1575,142 @@ public enum GT_BeeDefinition implements IBeeDefinition { tMutation.requireResource(GregTech_API.sBlockMetal5, 12); } }, - IRIDIUM(GT_BranchDefinition.RAREMETAL, "Iridium", true, 0xDADADA, 0xD1D1E0) { + IRIDIUM(GT_BranchDefinition.RAREMETAL, "Iridium", false, 0xDADADA, 0xD1D1E0) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TUNGSTEN), 0.15f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.15f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.IRIDIUM), 0.15f); + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.IRIDIUM), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OSMIUM), 0.05f); beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.HELLISH); + beeSpecies.setHasEffect(); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.COMMON.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(TUNGSTEN.species, PLATINUM.species, 5); - tMutation.requireResource(GregTech_API.sBlockMetal3, 12); + IBeeMutationCustom tMutation = registerMutation(TUNGSTEN.species, PLATINUM.species, 5); + tMutation.requireResource(GregTech_API.sBlockMetal3, 12); } }, + OSMIUM(GT_BranchDefinition.RAREMETAL, "Osmium", false, 0x2B2BDA, 0x8B8B8B) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OSMIUM), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.IRIDIUM), 0.05f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(TUNGSTEN.species, PLATINUM.species, 5); + tMutation.requireResource(GregTech_API.sBlockMetal5, 9); + } + }, + LITHIUM(GT_BranchDefinition.RAREMETAL, "Lithium", false, 0xF0328C, 0xE1DCFF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LITHIUM), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SALT), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.COLD); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(SALTY.species, ALUMINIUM.species, 5); + tMutation.requireResource("blockLithium"); + } + }, + SALTY(GT_BranchDefinition.RAREMETAL, "Salt", true, 0xF0C8C8, 0xFAFAFA) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LITHIUM), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SALT), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.WARM); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(CLAY.species, ALUMINIUM.species, 5); + tMutation.requireResource("blockSalt"); + } + }, + ELECTROTINE(GT_BranchDefinition.RAREMETAL, "Electrotine", false, 0x1E90FF, 0x3CB4C8) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ELECTROTINE), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDSTONE), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, GOLD.species, 5); + tMutation.requireResource("blockElectrotine"); + } + }, + //radiactive URANIUM(GT_BranchDefinition.RADIOACTIVE, "Uranium", true, 0x19AF19, 0x169E16) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.URANIUM), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.URANIUM), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setNocturnal(); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.AVENGING.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Avenging"), PLATINUM.species, 5); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Avenging"), PLATINUM.species, 2); tMutation.requireResource(GregTech_API.sBlockMetal7, 14); } }, - PLUTONIUM(GT_BranchDefinition.RADIOACTIVE, "Plutonium", true, 0x335C33, 0x6B8F00) { + PLUTONIUM(GT_BranchDefinition.RADIOACTIVE, "Plutonium", true, 0x570000, 0x240000) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLUTONIUM), 0.15f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LEAD), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.PLUTONIUM), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.ICY); beeSpecies.setNocturnal(); @@ -635,54 +1718,1425 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.AVENGING.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(URANIUM.species, EMERALD.species, 5); + IBeeMutationCustom tMutation = registerMutation(URANIUM.species, EMERALD.species, 2); tMutation.requireResource(GregTech_API.sBlockMetal5, 13); } }, - NAQUADAH(GT_BranchDefinition.RADIOACTIVE, "Naquadah", true, 0x003300, 0x002400) { + + NAQUADAH(GT_BranchDefinition.RADIOACTIVE, "Naquadah", false, 0x003300, 0x002400) { @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); - beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NAQUADAH), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.NAQUADAH), 0.15f); beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.ICY); beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.AVENGING.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(PLUTONIUM.species, IRIDIUM.species, 3); + IBeeMutationCustom tMutation = registerMutation(PLUTONIUM.species, IRIDIUM.species, 1); tMutation.requireResource(GregTech_API.sBlockMetal4, 12); } - }; + }, + + NAQUADRIA(GT_BranchDefinition.RADIOACTIVE, "Naquadria", false, 0x000000, 0x002400) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.NAQUADAH), 0.20f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.NAQUADRIA), 0.15f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(PLUTONIUM.species, IRIDIUM.species, 8,10); + tMutation.requireResource(GregTech_API.sBlockMetal4, 15); + } + }, + DOB(GT_BranchDefinition.RADIOACTIVE, "DOB", false, 0x003300, 0x002400) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.DOB), 0.75f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + beeSpecies.setIsSecret(); + } + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(NAQUADAH.species, THAUMIUMSHARD.species, 1); + if (Loader.isModLoaded("AdvancedSolarPanel")) + tMutation.requireResource(GameRegistry.findBlock("AdvancedSolarPanel", "BlockAdvSolarPanel"), 2); + tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(9, "END Biome"));//sky end biome + } + }, + THORIUM(GT_BranchDefinition.RADIOACTIVE, "Thorium", false, 0x005000, 0x001E00) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.THORIUM), 0.75f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setNocturnal(); + beeSpecies.setIsSecret(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(COAL.species, URANIUM.species, 2); + tMutation.requireResource(GregTech_API.sBlockMetal7, 5); + } + }, + LUTETIUM(GT_BranchDefinition.RADIOACTIVE, "Lutetium", false, 0xE6FFE6, 0xFFFFFF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LUTETIUM), 0.15f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + beeSpecies.setIsSecret(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(THORIUM.species, getSpecies(EXTRABEES,"rotten"), 1); + tMutation.requireResource(GregTech_API.sBlockMetal4, 3); + } + }, + AMERICIUM(GT_BranchDefinition.RADIOACTIVE, "Americium", false, 0xE6E6FF, 0xC8C8C8) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.AMERICUM), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + beeSpecies.setIsSecret(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(LUTETIUM.species, CHROME.species, 3, 4); + tMutation.requireResource(GregTech_API.sBlockMetal1, 2); + } + }, + NEUTRONIUM(GT_BranchDefinition.RADIOACTIVE, "Neutronium", false, 0xFFF0F0, 0xFAFAFA) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NEUTRONIUM), 0.0001f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + beeSpecies.setHasEffect(); + beeSpecies.setIsSecret(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(NAQUADRIA.species, AMERICIUM.species, 1,2); + tMutation.requireResource(GregTech_API.sBlockMetal5, 2); + } + }, + //Twilight + NAGA(GT_BranchDefinition.TWILIGHT, "Naga", true, 0x0D5A0D, 0x28874B) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.02f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.NAGA), 0.10f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"Eldritch"), getSpecies(FORRESTRY,"Imperial"), 8); + tMutation.restrictHumidity(EnumHumidity.DAMP); + } + }, + LICH(GT_BranchDefinition.TWILIGHT, "Lich", true, 0xC5C5C5, 0x5C605E) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.04f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LICH), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"Supernatural"), NAGA.species, 7); + tMutation.restrictHumidity(EnumHumidity.ARID); + } + }, + HYDRA(GT_BranchDefinition.TWILIGHT, "Hydra", true, 0x872836, 0xB8132C) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.06f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.HYDRA), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(LICH.species, getSpecies(MAGICBEES,"TCFire"), 6); + tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(138, "Undergarden"));//undergarden biome + } + }, + URGHAST(GT_BranchDefinition.TWILIGHT, "UrGhast", true, 0xA7041C, 0x7C0618) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.08f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.URGHAST), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + beeSpecies.setHasEffect(); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(HYDRA.species, THAUMIUMDUST.species, 5); + if (Loader.isModLoaded("Thaumcraft")) + tMutation.requireResource(GameRegistry.findBlock("Thaumcraft", "blockCosmeticSolid"), 4); + tMutation.restrictTemperature(EnumTemperature.HELLISH); + } + }, + SNOWQUEEN(GT_BranchDefinition.TWILIGHT, "SnowQueen", true, 0xD02001, 0x9C0018) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.15f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SNOWQUEEN), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setHasEffect(); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(URGHAST.species, SALISMUNDUS.species, 4); + if (Loader.isModLoaded("thaumicbases")) + tMutation.requireResource(GameRegistry.findBlock("thaumicbases", "blockSalisMundus"), 0); + tMutation.restrictTemperature(EnumTemperature.ICY); + } + }, + SPACE(GT_BranchDefinition.SPACE, "Space", true, 0x003366, 0xC0C0C0) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.02f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Industrious"), getSpecies(FORRESTRY,"Heroic"), 10); + tMutation.restrictTemperature(EnumTemperature.ICY); + } + }, + METEORICIRON(GT_BranchDefinition.SPACE, "MeteoricIron", true, 0x321928, 0x643250) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.04f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.METEORICIRON), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(SPACE.species, IRON.species, 9); + tMutation.requireResource(GregTech_API.sBlockMetal4, 7); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(28, "Moon"));//Moon Dim + } + }, + DESH(GT_BranchDefinition.SPACE, "Desh", false, 0x323232, 0x282828) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.06f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DESH), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(MARS.species, TITANIUM.species, 9); + tMutation.requireResource(GregTech_API.sBlockMetal2, 12); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(29, "Mars"));//Mars Dim + } + }, + LEDOX(GT_BranchDefinition.SPACE, "Ledox", false, 0x0000CD, 0x0074FF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.10f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LEDOX), 0.10f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, getEffect(EXTRABEES, "freezing")); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(CALLISTO.species, LEAD.species, 7); + if (Loader.isModLoaded("dreamcraft")) + tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.Ledox"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(35, "Europa"));//Europa Dim + } + }, + CALLISTOICE(GT_BranchDefinition.SPACE, "CallistoIce", false, 0x0074FF, 0x1EB1FF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.10f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CALLISTOICE), 0.10f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, getEffect(EXTRABEES, "freezing")); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(CALLISTO.species, getSpecies(EXTRABEES,"freezing"), 7); + if (Loader.isModLoaded("dreamcraft")) + tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.CallistoColdIce"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(45, "Callisto"));//Callisto Dim + } + }, + MYTRYL(GT_BranchDefinition.SPACE, "Mytryl", false, 0xDAA520, 0xF26404) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.16f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MYTRYL), 0.10f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(IO.species, MITHRIL.species, 6); + if (Loader.isModLoaded("dreamcraft")) + tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.Mytryl"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(36, "IO"));//IO Dim + } + }, + QUANTIUM(GT_BranchDefinition.SPACE, "Quantium", false, 0x00FF00, 0x00D10B) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.16f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.QUANTIUM), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(VENUS.species, OSMIUM.species, 6); + if (Loader.isModLoaded("dreamcraft")) + tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.Quantinum"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(39, "Venus"));//Venus Dim + } + }, + ORIHARUKON(GT_BranchDefinition.SPACE, "Oriharukon", false, 0x228B22, 0x677D68) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.26f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ORIHARUKON), 0.10f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(LEAD.species, OBERON.species, 5); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "metalsblock"), 6); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(46, "Oberon"));//Oberon Dim + } + }, + MYSTERIOUSCRYSTAL(GT_BranchDefinition.SPACE, "MysteriousCrystal", false, 0x3CB371, 0x16856C) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.42f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MYSTERIOUSCRYSTAL), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(ENCELADUS.species, EMERALD.species, 3); + if (Loader.isModLoaded("dreamcraft")) + tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.MysteriousCrystal"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(41, "Enceladus"));//Enceladus Dim + } + }, + BLACKPLUTONIUM(GT_BranchDefinition.SPACE, "BlackPlutonium", false, 0x000000, 0x323232) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.68f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.BLACKPLUTONIUM), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(PLUTO.species, PLUTONIUM.species, 2); + if (Loader.isModLoaded("dreamcraft")) + tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.BlackPlutonium"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(49, "Pluto"));//Pluto Dim + } + }, + TRINIUM(GT_BranchDefinition.SPACE, "Trinium", false, 0xB0E0E6, 0xC8C8D2) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TRINIUM), 0.75f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.QUANTIUM), 0.10f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, GT_Bees.speedBlinding); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(ENCELADUS.species, IRIDIUM.species, 4); + tMutation.requireResource(GregTech_API.sBlockMetal4, 9); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(41, "Enceladus"));//Enceladus Dim + } + }, + //Planet Line + MERCURY(GT_BranchDefinition.PLANET, "Mercury", false, 0x4A4033, 0xB5A288) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MERCURY), 0.50f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(JUPITER.species, TUNGSTEN.species, 25, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "mercuryblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(37, "Mercury"));//Mercury Dim + } + }, + VENUS(GT_BranchDefinition.PLANET, "Venus", false, 0x4A4033, 0xB5A288) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.VENUS), 0.50f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(JUPITER.species, MITHRIL.species, 25, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "venusblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(39, "Venus"));//Venus Dim + } + }, + MOON(GT_BranchDefinition.PLANET, "Moon", false, 0x373735, 0x7E7E78) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MOON), 0.50f); + if (Loader.isModLoaded("dreamcraft")) + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.MoonStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(SPACE.species, CLAY.species, 25); + if (Loader.isModLoaded("GalacticraftCore")) + tMutation.requireResource(GameRegistry.findBlock("GalacticraftCore", "tile.moonBlock"), 4); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(28, "Moon"));//Moon Dim + } + }, + MARS(GT_BranchDefinition.PLANET, "Mars", false, 0x220D05, 0x3A1505) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MARS), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.MarsStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(MOON.species, IRON.species, 20); + if (Loader.isModLoaded("GalacticraftMars")) + tMutation.requireResource(GameRegistry.findBlock("GalacticraftMars", "tile.mars"), 5); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(29, "Mars"));//Mars Dim + } + }, + PHOBOS(GT_BranchDefinition.PLANET, "Phobos", true, 0x220D05, 0x7a5706) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MARS), 0.25f); + if (Loader.isModLoaded("dreamcraft")) + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.PhobosStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(MARS.species, MOON.species, 20); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "phobosblocks"), 2); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(38, "Phobos"));//Phobos Dim + } + }, + DEIMOS(GT_BranchDefinition.PLANET, "Deimos", true, 0x220D05, 0x7a3206) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MARS), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.DeimosStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.HOT); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(MARS.species, SPACE.species, 20); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "deimosblocks"), 1); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(40, "Deimos"));//Deimos Dim + } + }, + CERES(GT_BranchDefinition.PLANET, "Ceres", true, 0x3ca5b7, 0x1e7267) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CeresStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(MARS.species, METEORICIRON.species, 20); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "ceresblocks"), 1); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(42, "Ceres"));//Ceres Dim + } + }, + JUPITER(GT_BranchDefinition.PLANET, "Jupiter", false, 0x734B2E, 0xD0CBC4) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CallistoStoneDust", 1, 0), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CallistoIceDust", 1, 0), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.IoStoneDust", 1, 0), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EuropaStoneDust", 1, 0), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EuropaIceDust", 1, 0), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.GanymedStoneDust", 1, 0), 0.05f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(MARS.species, DESH.species, 15); + if (Loader.isModLoaded("dreamcraft")) + tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.Ledox"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(30, "Asteriods"));//Asteriods Dim + } + }, + IO(GT_BranchDefinition.PLANET, "IO", true, 0x734B2E, 0xe5701b) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.IoStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(JUPITER.species, getSpecies(EXTRABEES, "volcanic"), 15); + tMutation.restrictTemperature(EnumTemperature.HELLISH); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "ioblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(36, "IO"));//IO Dim + } + }, + EUROPA(GT_BranchDefinition.PLANET, "Europa", true, 0x5982ea, 0x0b36a3) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EuropaStoneDust", 1, 0), 0.10f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EuropaIceDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(JUPITER.species, IRON.species, 15); + tMutation.restrictTemperature(EnumTemperature.ICY); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "europagrunt"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(35, "Europa"));//Europa Dim + } + }, + GANYMEDE(GT_BranchDefinition.PLANET, "Ganymede", true, 0x3d1b10, 0x190c07) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.GanymedStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.COLD); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(JUPITER.species, TITANIUM.species, 15); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "ganymedeblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(43, "Ganymede"));//Ganymede Dim + } + }, + CALLISTO(GT_BranchDefinition.PLANET, "Callisto", true, 0x0f333d, 0x0d84a5) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CallistoStoneDust", 1, 0), 0.10f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CallistoIceDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(JUPITER.species, getSpecies(EXTRABEES, "artic"), 15); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "callistoblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(45, "Callisto"));//Callisto Dim + } + }, + SATURN(GT_BranchDefinition.PLANET, "Saturn", false, 0xD2A472, 0xF8C37B) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SATURN), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TitanStoneDust", 1, 0), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EnceladusStoneDust", 1, 0), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EnceladusIceDust", 1, 0), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(JUPITER.species, LEDOX.species, 25, 2); + if (Loader.isModLoaded("dreamcraft")) + tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.Quantinum"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(30, "Asteriods"));//Asteriods Dim + } + }, + ENCELADUS(GT_BranchDefinition.PLANET, "Enceladus", true, 0xD2A472, 0x193fa0) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SATURN), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EnceladusStoneDust", 1, 0), 0.10f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EnceladusIceDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(SATURN.species, CHROME.species, 25, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "enceladusblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(41, "Enceladus"));//Enceladus Dim + } + }, + TITAN(GT_BranchDefinition.PLANET, "Titan", true, 0xa0641b, 0x7c1024) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SATURN), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TitanStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(SATURN.species, NICKEL.species, 25, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "titanblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(44, "Titan"));//Titan Dim + } + }, + URANUS(GT_BranchDefinition.PLANET, "Uranus", false, 0x75C0C9, 0x84D8EC) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.URANUS), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.MirandaStoneDust", 1, 0), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.OberonStoneDust", 1, 0), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(SATURN.species, TRINIUM.species, 10); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "metalsblock"), 6); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(30, "Asteroids"));//Asteroids Dim + } + }, + MIRANDA(GT_BranchDefinition.PLANET, "Miranda", true, 0x75C0C9, 0x0d211c) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.URANUS), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.MirandaStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(URANUS.species, TIN.species, 10); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "mirandablocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(86, "Miranda"));//Miranda Dim + } + }, + OBERON(GT_BranchDefinition.PLANET, "Oberon", true, 0x4A4033, 0xB5A288) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.URANUS), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.OberonStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.ICY); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(URANUS.species, IRIDIUM.species, 10); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "oberonblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(46, "Oberon"));//Oberon Dim + } + }, + NEPTUNE(GT_BranchDefinition.PLANET, "Neptune", false, 0x334CFF, 0x576DFF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NEPTUN), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.ProteusStoneDust", 1, 0), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TritonStoneDust", 1, 0), 0.05f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(URANUS.species, ORIHARUKON.species, 7); + if (Loader.isModLoaded("dreamcraft")) + tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.MysteriousCrystal"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(30, "Asteroids"));//Asteroids Dim + } + }, + PROTEUS(GT_BranchDefinition.PLANET, "Proteus", true, 0x334CFF, 0x592610) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NEPTUN), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.ProteusStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(NEPTUNE.species, COPPER.species, 7); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "proteusblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(47, "Proteus"));//Proteus Dim + } + }, + TRITON(GT_BranchDefinition.PLANET, "Triton", true, 0x334CFF, 0x421118) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NEPTUN), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TritonStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setNocturnal(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(NEPTUNE.species, GOLD.species, 7); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "tritonblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(48, "Triton"));//Triton Dim + } + }, + PLUTO(GT_BranchDefinition.PLANET, "Pluto", false, 0x34271E, 0x69503D) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLUTO), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.PlutoStoneDust", 1, 0), 0.10f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.PlutoIceDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(NEPTUNE.species, PLUTONIUM.species, 5); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "plutoblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(49, "Pluto"));//Pluto Dim + } + }, + HAUMEA(GT_BranchDefinition.PLANET, "Haumea", false, 0x1C1413, 0x392B28) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.HAUMEA), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.HaumeaStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.ICY); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(PLUTO.species, NAQUADAH.species, 7, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "haumeablocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(83, "Haumea"));//Haumea Dim + } + }, + MAKEMAKE(GT_BranchDefinition.PLANET, "MakeMake", false, 0x301811, 0x120A07) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MAKEMAKE), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.MakeMakeStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(PLUTO.species, NAQUADRIA.species, 7, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "makemakegrunt"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(25, "MakeMake"));//MakeMake Dim + } + }, + CENTAURI(GT_BranchDefinition.PLANET, "Centauri", false, 0x2F2A14, 0xB06B32) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CENTAURI), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CentauriASurfaceDust", 1, 0), 0.05f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(MAKEMAKE.species, DESH.species, 3); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "acentauribbgrunt"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(33, "Kuiper Belt"));//Kuiper Belt Dim + } + }, + ACENTAURI(GT_BranchDefinition.PLANET, "aCentauri", false, 0x2F2A14, 0xa01e14) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CENTAURI), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CentauriASurfaceDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(CENTAURI.species, INFINITYCATALYST.species, 3); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "acentauribbgrunt"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(31, "aCentauri"));//aCentauri Dim + } + }, + TCETI(GT_BranchDefinition.PLANET, "tCeti", false, 0x46241A, 0x7B412F) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TCETI), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TCetiEStoneDust", 1, 0), 0.05f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(MAKEMAKE.species, HAUMEA.species, 5, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "tcetieblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(33, "Kuiper Belt"));//Kuiper Belt Dim + } + }, + TCETIE(GT_BranchDefinition.PLANET, "tCetiE", false, 0x2d561b, 0x0c0f60) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TCETI), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TCetiEStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(TCETI.species, getSpecies(MAGICBEES, "TCWater"), 5, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "tcetieblocks"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(85, "tCeti E"));//tCeti E Dim + } + }, + BARNARDA(GT_BranchDefinition.PLANET, "Barnarda", false, 0x0D5A0D, 0xE6C18D) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.BARNARDA), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.BarnardaEStoneDust", 1, 0), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.BarnardaFStoneDust", 1, 0), 0.05f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(MAKEMAKE.species, THORIUM.species, 3, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "barnardaEgrunt"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(33, "Kuiper Belt"));//Kuiper Belt Dim + } + }, + BARNARDAC(GT_BranchDefinition.PLANET, "BarnardaC", false, 0x0D5A0D, 0x473f0a) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.BARNARDA), 0.25f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(BARNARDA.species, AMERICIUM.species, 3, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "barnardaEgrunt"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(32, "Barnarda C"));//Barnarda C Dim + } + }, + BARNARDAE(GT_BranchDefinition.PLANET, "BarnardaE", false, 0x0D5A0D, 0x4c1f0a) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.BARNARDA), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.BarnardaEStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(BARNARDA.species, DIVIDED.species, 3, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "barnardaEgrunt"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(81, "Barnard E"));//"Barnard E Dim + } + }, + BARNARDAF(GT_BranchDefinition.PLANET, "BarnardaF", false, 0x0D5A0D, 0x1e0b49) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.BARNARDA), 0.25f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.BarnardaFStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(BARNARDA.species, NEUTRONIUM.species, 3, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "barnardaFgrunt"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(82, "Barnard F"));//"Barnard F Dim + } + }, + VEGA(GT_BranchDefinition.PLANET, "Vega", false, 0x1A2036, 0xB5C0DE) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.VEGA), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.VegaBStoneDust", 1, 0), 0.05f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.COLD); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(MAKEMAKE.species, NAQUADAH.species, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "vegabgrunt"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(33, "Kuiper Belt"));//Kuiper Belt Dim + } + }, + VEGAB(GT_BranchDefinition.PLANET, "VegaB", false, 0x1A2036, 0x81e261) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.VEGA), 0.50f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.VegaBStoneDust", 1, 0), 0.10f); + beeSpecies.setHumidity(EnumHumidity.ARID); + beeSpecies.setTemperature(EnumTemperature.COLD); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(VEGA.species, NAQUADRIA.species, 2); + if (Loader.isModLoaded("GalaxySpace")) + tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "vegabgrunt"), 0); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(84, "VegaB"));//VegaB Dim + } + }, + //Infinity Line + COSMICNEUTRONIUM(GT_BranchDefinition.PLANET, "CosmicNeutronium", false, 0x484848, 0x323232) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.COSMICNEUTRONIUM), 0.25f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(NEUTRONIUM.species, BARNARDAF.species, 7,10); + if (Loader.isModLoaded("Avaritia")) + tMutation.requireResource(GameRegistry.findBlock("Avaritia", "Resource_Block"), 0); + } + }, + INFINITYCATALYST(GT_BranchDefinition.PLANET, "InfinityCatalyst", false, 0xFFFFFF, 0xFFFFFF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.INFINITYCATALYST), 0.0000005f); + beeSpecies.setHumidity(EnumHumidity.DAMP); + beeSpecies.setTemperature(EnumTemperature.HELLISH); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(DOB.species, COSMICNEUTRONIUM.species, 3, 10); + if (Loader.isModLoaded("Avaritia")) + tMutation.requireResource(GameRegistry.findBlock("Avaritia", "Resource_Block"), 1); + } + }, + INFINITY(GT_BranchDefinition.PLANET, "Infinity", false, 0xFFFFFF, 0xFFFFFF) { + @Override + protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.INFINITY), 0.00000005f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.ICY); + beeSpecies.setNocturnal(); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(INFINITYCATALYST.species, COSMICNEUTRONIUM.species, 1, 100); + if (Loader.isModLoaded("avaritiaddons")) + tMutation.requireResource(GameRegistry.findBlock("avaritiaddons", "InfinityChest"), 0); + } + }; private final GT_BranchDefinition branch; - private final IAlleleBeeSpeciesCustom species; + private final GT_AlleleBeeSpecies species; + protected final static byte FORRESTRY = 0; + protected final static byte EXTRABEES = 1; + protected final static byte GENDUSTRY = 2; + protected final static byte MAGICBEES = 3; + protected final static byte GREGTECH = 4; + private IAllele[] template; private IBeeGenome genome; GT_BeeDefinition(GT_BranchDefinition branch, String binomial, boolean dominant, int primary, int secondary) { String lowercaseName = this.toString().toLowerCase(Locale.ENGLISH); - String species = "species" + WordUtils.capitalize(lowercaseName); + String species = WordUtils.capitalize(lowercaseName); - String uid = "forestry." + species; + String uid = "gregtech.bee.species" + species; String description = "for.description." + species; String name = "for.bees.species." + lowercaseName; + this.branch = branch; - this.species = BeeManager.beeFactory.createSpecies(uid, dominant, "GREGTECH", name, description, branch.getBranch(), binomial, primary, secondary); + this.species = new GT_AlleleBeeSpecies(uid, dominant, name, "GTNH", description, branch.getBranch(), binomial, primary, secondary); } public static void initBees() { @@ -694,11 +3148,52 @@ public enum GT_BeeDefinition implements IBeeDefinition { } } - private static IAlleleBeeSpecies getSpecies(String name) { - return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele((new StringBuilder()).append("forestry.species").append(name).toString()); + protected static IAlleleBeeEffect getEffect(byte modid, String name) { + String s; + switch(modid) { + case EXTRABEES: s = new StringBuilder().append("extrabees.effect.").append(name).toString();break; + case GENDUSTRY: s = new StringBuilder().append("gendustry.effect.").append(name).toString();break; + case MAGICBEES: s = new StringBuilder().append("magicbees.effect").append(name).toString();break; + case GREGTECH: s = new StringBuilder().append("gregtech.effect").append(name).toString();break; + default: s = new StringBuilder().append("forestry.effect").append(name).toString();break; + + } + return (IAlleleBeeEffect) AlleleManager.alleleRegistry.getAllele(s); } - protected abstract void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies); + protected static IAlleleFlowers getFlowers(byte modid, String name) { + String s; + switch(modid) { + case EXTRABEES: s = new StringBuilder().append("extrabees.flower.").append(name).toString();break; + case GENDUSTRY: s = new StringBuilder().append("gendustry.flower.").append(name).toString();break; + case MAGICBEES: s = new StringBuilder().append("magicbees.flower").append(name).toString();break; + case GREGTECH: s = new StringBuilder().append("gregtech.flower").append(name).toString();break; + default: s = new StringBuilder().append("forestry.flowers").append(name).toString();break; + + } + return (IAlleleFlowers) AlleleManager.alleleRegistry.getAllele(s); + } + + protected static IAlleleBeeSpecies getSpecies(byte modid, String name) { + String s; + switch(modid) { + case EXTRABEES: s = new StringBuilder().append("extrabees.species.").append(name).toString();break; + case GENDUSTRY: s = new StringBuilder().append("gendustry.bee.").append(name).toString();break; + case MAGICBEES: s = new StringBuilder().append("magicbees.species").append(name).toString();break; + case GREGTECH: s = new StringBuilder().append("gregtech.species").append(name).toString();break; + default: s = new StringBuilder().append("forestry.species").append(name).toString();break; + + } + IAlleleBeeSpecies ret = (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele(s); + if (ret == null){ + ret = NAQUADRIA.species; + } + + return ret; + } + + + protected abstract void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies); protected abstract void setAlleles(IAllele[] template); @@ -717,7 +3212,20 @@ public enum GT_BeeDefinition implements IBeeDefinition { } protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance) { - return BeeManager.beeMutationFactory.createMutation(parent1, parent2, getTemplate(), chance); + return new GT_Bee_Mutation(parent1,parent2,this.getTemplate(),chance,1); + } + + /** + * Diese neue Funtion erlaubt Mutationsraten unter 1%. Setze dazu die Mutationsrate als Bruch mit chance / chancedivider + * This new function allows Mutation percentages under 1%. Set them as a fraction with chance / chancedivider + * @param parent1 + * @param parent2 + * @param chance + * @param chancedivider + * @return + */ + protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance, int chancedivider) { + return new GT_Bee_Mutation(parent1,parent2,this.getTemplate(),chance,chancedivider); } @Override diff --git a/src/main/java/gregtech/loaders/misc/GT_Bees.java b/src/main/java/gregtech/loaders/misc/GT_Bees.java index 227e948fda..5bfdfca8e2 100644 --- a/src/main/java/gregtech/loaders/misc/GT_Bees.java +++ b/src/main/java/gregtech/loaders/misc/GT_Bees.java @@ -1,18 +1,173 @@ package gregtech.loaders.misc; import cpw.mods.fml.common.Loader; +import forestry.api.apiculture.EnumBeeChromosome; +import forestry.api.genetics.*; +import forestry.core.genetics.alleles.Allele; +import forestry.core.utils.StringUtil; import gregtech.GT_Mod; +import gregtech.common.bees.GT_AlleleHelper; import gregtech.common.items.ItemComb; +import gregtech.common.items.ItemDrop; +import gregtech.common.items.ItemPollen; +import gregtech.common.items.ItemPropolis; +import gregtech.loaders.misc.GT_BeeDefinition; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; public class GT_Bees { + public static IAlleleInteger noFertility; + public static IAlleleInteger superFertility; + + public static IAlleleInteger noFlowering; + public static IAlleleInteger superFlowering; + + public static IAlleleArea noTerritory; + public static IAlleleArea superTerritory; + + public static IAlleleFloat noWork; + public static IAlleleFloat speedBlinding; + public static IAlleleFloat superSpeed; + + public static IAlleleInteger blinkLife; + public static IAlleleInteger superLife; + + public static ItemPropolis propolis; + public static ItemPollen pollen; + public static ItemDrop drop; public static ItemComb combs; public GT_Bees() { if (Loader.isModLoaded("Forestry") && GT_Mod.gregtechproxy.mGTBees) { + GT_AlleleHelper.initialisation(); + setupGTAlleles(); + propolis = new ItemPropolis(); + propolis.initPropolisRecipes(); + pollen = new ItemPollen(); + drop = new ItemDrop(); + drop.initDropsRecipes(); combs = new ItemComb(); combs.initCombsRecipes(); - GT_BeeDefinition.initBees(); + GT_BeeDefinition.initBees(); + } + } + + private static void setupGTAlleles(){ + + noFertility = new AlleleInteger("fertilitySterile", 0, false, EnumBeeChromosome.FERTILITY); + superFertility = new AlleleInteger("fertilityMultiply", 8, false, EnumBeeChromosome.FERTILITY); + + noFlowering = new AlleleInteger("floweringNonpollinating", 0, false, EnumBeeChromosome.FLOWERING); + superFlowering = new AlleleInteger("floweringNaturalistic", 240, false, EnumBeeChromosome.FLOWERING); + + noTerritory = new AlleleArea("areaLethargic", 1, 1, false); + superTerritory = new AlleleArea("areaExploratory", 32, 16, false); + + noWork = new AlleleFloat("speedUnproductive", 0, false); + superSpeed = new AlleleFloat("speedAccelerated", 4F, false); + speedBlinding = (IAlleleFloat) AlleleManager.alleleRegistry.getAllele("magicbees.speedBlinding") == null ? new AlleleFloat("speedBlinding", 2f, false) : (IAlleleFloat) AlleleManager.alleleRegistry.getAllele("magicbees.speedBlinding") ; + + blinkLife = new AlleleInteger("lifeBlink", 2, false, EnumBeeChromosome.LIFESPAN); + superLife = new AlleleInteger("lifeEon", 600, false, EnumBeeChromosome.LIFESPAN); + + + } + + private static class AlleleFloat extends Allele implements IAlleleFloat { + private float value; + + public AlleleFloat(String id, float val, boolean isDominant) { + super("gregtech."+id, "gregtech."+id, isDominant); + this.value = val; + AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPEED); + + } + + @Override + public float getValue(){ + return this.value; + } + } + + private static class AlleleInteger extends Allele implements IAlleleInteger { + + private int value; + + public AlleleInteger(String id, int val, boolean isDominant, EnumBeeChromosome c) { + super("gregtech."+id, "gregtech."+id, isDominant); + this.value = val; + AlleleManager.alleleRegistry.registerAllele(this, c); + } + + @Override + public int getValue(){ + return this.value; } } + + private static class AlleleArea extends Allele implements IAlleleArea { + + private int[] value; + + public AlleleArea(String id, int rangeXZ,int rangeY, boolean isDominant) { + super("gregtech."+id, "gregtech."+id, isDominant); + this.value = new int[] {rangeXZ,rangeY,rangeXZ}; + AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.TERRITORY); + } + + @Override + public int[] getValue(){ + return this.value; + } + } + + public static class DimensionMutationCondition implements IMutationCondition { + + int dimID; + String dimName; + + public DimensionMutationCondition(int id, String name) { + dimID = id; + dimName = name; + } + + @Override + public float getChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0,IGenome genome1) { + if(world.provider.dimensionId == dimID)return 1; + return 0; + } + + @Override + public String getDescription() { + return StringUtil.localizeAndFormat("mutation.condition.dim") + " " + dimName; + } + + } + + public static class BiomeIDMutationCondition implements IMutationCondition { + + int biomeID; + String biomeName; + + public BiomeIDMutationCondition(int id, String name) { + biomeID = id; + biomeName = name; + } + + @Override + public float getChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0,IGenome genome1) { + if(world.getBiomeGenForCoords(x, z).biomeID == biomeID) return 1; + return 0; + } + + @Override + public String getDescription() { + if (BiomeGenBase.getBiome(biomeID)!=null) { + return StringUtil.localizeAndFormat("mutation.condition.biomeid") + " " + biomeName; + } + return ""; + } + + } } diff --git a/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java b/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java index c357d1b64c..bd7fc5db58 100644 --- a/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java +++ b/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java @@ -3,6 +3,7 @@ package gregtech.loaders.misc; import forestry.api.apiculture.BeeManager; import forestry.api.apiculture.EnumBeeChromosome; import forestry.api.genetics.IAllele; +import forestry.api.genetics.IAlleleFlowers; import forestry.api.genetics.IClassification; import forestry.apiculture.genetics.alleles.AlleleEffect; import forestry.core.genetics.alleles.AlleleHelper; @@ -10,16 +11,55 @@ import forestry.core.genetics.alleles.EnumAllele; import java.util.Arrays; +import static gregtech.loaders.misc.GT_BeeDefinition.EXTRABEES; +import static gregtech.loaders.misc.GT_BeeDefinition.getFlowers; + public enum GT_BranchDefinition { ORGANIC("Fuelis") { @Override protected void setBranchProperties(IAllele[] alleles) { - AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_2); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false); - AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + } + }, + IC2("Industrialis") { + @Override + protected void setBranchProperties(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); + } + }, + GTALLOY("Amalgamis") { + @Override + protected void setBranchProperties(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + } + }, + THAUMIC("Arcanis") { + @Override + protected void setBranchProperties(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); } }, GEM("Ornamentis") { @@ -35,6 +75,7 @@ public enum GT_BranchDefinition { @Override protected void setBranchProperties(IAllele[] alleles) { AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.CAVE_DWELLING, true); AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false); AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER); @@ -57,6 +98,38 @@ public enum GT_BranchDefinition { AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.END); AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); } + }, + TWILIGHT("Nemoris Obscuri") { + @Override + protected void setBranchProperties(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + } + }, + SPACE("Cosmicis") { + @Override + protected void setBranchProperties(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock")); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + } + }, + PLANET("Planetaris") { + @Override + protected void setBranchProperties(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock")); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, GT_Bees.superFlowering); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST); + } }; private static IAllele[] defaultTemplate; diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java index 9c4395bbb6..32d0e20473 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java @@ -31,15 +31,9 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR case "Tanzanite": case "Sapphire": case "Olivine": case "GreenSapphire": case "Opal": case "Amethyst": case "Emerald": case "Ruby": case "Amber": case "Diamond": case "FoolsRuby": case "BlueTopaz": case "GarnetRed": case "Topaz": case "Jasper": case "GarnetYellow": GT_Values.RA.addSifterRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), tGem, GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L)}, new int[]{300, 1200, 4500, 1400, 2800, 3500}, 800, 16); - /*if(GT_Mod.gregtechproxy.mMagneticraftRecipes && GregTech_API.mMagneticraft){ - com.cout970.magneticraft.api.access.MgRecipeRegister.registerSifterRecipe(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, tGem, 1), GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, tGem, 1), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1), 0.2f); - }*/ break; default: GT_Values.RA.addSifterRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), tGem, GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L)}, new int[]{100, 400, 1500, 2000, 4000, 5000}, 800, 16); - /*if(GT_Mod.gregtechproxy.mMagneticraftRecipes && GregTech_API.mMagneticraft){ - com.cout970.magneticraft.api.access.MgRecipeRegister.registerSifterRecipe(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, tGem, 1), GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, tGem, 1), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1), 0.2f); - }*/ }} break; default: diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 114f88a31c..1298673760 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -509,7 +509,7 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addElectrolyzerRecipe(ItemList.Cell_Empty.get(1, new Object[0]), null, new FluidStack(ItemList.sNickelSulfate, 2000), Materials.SulfuricAcid.getFluid(1000), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1), null, null, null, null, null, 900, 30); GT_Values.RA.addCentrifugeRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PlatinumGroupSludge, 1), null, null, null, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Platinum, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Palladium, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iridium, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Osmium, 1), new int[]{10000, 10000, 10000, 8000, 6000, 6000}, 900, 30); - GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), ItemList.Cell_Empty.get(2, new Object[0]), Materials.HydrochloricAcid.getFluid(2000), Materials.IronIIIChloride.getFluid(2000),GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2), 400, 30); + GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), ItemList.Cell_Empty.get(3, new Object[0]), Materials.HydrochloricAcid.getFluid(3000), Materials.IronIIIChloride.getFluid(1000),GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 3), 400, 30); //GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 1), null, Materials.SulfuricAcid.getFluid(1000), new FluidStack(ItemList.sHydrochloricAcid, 1000), null, 200, 30); GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedGold, 8L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 8L), new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thaumium, 16L), 400, 480); @@ -2161,6 +2161,21 @@ public class GT_MachineRecipeLoader implements Runnable { Materials.SolderingAlloy.getMolten(2592), Materials.Lubricant.getFluid(4000)}, ItemList.Electric_Motor_UHV.get(1, new Object[]{}), 800, 200000); + GT_Values.RA.addAssemblylineRecipe(ItemList.Electric_Motor_UHV.get(1, new Object(){}),1152000,new ItemStack[]{ + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 8L), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 16L), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L), + GT_OreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 32L), + GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L)}, new FluidStack[]{ + Materials.Quantium.getMolten(2592), + Materials.SolderingAlloy.getMolten(5184), + Materials.Lubricant.getFluid(8000)}, ItemList.Electric_Motor_UEV.get(1, new Object[]{}), 1000, 400000); + // Pump @@ -3701,7 +3716,7 @@ public class GT_MachineRecipeLoader implements Runnable { private void addPolybenzimidazoleRecipes() { //Potassium Nitride - GT_Values.RA.addChemicalRecipe(Materials.Potassium.getDust(1), GT_Utility.getIntegratedCircuit(1), Materials.Ammonia.getGas(1000), GT_Values.NF, Materials.PotassiumNitrade.getDust(1), 100, 30); + GT_Values.RA.addChemicalRecipe(Materials.Potassium.getDust(1), GT_Utility.getIntegratedCircuit(1), Materials.NitricAcid.getGas(1000), GT_Values.NF, Materials.PotassiumNitrade.getDust(1), 100, 30); // Chrome Trioxide GT_Values.RA.addChemicalRecipe(Materials.ChromiumDioxide.getDust(1), GT_Utility.getIntegratedCircuit(1), Materials.Oxygen.getGas(1000), GT_Values.NF, Materials.ChromiumTrioxide.getDust(1), GT_Values.NI,100, 60); @@ -3729,7 +3744,7 @@ public class GT_MachineRecipeLoader implements Runnable { GT_Values.RA.addChemicalRecipe(Materials.Oxygen.getCells(2), Materials.Potassiumdichromate.getDustTiny(1),Materials.Dimethylbenzene.getFluid(1000), Materials.PhthalicAcid.getFluid(1000),Materials.Water.getCells(2), 100, 1920); //Dichlorobenzidine - GT_Values.RA.addChemicalRecipe(Materials.Copper.getDustTiny(1), GT_Utility.getIntegratedCircuit(1), Materials.Nitrochlorobenzene.getFluid(1000), Materials.Dichlorobenzidine.getFluid(1000),Materials.Copper.getDust(1), 200, 1920); + GT_Values.RA.addChemicalRecipe(Materials.Copper.getDustTiny(1), GT_Utility.getIntegratedCircuit(1), Materials.Nitrochlorobenzene.getFluid(1000), Materials.Dichlorobenzidine.getFluid(1000), null, 200, 1920); //Diphenyl Isophthalate GT_Values.RA.addChemicalRecipe(Materials.PhthalicAcid.getCells(1),Materials.SulfuricAcid.getCells(1),Materials.Phenol.getFluid(2000), Materials.DilutedSulfuricAcid.getFluid(1000),Materials.Diphenylisophthalate.getCells(1), 100, 7680); diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index 45e5434ee4..2023253eec 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -366,7 +366,7 @@ public class GT_Loader_Item_Block_And_Fluid Materials.HSSE, Materials.HSSS, Materials.Steeleaf, - Materials.Ichorium + Materials.Ichorium, }, OrePrefixes.block, gregtech.api.enums.Textures.BlockIcons.STORAGE_BLOCKS8); GregTech_API.sBlockGem1 = new GT_Block_Metal("gt.blockgem1", new Materials[]{ |