diff options
9 files changed, 818 insertions, 171 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index 2e420f13cd..6750fb895f 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -583,7 +583,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();
/**
diff --git a/src/main/java/gregtech/common/items/CombType.java b/src/main/java/gregtech/common/items/CombType.java index ffde997fb9..57d7086f2f 100644 --- a/src/main/java/gregtech/common/items/CombType.java +++ b/src/main/java/gregtech/common/items/CombType.java @@ -4,11 +4,43 @@ 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), + + //IC2 Line + COOLANT("coolant", true, Materials._NULL, 100), + ENERGY("energy", true, Materials._NULL, 80), + LAPOTRON("lapotron", true, Materials._NULL, 60), + + //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), + STAINLESSSTEL("steainlesssteel", true, Materials.StainlessSteel, 75), + ENDERIUM("enderium", true, Materials.Enderium, 40), + + //Thaumcraft Line + THAUMIUMDUST("thaumiumdust", true, Materials.Thaumium, 100), + THAUMIUMSHARD("tahumiumshard", 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("thauminte", true, Materials._NULL, 50), + SCHADOWMETAL("shadowmetal", true, Materials.Shadow, 50), + DIVIDED("devided", true, Materials.Unstable, 40), + SPARKELING("sparkeling", true, Materials.NetherStar, 40), + //Gem Line STONE("stone", true, Materials._NULL, 70), CERTUS("certus", true, Materials.CertusQuartz, 100), @@ -20,7 +52,7 @@ public enum CombType { OLIVINE("olivine", true, Materials.Olivine, 100), EMERALD("emerald", true, Materials.Emerald, 100), - // Metals Line + //Metals Line SLAG("slag", true, Materials._NULL, 50), COPPER("coppon", true, Materials.Copper, 100), TIN("tine", true, Materials.Tin, 100), @@ -32,7 +64,7 @@ public enum CombType { SILVER("argentia", true, Materials.Silver, 100), GOLD("aurelia", true, Materials.Gold, 100), - // Rare Metals Line + //Rare Metals Line ALUMINIUM("bauxia", true, Materials.Aluminium, 60), MANGANESE("pyrolusium", true, Materials.Manganese, 30), TITANIUM("titanium", true, Materials.Ilmenite, 100), @@ -41,17 +73,46 @@ public enum CombType { PLATINUM("platina", true, Materials.Platinum, 40), IRIDIUM("quantaria", true, Materials.Iridium, 20), - - // Radioactive Line + //Radioactive Line URANIUM("urania", true, Materials.Uranium, 50), PLUTONIUM("plutonium", true, Materials.Plutonium, 10), - NAQUADAH("stargatium", true, Materials.Naquadah, 10),; + NAQUADAH("stargatium", true, Materials.Naquadah, 10); private static int[][] colours = new int[][]{ + //organic {0x906237, 0x58300B}, - {0x666666, 0x525252}, + {0x525252, 0x666666}, {0x2E8F5B, 0xDCC289}, {0x4C4C4C, 0x333333}, + //ic2 + {0x144F5A, 0x2494A2}, + {0xC11F1F, 0xEBB9B9}, + {0x6478FF, 0x1414FF}, + //alloy + {0xE60000, 0xB80000}, + {0xB80000, 0xA50808}, + {0xCEADA3, 0x817671}, + {0x86A12D, 0xC4F2AE}, + {0xFF9933, 0xFFAD5C}, + {0x787878, 0xD8D8D8}, + {0x252525, 0x443B44}, + {0x6DD284, 0x006600}, + {0x778899, 0xC8C8DC}, + {0x2E8B57, 0x599087}, + //Thaumcraft + {0x7A007A, 0x5C005C}, + {0x9966FF, 0xAD85FF}, + {0xE60000, 0x774B15}, + {0x7A007A, 0x5C005C}, + {0xF7ADDE, 0x592582}, + {0x904BB8, 0xE800FF}, + {0xF0E68C, 0xFFFFD2}, + {0xAFEEEE, 0xE6E6FF}, + {0x2E2D79, 0x7581E0}, + {0x2E2D79, 0x7581E0}, + {0xF0F0F0, 0xDCDCDC}, + {0x7A007A, 0xFFFFFF}, + //gems {0x808080, 0x999999}, {0x57CFFB, 0xBBEEFF}, {0x7D0F0F, 0xD11919}, diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java index 33a558542e..4085934989 100644 --- a/src/main/java/gregtech/common/items/ItemComb.java +++ b/src/main/java/gregtech/common/items/ItemComb.java @@ -11,6 +11,7 @@ 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; @@ -93,191 +94,210 @@ 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(2, new Object[0]), 70); + addProcessLV(tComb, Materials.Oilsands, 100); + + //ic2 + tComb = getStackForType(CombType.COOLANT); + addSpecialCentHV(tComb, GT_ModHandler.getModItem("gendustry", "HoneyDrop", 1, 2002), 100, ItemList.FR_Wax.get(1, new Object[0]), 100); + tComb = getStackForType(CombType.ENERGY); + addSpecialCentHV(tComb, GT_ModHandler.getModItem("gendustry", "HoneyDrop", 1, 2003), 20, ItemList.IC2_Energium_Dust.get(1L), 20, ItemList.FR_RefractoryWax.get(1, new Object[0]), 50); + tComb = getStackForType(CombType.LAPOTRON); + addSpecialCentHV(tComb, GT_ModHandler.getModItem("gendustry", "HoneyDrop", 1, 2007), 20, GT_ModHandler.getModItem("dreamcraft", "item.LapotronDust", 1, 0), 15, GT_ModHandler.getModItem("MagicBees", "wax", 1, 2), 40); + + //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); + addSpecialCentLV(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); + addProcessLV(tComb, Materials.Soapstone, 100); + addProcessLV(tComb, Materials.Talc, 100); + addProcessLV(tComb, Materials.Apatite, 100); + addProcessLV(tComb, Materials.Phosphate, 100); + addProcessLV(tComb, Materials.Phosphorus, 100); 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, 100); + addProcessLV(tComb, Materials.Barite, 100); tComb = getStackForType(CombType.REDSTONE); - addProcess(tComb, Materials.Redstone, 100); - addProcess(tComb, Materials.Cinnabar, 100); + addProcessLV(tComb, Materials.Redstone, 100); + addProcessLV(tComb, Materials.Cinnabar, 100); 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, 100); + addProcessLV(tComb, Materials.Lazurite, 100); + addProcessLV(tComb, Materials.Calcite, 100); tComb = getStackForType(CombType.RUBY); - addProcess(tComb, Materials.Ruby, 100); - addProcess(tComb, Materials.Redstone, 100); + addProcessLV(tComb, Materials.Ruby, 100); + addProcessLV(tComb, Materials.Redstone, 100); 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, 100); + addProcessLV(tComb, Materials.Almandine, 100); + addProcessLV(tComb, Materials.Pyrope, 100); tComb = getStackForType(CombType.DIAMOND); - addProcess(tComb, Materials.Diamond, 100); - addProcess(tComb, Materials.Graphite, 100); + addProcessLV(tComb, Materials.Diamond, 100); + addProcessLV(tComb, Materials.Graphite, 100); 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, 100); + addProcessLV(tComb, Materials.Magnesite, 100); + addProcessLV(tComb, Materials.Glauconite, 100); 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, 100); + addProcessLV(tComb, Materials.Thorium, 100); // // 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, 100); + addProcessLV(tComb, Materials.Chalcopyrite, 100); + addProcessLV(tComb, Materials.Malachite, 100); + addProcessLV(tComb, Materials.Pyrite, 100); + addProcessLV(tComb, Materials.Stibnite, 100); 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, 100); 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); + addProcessLV(tComb, Materials.Iron, 100); + addProcessLV(tComb, Materials.Magnetite, 100); + addProcessLV(tComb, Materials.BrownLimonite, 100); + addProcessLV(tComb, Materials.YellowLimonite, 100); + addProcessLV(tComb, Materials.VanadiumMagnetite, 100); + addProcessLV(tComb, Materials.BandedIron, 100); + addProcessLV(tComb, Materials.Pyrite, 100); if (ProcessingModSupport.aEnableGCMarsMats) - addProcess(tComb, Materials.MeteoricIron, 100); + addProcessLV(tComb, Materials.MeteoricIron, 100); 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, 100); + addProcessLV(tComb, Materials.BrownLimonite, Materials.BrownLimonite, 100); + addProcessLV(tComb, Materials.YellowLimonite, Materials.YellowLimonite, 100); + addProcessLV(tComb, Materials.VanadiumMagnetite, Materials.VanadiumMagnetite, 100); + addProcessLV(tComb, Materials.BandedIron, Materials.BandedIron, 100); + addProcessLV(tComb, Materials.Pyrite, Materials.Pyrite, 100); 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, 100); + addProcessLV(tComb, Materials.Molybdenite, 100); + addProcessLV(tComb, Materials.Molybdenum, 100); 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, 100); + addProcessLV(tComb, Materials.Pentlandite, 100); + addProcessLV(tComb, Materials.Cobaltite, 100); + addProcessLV(tComb, Materials.Wulfenite, 100); + addProcessLV(tComb, Materials.Powellite, 100); 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, 100); + addProcessLV(tComb, Materials.Sulfur, 100); 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), 30); + addProcessLV(tComb, Materials.Silver, 100); + addProcessLV(tComb, Materials.Galena, 100); 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, 100); // Rare Metals Line tComb = getStackForType(CombType.ALUMINIUM); - addProcess(tComb,Materials.Aluminium,60); - addProcess(tComb,Materials.Bauxite,100); + addProcessLV(tComb,Materials.Aluminium,60); + addProcessLV(tComb,Materials.Bauxite,100); 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); + addProcessLV(tComb,Materials.Titanium,100); + addProcessLV(tComb,Materials.Ilmenite,100); + addProcessLV(tComb,Materials.Bauxite,100); 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); + addProcessLV(tComb,Materials.Chrome,50); + addProcessLV(tComb,Materials.Ruby,100); + addProcessLV(tComb,Materials.Chromite,50); + addProcessLV(tComb,Materials.Redstone,100); + addProcessLV(tComb, Materials.Neodymium, 100); + addProcessLV(tComb, Materials.Bastnasite, 100); tComb = getStackForType(CombType.TUNGSTEN); - addProcess(tComb,Materials.Tungstate,100); - addProcess(tComb,Materials.Scheelite,100); - addProcess(tComb,Materials.Lithium,100); + addProcessLV(tComb,Materials.Tungstate,100); + addProcessLV(tComb,Materials.Scheelite,100); + addProcessLV(tComb,Materials.Lithium,100); tComb = getStackForType(CombType.PLATINUM); - addProcess(tComb,Materials.Platinum,40); - addProcess(tComb,Materials.Cooperite,40); - addProcess(tComb,Materials.Palladium,40); + addProcessLV(tComb,Materials.Platinum,40); + addProcessLV(tComb,Materials.Cooperite,40); + addProcessLV(tComb,Materials.Palladium,40); tComb = getStackForType(CombType.IRIDIUM); - addProcess(tComb,Materials.Iridium,20); - addProcess(tComb,Materials.Osmium,20); + addProcessLV(tComb,Materials.Iridium,20); + addProcessLV(tComb,Materials.Osmium,20); // Radioactive Line tComb = getStackForType(CombType.URANIUM); - addProcess(tComb,Materials.Uranium,50); - addProcess(tComb,Materials.Pitchblende,50); - addProcess(tComb,Materials.Uraninite,50); - addProcess(tComb,Materials.Uranium235,50); + addProcessLV(tComb,Materials.Uranium,50); + addProcessLV(tComb,Materials.Pitchblende,50); + addProcessLV(tComb,Materials.Uraninite,50); + addProcessLV(tComb,Materials.Uranium235,50); tComb = getStackForType(CombType.PLUTONIUM); - addProcess(tComb,Materials.Plutonium,10); - addProcess(tComb,Materials.Uranium235,Materials.Plutonium,5); + addProcessLV(tComb,Materials.Plutonium,10); + addProcessLV(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); + addProcessLV(tComb,Materials.Naquadah,10); + addProcessLV(tComb,Materials.NaquadahEnriched,10); + addProcessLV(tComb,Materials.Naquadria,10); } - 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 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 }, 300, 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}, 300, 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 }, 300, 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); @@ -287,7 +307,7 @@ public class ItemComb extends Item { } } - public void addProcess(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){ + 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(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); 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..3da43b8213 100644 --- a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java +++ b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java @@ -5,11 +5,14 @@ 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; @@ -17,6 +20,7 @@ import gregtech.api.util.GT_ModHandler; import gregtech.common.items.CombType; 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; @@ -26,11 +30,13 @@ import java.util.Locale; //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) { 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); } @@ -38,18 +44,23 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.MEADOWS.getTemplate(); + //AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); } @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) { 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.addProduct(GT_ModHandler.getModItem("TConstruct", "strangeFood", 1, 0), 0.10f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STICKY), 0.05f); + beeSpecies.addSpecialty(GT_ModHandler.getModItem("TConstruct", "slime.gel", 1, 2), 0.01f); beeSpecies.setHumidity(EnumHumidity.DAMP); beeSpecies.setTemperature(EnumTemperature.NORMAL); } @@ -61,7 +72,8 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Marshy"), CLAY.species, 15); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Marshy"), CLAY.species, 7); + tMutation.requireResource("blockSlime"); } }, PEAT(GT_BranchDefinition.ORGANIC, "Peat", true, 0x906237, 0x58300B) { @@ -69,6 +81,8 @@ public enum GT_BeeDefinition implements IBeeDefinition { protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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); } @@ -80,14 +94,15 @@ public enum GT_BeeDefinition implements IBeeDefinition { @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) { 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); } @@ -99,14 +114,15 @@ public enum GT_BeeDefinition implements IBeeDefinition { @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) { 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); } @@ -118,17 +134,20 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), PEAT.species, 18); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Industrious"), PEAT.species, 9); + //tMutation.requireResource(Blocks.coal_block, 0); + tMutation.requireResource("blockCoal"); } }, OIL(GT_BranchDefinition.ORGANIC, "Oil", true, 0x4C4C4C, 0x333333) { @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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 @@ -138,9 +157,373 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(COAL.species, STICKYRESIN.species, 8); + IBeeMutationCustom tMutation = registerMutation(COAL.species, STICKYRESIN.species, 4); } }, + SANDWICH(GT_BranchDefinition.ORGANIC, "Sandwich", true, 0x32CD32, 0xDAA520) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.AGRARIAN.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Agrarian"), getSpecies(MAGICBEES,"TCBatty"), 10); + } + }, + + //IC2 + COOLANT(GT_BranchDefinition.IC2, "Coolant", false, 0x144F5A, 0x2494A2) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.ICY.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Icy"), getSpecies(FORRESTRY,"Glacial"), 10); + tMutation.requireResource("blockSnow"); + } + }, + ENERGY(GT_BranchDefinition.IC2, "Energy", false, 0xC11F1F, 0xEBB9B9) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.DEMONIC.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Demonic"), getSpecies(EXTRABEES,"volcanic"), 10); + tMutation.requireResource("blockRuby"); + } + }, + LAPOTRON(GT_BranchDefinition.IC2, "Lapotron", false, 0x6478FF, 0x1414FF) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.ICY.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(LAPIS.species, ENERGY.species, 6); + tMutation.requireResource("blockLapis"); + } + }, + //Alloy + REDALLOY(GT_BranchDefinition.ALLOY, "RedAlloy", false, 0xE60000, 0xB80000) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.COMMON.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(COPPER.species, REDSTONE.species, 10); + } + }, + REDSTONEALLOY(GT_BranchDefinition.ALLOY, "RedStoneAlloy", false, 0xA50808, 0xE80000) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.COMMON.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, REDALLOY.species, 8); + tMutation.requireResource("blockRedstoneAlloy"); + } + }, + CONDUCTIVEIRON(GT_BranchDefinition.ALLOY, "ConductiveIron", false, 0xCEADA3, 0x817671) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.CULTIVATED.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONEALLOY.species, IRON.species, 8); + tMutation.requireResource("blockConductiveIron"); + } + }, + VIBRANTALLOY(GT_BranchDefinition.ALLOY, "VibrantAlloy", false, 0x86A12D, 0xC4F2AE) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.INDUSTRIOUS.getTemplate(); + } + + @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.ALLOY, "EnergeticAlloy", false, 0xFF9933, 0xFFAD5C) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.CULTIVATED.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDSTONEALLOY.species, getSpecies(FORRESTRY,"Demonic"), 9); + tMutation.requireResource("blockVibrantAlloy"); + } + }, + ELECTRICALSTEEL(GT_BranchDefinition.ALLOY, "ElectricalSteel", false, 0x787878, 0xD8D8D8) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.COMMON.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(STEEL.species, getSpecies(FORRESTRY,"Demonic"), 9); + tMutation.requireResource("blockElectricalSteel"); + } + }, + DARKSTEEL(GT_BranchDefinition.ALLOY, "DarkSteel", false, 0x252525, 0x443B44) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.CULTIVATED.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(ELECTRICALSTEEL.species, getSpecies(FORRESTRY,"Demonic"), 7); + tMutation.requireResource("blockDarkSteel"); + } + }, + PULSATINGIRON(GT_BranchDefinition.ALLOY, "PulsatingIron", false, 0x6DD284, 0x006600) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { + template = BeeDefinition.CULTIVATED.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(REDALLOY.species, getSpecies(FORRESTRY,"Ended"), 9); + tMutation.requireResource("blockPulatingIron"); + } + }, + STAINLESSSTEEL(GT_BranchDefinition.ALLOY, "StainlessSteel", false, 0xC8C8DC, 0x778899) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STEEL), 0.10f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STAINLESSSTEL), 0.15f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CHROME), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + template = BeeDefinition.CULTIVATED.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition); + } + + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(CHROME.species, STEEL.species, 3); + tMutation.requireResource("blockPulatingIron"); + } + }, + ENDERIUM(GT_BranchDefinition.ALLOY, "Enderium", false, 0x599087, 0x2E8B57) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ENDERIUM), 0.15f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CHROME), 0.05f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.HOT); + } + + @Override + protected void setAlleles(IAllele[] template) { + template = BeeDefinition.CULTIVATED.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, GT_Bees.speedBlinding); + //AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.TELEPORT.getUID())); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(PLATINUM.species, getSpecies(FORRESTRY,"Phantasmal"), 9); + tMutation.requireResource("blockEnderium"); + } + }, + THAUMIMDUST(GT_BranchDefinition.THAUMIC, "ThaumiumDust", true, 0x7A007A, 0x5C005C) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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.15f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + } + + @Override + protected void setAlleles(IAllele[] template) { + template = BeeDefinition.EDENIC.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(EXTRABEES,"TCFire"), getSpecies(FORRESTRY,"Edenic"), 10); + tMutation.requireResource("blockThaumium"); + tMutation.restrictBiomeType(BiomeDictionary.Type.MAGICAL, BiomeDictionary.Type.FOREST); + } + }, + THAUMIMSHARD(GT_BranchDefinition.THAUMIC, "ThaumiumShard", true, 0x9966FF, 0xAD85FF) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.THAUMIUMDUST), 0.30f); + beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.THAUMIUMSHARD), 0.15f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + template = BeeDefinition.GLACIAL.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(THAUMIMDUST.species, getSpecies(EXTRABEES,"TCWater"), 10); + tMutation.restrictBiomeType(BiomeDictionary.Type.MAGICAL, BiomeDictionary.Type.FOREST); + } + }, + AMBER(GT_BranchDefinition.THAUMIC, "Amber", true, 0xEE7700, 0x774B15) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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.25f); + beeSpecies.setHumidity(EnumHumidity.NORMAL); + beeSpecies.setTemperature(EnumTemperature.NORMAL); + beeSpecies.setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + template = BeeDefinition.COMMON.getTemplate(); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(THAUMIMDUST.species, STICKYRESIN.species, 10); + tMutation.requireResource("blockAmber"); + } + }, +//gems REDSTONE(GT_BranchDefinition.GEM, "Redstone", true, 0x7D0F0F, 0xD11919) { @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { @@ -157,7 +540,7 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), getSpecies("Demonic"), 20); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Industrious"), getSpecies(FORRESTRY,"Demonic"), 20); } }, LAPIS(GT_BranchDefinition.GEM, "Lapis", true, 0x1947D1, 0x476CDA) { @@ -176,7 +559,7 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Demonic"), getSpecies("Imperial"), 20); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Demonic"), getSpecies(FORRESTRY,"Imperial"), 20); } }, CERTUS(GT_BranchDefinition.GEM, "CertusQuartz", true, 0x57CFFB, 0xBBEEFF) { @@ -195,7 +578,7 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Hermitic"), LAPIS.species, 20); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Hermitic"), LAPIS.species, 20); } }, RUBY(GT_BranchDefinition.GEM, "Ruby", true, 0xE6005C, 0xCC0052) { @@ -271,7 +654,7 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(CERTUS.species, getSpecies("Ended"), 10); + IBeeMutationCustom tMutation = registerMutation(CERTUS.species, getSpecies(FORRESTRY,"Ended"), 10); } }, EMERALD(GT_BranchDefinition.GEM, "Emerald", true, 0x248F24, 0x2EB82E) { @@ -309,7 +692,7 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Majestic"), CLAY.species, 25); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Majestic"), CLAY.species, 25); } }, TIN(GT_BranchDefinition.METAL, "Tin", true, 0xD4D4D4, 0xDDDDDD) { @@ -328,7 +711,7 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(CLAY.species, getSpecies("Diligent"), 25); + IBeeMutationCustom tMutation = registerMutation(CLAY.species, getSpecies(FORRESTRY,"Diligent"), 25); } }, LEAD(GT_BranchDefinition.METAL, "Lead", true, 0x666699, 0xA3A3CC) { @@ -558,7 +941,7 @@ public enum GT_BeeDefinition implements IBeeDefinition { @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); } }, @@ -619,7 +1002,7 @@ public enum GT_BeeDefinition implements IBeeDefinition { @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Avenging"), PLATINUM.species, 5); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Avenging"), PLATINUM.species, 5); tMutation.requireResource(GregTech_API.sBlockMetal7, 14); } }, @@ -669,6 +1052,12 @@ public enum GT_BeeDefinition implements IBeeDefinition { private final GT_BranchDefinition branch; private final IAlleleBeeSpeciesCustom species; + private final static byte FORRESTRY = 0; + private final static byte EXTRABEES = 1; + private final static byte GENDUSTRY = 2; + private final static byte MAGICBEES = 3; + private final static byte GREGTECH = 4; + private IAllele[] template; private IBeeGenome genome; @@ -677,12 +1066,12 @@ public enum GT_BeeDefinition implements IBeeDefinition { String lowercaseName = this.toString().toLowerCase(Locale.ENGLISH); String species = "species" + WordUtils.capitalize(lowercaseName); - String uid = "forestry." + species; + String uid = "gregtech." + 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 = BeeManager.beeFactory.createSpecies(uid, dominant, "GTNH", name, description, branch.getBranch(), binomial, primary, secondary); } public static void initBees() { @@ -694,10 +1083,46 @@ 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()); + private 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); + } + + private static IAlleleFlowers getFlowers(byte modid, String name) { + String s; + switch(modid) { + case EXTRABEES: s = new StringBuilder().append("extrabees.flowers.").append(name).toString();break; + case GENDUSTRY: s = new StringBuilder().append("gendustry.flowers.").append(name).toString();break; + case MAGICBEES: s = new StringBuilder().append("magicbees.flowers").append(name).toString();break; + case GREGTECH: s = new StringBuilder().append("gregtech.flowers").append(name).toString();break; + default: s = new StringBuilder().append("forestry.flowers").append(name).toString();break; + + } + return (IAlleleFlowers) AlleleManager.alleleRegistry.getAllele(s); + } + + private 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.effect").append(name).toString();break; + default: s = new StringBuilder().append("forestry.species").append(name).toString();break; + + } + return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele(s); } + protected abstract void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies); protected abstract void setAlleles(IAllele[] template); @@ -745,4 +1170,4 @@ public enum GT_BeeDefinition implements IBeeDefinition { return new BeeVariation.RainResist(this); } -} +}
\ No newline at end of file diff --git a/src/main/java/gregtech/loaders/misc/GT_Bees.java b/src/main/java/gregtech/loaders/misc/GT_Bees.java index 227e948fda..afc02efbea 100644 --- a/src/main/java/gregtech/loaders/misc/GT_Bees.java +++ b/src/main/java/gregtech/loaders/misc/GT_Bees.java @@ -1,18 +1,105 @@ package gregtech.loaders.misc; import cpw.mods.fml.common.Loader; +import forestry.api.apiculture.EnumBeeChromosome; +import forestry.api.apiculture.IAlleleBeeSpecies; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IAlleleArea; +import forestry.api.genetics.IAlleleFloat; +import forestry.api.genetics.IAlleleInteger; +import forestry.core.genetics.alleles.Allele; import gregtech.GT_Mod; import gregtech.common.items.ItemComb; public class GT_Bees { + static IAlleleInteger noFertility; + static IAlleleInteger superFertility; + + static IAlleleInteger noFlowering; + static IAlleleInteger superFlowering; + + static IAlleleArea noTerritory; + static IAlleleArea superTerritory; + + static IAlleleFloat noWork; + static IAlleleFloat speedBlinding; + static IAlleleFloat superSpeed; + public static ItemComb combs; public GT_Bees() { if (Loader.isModLoaded("Forestry") && GT_Mod.gregtechproxy.mGTBees) { + 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); + speedBlinding = (IAlleleFloat) AlleleManager.alleleRegistry.getAllele("magicbees.speedBlinding"); + superSpeed = new AlleleFloat("speedAccelerated", 4F, false); + + + } + + 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; } } } diff --git a/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java b/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java index c357d1b64c..e37746d5bd 100644 --- a/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java +++ b/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java @@ -17,11 +17,44 @@ public enum GT_BranchDefinition { @Override protected void setBranchProperties(IAllele[] alleles) { AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_2); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false); AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS); AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); } }, + IC2("Industrialis") { + @Override + protected void setBranchProperties(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + } + }, + ALLOY("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); + } + }, + THAUMIC("Arcanis") { + @Override + protected void setBranchProperties(IAllele[] alleles) { + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); + AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER); + } + }, GEM("Ornamentis") { @Override protected void setBranchProperties(IAllele[] alleles) { @@ -35,6 +68,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); 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[]{ diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang index 0e0a8313e4..6da9d2ec04 100644 --- a/src/main/resources/assets/gregtech/lang/en_US.lang +++ b/src/main/resources/assets/gregtech/lang/en_US.lang @@ -812,8 +812,32 @@ for.bees.species.peat=Peat for.bees.species.stickyresin=Stickyresin for.bees.species.coal=Coal for.bees.species.oil=Oil -for.bees.species.redstone=Redstone -for.bees.species.lapis=Lapis +for.bees.species.sandwich=Sandwich +for.bees.species.coolant=Coolant +for.bees.species.energy=Energy +for.bees.species.lapotron=Lapotron +for.bees.species.redalloy=Red Alloy +for.bees.species.redstonealloy=Redstone Alloy +for.bees.species.conductingiron=Conducting Iron +for.bees.species.vibrantalloy=Vibrant Alloy +for.bees.species.energeticalloy=Energetic Alloy +for.bees.species.electricalsteel=Electrical Steel +for.bees.species.darksteel=Dark Steel +for.bees.species.pulsatingiron=Pulsating Iron +for.bees.species.stainlesssteel=Stainless Steel +for.bees.species.enderium=Enderium +for.bees.species.thaumiumdust=Thaumium Dust +for.bees.species.thaumiumshard=Thaumic Shards +for.bees.species.amber=Amber +for.bees.species.quicksilver=Quicksilver +for.bees.species.salismundus=Salis Mundus +for.bees.species.tainted=Tainted +for.bees.species.mithril=Mithril +for.bees.species.astralsilver=Astral Silver +for.bees.species.thauminite=Thauminite +for.bees.species.shadowmetal=Shadow Metal +for.bees.species.devided=Unstable +for.bees.species.sparkeling=Wither for.bees.species.certus=Certus for.bees.species.ruby=Ruby for.bees.species.sapphire=Sapphire |