diff options
Diffstat (limited to 'src')
15 files changed, 1797 insertions, 193 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..ead2a5194e 100644 --- a/src/main/java/gregtech/common/items/CombType.java +++ b/src/main/java/gregtech/common/items/CombType.java @@ -4,23 +4,58 @@ 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), + 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), SAPPHIRE("sapphire", true, Materials.Sapphire, 100), DIAMOND("diamond", true, Materials.Diamond, 100), 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 +67,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,26 +76,59 @@ 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}, + {0x817671, 0xCEADA3}, + {0x86A12D, 0xC4F2AE}, + {0xFF9933, 0xFFAD5C}, + {0x787878, 0xD8D8D8}, + {0x252525, 0x443B44}, + {0x6DD284, 0x006600}, + {0x778899, 0xC8C8DC}, + {0x2E8B57, 0x599087}, + //Thaumcraft + {0x7A007A, 0x5C005C}, + {0x9966FF, 0xAD85FF}, + {0xEE7700, 0x774B15}, + {0xc7c7ea, 0xb5b3df}, + {0xF7ADDE, 0x592582}, + {0x904BB8, 0xE800FF}, + {0xF0E68C, 0xFFFFD2}, + {0xAFEEEE, 0xE6E6FF}, + {0x2E2D79, 0x7581E0}, + {0x100322, 0x100342}, + {0xF0F0F0, 0xDCDCDC}, + {0x7A007A, 0xFFFFFF}, + //gems {0x808080, 0x999999}, {0x57CFFB, 0xBBEEFF}, {0x7D0F0F, 0xD11919}, + {0xA375FF, 0xB591FF}, {0x1947D1, 0x476CDA}, + {0x555643, 0x343428}, {0xE6005C, 0xCC0052}, + {0xBD4C4C, 0xECCECE}, {0x0033CC, 0x00248F}, {0xCCFFFF, 0xA3CCCC}, {0x248F24, 0xCCFFCC}, {0x248F24, 0x2EB82E}, + //Metals {0xD4D4D4, 0x58300B}, {0xFF6600, 0xE65C00}, {0xD4D4D4, 0xDDDDDD}, @@ -71,6 +139,7 @@ public enum CombType { {0xF0DEF0, 0xF2E1F2}, {0xC2C2D6, 0xCECEDE}, {0xE6B800, 0xCFA600}, + //Rare Metals {0x008AB8, 0xD6D6FF}, {0xD5D5D5, 0xAAAAAA}, {0xCC99FF, 0xDBB8FF}, @@ -78,6 +147,7 @@ public enum CombType { {0x62626D, 0x161620}, {0xE6E6E6, 0xFFFFCC}, {0xDADADA, 0xD1D1E0}, + //Radioactive Line {0x19AF19, 0x169E16}, {0x335C33, 0x6B8F00}, {0x003300, 0x002400}, 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/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java index 33a558542e..47f90bbb28 100644 --- a/src/main/java/gregtech/common/items/ItemComb.java +++ b/src/main/java/gregtech/common/items/ItemComb.java @@ -11,9 +11,11 @@ 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; @@ -22,6 +24,7 @@ import net.minecraft.util.IIcon; import java.util.List; +import static gregtech.api.enums.GT_Values.GT; import static gregtech.api.enums.GT_Values.MOD_ID; public class ItemComb extends Item { @@ -93,191 +96,294 @@ 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); + + //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); + + //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, 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.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, 100); + addProcessLV(tComb, Materials.CertusQuartz, 100); + addProcessLV(tComb, Materials.NetherQuartz, 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.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, 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.REDGARNET); + addProcessLV(tComb, Materials.GarnetRed, 100); + addProcessLV(tComb, Materials.GarnetYellow, 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); @@ -286,15 +392,70 @@ public class ItemComb extends Item { 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, 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), GT_ModHandler.getDistilledWater(1000L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 192, 96); + 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), 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 }, 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 }, 256, 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(144), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 384, 384); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(24, tComb), Materials.GrowthMediumRaw.getFluid(Math.max(1, ((aMaterial.getMass()+18)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 10000, (int) (aMaterial.getMass() * 128), 1536); + 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), 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 }, 512, 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(288), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 512, 1536); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(24, tComb), Materials.GrowthMediumRaw.getFluid(Math.max(1, ((aMaterial.getMass()+18)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 10000, (int) (aMaterial.getMass() * 128), 3072); + 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), 3072); + }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 }, 768, 1920); + } + } + + 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(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); + } 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), 192, 96); + 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), 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 }, 256, 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), 384, 384); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(24, tComb), Materials.GrowthMediumRaw.getFluid(Math.max(1, ((aOutMaterial.getMass()+18)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 1), 10000, (int) (aOutMaterial.getMass() * 128), 1536); + 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), 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 }, 512, 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(288L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 512, 1536); + GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(24, tComb), Materials.GrowthMediumRaw.getFluid(Math.max(1, ((aOutMaterial.getMass()+18)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 1), 10000, (int) (aOutMaterial.getMass() * 128), 3072); + 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), 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 }, 768, 1920); + } + + } } 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..9dc5088c0b --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemDrop.java @@ -0,0 +1,99 @@ +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 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.COOLANT); + //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); + } + +}
\ 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..6cb43f2176 100644 --- a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java +++ b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java @@ -1,20 +1,26 @@ package gregtech.loaders.misc; +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.util.GT_ModHandler; import gregtech.common.items.CombType; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import org.apache.commons.lang3.text.WordUtils; @@ -26,42 +32,64 @@ 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); + //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); } @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); } @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); } @Override protected void registerMutations() { - IBeeMutationCustom tMutation = registerMutation(getSpecies("Marshy"), CLAY.species, 15); + IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Marshy"), CLAY.species, 7); + tMutation.requireResource(GameRegistry.findBlock("TConstruct", "slime.gel"), 1); } }, PEAT(GT_BranchDefinition.ORGANIC, "Peat", true, 0x906237, 0x58300B) { @@ -69,152 +97,855 @@ 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); } @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) { 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) { 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) { 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.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, EnumAllele.Flowers.VANILLA); + 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(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) { + 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); + } + }, + + //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) { + 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(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) { + 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(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) { + 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 + } + }, + //Alloy + REDALLOY(GT_BranchDefinition.GTALLOY, "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) { + 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(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) { + 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(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) { + 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(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) { + 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(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) { + 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(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) { + 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(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) { + 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(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) { + 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(IAlleleBeeSpeciesCustom 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(IAlleleBeeSpeciesCustom 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(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.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 + } + }, + 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.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(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.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(IAlleleBeeSpeciesCustom 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(IAlleleBeeSpeciesCustom 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) { + 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(THAUMIUMDUST.species, THAUMIMSHARD.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(IAlleleBeeSpeciesCustom 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, THAUMIMSHARD.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(IAlleleBeeSpeciesCustom 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); beeSpecies.setNocturnal(); } @Override protected void setAlleles(IAllele[] template) { - template = BeeDefinition.MEADOWS.getTemplate(); + 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(COAL.species, STICKYRESIN.species, 8); + //TODO + //IBeeMutationCustom tMutation = registerMutation(IO.species, PLATINUM.species, 7); + IBeeMutationCustom tMutation = registerMutation(MITHRIL.species, PLATINUM.species, 7); + tMutation.requireResource(GregTech_API.sBlockMetal4, 10); } }, + ASTRALSILVER(GT_BranchDefinition.THAUMIC, "AstralSilver", true, 0xAFEEEE, 0xE6E6FF) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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); + beeSpecies.setNocturnal(); + } + + @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(IAlleleBeeSpeciesCustom 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.setNocturnal(); + 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); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"TCOrder"), THAUMIUMDUST.species, 8); + tMutation.requireResource(GameRegistry.findBlock("thaumicbases", "thauminiteBlock"), 0); + } + }, + SHADOWMETAL(GT_BranchDefinition.THAUMIC, "ShadowMetal", true, 0x100322, 0x100342) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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.setNocturnal(); + 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); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"TCChaos"), getSpecies(MAGICBEES,"TCVoid"), 6); + tMutation.requireResource(GameRegistry.findBlock("TaintedMagic", "BlockShadowmetal"), 0); + } + }, + DIVIDED(GT_BranchDefinition.THAUMIC, "Unstable", true, 0xF0F0F0, 0xDCDCDC) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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.setNocturnal(); + 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); + } + + @Override + protected void registerMutations() { + IBeeMutationCustom tMutation = registerMutation(DIAMOND.species, IRON.species, 3); + tMutation.requireResource(GameRegistry.findBlock("ExtraUtilities", "decorativeBlock1"), 5); + } + }, + SPARKELING(GT_BranchDefinition.THAUMIC, "NetherStar", true, 0x7A007A, 0xFFFFFF) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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); + beeSpecies.setNocturnal(); + } + + @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 Dimension"));//sky end biome + } + }, +//gems REDSTONE(GT_BranchDefinition.GEM, "Redstone", true, 0x7D0F0F, 0xD11919) { @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { 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"), 5); + tMutation.requireResource("blockLapis"); } }, CERTUS(GT_BranchDefinition.GEM, "CertusQuartz", true, 0x57CFFB, 0xBBEEFF) { @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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) { 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, LAPIS.species, 7); + tMutation.requireResource("blockFluix"); + } + }, + RUBY(GT_BranchDefinition.GEM, "Ruby", true, 0xE6005C, 0xCC0052) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom 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, 10); + tMutation.requireResource(GregTech_API.sBlockGem2, 11); } }, SAPPHIRE(GT_BranchDefinition.GEM, "Sapphire", true, 0x0033CC, 0x00248F) { @@ -271,7 +1002,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 +1040,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 +1059,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 +1289,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 +1350,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); } }, @@ -630,12 +1361,12 @@ public enum GT_BeeDefinition implements IBeeDefinition { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLUTONIUM), 0.15f); beeSpecies.setHumidity(EnumHumidity.NORMAL); beeSpecies.setTemperature(EnumTemperature.ICY); - beeSpecies.setNocturnal(); } @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.AVENGING.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); } @Override @@ -651,12 +1382,12 @@ public enum GT_BeeDefinition implements IBeeDefinition { beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NAQUADAH), 0.15f); beeSpecies.setHumidity(EnumHumidity.ARID); beeSpecies.setTemperature(EnumTemperature.ICY); - beeSpecies.setNocturnal(); } @Override protected void setAlleles(IAllele[] template) { template = BeeDefinition.AVENGING.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); } @Override @@ -669,6 +1400,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 +1414,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 +1431,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.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); + } + + 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 +1518,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..8ee26f6b3f 100644 --- a/src/main/java/gregtech/loaders/misc/GT_Bees.java +++ b/src/main/java/gregtech/loaders/misc/GT_Bees.java @@ -1,18 +1,170 @@ 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.items.ItemComb; +import gregtech.common.items.ItemDrop; +import gregtech.common.items.ItemPollen; +import gregtech.common.items.ItemPropolis; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; 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; + + static IAlleleInteger blinkLife; + 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) { + 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); + speedBlinding = (IAlleleFloat) AlleleManager.alleleRegistry.getAllele("magicbees.speedBlinding"); + superSpeed = new AlleleFloat("speedAccelerated", 4F, false); + + 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..4066e7f80b 100644 --- a/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java +++ b/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java @@ -16,10 +16,46 @@ 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 +71,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..29200668ce 100644 --- a/src/main/resources/assets/gregtech/lang/en_US.lang +++ b/src/main/resources/assets/gregtech/lang/en_US.lang @@ -812,10 +812,36 @@ for.bees.species.peat=Peat for.bees.species.stickyresin=Stickyresin for.bees.species.coal=Coal for.bees.species.oil=Oil +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.conductiveiron=Conductive 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.divided=Unstable +for.bees.species.sparkeling=Wither for.bees.species.redstone=Redstone -for.bees.species.lapis=Lapis for.bees.species.certus=Certus for.bees.species.ruby=Ruby +for.bees.species.redgarnet=Red Garnet for.bees.species.sapphire=Sapphire for.bees.species.diamond=Diamond for.bees.species.olivine=Olivine @@ -840,4 +866,7 @@ for.bees.species.uranium=Uranium for.bees.species.plutonium=Plutonium for.bees.species.naquadah=Naquadah +for.mutation.condition.biomeid=Required Biome +for.mutation.condition.dim=Required Dimension + itemGroup.GTtools=Prebuild Tools
\ No newline at end of file |