diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2022-01-23 17:41:06 +0000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2022-01-23 17:41:06 +0000 |
commit | 43be31d2ac5c8d390579edd4faa5817e91fc4b1a (patch) | |
tree | 00ad2ecf627fd461e88e4e3067877c93ef4f0909 | |
parent | 0af6401544c94989f3913c9ea6638a304f7596ef (diff) | |
download | GT5-Unofficial-43be31d2ac5c8d390579edd4faa5817e91fc4b1a.tar.gz GT5-Unofficial-43be31d2ac5c8d390579edd4faa5817e91fc4b1a.tar.bz2 GT5-Unofficial-43be31d2ac5c8d390579edd4faa5817e91fc4b1a.zip |
Added framework for custom bees.
Boosted drops of Dragon Metal from Chaos Dragons.
Fixed https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/9556.
20 files changed, 572 insertions, 1034 deletions
diff --git a/.gitignore b/.gitignore index 40fb5e4a7d..467d0f686a 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,8 @@ whitelist.json *.iws src/main/resources/mixins.*.json *.bat +*.bak +/screenshots +/world +/saves +/asm diff --git a/dependencies.gradle b/dependencies.gradle index a85633709a..60c3818e72 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,12 +3,9 @@ dependencies { compile("com.github.GTNewHorizons:GT5-Unofficial:5.09.40.18:dev") compile("com.github.GTNewHorizons:StructureLib:1.0.14:dev") - compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.1.22-GTNH:dev") { - transitive = false - } - compileOnly("com.github.GTNewHorizons:CodeChickenLib:1.1.5.1:dev") { - transitive = false - } + compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.1.22-GTNH:dev") + compileOnly("com.github.GTNewHorizons:CodeChickenCore:1.1.3:dev") + compileOnly("com.github.GTNewHorizons:CodeChickenLib:1.1.5.1:dev") compile("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev") compile("curse.maven:cofh-core-69162:2388751") diff --git a/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java b/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java index 884f14386d..967a51fad6 100644 --- a/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java +++ b/src/main/java/gtPlusPlus/core/handler/events/EnderDragonDeathHandler.java @@ -13,47 +13,48 @@ public class EnderDragonDeathHandler { private static final String mDragonClassName = "chylex.hee.entity.boss.EntityBossDragon"; private static final boolean mHEE; private static final Class mHardcoreDragonClass; - + + private static final String mChaosDragonClassName = "com.brandon3055.draconicevolution.common.entity.EntityCustomDragon"; + private static final boolean mDE; + private static final Class mChaoseDragonClass; + static { mHEE = ReflectionUtils.doesClassExist(mDragonClassName); mHardcoreDragonClass = (mHEE ? ReflectionUtils.getClass(mDragonClassName) : null); + mDE = ReflectionUtils.doesClassExist(mChaosDragonClassName); + mChaoseDragonClass = (mDE ? ReflectionUtils.getClass(mChaosDragonClassName) : null); } @SubscribeEvent public void onEntityDrop(LivingDropsEvent event) { - - boolean aDidDrop = false; + int aCountTotal = 0; - - //HEE Dragon - if (mHEE) { - if (mHardcoreDragonClass != null) { - if (mHardcoreDragonClass.isInstance(event.entityLiving)) { - for (int y = 0; y < MathUtils.randInt(100, 250); y++) { - int aAmount = MathUtils.randInt(5, 25); - event.entityLiving.entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getNugget(aAmount), MathUtils.randFloat(0, 1)); - aDidDrop = true; - aCountTotal =+ aAmount; - } - } + + if (mHEE && mHardcoreDragonClass != null && mHardcoreDragonClass.isInstance(event.entityLiving)) { + for (int y = 0; y < MathUtils.randInt(100, 250); y++) { + int aAmount = MathUtils.randInt(5, 25); + event.entityLiving.entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getNugget(aAmount), MathUtils.randFloat(0, 1)); + aCountTotal = +aAmount; } } - //Vanilla Dragon or any other dragon that extends it - else { - if (event.entityLiving instanceof EntityDragon) { - for (int y = 0; y < MathUtils.randInt(25, 50); y++) { - int aAmount = MathUtils.randInt(1, 10); - event.entityLiving.entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getNugget(aAmount), MathUtils.randFloat(0, 1)); - aDidDrop = true; - aCountTotal =+ aAmount; - } + else if (mDE && mChaoseDragonClass != null && mChaoseDragonClass.isInstance(event.entityLiving)) { + for (int y = 0; y < MathUtils.randInt(100, 200); y++) { + int aAmount = MathUtils.randInt(1, 5); + event.entityLiving.entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getIngot(aAmount), MathUtils.randFloat(0, 1)); + aCountTotal = +aAmount; } } - - if (aDidDrop) { - PlayerUtils.messageAllPlayers(aCountTotal+" Shards of Dragons Blood have crystalized into a metallic form."); + else if (event.entityLiving instanceof EntityDragon) { + for (int y = 0; y < MathUtils.randInt(25, 50); y++) { + int aAmount = MathUtils.randInt(1, 10); + event.entityLiving.entityDropItem(ELEMENT.STANDALONE.DRAGON_METAL.getNugget(aAmount), MathUtils.randFloat(0, 1)); + aCountTotal = +aAmount; + } + } + if (aCountTotal > 0) { + PlayerUtils.messageAllPlayers(aCountTotal + " Shards of Dragons Blood have crystalized into a metallic form."); } - + } } diff --git a/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java b/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java index 92804d72ec..6ccd19019a 100644 --- a/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java +++ b/src/main/java/gtPlusPlus/core/util/reflect/ReflectionUtils.java @@ -1086,5 +1086,17 @@ public class ReflectionUtils { return null; } + public static Enum getEnum(Class<Enum> sgtbees, String name) { + if (sgtbees.isEnum()) { + Object[] aValues = sgtbees.getEnumConstants(); + for (Object o : aValues) { + if (o.toString().toLowerCase().equals(name.toLowerCase())) { + return (Enum) o; + } + } + } + return null; + } + } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java b/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java index c395825b33..7f372837a5 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/HANDLER_FR.java @@ -22,13 +22,13 @@ public class HANDLER_FR { public static void Init(){ if (LoadedMods.Forestry){ - new GTPP_Bees(); } } public static void postInit(){ if (LoadedMods.Forestry){ FR_Gregtech_Recipes.registerItems(); + new GTPP_Bees(); } } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_CombType.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_CombType.java index bc9fb7bcdc..b3f12bc9d5 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_CombType.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_CombType.java @@ -2,193 +2,51 @@ package gtPlusPlus.xmod.forestry.bees.handler; import gregtech.api.enums.Materials; import gregtech.api.util.GT_LanguageManager; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; public enum GTPP_CombType { - //Organic Line - LIGNIE("lignite", true, Materials.Lignite, 100,0x58300B, 0x906237), - COAL("coal", true, Materials.Coal, 100,0x525252, 0x666666), - STICKY("stickyresin", true, Materials._NULL, 50,0x2E8F5B, 0xDCC289), - OIL("oil", true, Materials._NULL, 100,0x333333, 0x4C4C4C), - APATITE("apatite", true, Materials.Apatite, 100,0xc1c1f6, 0x676784), - ASH("ash", true, Materials.Ash, 100,0x1e1a18, 0xc6c6c6), - //IC2 Line - COOLANT("coolant", true, Materials._NULL, 100,0x144F5A, 0x2494A2), - ENERGY("energy", true, Materials._NULL, 80,0xC11F1F, 0xEBB9B9), - LAPOTRON("lapotron", true, Materials._NULL, 60,0x1414FF, 0x6478FF), - PYROTHEUM("pyrotheum", true, Materials.Pyrotheum, 50,0xffebc4, 0xe36400), - CRYOTHEUM("cryotheum", true, Materials.Pyrotheum, 50,0x2660ff, 0x5af7ff), - - //Alloy Line - REDALLOY("redalloy", true, Materials.RedAlloy, 100,0xE60000, 0xB80000), - REDSTONEALLOY("redstonealloy", true, Materials.RedstoneAlloy, 90,0xB80000, 0xA50808), - CONDUCTIVEIRON("conductiveiron", true, Materials.ConductiveIron, 80,0x817671, 0xCEADA3), - VIBRANTALLOY("vibrantalloy", true, Materials.VibrantAlloy, 50,0x86A12D, 0xC4F2AE), - ENERGETICALLOY("energeticalloy", true, Materials.EnergeticAlloy, 70,0xFF9933, 0xFFAD5C), - ELECTRICALSTEEL("electricalsteel", true, Materials.ElectricalSteel, 90,0x787878, 0xD8D8D8), - DARKSTEEL("darksteel", true, Materials.DarkSteel, 80,0x252525, 0x443B44), - PULSATINGIRON("pulsatingiron", true, Materials.PulsatingIron, 80,0x006600, 0x6DD284), - STAINLESSSTEEL("stainlesssteel", true, Materials.StainlessSteel, 75,0x778899, 0xC8C8DC), - ENDERIUM("enderium", true, Materials.Enderium, 40,0x2E8B57, 0x599087), - - //Thaumcraft Line - THAUMIUMDUST("thaumiumdust", true, Materials.Thaumium, 100,0x7A007A, 0x5C005C), - THAUMIUMSHARD("thaumiumshard", true, Materials._NULL, 85,0x9966FF, 0xAD85FF), - AMBER("amber", true, Materials.Amber, 90,0x774B15, 0xEE7700), - QUICKSILVER("quicksilver", true, Materials.Mercury, 90,0xc7c7ea, 0xb5b3df), - SALISMUNDUS("salismundus", true, Materials._NULL, 75,0xF7ADDE, 0x592582), - TAINTED("tainted", true, Materials._NULL, 80,0x904BB8, 0xE800FF), - MITHRIL("mithril", true, Materials.Mithril, 70,0xF0E68C, 0xFFFFD2), - ASTRALSILVER("astralsilver", true, Materials.AstralSilver, 70,0xAFEEEE, 0xE6E6FF), - THAUMINITE("thauminite", true, Materials._NULL, 50,0x2E2D79, 0x7581E0), - SHADOWMETAL("shadowmetal", true, Materials.Shadow, 50,0x100322, 0x100342), - DIVIDED("divided", true, Materials.Unstable, 40,0xF0F0F0, 0xDCDCDC), - SPARKELING("sparkling", true, Materials.NetherStar, 40,0x7A007A, 0xFFFFFF), - - //Gem Line - STONE("stone", true, Materials._NULL, 70,0x808080, 0x999999), - CERTUS("certus", true, Materials.CertusQuartz, 100,0x57CFFB, 0xBBEEFF), - FLUIX("fluix", true, Materials.Fluix, 100,0xA375FF, 0xB591FF), - REDSTONE("redstone", true, Materials.Redstone, 100,0x7D0F0F, 0xD11919), - RAREEARTH("rareearth", true, Materials.RareEarth, 100,0x555643, 0x343428), - LAPIS("lapis", true, Materials.Lapis, 100,0x1947D1, 0x476CDA), - RUBY("ruby", true, Materials.Ruby, 100,0xE6005C, 0xCC0052), - REDGARNET("redgarnet", true, Materials.GarnetRed,100,0xBD4C4C, 0xECCECE), - YELLOWGARNET("yellowgarnet", true, Materials.GarnetYellow,100,0xA3A341, 0xEDEDCE), - SAPPHIRE("sapphire", true, Materials.Sapphire, 100,0x0033CC, 0x00248F), - DIAMOND("diamond", true, Materials.Diamond, 100,0xCCFFFF, 0xA3CCCC), - OLIVINE("olivine", true, Materials.Olivine, 100,0x248F24, 0xCCFFCC), - EMERALD("emerald", true, Materials.Emerald, 100,0x248F24, 0x2EB82E), - PYROPE("pyrope", true, Materials.Pyrope, 100,0x763162, 0x8B8B8B), - GROSSULAR("grossular", true, Materials.Grossular, 100,0x9B4E00, 0x8B8B8B), - FIRESTONE("firestone", true, Materials.Firestone, 100,0xC00000, 0xFF0000), - - //Metals Line - SLAG("slag", true, Materials._NULL, 50,0xD4D4D4, 0x58300B), - COPPER("copper", true, Materials.Copper, 100,0xFF6600, 0xE65C00), - TIN("tin", true, Materials.Tin, 100,0xD4D4D4, 0xDDDDDD), - LEAD("lead", true, Materials.Lead, 100,0x666699, 0xA3A3CC), - IRON("iron", true, Materials.Iron, 100,0xDA9147, 0xDE9C59), - STEEL("steel", true, Materials.Steel, 95,0x808080, 0x999999), - NICKEL("nickel", true, Materials.Nickel, 100,0x8585AD, 0x9D9DBD), - ZINC("zinc", true, Materials.Zinc, 100,0xF0DEF0, 0xF2E1F2), - SILVER("silver", true, Materials.Silver, 100,0xC2C2D6, 0xCECEDE), - GOLD("gold", true, Materials.Gold, 100,0xE6B800, 0xCFA600), - SULFUR("sulfur", true, Materials.Sulfur, 100,0x6F6F01, 0x8B8B8B), - GALLIUM ("gallium", true, Materials.Gallium, 75,0x8B8B8B, 0xC5C5E4), - ARSENIC ("arsenic", true, Materials.Arsenic, 75,0x736C52, 0x292412), - - //Rare Metals Line - BAUXITE("bauxite", true, Materials.Bauxite, 85,0x6B3600, 0x8B8B8B), - ALUMINIUM("aluminium", true, Materials.Aluminium, 60,0x008AB8, 0xD6D6FF), - MANGANESE("manganese", true, Materials.Manganese, 30,0xD5D5D5, 0xAAAAAA), - MAGNESIUM("magnesium", true, Materials.Magnesium, 75,0xF1D9D9, 0x8B8B8B), - TITANIUM("titanium", true, Materials.Ilmenite, 100,0xCC99FF, 0xDBB8FF), - CHROME("chromium", true, Materials.Chrome, 50,0xEBA1EB, 0xF2C3F2), - TUNGSTEN("tungsten", true, Materials.Tungstate, 100,0x62626D, 0x161620), - PLATINUM("platinum", true, Materials.Platinum, 40,0xE6E6E6, 0xFFFFCC), - IRIDIUM("iridium", true, Materials.Iridium, 20,0xDADADA, 0xD1D1E0), - MOLYBDENUM("molybdenum", true, Materials.Molybdenum, 20,0xAEAED4, 0x8B8B8B), - OSMIUM("osmium", true, Materials.Osmium, 15,0x2B2BDA, 0x8B8B8B), - LITHIUM("lithium", true, Materials.Lithium, 75,0xF0328C, 0xE1DCFF), - SALT("salt", true, Materials.Salt, 90,0xF0C8C8, 0xFAFAFA), - ELECTROTINE("electrotine", true, Materials.Electrotine, 75,0x1E90FF, 0x3CB4C8), - ALMANDINE("almandine", true, Materials.Almandine, 85,0xC60000, 0x8B8B8B), - - //Radioactive Line - URANIUM("uranium", true, Materials.Uranium, 50,0x19AF19, 0x169E16), - PLUTONIUM("plutonium", true, Materials.Plutonium, 10,0x240000, 0x570000), - NAQUADAH("naquadah", true, Materials.Naquadah, 10,0x000000, 0x004400), - NAQUADRIA("naquadria", true, Materials.Naquadria, 5,0x000000, 0x002400), - DOB("d-o-b", true, Materials._NULL, 50,0x007700, 0x002400), - THORIUM("thorium", true, Materials.Thorium, 75,0x001E00, 0x005000), - LUTETIUM("lutetium", true, Materials.Lutetium, 10,0xE6FFE6, 0xFFFFFF), - AMERICIUM("americium", true, Materials.Americium, 5,0xE6E6FF, 0xC8C8C8), - NEUTRONIUM("neutronium", true, Materials.Neutronium, 2,0xFFF0F0, 0xFAFAFA), - - //Twilight - NAGA("naga", true, Materials._NULL, 100,0x0D5A0D, 0x28874B), - LICH("lich", true, Materials._NULL, 90,0x5C605E, 0xC5C5C5), - HYDRA("hydra", true, Materials._NULL, 80,0x872836, 0xB8132C), - URGHAST("urghast", true, Materials._NULL, 70,0x7C0618, 0xA7041C), - SNOWQUEEN("snowqueen", true, Materials._NULL, 60,0x9C0018, 0xD02001), - - //Space - SPACE("space", true, Materials._NULL, 100,0x003366, 0xC0C0C0), - METEORICIRON("meteoriciron",true, Materials.MeteoricIron, 100,0x321928, 0x643250), - DESH("desh",true, Materials.Desh, 90,0x282828, 0x323232), - LEDOX("ledox",true, Materials.Ledox, 75,0x0000CD, 0x0074FF), - CALLISTOICE("callistoice",true, Materials.CallistoIce, 75,0x0074FF, 0x1EB1FF), - MYTRYL("mytryl",true, Materials.Mytryl, 65,0xDAA520, 0xF26404), - QUANTIUM("quantium",true, Materials.Quantium, 50,0x00FF00, 0x00D10B), - ORIHARUKON("oriharukon",true, Materials.Oriharukon, 50,0x228B22, 0x677D68), - MYSTERIOUSCRYSTAL("mysteriouscrystal",true, Materials.MysteriousCrystal, 45,0x3CB371, 0x16856C), - BLACKPLUTONIUM("blackplutonium",true, Materials.Quantium, 25,0x000000, 0x323232), - TRINIUM("trinium",true, Materials.Trinium, 25,0xB0E0E6, 0xC8C8D2), - - //Planet - MERCURY("mercury", true, Materials._NULL, 65,0x4A4033, 0xB5A288), - VENUS("venus",true, Materials._NULL, 65,0x120E07, 0x272010), - MOON("moon",true, Materials._NULL, 90,0x373735, 0x7E7E78), - MARS("mars",true, Materials._NULL, 80,0x220D05, 0x3A1505), - JUPITER("jupiter",true, Materials._NULL, 75,0x734B2E, 0xD0CBC4), - SATURN("saturn",true, Materials._NULL, 55,0xD2A472, 0xF8C37B), - URANUS("uranus",true, Materials._NULL, 45,0x75C0C9, 0x84D8EC), - NEPTUN("neptun",true, Materials._NULL, 35,0x334CFF, 0x576DFF), - PLUTO("pluto",true, Materials._NULL, 25,0x34271E, 0x69503D), - HAUMEA("haumea",true, Materials._NULL, 20,0x1C1413, 0x392B28), - MAKEMAKE("makemake",true, Materials._NULL, 20,0x301811, 0x120A07), - CENTAURI("centauri",true, Materials._NULL, 15,0x2F2A14, 0xB06B32), - TCETI("tceti",true, Materials._NULL, 10,0x46241A, 0x7B412F), - BARNARDA("barnarda",true, Materials._NULL, 10,0x0D5A0D, 0xE6C18D), - VEGA("vega",true, Materials._NULL, 10,0x1A2036, 0xB5C0DE), - - //Infinity - COSMICNEUTRONIUM("cosmicneutronium",true, Materials._NULL, 5,0x484848, 0x323232), - INFINITYCATALYST("infinitycatalyst",true, Materials._NULL, 2,0xFFFFFF, 0xFFFFFF), - INFINITY("infinity",true, Materials._NULL, 1,0xFFFFFF, 0xFFFFFF), - - //HEE - ENDDUST("enddust", true, Materials._NULL, 50,0x003A7D, 0xCC00FA), - ECTOPLASMA("ectoplasma", true, Materials._NULL, 35,0x381C40, 0xDCB0E5), - ARCANESHARD("arcaneshard", true, Materials._NULL, 35,0x333D82, 0x9010AD), - STARDUST("stardust", true, Materials._NULL, 60,0xDCBE13, 0xffff00), - DRAGONESSENCE("dragonessence", true, Materials._NULL, 30,0x911ECE, 0xFFA12B), - ENDERMAN("enderman", true, Materials._NULL, 25,0x6200e7, 0x161616), - SILVERFISH("silverfish", true, Materials._NULL, 25,0x0000000, 0xEE053D), - ENDIUM("endium", true, Materials.HeeEndium, 50,0x2F5A6C, 0xa0ffff), - RUNEI("rune1", true, Materials._NULL, 10,0x0104D9, 0xE31010), - RUNEII("rune2", true, Materials._NULL, 10,0xE31010, 0x0104D9), - FIREESSENSE("fireessence", true, Materials._NULL, 30,0xFFA157, 0xD41238), - - //New Combs to avoid meta id issues - CRYOLITE("cryolite", true, Materials.Cryolite, 90, 0xBFEFFF, 0x73B9D0); - - public boolean showInList; - public Materials material; - public int chance; - - private String name; - private int[] color; - - GTPP_CombType(String pName, boolean show, Materials material, int chance, int... color) { - this.name = pName; - this.material = material; - this.chance = chance; - this.showInList = show; - this.color=color; - } - - public void setHidden() { - this.showInList = false; - } - - public String getName() { - - return GT_LanguageManager.addStringLocalization("comb." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Comb"); - } - - public int[] getColours() { - return color == null || color.length != 2 ? new int[]{0,0} : color; - } + DRAGONBLOOD(0, "Dragon Blood", true, Materials._NULL, 30, Utils.rgbtoHexValue(220, 20, 20), Utils.rgbtoHexValue(20, 20, 20)), + FORCE(1, "Force", true, Materials.Force, 30, Utils.rgbtoHexValue(250, 250, 20), Utils.rgbtoHexValue(200, 200, 5)); + + public boolean mShowInList; + public Materials mMaterial; + public int mChance; + public int mID; + + private String mName; + private String mNameUnlocal; + private int[] mColour; + + private static void map(int aId, GTPP_CombType aType) { + GTPP_Bees.sCombMappings.put(aId, aType); + } + + public static GTPP_CombType get(int aID) { + return GTPP_Bees.sCombMappings.get(aID); + } + + GTPP_CombType(int aID, String aName, boolean aShow, Materials aMaterial, int aChance, int... aColour) { + this.mID = aID; + this.mName = aName; + this.mNameUnlocal = aName.toLowerCase().replaceAll(" ", ""); + this.mMaterial = aMaterial; + this.mChance = aChance; + this.mShowInList = aShow; + this.mColour = aColour; + map(aID, this); + } + + public void setHidden() { + this.mShowInList = false; + } + + public String getName() { + return GT_LanguageManager.addStringLocalization("comb." + this.mNameUnlocal, this.mName + " Comb"); + } + + public int[] getColours() { + return mColour == null || mColour.length != 2 ? new int[]{0, 0} : mColour; + } } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_DropType.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_DropType.java index 8578baa3c3..70333fdf2d 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_DropType.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_DropType.java @@ -2,50 +2,48 @@ package gtPlusPlus.xmod.forestry.bees.handler; import gregtech.api.enums.Materials; import gregtech.api.util.GT_LanguageManager; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; public enum GTPP_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), - ENDERGOO("ender goo",true); - - private static int[][] colours = new int[][]{ - {0x19191B, 0x303032}, - {0xffc100, 0x00ff11}, - {0x144F5A, 0x2494A2}, - {0xC11F1F, 0xEBB9B9}, - {0x872836, 0xB8132C}, - {0xD02001, 0x9C0018}, - {0x003366, 0x0066BB}, - {0x1727b1, 0x008ce3}, - {0xA005E7, 0x161616}, - }; - public boolean showInList; - public Materials material; - public int chance; - private String name; + DRAGONBLOOD(0, "Dragon Blood", true, Utils.rgbtoHexValue(220, 20, 20), Utils.rgbtoHexValue(20, 20, 20)); - private GTPP_DropType(String pName, boolean show) { - this.name = pName; - this.showInList = show; + public boolean mShowInList; + public Materials mMaterial; + public int mChance; + public int mID; + + private String mName; + private String mNameUnlocal; + private int[] mColour; + + private static void map(int aId, GTPP_DropType aType) { + GTPP_Bees.sDropMappings.put(aId, aType); + } + + public static GTPP_DropType get(int aID) { + return GTPP_Bees.sDropMappings.get(aID); + } + + private GTPP_DropType(int aID, String aName, boolean aShow, int... aColour) { + this.mID = aID; + this.mName = aName; + this.mNameUnlocal = aName.toLowerCase().replaceAll(" ", ""); + this.mShowInList = aShow; + this.mColour = aColour; + map(aID, this); } public void setHidden() { - this.showInList = false; + this.mShowInList = false; } public String getName() { - - return GT_LanguageManager.addStringLocalization("drop." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Drop"); + return GT_LanguageManager.addStringLocalization("drop." + this.mNameUnlocal, this.mName + " Drop"); } public int[] getColours() { - return colours[this.ordinal()]; + return mColour; } } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PollenType.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PollenType.java index 7010c45cd0..cf0543ebf1 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PollenType.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PollenType.java @@ -2,33 +2,48 @@ package gtPlusPlus.xmod.forestry.bees.handler; import gregtech.api.enums.Materials; import gregtech.api.util.GT_LanguageManager; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; public enum GTPP_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 GTPP_PollenType(String pName, boolean show) { - this.name = pName; - this.showInList = show; - } - - public void setHidden() { - this.showInList = false; - } - - public String getName() { - 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()]; - } + DRAGONBLOOD(0, "Dragon Blood", true, Utils.rgbtoHexValue(220, 20, 20), Utils.rgbtoHexValue(20, 20, 20)); + + public boolean mShowInList; + public Materials mMaterial; + public int mChance; + public int mID; + + private String mName; + private String mNameUnlocal; + private int[] mColour; + + private static void map(int aId, GTPP_PollenType aType) { + GTPP_Bees.sPollenMappings.put(aId, aType); + } + + public static GTPP_PollenType get(int aID) { + return GTPP_Bees.sPollenMappings.get(aID); + } + + private GTPP_PollenType(int aID, String aName, boolean aShow, int... aColour) { + this.mID = aID; + this.mName = aName; + this.mNameUnlocal = aName.toLowerCase().replaceAll(" ", ""); + this.mShowInList = aShow; + this.mColour = aColour; + map(aID, this); + } + + public void setHidden() { + this.mShowInList = false; + } + + public String getName() { + return GT_LanguageManager.addStringLocalization("pollen." + this.mNameUnlocal, this.mName + " Pollen"); + } + + public int[] getColours() { + return mColour; + } } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PropolisType.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PropolisType.java index 92ee16571d..a989b4d9cb 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PropolisType.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/handler/GTPP_PropolisType.java @@ -2,51 +2,48 @@ package gtPlusPlus.xmod.forestry.bees.handler; import gregtech.api.enums.Materials; import gregtech.api.util.GT_LanguageManager; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; public enum GTPP_PropolisType { - End("End",true), - Ectoplasma("Ectoplasma",true), - Arcaneshard("Arcaneshard",true), - Stardust("Stardust",true), - Dragonessence("Dragonessence",true), - Enderman("Enderman",true), - Silverfish("Silverfish", true), - Endium("Endium", true), - Fireessence("Fireessence",true); - - private static int[] colours = new int[]{ - 0xCC00FA, - 0xDCB0E5, - 0x9010AD, - 0xFFFF00, - 0x911ECE, - 0x161616, - 0xEE053D, - 0xa0ffff, - 0xD41238 - }; - - public boolean showInList; - public Materials material; - public int chance; - private String name; - - private GTPP_PropolisType(String pName, boolean show) { - this.name = pName; - this.showInList = show; + DRAGONBLOOD(0, "Dragon Blood", true, Utils.rgbtoHexValue(220, 20, 20)); + + public boolean mShowInList; + public Materials mMaterial; + public int mChance; + public int mID; + + private String mName; + private String mNameUnlocal; + private int mColour; + + private static void map(int aId, GTPP_PropolisType aType) { + GTPP_Bees.sPropolisMappings.put(aId, aType); + } + + public static GTPP_PropolisType get(int aID) { + return GTPP_Bees.sPropolisMappings.get(aID); + } + + private GTPP_PropolisType(int aID, String aName, boolean aShow, int aColour) { + this.mID = aID; + this.mName = aName; + this.mNameUnlocal = aName.toLowerCase().replaceAll(" ", ""); + this.mShowInList = aShow; + this.mColour = aColour; + map(aID, this); } public void setHidden() { - this.showInList = false; + this.mShowInList = 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"); + return GT_LanguageManager.addStringLocalization("propolis." + this.mNameUnlocal, this.mName + " Propolis"); } public int getColours() { - return colours[this.ordinal()]; + return mColour; } } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_CustomBee.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_CustomBee.java deleted file mode 100644 index 7d9a9e231b..0000000000 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/FR_CustomBee.java +++ /dev/null @@ -1,5 +0,0 @@ -package gtPlusPlus.xmod.forestry.bees.items; - -public class FR_CustomBee { - -} diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java index 01e7009cb8..f191cc4ae1 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java @@ -1,6 +1,10 @@ package gtPlusPlus.xmod.forestry.bees.items.output; -import static gregtech.api.enums.GT_Values.*; +import static gregtech.api.enums.GT_Values.L; +import static gregtech.api.enums.GT_Values.NF; +import static gregtech.api.enums.GT_Values.NI; +import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.enums.GT_Values.V; import java.util.Arrays; import java.util.List; @@ -14,15 +18,19 @@ import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; import forestry.api.recipes.RecipeManagers; import gregtech.GT_Mod; -import gregtech.api.enums.*; -import gregtech.api.util.*; -import gregtech.loaders.materialprocessing.ProcessingModSupport; +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 gtPlusPlus.core.lib.CORE; -import gtPlusPlus.xmod.forestry.bees.handler.*; +import gtPlusPlus.xmod.forestry.bees.handler.GTPP_CombType; +import gtPlusPlus.xmod.forestry.bees.handler.GTPP_DropType; +import gtPlusPlus.xmod.forestry.bees.handler.GTPP_PropolisType; import gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; @@ -30,7 +38,7 @@ import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; public class GTPP_Comb extends Item { - + @SideOnly(Side.CLIENT) private IIcon secondIcon; @@ -43,18 +51,18 @@ public class GTPP_Comb extends Item { } public ItemStack getStackForType(GTPP_CombType type) { - return new ItemStack(this, 1, type.ordinal()); + return new ItemStack(this, 1, type.mID); } public ItemStack getStackForType(GTPP_CombType type, int count) { - return new ItemStack(this, count, type.ordinal()); + return new ItemStack(this, count, type.mID); } @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tabs, List list) { for (GTPP_CombType type : GTPP_CombType.values()) { - if (type.showInList) { + if (type.mShowInList) { list.add(this.getStackForType(type)); } } @@ -72,7 +80,7 @@ public class GTPP_Comb extends Item { } @Override - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("forestry:beeCombs.0"); this.secondIcon = par1IconRegister.registerIcon("forestry:beeCombs.1"); @@ -86,11 +94,10 @@ public class GTPP_Comb extends Item { @Override @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { - int meta = Math.max(0, Math.min(GTPP_CombType.values().length - 1, stack.getItemDamage())); - int colour = GTPP_CombType.values()[meta].getColours()[0]; + int colour = GTPP_CombType.get(stack.getItemDamage()).getColours()[0]; if (pass >= 1) { - colour = GTPP_CombType.values()[meta].getColours()[1]; + colour = GTPP_CombType.get(stack.getItemDamage()).getColours()[1]; } return colour; @@ -98,470 +105,221 @@ public class GTPP_Comb extends Item { @Override public String getItemStackDisplayName(ItemStack stack) { - return GTPP_CombType.values()[stack.getItemDamage()].getName(); + return GTPP_CombType.get(stack.getItemDamage()).getName(); } - public void initCombsRecipes() { - - //Organic - addProcessGT(GTPP_CombType.LIGNIE, new Materials[] {Materials.Lignite}, Voltage.LV); - addProcessGT(GTPP_CombType.COAL, new Materials[] {Materials.Coal}, Voltage.LV); - addCentrifugeToItemStack(GTPP_CombType.STICKY, new ItemStack[] { ItemList.IC2_Resin.get(1), ItemList.IC2_Plantball.get(1), ItemList.FR_Wax.get(1) }, new int[] {50 * 100, 15 * 100, 50 * 100}, Voltage.ULV); - addProcessGT(GTPP_CombType.OIL, new Materials[] {Materials.Oilsands}, Voltage.LV); - addProcessGT(GTPP_CombType.APATITE, new Materials[] {Materials.Apatite, Materials.Phosphate}, Voltage.LV); - addCentrifugeToMaterial(GTPP_CombType.ASH, new Materials[] {Materials.DarkAsh, Materials.Ash}, new int[] { 50*100, 50*100}, new int[] {}, Voltage.ULV, NI, 50 * 100); - if(GT_Mod.gregtechproxy.mNerfedCombs) { - addCentrifugeToItemStack(GTPP_CombType.LIGNIE, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), ItemList.FR_Wax.get(1) }, new int[] {90 * 100, 50 * 100}, Voltage.ULV); - addCentrifugeToItemStack(GTPP_CombType.COAL, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), ItemList.FR_Wax.get(1) }, new int[] {5 * 100, 50 * 100}, Voltage.ULV); - addCentrifugeToItemStack(GTPP_CombType.OIL, new ItemStack[] { ItemList.Crop_Drop_OilBerry.get(1), GTPP_Bees.drop.getStackForType(GTPP_DropType.OIL), ItemList.FR_Wax.get(1) }, new int[] {70 * 100, 100 * 100, 50 * 100}, Voltage.ULV); - }else { - addCentrifugeToItemStack(GTPP_CombType.LIGNIE, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lignite, 1), ItemList.FR_Wax.get(1) }, new int[] {90 * 100, 100 * 100, 50 * 100}, Voltage.ULV); - addCentrifugeToItemStack(GTPP_CombType.COAL, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Coal, 1), ItemList.FR_Wax.get(1) }, new int[] {5 * 100, 100 * 100, 50 * 100}, Voltage.ULV); - addCentrifugeToItemStack(GTPP_CombType.OIL, new ItemStack[] { ItemList.Crop_Drop_OilBerry.get(1), GTPP_Bees.drop.getStackForType(GTPP_DropType.OIL), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Oilsands, 1), ItemList.FR_Wax.get(1) }, new int[] {70 * 100, 100 * 100, 100 * 100, 50 * 100}, Voltage.ULV); - addCentrifugeToMaterial(GTPP_CombType.APATITE, new Materials[] { Materials.Apatite, Materials.Phosphate }, new int[] {100 * 100, 80 * 100 }, new int[] {}, Voltage.ULV, NI, 30 * 100); - } - - //ic2 - addCentrifugeToItemStack(GTPP_CombType.COOLANT, new ItemStack[] { GTPP_Bees.drop.getStackForType(GTPP_DropType.COOLANT), ItemList.FR_Wax.get(1) }, new int[] {100 * 100, 100 * 100}, Voltage.HV, 196); - addCentrifugeToItemStack(GTPP_CombType.ENERGY, new ItemStack[] {GTPP_Bees.drop.getStackForType(GTPP_DropType.HOT_COOLANT), ItemList.IC2_Energium_Dust.get(1L), ItemList.FR_RefractoryWax.get(1)}, new int[] {20 * 100, 20 * 100, 50 * 100}, Voltage.HV, 196); - addCentrifugeToItemStack(GTPP_CombType.LAPOTRON, new ItemStack[] {GTPP_Bees.drop.getStackForType(GTPP_DropType.LAPIS), GT_ModHandler.getModItem(MOD_ID_DC, "item.LapotronDust", 1, 0), GT_ModHandler.getModItem("MagicBees", "wax", 1, 2) }, new int[] {20 * 100, 15 * 100, 40 * 100}, Voltage.HV, 196); - addCentrifugeToMaterial(GTPP_CombType.PYROTHEUM, new Materials[] {Materials.Blaze, Materials.Pyrotheum}, new int[] { 25 * 100, 20 * 100}, new int[] {}, Voltage.HV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.CRYOTHEUM, new Materials[] {Materials.Blizz, Materials.Cryotheum}, new int[] { 25 * 100, 20 * 100}, new int[] {}, Voltage.HV, NI, 30 * 100); - - //Alloy - addProcessGT(GTPP_CombType.REDALLOY, new Materials[] {Materials.RedAlloy, Materials.Redstone, Materials.Copper}, Voltage.LV); - addProcessGT(GTPP_CombType.REDSTONEALLOY, new Materials[] {Materials.RedstoneAlloy, Materials.Redstone, Materials.Silicon, Materials.Coal}, Voltage.LV); - addProcessGT(GTPP_CombType.CONDUCTIVEIRON, new Materials[] {Materials.ConductiveIron, Materials.Silver, Materials.Iron }, Voltage.MV); - addProcessGT(GTPP_CombType.VIBRANTALLOY, new Materials[] {Materials.VibrantAlloy, Materials.Chrome }, Voltage.HV); - addProcessGT(GTPP_CombType.ENERGETICALLOY, new Materials[] {Materials.EnergeticAlloy, Materials.Gold }, Voltage.HV); - addProcessGT(GTPP_CombType.ELECTRICALSTEEL, new Materials[] {Materials.ElectricalSteel, Materials.Silicon, Materials.Coal }, Voltage.LV); - addProcessGT(GTPP_CombType.DARKSTEEL, new Materials[] {Materials.DarkSteel, Materials.Coal }, Voltage.MV); - addProcessGT(GTPP_CombType.PULSATINGIRON, new Materials[] {Materials.PulsatingIron, Materials.Iron }, Voltage.HV); - addProcessGT(GTPP_CombType.STAINLESSSTEEL, new Materials[] {Materials.StainlessSteel, Materials.Iron, Materials.Chrome, Materials.Manganese, Materials.Nickel }, Voltage.HV); - addCentrifugeToItemStack(GTPP_CombType.ENDERIUM, new ItemStack[] {ItemList.FR_RefractoryWax.get(1), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.EnderiumBase, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Enderium, 1) }, new int[] {50 * 100, 30 * 100, 50 * 100 }, Voltage.HV); - if(GT_Mod.gregtechproxy.mNerfedCombs) { - addCentrifugeToMaterial(GTPP_CombType.REDALLOY, new Materials[] {Materials.RedAlloy}, new int[] {100 * 100 }, new int[] {}, Voltage.ULV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.REDSTONEALLOY, new Materials[] {Materials.RedstoneAlloy}, new int[] {100 * 100 }, new int[] {}, Voltage.ULV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.CONDUCTIVEIRON, new Materials[] {Materials.ConductiveIron }, new int[] {90 * 100}, new int[] {}, Voltage.MV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.VIBRANTALLOY, new Materials[] {Materials.VibrantAlloy }, new int[] {70 * 100}, new int[] {}, Voltage.HV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.ENERGETICALLOY, new Materials[] {Materials.EnergeticAlloy }, new int[] {80 * 100}, new int[] {}, Voltage.HV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.ELECTRICALSTEEL, new Materials[] {Materials.ElectricalSteel }, new int[] {100 * 100}, new int[] {}, Voltage.ULV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.DARKSTEEL, new Materials[] {Materials.DarkSteel }, new int[] {100 * 100}, new int[] {}, Voltage.MV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.PULSATINGIRON, new Materials[] {Materials.PulsatingIron }, new int[] {80 * 100}, new int[] {}, Voltage.HV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.STAINLESSSTEEL, new Materials[] {Materials.StainlessSteel }, new int[] {50 * 100}, new int[] {}, Voltage.HV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - }else { - addCentrifugeToMaterial(GTPP_CombType.REDALLOY, new Materials[] {Materials.RedAlloy, Materials.Redstone, Materials.Copper}, new int[] {100 * 100, 75 * 100, 90 * 100 }, new int[] {}, Voltage.ULV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.REDSTONEALLOY, new Materials[] {Materials.RedstoneAlloy, Materials.Redstone, Materials.Silicon, Materials.Coal}, new int[] {100 * 100, 90 * 100, 75 * 100, 75 * 100 }, new int[] {}, Voltage.ULV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.CONDUCTIVEIRON, new Materials[] {Materials.ConductiveIron, Materials.Silver, Materials.Iron }, new int[] {90 * 100, 55 * 100, 65 * 100}, new int[] {}, Voltage.MV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.VIBRANTALLOY, new Materials[] {Materials.VibrantAlloy, Materials.Chrome }, new int[] {70 * 100, 50 * 100}, new int[] {}, Voltage.HV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.ENERGETICALLOY, new Materials[] {Materials.EnergeticAlloy, Materials.Gold }, new int[] {80 * 100, 60 * 100}, new int[] {}, Voltage.HV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.ELECTRICALSTEEL, new Materials[] {Materials.ElectricalSteel, Materials.Silicon, Materials.Coal }, new int[] {100 * 100, 75 * 100, 75 * 100}, new int[] {}, Voltage.ULV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.DARKSTEEL, new Materials[] {Materials.DarkSteel, Materials.Coal }, new int[] {100 * 100, 75 * 100 }, new int[] {}, Voltage.MV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.PULSATINGIRON, new Materials[] {Materials.PulsatingIron, Materials.Iron }, new int[] {80 * 100, 75 * 100 }, new int[] {}, Voltage.HV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.STAINLESSSTEEL, new Materials[] {Materials.StainlessSteel, Materials.Iron, Materials.Chrome, Materials.Manganese, Materials.Nickel }, new int[] {50 * 100, 75 * 100, 55 * 100, 75 * 100, 75 * 100 }, new int[] {}, Voltage.HV, ItemList.FR_RefractoryWax.get(1), 50 * 100); - } - - //Thaumic - addProcessGT(GTPP_CombType.THAUMIUMDUST, new Materials[] {Materials.Thaumium, Materials.Iron }, Voltage.MV); - addCentrifugeToItemStack(GTPP_CombType.THAUMIUMSHARD, new ItemStack[] {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), GT_ModHandler.getModItem("MagicBees", "wax", 1, 0) }, new int[] {20 * 100, 20 * 100, 20 * 100, 20 * 100, 20 * 100, 20 * 100, 50 * 100 }, Voltage.ULV); - addProcessGT(GTPP_CombType.AMBER, new Materials[] {Materials.Amber}, Voltage.LV); - addProcessGT(GTPP_CombType.QUICKSILVER, new Materials[] {Materials.Cinnabar }, Voltage.LV); - addCentrifugeToItemStack(GTPP_CombType.SALISMUNDUS, new ItemStack[] {GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 14), GT_ModHandler.getModItem("MagicBees", "wax", 1, 0)}, new int[] {100 * 100, 50 * 100}, Voltage.MV); - addCentrifugeToItemStack(GTPP_CombType.TAINTED, new ItemStack[] {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[] {15 * 100, 15 * 100, 15 * 100, 15 * 100, 15 * 100, 50 * 100}, Voltage.ULV); - addProcessGT(GTPP_CombType.MITHRIL, new Materials[] {Materials.Mithril, Materials.Platinum }, Voltage.HV); - addProcessGT(GTPP_CombType.ASTRALSILVER, new Materials[] {Materials.AstralSilver, Materials.Silver }, Voltage.HV); - addCentrifugeToMaterial(GTPP_CombType.ASTRALSILVER, new Materials[] {Materials.AstralSilver, Materials.Silver}, new int[] {20 * 100, (GT_Mod.gregtechproxy.mNerfedCombs ? 10:75) * 100}, new int[] {}, Voltage.HV, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), 50 * 100); - addCentrifugeToItemStack(GTPP_CombType.THAUMINITE, new ItemStack[] {GT_ModHandler.getModItem("thaumicbases", "resource", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Thaumium, 1), GT_ModHandler.getModItem("MagicBees", "wax", 1, 0)}, new int[] {20 * 100, 10 * 100, 50 *100}, Voltage.HV); - addProcessGT(GTPP_CombType.SHADOWMETAL, new Materials[] {Materials.Shadow, Materials.ShadowSteel }, Voltage.HV); - addCentrifugeToMaterial(GTPP_CombType.SHADOWMETAL, new Materials[] {Materials.Shadow, Materials.ShadowSteel}, new int[] {(GT_Mod.gregtechproxy.mNerfedCombs ? 20:75) * 100, 10 * 100}, new int[] {}, Voltage.HV, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0) , 50 * 100); - addProcessGT(GTPP_CombType.DIVIDED, new Materials[] {Materials.Iron, Materials.Diamond }, Voltage.HV); - addCentrifugeToItemStack(GTPP_CombType.DIVIDED, new ItemStack[] { 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)}, new int[] {50 * 100, 20 * 100, (GT_Mod.gregtechproxy.mNerfedCombs ? 10:75) * 100, (GT_Mod.gregtechproxy.mNerfedCombs ? 5:55) * 100}, Voltage.HV); - addProcessGT(GTPP_CombType.SPARKELING, new Materials[] {Materials.NetherStar}, Voltage.EV); - addCentrifugeToItemStack(GTPP_CombType.SPARKELING, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("MagicBees", "miscResources", 2, 5), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NetherStar, 1)}, new int[] {50 * 100, 10 * 100, (GT_Mod.gregtechproxy.mNerfedCombs ? 10:50) * 100}, Voltage.EV); - if(GT_Mod.gregtechproxy.mNerfedCombs) { - addCentrifugeToMaterial(GTPP_CombType.THAUMIUMDUST, new Materials[] {Materials.Thaumium }, new int[] {100 * 100}, new int[] {}, Voltage.MV, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), 50 * 100); - addCentrifugeToItemStack(GTPP_CombType.QUICKSILVER, new ItemStack[] {GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "ItemNugget", 1, 5) }, new int[] {50 * 100, 100 * 100 }, Voltage.ULV); - }else { - addCentrifugeToMaterial(GTPP_CombType.THAUMIUMDUST, new Materials[] {Materials.Thaumium, Materials.Iron }, new int[] {100 * 100, 75 * 100 }, new int[] {}, Voltage.MV, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.AMBER, new Materials[] {Materials.Amber }, new int[] {100 * 100 }, new int[] {}, Voltage.ULV, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), 50 * 100); - addCentrifugeToItemStack(GTPP_CombType.QUICKSILVER, new ItemStack[] {GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "ItemNugget", 1, 5), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Cinnabar, 1) }, new int[] {50 * 100, 100 * 100, 85 * 100 }, Voltage.ULV); - addCentrifugeToMaterial(GTPP_CombType.MITHRIL, new Materials[] {Materials.Mithril, Materials.Platinum}, new int[] {75 * 100, 55 * 100}, new int[] {}, Voltage.HV, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), 50 * 100); - } - - //Gem Line - addProcessGT(GTPP_CombType.STONE, new Materials[] {Materials.Soapstone, Materials.Talc, Materials.Apatite, Materials.Phosphate, Materials.TricalciumPhosphate}, Voltage.LV); - addProcessGT(GTPP_CombType.CERTUS, new Materials[] {Materials.CertusQuartz, Materials.Quartzite, Materials.Barite}, Voltage.LV); - addProcessGT(GTPP_CombType.FLUIX, new Materials[] {Materials.Redstone, Materials.CertusQuartz, Materials.NetherQuartz}, Voltage.LV); - addProcessGT(GTPP_CombType.REDSTONE, new Materials[] {Materials.Redstone, Materials.Cinnabar}, Voltage.LV); - addCentrifugeToMaterial(GTPP_CombType.RAREEARTH, new Materials[] {Materials.RareEarth}, new int[] {100 * 100}, new int[] { 1}, Voltage.ULV, NI, 30 * 100); - addProcessGT(GTPP_CombType.LAPIS, new Materials[] {Materials.Lapis, Materials.Sodalite, Materials.Lazurite, Materials.Calcite }, Voltage.LV); - addProcessGT(GTPP_CombType.RUBY, new Materials[] {Materials.Ruby, Materials.Redstone }, Voltage.LV); - addProcessGT(GTPP_CombType.REDGARNET, new Materials[] {Materials.GarnetRed, Materials.GarnetYellow }, Voltage.LV); - addProcessGT(GTPP_CombType.YELLOWGARNET, new Materials[] {Materials.GarnetYellow, Materials.GarnetRed }, Voltage.LV); - addProcessGT(GTPP_CombType.SAPPHIRE, new Materials[] {Materials.Sapphire, Materials.GreenSapphire, Materials.Almandine, Materials.Pyrope}, Voltage.LV); - addProcessGT(GTPP_CombType.DIAMOND, new Materials[] {Materials.Diamond, Materials.Graphite}, Voltage.LV); - addProcessGT(GTPP_CombType.OLIVINE, new Materials[] {Materials.Olivine, Materials.Bentonite, Materials.Magnesite, Materials.Glauconite}, Voltage.LV); - addProcessGT(GTPP_CombType.EMERALD, new Materials[] {Materials.Emerald, Materials.Beryllium, Materials.Thorium}, Voltage.LV); - addProcessGT(GTPP_CombType.FIRESTONE, new Materials[] {Materials.Firestone}, Voltage.LV); - addProcessGT(GTPP_CombType.PYROPE, new Materials[] {Materials.Pyrope, Materials.Aluminium, Materials.Magnesium, Materials.Silicon}, Voltage.LV); - addProcessGT(GTPP_CombType.GROSSULAR, new Materials[] {Materials.Grossular, Materials.Aluminium, Materials.Silicon}, Voltage.LV); - if(GT_Mod.gregtechproxy.mNerfedCombs) { - addCentrifugeToMaterial(GTPP_CombType.STONE, new Materials[] {Materials.Stone, Materials.GraniteBlack, Materials.GraniteRed, Materials.Basalt, Materials.Marble, Materials.Redrock}, new int[] {70 * 100, 50 * 100, 50 * 100, 50 * 100, 50 * 100, 50 * 100}, new int[] { 9, 9, 9, 9, 9, 9}, Voltage.ULV, NI, 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.FLUIX, new Materials[] {Materials.Fluix}, new int[] {25 * 100}, new int[] { 9}, Voltage.ULV, NI, 30 * 100); - }else { - addCentrifugeToMaterial(GTPP_CombType.STONE, new Materials[] {Materials.Soapstone, Materials.Talc, Materials.Apatite, Materials.Phosphate, Materials.TricalciumPhosphate}, new int[] {95 * 100, 90 * 100, 80 * 100, 75 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.CERTUS, new Materials[] {Materials.CertusQuartz, Materials.Quartzite, Materials.Barite}, new int[] {100 * 100, 80 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.FLUIX, new Materials[] {Materials.Fluix, Materials.Redstone, Materials.CertusQuartz, Materials.NetherQuartz}, new int[] {25 * 100, 90 * 100, 90 * 100, 90 * 100}, new int[] { 9, 1, 1, 1}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.REDSTONE, new Materials[] {Materials.Redstone, Materials.Cinnabar }, new int[] {100 * 100, 80 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.LAPIS, new Materials[] {Materials.Lapis, Materials.Sodalite, Materials.Lazurite, Materials.Calcite }, new int[] {100 * 100, 90 * 100, 90 * 100, 85 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.RUBY, new Materials[] {Materials.Ruby, Materials.Redstone }, new int[] {100 * 100, 90 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.REDGARNET, new Materials[] {Materials.GarnetRed, Materials.GarnetYellow }, new int[] {100 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.YELLOWGARNET, new Materials[] {Materials.GarnetYellow, Materials.GarnetRed }, new int[] {100 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.SAPPHIRE, new Materials[] {Materials.Sapphire, Materials.GreenSapphire, Materials.Almandine, Materials.Pyrope}, new int[] {100 * 100, 90 * 100, 90 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.DIAMOND, new Materials[] {Materials.Diamond, Materials.Graphite}, new int[] {100 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.OLIVINE, new Materials[] {Materials.Olivine, Materials.Bentonite, Materials.Magnesite, Materials.Glauconite}, new int[] {100 * 100, 90 * 100, 80 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.EMERALD, new Materials[] {Materials.Emerald, Materials.Beryllium, Materials.Thorium}, new int[] {100 * 100, 85 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.FIRESTONE, new Materials[] {Materials.Firestone}, new int[] {100 * 100}, new int[] {}, Voltage.ULV, ItemList.FR_RefractoryWax.get(1), 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.PYROPE, new Materials[] {Materials.Pyrope, Materials.Aluminium, Materials.Magnesium, Materials.Silicon}, new int[] {100 * 100, 75 * 100, 80 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.GROSSULAR, new Materials[] {Materials.Grossular, Materials.Aluminium, Materials.Silicon}, new int[] {100 * 100, 75 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - } - - // Metals Line - addProcessGT(GTPP_CombType.SLAG, new Materials[] {Materials.Salt, Materials.RockSalt, Materials.Lepidolite, Materials.Spodumene, Materials.Monazite}, Voltage.LV); - addProcessGT(GTPP_CombType.COPPER, new Materials[] {Materials.Copper, Materials.Tetrahedrite, Materials.Chalcopyrite, Materials.Malachite, Materials.Pyrite, Materials.Stibnite}, Voltage.LV); - addProcessGT(GTPP_CombType.TIN, new Materials[] {Materials.Tin, Materials.Cassiterite, Materials.CassiteriteSand}, Voltage.LV); - addProcessGT(GTPP_CombType.LEAD, new Materials[] {Materials.Lead, Materials.Galena}, Voltage.LV); - addProcessGT(GTPP_CombType.NICKEL, new Materials[] {Materials.Nickel, Materials.Garnierite, Materials.Pentlandite, Materials.Cobaltite, Materials.Wulfenite, Materials.Powellite}, Voltage.LV); - addProcessGT(GTPP_CombType.ZINC, new Materials[] {Materials.Zinc, Materials.Sulfur}, Voltage.LV); - addProcessGT(GTPP_CombType.SILVER, new Materials[] {Materials.Silver, Materials.Galena}, Voltage.LV); - addProcessGT(GTPP_CombType.CRYOLITE, new Materials[] {Materials.Cryolite, Materials.Silver}, Voltage.LV); - addProcessGT(GTPP_CombType.GOLD, new Materials[] {Materials.Gold, Materials.Magnetite}, Voltage.LV); - addChemicalProcess(GTPP_CombType.GOLD, Materials.Magnetite, Materials.Gold, Voltage.LV); - addProcessGT(GTPP_CombType.SULFUR, new Materials[] {Materials.Sulfur, Materials.Pyrite, Materials.Sphalerite}, Voltage.LV); - addProcessGT(GTPP_CombType.GALLIUM, new Materials[] {Materials.Gallium, Materials.Niobium}, Voltage.LV); - addProcessGT(GTPP_CombType.ARSENIC, new Materials[] {Materials.Arsenic, Materials.Bismuth, Materials.Antimony}, Voltage.LV); - if (ProcessingModSupport.aEnableGCMarsMats) { - addProcessGT(GTPP_CombType.IRON, new Materials[] {Materials.Iron, Materials.Magnetite, Materials.BrownLimonite, Materials.YellowLimonite, Materials.VanadiumMagnetite, Materials.BandedIron, Materials.Pyrite, Materials.MeteoricIron}, Voltage.LV); - addProcessGT(GTPP_CombType.STEEL, new Materials[] {Materials.Iron, Materials.Magnetite, Materials.YellowLimonite, Materials.BrownLimonite, Materials.VanadiumMagnetite, Materials.BandedIron, Materials.Pyrite, Materials.MeteoricIron, Materials.Molybdenite, Materials.Molybdenum}, Voltage.LV); - }else { - addProcessGT(GTPP_CombType.IRON, new Materials[] {Materials.Iron, Materials.Magnetite, Materials.BrownLimonite, Materials.YellowLimonite, Materials.VanadiumMagnetite, Materials.BandedIron, Materials.Pyrite}, Voltage.LV); - addProcessGT(GTPP_CombType.STEEL, new Materials[] {Materials.Iron, Materials.Magnetite, Materials.YellowLimonite, Materials.BrownLimonite, Materials.VanadiumMagnetite, Materials.BandedIron, Materials.Pyrite, Materials.Molybdenite, Materials.Molybdenum}, Voltage.LV); - } - addChemicalProcess(GTPP_CombType.STEEL, Materials.BrownLimonite, Materials.YellowLimonite, Voltage.LV); - addChemicalProcess(GTPP_CombType.STEEL, Materials.YellowLimonite, Materials.BrownLimonite, Voltage.LV); - if(GT_Mod.gregtechproxy.mNerfedCombs) { - addCentrifugeToMaterial(GTPP_CombType.SLAG, new Materials[] {Materials.Stone, Materials.GraniteBlack, Materials.GraniteRed}, new int[] {50 * 100, 20 * 100, 20 * 100}, new int[] { 9, 9, 9}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.COPPER, new Materials[] {Materials.Copper}, new int[] {70 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.TIN, new Materials[] {Materials.Tin}, new int[] {60 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.LEAD, new Materials[] {Materials.Lead}, new int[] {45 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.IRON, new Materials[] {Materials.Iron}, new int[] {30 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.STEEL, new Materials[] {Materials.Steel}, new int[] {40 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.SILVER, new Materials[] {Materials.Silver}, new int[] {80 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.CRYOLITE, new Materials[] {Materials.Cryolite}, new int[] {80 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - }else { - addCentrifugeToMaterial(GTPP_CombType.SLAG, new Materials[] {Materials.Salt, Materials.RockSalt, Materials.Lepidolite, Materials.Spodumene, Materials.Monazite}, new int[] {100 * 100, 100 * 100, 100 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.COPPER, new Materials[] {Materials.Copper, Materials.Tetrahedrite, Materials.Chalcopyrite, Materials.Malachite, Materials.Pyrite, Materials.Stibnite}, new int[] {100 * 100, 85 * 100, 95 * 100, 80 * 100, 75 * 100, 65 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.TIN, new Materials[] {Materials.Tin, Materials.Cassiterite, Materials.CassiteriteSand}, new int[] {100 * 100, 85 * 100, 65 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.LEAD, new Materials[] {Materials.Lead, Materials.Galena}, new int[] {100 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - if (ProcessingModSupport.aEnableGCMarsMats) { - addCentrifugeToMaterial(GTPP_CombType.IRON, new Materials[] {Materials.Iron, Materials.Magnetite, Materials.BrownLimonite, Materials.YellowLimonite, Materials.VanadiumMagnetite, Materials.MeteoricIron}, new int[] {100 * 100, 90 * 100, 85 * 100, 85 * 100, 80 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.LEAD, new Materials[] {Materials.Steel, Materials.Magnetite, Materials.VanadiumMagnetite, Materials.Molybdenite, Materials.Molybdenum, Materials.MeteoricIron }, new int[] {100 * 100, 90 * 100, 80 * 100, 65 * 100, 65 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - }else { - addCentrifugeToMaterial(GTPP_CombType.IRON, new Materials[] {Materials.Iron, Materials.Magnetite, Materials.BrownLimonite, Materials.YellowLimonite, Materials.VanadiumMagnetite, Materials.BandedIron}, new int[] {100 * 100, 90 * 100, 85 * 100, 85 * 100, 80 * 100, 85 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.STEEL, new Materials[] {Materials.Steel, Materials.Magnetite, Materials.VanadiumMagnetite, Materials.BandedIron, Materials.Molybdenite, Materials.Molybdenum }, new int[] {100 * 100, 90 * 100, 80 * 100, 85 * 100, 65 * 100, 65 * 100 }, new int[] {}, Voltage.ULV, NI, 30 * 100); - } - addCentrifugeToMaterial(GTPP_CombType.NICKEL, new Materials[] {Materials.Nickel, Materials.Garnierite, Materials.Pentlandite, Materials.Cobaltite, Materials.Wulfenite, Materials.Powellite}, new int[] {100 * 100, 85 * 100, 85 * 100, 80 * 100, 75 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.ZINC, new Materials[] {Materials.Zinc, Materials.Sphalerite, Materials.Sulfur}, new int[] {100 * 100, 80 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.SILVER, new Materials[] {Materials.Silver, Materials.Galena}, new int[] {100 * 100, 80 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.CRYOLITE, new Materials[] {Materials.Cryolite, Materials.Silver}, new int[] {100 * 100, 80 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.GOLD, new Materials[] {Materials.Gold}, new int[] {100 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.SULFUR, new Materials[] {Materials.Sulfur, Materials.Pyrite, Materials.Sphalerite}, new int[] {100 * 100, 90 * 100, 80 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.GALLIUM, new Materials[] {Materials.Gallium, Materials.Niobium}, new int[] { 80 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.ARSENIC, new Materials[] {Materials.Arsenic, Materials.Bismuth, Materials.Antimony}, new int[] {80 * 100, 70 * 100, 70 * 100}, new int[] {}, Voltage.ULV , NI, 30 * 100); - } - - // Rare Metals Line - addProcessGT(GTPP_CombType.BAUXITE, new Materials[] {Materials.Bauxite, Materials.Aluminium}, Voltage.LV); - addProcessGT(GTPP_CombType.ALUMINIUM, new Materials[] {Materials.Aluminium, Materials.Bauxite}, Voltage.LV); - addProcessGT(GTPP_CombType.MANGANESE, new Materials[] {Materials.Manganese, Materials.Grossular, Materials.Spessartine, Materials.Pyrolusite, Materials.Tantalite}, Voltage.LV); - addProcessGT(GTPP_CombType.TITANIUM, new Materials[] {Materials.Titanium, Materials.Ilmenite, Materials.Bauxite, Materials.Rutile}, Voltage.EV); - addProcessGT(GTPP_CombType.MAGNESIUM, new Materials[] {Materials.Magnesium, Materials.Magnesite}, Voltage.LV); - addProcessGT(GTPP_CombType.CHROME, new Materials[] {Materials.Chrome, Materials.Ruby, Materials.Chromite, Materials.Redstone, Materials.Neodymium, Materials.Bastnasite}, Voltage.HV); - addProcessGT(GTPP_CombType.TUNGSTEN, new Materials[] {Materials.Tungsten, Materials.Tungstate, Materials.Scheelite, Materials.Lithium}, Voltage.IV); - addProcessGT(GTPP_CombType.PLATINUM, new Materials[] {Materials.Platinum, Materials.Cooperite, Materials.Palladium}, Voltage.HV); - addProcessGT(GTPP_CombType.MOLYBDENUM, new Materials[] {Materials.Molybdenum, Materials.Molybdenite, Materials.Powellite, Materials.Wulfenite}, Voltage.LV); - addChemicalProcess(GTPP_CombType.MOLYBDENUM, Materials.Osmium, Materials.Osmium, Voltage.IV); - addAutoclaveProcess(GTPP_CombType.MOLYBDENUM, Materials.Osmium, Voltage.IV, 5); - addProcessGT(GTPP_CombType.IRIDIUM, new Materials[] {Materials.Iridium, Materials.Osmium}, Voltage.IV); - addProcessGT(GTPP_CombType.OSMIUM, new Materials[] {Materials.Osmium, Materials.Iridium}, Voltage.IV); - addProcessGT(GTPP_CombType.LITHIUM, new Materials[] {Materials.Lithium, Materials.Aluminium}, Voltage.MV); - addProcessGT(GTPP_CombType.SALT, new Materials[] {Materials.Salt, Materials.RockSalt, Materials.Saltpeter}, Voltage.MV); - addProcessGT(GTPP_CombType.ELECTROTINE, new Materials[] {Materials.Electrotine, Materials.Electrum, Materials.Redstone}, Voltage.MV); - if(GT_Mod.gregtechproxy.mNerfedCombs) { - addCentrifugeToItemStack(GTPP_CombType.SALT, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 1), GT_ModHandler.getModItem(MOD_ID_DC, "item.EdibleSalt", 1L, 0), ItemList.FR_Wax.get(1) }, new int[] {100 * 100, 50 * 100, 50 * 100}, Voltage.MV, 160); - }else { - addCentrifugeToMaterial(GTPP_CombType.BAUXITE, new Materials[] {Materials.Bauxite, Materials.Aluminium}, new int[] { 75 * 100, 55 * 100}, new int[] {}, Voltage.ULV , NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.ALUMINIUM, new Materials[] {Materials.Aluminium, Materials.Bauxite}, new int[] { 60 * 100, 80 * 100}, new int[] {}, Voltage.ULV , NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.MANGANESE, new Materials[] {Materials.Manganese, Materials.Grossular, Materials.Spessartine, Materials.Pyrolusite, Materials.Tantalite}, new int[] { 30 * 100, 100 * 100, 100 * 100, 100 * 100, 100 * 100}, new int[] {}, Voltage.ULV , NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.TITANIUM, new Materials[] {Materials.Titanium, Materials.Ilmenite, Materials.Bauxite, Materials.Rutile}, new int[] { 90 * 100, 80 * 100, 75 * 100, 75 * 100}, new int[] {}, Voltage.EV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.MAGNESIUM, new Materials[] {Materials.Magnesium, Materials.Magnesite}, new int[] { 100 * 100, 80 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.CHROME, new Materials[] {Materials.Chrome, Materials.Ruby, Materials.Chromite, Materials.Redstone, Materials.Neodymium, Materials.Bastnasite}, new int[] { 50 * 100, 100 * 100, 50 * 100, 100 * 100, 80 * 100, 80 * 100}, new int[] {}, Voltage.HV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.TUNGSTEN, new Materials[] {Materials.Tungsten, Materials.Tungstate, Materials.Scheelite, Materials.Lithium}, new int[] { 50 * 100, 80 * 100, 75 * 100, 75 * 100}, new int[] {}, Voltage.IV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.PLATINUM, new Materials[] {Materials.Platinum, Materials.Cooperite, Materials.Palladium}, new int[] { 40 * 100, 40 * 100, 40 * 100}, new int[] {}, Voltage.HV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.MOLYBDENUM, new Materials[] {Materials.Molybdenum, Materials.Molybdenite, Materials.Powellite, Materials.Wulfenite}, new int[] { 100 * 100, 80 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.IRIDIUM, new Materials[] {Materials.Iridium, Materials.Osmium}, new int[] { 20 * 100, 15 * 100}, new int[] {}, Voltage.IV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.OSMIUM, new Materials[] {Materials.Osmium, Materials.Iridium}, new int[] { 25 * 100, 15 * 100}, new int[] {}, Voltage.IV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.LITHIUM, new Materials[] {Materials.Lithium, Materials.Aluminium}, new int[] { 85 * 100, 75 * 100}, new int[] {}, Voltage.MV, NI, 30 * 100); - addCentrifugeToItemStack(GTPP_CombType.SALT, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 1), GT_ModHandler.getModItem(MOD_ID_DC, "item.EdibleSalt", 1L, 0),GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.RockSalt, 1), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Saltpeter, 1), ItemList.FR_Wax.get(1) }, new int[] {100 * 100, 50 * 100, 75 * 100, 65 * 100, 50 * 100}, Voltage.MV, 160); - addCentrifugeToMaterial(GTPP_CombType.ELECTROTINE, new Materials[] {Materials.Electrotine, Materials.Electrum, Materials.Redstone}, new int[] { 80, 75, 65}, new int[] {}, Voltage.MV, NI, 30 * 100); - } - - //Radioactive Line - addProcessGT(GTPP_CombType.ALMANDINE, new Materials[] {Materials.Almandine, Materials.Pyrope, Materials.Sapphire, Materials.GreenSapphire}, Voltage.LV); - addProcessGT(GTPP_CombType.URANIUM, new Materials[] {Materials.Uranium, Materials.Pitchblende, Materials.Uraninite, Materials.Uranium235}, Voltage.EV); - addProcessGT(GTPP_CombType.PLUTONIUM,new Materials[] {Materials.Plutonium, Materials.Uranium235}, Voltage.EV); - addChemicalProcess(GTPP_CombType.PLUTONIUM, Materials.Uranium235, Materials.Plutonium, Voltage.EV); - addProcessGT(GTPP_CombType.NAQUADAH,new Materials[] {Materials.Naquadah, Materials.NaquadahEnriched, Materials.Naquadria}, Voltage.IV); - addProcessGT(GTPP_CombType.NAQUADRIA,new Materials[] {Materials.Naquadria, Materials.NaquadahEnriched, Materials.Naquadah}, Voltage.LUV); - addProcessGT(GTPP_CombType.THORIUM,new Materials[] {Materials.Thorium, Materials.Uranium, Materials.Coal}, Voltage.EV); - addProcessGT(GTPP_CombType.LUTETIUM,new Materials[] {Materials.Lutetium, Materials.Thorium}, Voltage.IV); - addProcessGT(GTPP_CombType.AMERICIUM,new Materials[] {Materials.Americium, Materials.Lutetium}, Voltage.LUV); - addProcessGT(GTPP_CombType.NEUTRONIUM,new Materials[] {Materials.Neutronium, Materials.Americium}, Voltage.UV); - if(!GT_Mod.gregtechproxy.mNerfedCombs) { - addCentrifugeToMaterial(GTPP_CombType.ALMANDINE, new Materials[] {Materials.Almandine, Materials.Pyrope, Materials.Sapphire, Materials.GreenSapphire}, new int[] { 90 * 100, 80 * 100, 75 * 100, 75 * 100}, new int[] {}, Voltage.ULV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.URANIUM, new Materials[] {Materials.Uranium, Materials.Pitchblende, Materials.Uraninite, Materials.Uranium235}, new int[] { 50 * 100, 65 * 100, 75 * 100, 50 * 100}, new int[] {}, Voltage.EV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.PLUTONIUM,new Materials[] {Materials.Plutonium, Materials.Uranium235}, new int[] {10, 5}, new int[] {}, Voltage.EV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.NAQUADAH,new Materials[] {Materials.Naquadah, Materials.NaquadahEnriched, Materials.Naquadria}, new int[] {10 * 100, 5 * 100, 5 * 100}, new int[] {}, Voltage.IV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.NAQUADRIA,new Materials[] {Materials.Naquadria, Materials.NaquadahEnriched, Materials.Naquadah}, new int[] {10 * 100, 10 * 100, 15 * 100}, new int[] {}, Voltage.LUV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.THORIUM,new Materials[] {Materials.Thorium, Materials.Uranium, Materials.Coal}, new int[] {75 * 100, 75 * 100 * 100, 95 * 100}, new int[] {}, Voltage.EV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.LUTETIUM,new Materials[] {Materials.Lutetium, Materials.Thorium}, new int[] {35 * 100, 55 * 100}, new int[] {}, Voltage.IV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.AMERICIUM,new Materials[] {Materials.Americium, Materials.Lutetium}, new int[] {25 * 100, 45 * 100}, new int[] {}, Voltage.LUV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.NEUTRONIUM,new Materials[] {Materials.Neutronium, Materials.Americium}, new int[] {15 * 100, 35 * 100}, new int[] {}, Voltage.UV, NI, 30 * 100); - } - - // Twilight - addCentrifugeToItemStack(GTPP_CombType.NAGA, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 4), GT_ModHandler.getModItem(MOD_ID_DC, "item.NagaScaleChip", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.NagaScaleFragment", 1L, 0), ItemList.FR_Wax.get(1)}, new int[]{5 * 100, 33 * 100, 8 * 100, 30 * 100}, Voltage.MV); - addCentrifugeToItemStack(GTPP_CombType.LICH, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 5), GT_ModHandler.getModItem(MOD_ID_DC, "item.LichBoneChip", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.LichBoneFragment", 1L, 0), ItemList.FR_Wax.get(1)}, new int[]{5 * 100, 33 * 100, 8 * 100, 30 * 100}, Voltage.HV); - addCentrifugeToItemStack(GTPP_CombType.HYDRA, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 1), GT_ModHandler.getModItem(MOD_ID_DC, "item.FieryBloodDrop", 1L, 0), GTPP_Bees.drop.getStackForType(GTPP_DropType.HYDRA), ItemList.FR_Wax.get(1)}, new int[]{5 * 100, 33 * 100, 8 * 100, 30 * 100}, Voltage.HV); - addCentrifugeToItemStack(GTPP_CombType.URGHAST, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), GT_ModHandler.getModItem(MOD_ID_DC, "item.CarminiteChip", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.CarminiteFragment", 1L, 0), ItemList.FR_Wax.get(1)}, new int[]{5 * 100, 33 * 100, 8 * 100, 30 * 100}, Voltage.EV); - addCentrifugeToItemStack(GTPP_CombType.SNOWQUEEN, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), GT_ModHandler.getModItem(MOD_ID_DC, "item.SnowQueenBloodDrop", 1L, 0), GTPP_Bees.drop.getStackForType(GTPP_DropType.SNOW_QUEEN), ItemList.FR_Wax.get(1)}, new int[]{5 * 100, 33 * 100, 8 * 100, 30 * 100}, Voltage.EV); - - // HEE - addCentrifugeToItemStack(GTPP_CombType.ENDDUST, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.End), GTPP_Bees.drop.getStackForType(GTPP_DropType.ENDERGOO), }, new int[]{20 * 100, 15 * 100, 10 * 100}, Voltage.HV); - addCentrifugeToItemStack(GTPP_CombType.STARDUST, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.Stardust), GTPP_Bees.drop.getStackForType(GTPP_DropType.ENDERGOO) }, new int[]{20 * 100, 15 * 100, 10 * 100}, Voltage.HV); - addCentrifugeToItemStack(GTPP_CombType.ECTOPLASMA, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.Ectoplasma), GTPP_Bees.drop.getStackForType(GTPP_DropType.ENDERGOO) }, new int[]{25 * 100, 10 * 100, 15 * 100}, Voltage.EV); - addCentrifugeToItemStack(GTPP_CombType.ARCANESHARD, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.Arcaneshard), GTPP_Bees.drop.getStackForType(GTPP_DropType.ENDERGOO) }, new int[]{25 * 100, 10 * 100, 15 * 100}, Voltage.EV); - addCentrifugeToItemStack(GTPP_CombType.DRAGONESSENCE, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.Dragonessence), GTPP_Bees.drop.getStackForType(GTPP_DropType.ENDERGOO) }, new int[]{30 * 100, (int) (7.5 * 100), 20 * 100}, Voltage.IV); - addCentrifugeToItemStack(GTPP_CombType.ENDERMAN, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.Enderman), GTPP_Bees.drop.getStackForType(GTPP_DropType.ENDERGOO) }, new int[]{3000, 750, 2000}, Voltage.IV); - addCentrifugeToItemStack(GTPP_CombType.SILVERFISH, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.Silverfish), GTPP_Bees.drop.getStackForType(GTPP_DropType.ENDERGOO), new ItemStack(Items.spawn_egg, 1,60) }, new int[]{25 * 100, 10 * 100, 20 * 100, 15 * 100}, Voltage.EV); - addProcessGT(GTPP_CombType.ENDIUM,new Materials[] {Materials.HeeEndium}, Voltage.HV); - if(!GT_Mod.gregtechproxy.mNerfedCombs) { - addCentrifugeToMaterial(GTPP_CombType.ENDIUM,new Materials[] {Materials.HeeEndium}, new int[] {50 * 100}, new int[] {}, Voltage.HV, GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), 20 * 100); - } - addCentrifugeToItemStack(GTPP_CombType.RUNEI, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.RuneOfPowerFragment", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.RuneOfAgilityFragment", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.RuneOfVigorFragment", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.RuneOfDefenseFragment", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.RuneOfMagicFragment", 1L, 0) }, new int[]{25 * 100, 5 * 100, 5 * 100, 5 * 100, 5 * 100, 5 * 100}, Voltage.IV); - addCentrifugeToItemStack(GTPP_CombType.RUNEII, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.RuneOfVoidFragment", 1L, 0) }, new int[]{50 * 100, (int) (2.5 * 100)}, Voltage.IV); - addCentrifugeToItemStack(GTPP_CombType.FIREESSENSE, new ItemStack[] { GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.Fireessence), GTPP_Bees.drop.getStackForType(GTPP_DropType.ENDERGOO) }, new int[]{30 * 100, (int) (7.5 * 100), 20 * 100}, Voltage.IV); - //Space Line - addCentrifugeToItemStack(GTPP_CombType.SPACE, new ItemStack[] { ItemList.FR_Wax.get(1L), ItemList.FR_RefractoryWax.get(1L), GTPP_Bees.drop.getStackForType(GTPP_DropType.OXYGEN), GT_ModHandler.getModItem(MOD_ID_DC, "item.CoinSpace", 1L, 0)}, new int[]{50 * 100, 30 * 100, 15 * 100, 5 * 100}, Voltage.HV); - addProcessGT(GTPP_CombType.METEORICIRON, new Materials[] {Materials.MeteoricIron, Materials.Iron}, Voltage.HV); - addProcessGT(GTPP_CombType.DESH, new Materials[] {Materials.Desh, Materials.Titanium}, Voltage.EV); - addProcessGT(GTPP_CombType.LEDOX, new Materials[] {Materials.Ledox, Materials.CallistoIce, Materials.Lead}, Voltage.EV); - addProcessGT(GTPP_CombType.CALLISTOICE, new Materials[] {Materials.CallistoIce, Materials.Ledox, Materials.Lead}, Voltage.IV); - addProcessGT(GTPP_CombType.MYTRYL, new Materials[] {Materials.Mytryl, Materials.Mithril}, Voltage.IV); - addProcessGT(GTPP_CombType.QUANTIUM, new Materials[] {Materials.Quantium, Materials.Osmium}, Voltage.IV); - addProcessGT(GTPP_CombType.ORIHARUKON, new Materials[] {Materials.Oriharukon, Materials.Lead}, Voltage.IV); - addProcessGT(GTPP_CombType.MYSTERIOUSCRYSTAL, new Materials[] {Materials.MysteriousCrystal, Materials.Emerald}, Voltage.LUV); - addCentrifugeToMaterial(GTPP_CombType.MYSTERIOUSCRYSTAL, new Materials[] {Materials.MysteriousCrystal, Materials.Emerald}, new int[] {(GT_Mod.gregtechproxy.mNerfedCombs ? 10 : 40) * 100, (GT_Mod.gregtechproxy.mNerfedCombs ? 15 : 50) * 100}, new int[] {}, Voltage.LUV, 512, NI, 50 * 100); - addProcessGT(GTPP_CombType.BLACKPLUTONIUM, new Materials[] {Materials.BlackPlutonium, Materials.Plutonium}, Voltage.LUV); - addProcessGT(GTPP_CombType.TRINIUM, new Materials[] {Materials.Trinium, Materials.Iridium}, Voltage.ZPM); - if(!GT_Mod.gregtechproxy.mNerfedCombs) { - addCentrifugeToMaterial(GTPP_CombType.METEORICIRON, new Materials[] {Materials.MeteoricIron, Materials.Iron}, new int[] {85 * 100, 100 * 100}, new int[] {}, Voltage.HV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.DESH, new Materials[] {Materials.Desh, Materials.Titanium}, new int[] {75 * 100, 50 * 100}, new int[] {}, Voltage.EV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.LEDOX, new Materials[] {Materials.Ledox, Materials.CallistoIce, Materials.Lead}, new int[] {65 * 100, 55 * 100, 85 *100}, new int[] {}, Voltage.EV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.CALLISTOICE, new Materials[] {Materials.CallistoIce, Materials.Ledox, Materials.Lead}, new int[] {65 * 100, 75 * 100, 100 *100}, new int[] {}, Voltage.IV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.MYTRYL, new Materials[] {Materials.Mytryl, Materials.Mithril}, new int[] {55 * 100, 50 * 100}, new int[] {}, Voltage.IV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.QUANTIUM, new Materials[] {Materials.Quantium, Materials.Osmium}, new int[] {50 * 100, 60 * 100}, new int[] {}, Voltage.IV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.ORIHARUKON, new Materials[] {Materials.Oriharukon, Materials.Lead}, new int[] {50 * 100, 75 * 100}, new int[] {}, Voltage.IV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.BLACKPLUTONIUM, new Materials[] {Materials.BlackPlutonium, Materials.Plutonium}, new int[] {25 * 100, 50 * 100}, new int[] {}, Voltage.LUV, NI, 30 * 100); - addCentrifugeToMaterial(GTPP_CombType.TRINIUM, new Materials[] {Materials.Trinium, Materials.Iridium}, new int[] {35 * 100, 45 * 100}, new int[] {}, Voltage.ZPM, NI, 30 * 100); - } - - //Planet Line - addCentrifugeToItemStack(GTPP_CombType.MOON, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.MoonStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100 }, Voltage.MV, 300); - addCentrifugeToItemStack(GTPP_CombType.MARS, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.MarsStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100 }, Voltage.HV, 300); - addCentrifugeToItemStack(GTPP_CombType.JUPITER, new ItemStack[] { GT_ModHandler.getModItem(MOD_ID_DC, "item.IoStoneDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.EuropaIceDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.EuropaStoneDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.GanymedeStoneDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.CallistoStoneDust", 1L, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.CallistoIce, 1L), ItemList.FR_Wax.get(1L)}, new int[]{30 * 100, 30 * 100, 30 * 100, 30 * 100, 30 * 100, 5 * 100, 50 * 100 }, Voltage.HV, 300); - addCentrifugeToItemStack(GTPP_CombType.MERCURY, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.MercuryCoreDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.MercuryStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100, 30 * 100 }, Voltage.EV, 300); - addCentrifugeToItemStack(GTPP_CombType.VENUS, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.VenusStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100 }, Voltage.EV, 300); - addCentrifugeToItemStack(GTPP_CombType.SATURN, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.EnceladusStoneDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.TitanStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100, 30 * 100 }, Voltage.IV, 300); - addCentrifugeToItemStack(GTPP_CombType.URANUS, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.MirandaStoneDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.OberonStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100, 30 * 100 }, Voltage.IV, 300); - addCentrifugeToItemStack(GTPP_CombType.NEPTUN, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.ProteusStoneDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.TritonStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100, 30 * 100 }, Voltage.IV, 300); - addCentrifugeToItemStack(GTPP_CombType.PLUTO, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.PlutoStoneDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.PlutoIceDust", 1L, 0)}, new int[]{50 * 100, 30 * 100, 30 * 100 }, Voltage.LUV, 300); - addCentrifugeToItemStack(GTPP_CombType.HAUMEA, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.HaumeaStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100 }, Voltage.LUV, 300); - addCentrifugeToItemStack(GTPP_CombType.MAKEMAKE, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.MakeMakeStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100 }, Voltage.LUV, 300); - addCentrifugeToItemStack(GTPP_CombType.CENTAURI, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.CentauriASurfaceDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.CentauriAStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100, 30 * 100 }, Voltage.ZPM, 300); - addCentrifugeToItemStack(GTPP_CombType.TCETI, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.TCetiEStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100 }, Voltage.ZPM, 300); - addCentrifugeToItemStack(GTPP_CombType.BARNARDA, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.BarnardaEStoneDust", 1L, 0), GT_ModHandler.getModItem(MOD_ID_DC, "item.BarnardaFStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100, 30 * 100 }, Voltage.ZPM, 300); - addCentrifugeToItemStack(GTPP_CombType.VEGA, new ItemStack[] {ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem(MOD_ID_DC, "item.VegaBStoneDust", 1L, 0)}, new int[]{50 * 100, 30 * 100 }, Voltage.ZPM, 300); - - //Infinity Line - addCentrifugeToMaterial(GTPP_CombType.COSMICNEUTRONIUM, new Materials[] {Materials.CosmicNeutronium, Materials.Neutronium}, new int[] {(int) (0.5 * 100), 1 * 100}, new int[] {}, Voltage.UHV, 12000, NI, 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.INFINITYCATALYST, new Materials[] {Materials.InfinityCatalyst, Materials.Neutronium}, new int[] {(int) (0.05 * 100), 1 * 100}, new int[] {}, Voltage.UEV, 48000, NI, 50 * 100); - addCentrifugeToMaterial(GTPP_CombType.INFINITY, new Materials[] {Materials.Infinity, Materials.InfinityCatalyst}, new int[] {(int) (0.01 * 100), (int) (0.05 * 100)}, new int[] {}, Voltage.UIV, 96000, NI, 50 * 100); + public void initCombsRecipes() { + addCentrifugeToItemStack(GTPP_CombType.DRAGONBLOOD, new ItemStack[]{GT_ModHandler.getModItem("MagicBees", "wax", 1L, 0), GTPP_Bees.propolis.getStackForType(GTPP_PropolisType.DRAGONBLOOD), GTPP_Bees.drop.getStackForType(GTPP_DropType.DRAGONBLOOD)}, new int[]{30 + * 100, (int) (7.5 * 100), 20 * 100}, Voltage.IV); } - + /** * Currently use for STEEL, GOLD, MOLYBDENUM, PLUTONIUM - * **/ - public void addChemicalProcess(GTPP_CombType comb, Materials aInMaterial, Materials aOutMaterial, Voltage volt){ - if(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4) == NI) return; + **/ + public void addChemicalProcess(GTPP_CombType comb, Materials aInMaterial, Materials aOutMaterial, Voltage volt) { + if (GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4) == NI) + return; RA.addChemicalRecipe(GT_Utility.copyAmount(9, getStackForType(comb)), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), volt.getComplexChemical(), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), NI, volt.getComplexTime(), volt.getChemicalEnergy(), volt.compareTo(Voltage.IV) > 0); } - + /** * Currently only used for GTPP_CombType.MOLYBDENUM - * @param circuitNumber should not conflict with addProcessGT + * + * @param circuitNumber + * should not conflict with addProcessGT * - * **/ - public void addAutoclaveProcess(GTPP_CombType comb, Materials aMaterial, Voltage volt, int circuitNumber){ - if(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4) == NI) return; - RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, getStackForType(comb)), GT_Utility.getIntegratedCircuit(circuitNumber), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+volt.getUUAmplifier())/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), volt.getAutoClaveEnergy(), volt.compareTo(Voltage.HV) > 0); + **/ + public void addAutoclaveProcess(GTPP_CombType comb, Materials aMaterial, Voltage volt, int circuitNumber) { + if (GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4) == NI) + return; + RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, getStackForType(comb)), GT_Utility.getIntegratedCircuit(circuitNumber), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass() + + volt.getUUAmplifier()) + / 10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), volt.getAutoClaveEnergy(), volt.compareTo(Voltage.HV) > 0); } - + /** - * this only adds Chemical and AutoClave process. - * If you need Centrifuge recipe. use addCentrifugeToMaterial or addCentrifugeToItemStack - * @param volt This determine the required Tier of process for this recipes. This decide the required aEU/t, progress time, required additional UU-Matter, requirement of cleanRoom, needed fluid stack for Chemical. - * @param aMaterial result of Material that should be generated by this process. - * **/ + * this only adds Chemical and AutoClave process. If you need Centrifuge + * recipe. use addCentrifugeToMaterial or addCentrifugeToItemStack + * + * @param volt + * This determine the required Tier of process for this recipes. + * This decide the required aEU/t, progress time, required + * additional UU-Matter, requirement of cleanRoom, needed fluid + * stack for Chemical. + * @param aMaterial + * result of Material that should be generated by this process. + **/ public void addProcessGT(GTPP_CombType comb, Materials[] aMaterial, Voltage volt) { ItemStack tComb = getStackForType(comb); - for(int i=0; i < aMaterial.length; i++) { - if(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial[i], 4)!= NI) { + for (int i = 0; i < aMaterial.length; i++) { + if (GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial[i], 4) != NI) { RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial[i], 1), volt.getComplexChemical(), aMaterial[i].mOreByProducts.isEmpty() ? null : aMaterial[i].mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial[i], 4), NI, volt.getComplexTime(), volt.getChemicalEnergy(), volt.compareTo(Voltage.IV) > 0); - RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), GT_Utility.getIntegratedCircuit(i+1), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial[i].getMass()+volt.getUUAmplifier())/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial[i], 4), 10000, (int) (aMaterial[i].getMass() * 128), volt.getAutoClaveEnergy(), volt.compareTo(Voltage.HV) > 0); + RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), GT_Utility.getIntegratedCircuit(i + 1), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial[i].getMass() + volt.getUUAmplifier()) + / 10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial[i], 4), 10000, (int) (aMaterial[i].getMass() + * 128), volt.getAutoClaveEnergy(), volt.compareTo(Voltage.HV) > 0); } } } - + /** - * this method only adds Centrifuge based on Material. If volt is lower than MV than it will also adds forestry centrifuge recipe. - * @param comb BeeComb - * @param aMaterial resulting Material of processing. can be more than 6. but over 6 will be ignored in Gregtech Centrifuge. - * @param chance chance to get result, 10000 == 100% - * @param volt required Voltage Tier for this recipe, this also affect the duration, amount of UU-Matter, and needed liquid type and amount for chemical reactor - * @param stackSize This parameter can be null, in that case stack size will be just 1. This handle the stackSize of the resulting Item, and Also the Type of Item. if this value is multiple of 9, than related Material output will be dust, if this value is multiple of 4 than output will be Small dust, else the output will be Tiny dust - * @param beeWax if this is null, than the comb will product default Bee wax. But if aMaterial is more than 5, beeWax will be ignored in Gregtech Centrifuge. - * @param waxChance have same format like "chance" - **/ + * this method only adds Centrifuge based on Material. If volt is lower than + * MV than it will also adds forestry centrifuge recipe. + * + * @param comb + * BeeComb + * @param aMaterial + * resulting Material of processing. can be more than 6. but over + * 6 will be ignored in Gregtech Centrifuge. + * @param chance + * chance to get result, 10000 == 100% + * @param volt + * required Voltage Tier for this recipe, this also affect the + * duration, amount of UU-Matter, and needed liquid type and + * amount for chemical reactor + * @param stackSize + * This parameter can be null, in that case stack size will be + * just 1. This handle the stackSize of the resulting Item, and + * Also the Type of Item. if this value is multiple of 9, than + * related Material output will be dust, if this value is + * multiple of 4 than output will be Small dust, else the output + * will be Tiny dust + * @param beeWax + * if this is null, than the comb will product default Bee wax. + * But if aMaterial is more than 5, beeWax will be ignored in + * Gregtech Centrifuge. + * @param waxChance + * have same format like "chance" + **/ public void addCentrifugeToMaterial(GTPP_CombType comb, Materials[] aMaterial, int[] chance, int[] stackSize, Voltage volt, ItemStack beeWax, int waxChance) { addCentrifugeToMaterial(comb, aMaterial, chance, stackSize, volt, volt.getSimpleTime(), beeWax, waxChance); } public void addCentrifugeToMaterial(GTPP_CombType comb, Materials[] aMaterial, int[] chance, int[] stackSize, Voltage volt, int duration, ItemStack beeWax, int waxChance) { - ItemStack[] aOutPut = new ItemStack[aMaterial.length+1]; + ItemStack[] aOutPut = new ItemStack[aMaterial.length + 1]; stackSize = Arrays.copyOf(stackSize, aMaterial.length); chance = Arrays.copyOf(chance, aOutPut.length); chance[chance.length - 1] = waxChance; - for(int i = 0; i < (aMaterial.length); i++) { - if(chance[i] == 0) { + for (int i = 0; i < (aMaterial.length); i++) { + if (chance[i] == 0) { continue; } - if(Math.max(1, stackSize[i]) % 9 == 0) { - aOutPut[i] = GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial[i], (Math.max(1, stackSize[i])/9) ); - }else if(Math.max(1, stackSize[i]) % 4 == 0) { - aOutPut[i] = GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial[i], (Math.max(1, stackSize[i])/4) ); - }else { + if (Math.max(1, stackSize[i]) % 9 == 0) { + aOutPut[i] = GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial[i], (Math.max(1, stackSize[i]) / 9)); + } + else if (Math.max(1, stackSize[i]) % 4 == 0) { + aOutPut[i] = GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial[i], (Math.max(1, stackSize[i]) / 4)); + } + else { aOutPut[i] = GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial[i], Math.max(1, stackSize[i])); } } - if(beeWax != NI) { + if (beeWax != NI) { aOutPut[aOutPut.length - 1] = beeWax; - }else { + } + else { aOutPut[aOutPut.length - 1] = ItemList.FR_Wax.get(1); } addCentrifugeToItemStack(comb, aOutPut, chance, volt, duration); } - + /** - * @param volt required Tier of system. If it's lower than MV, it will also add forestry centrifuge. - * @param aItem can be more than 6. but Over 6 will be ignored in Gregtech Centrifuge. + * @param volt + * required Tier of system. If it's lower than MV, it will also + * add forestry centrifuge. + * @param aItem + * can be more than 6. but Over 6 will be ignored in Gregtech + * Centrifuge. **/ public void addCentrifugeToItemStack(GTPP_CombType comb, ItemStack[] aItem, int[] chance, Voltage volt) { addCentrifugeToItemStack(comb, aItem, chance, volt, volt.getSimpleTime()); } public void addCentrifugeToItemStack(GTPP_CombType comb, ItemStack[] aItem, int[] chance, Voltage volt, int duration) { ItemStack tComb = getStackForType(comb); - Builder<ItemStack,Float> Product = new ImmutableMap.Builder<ItemStack, Float>(); - for(int i=0; i < aItem.length; i++) { - if(aItem[i] == NI) { continue; } - Product.put(aItem[i],chance[i]/10000.0f); + Builder<ItemStack, Float> Product = new ImmutableMap.Builder<ItemStack, Float>(); + for (int i = 0; i < aItem.length; i++) { + if (aItem[i] == NI) { + continue; + } + Product.put(aItem[i], chance[i] / 10000.0f); } - if(volt.compareTo(Voltage.MV) < 0 || !GT_Mod.gregtechproxy.mNerfedCombs) { + if (volt.compareTo(Voltage.MV) < 0 || !GT_Mod.gregtechproxy.mNerfedCombs) { RecipeManagers.centrifugeManager.addRecipe(40, tComb, Product.build()); } - + aItem = Arrays.copyOf(aItem, 6); - if(aItem.length > 6) { + if (aItem.length > 6) { chance = Arrays.copyOf(chance, 6); } RA.addCentrifugeRecipe(tComb, NI, NF, NF, aItem[0], aItem[1], aItem[2], aItem[3], aItem[4], aItem[5], chance, duration, volt.getSimpleEnergy()); } - + enum Voltage { - ULV, LV, MV, - HV, EV, IV, - LUV, ZPM, UV, - UHV, UEV, UIV, - UMV, UXV, OpV, - MAX; + ULV, LV, MV, HV, EV, IV, LUV, ZPM, UV, UHV, UEV, UIV, UMV, UXV, OpV, MAX; public int getVoltage() { return (int) V[this.ordinal()]; } - /**@return aEU/t needed for chemical and autoclave process related to the Tier**/ + /** + * @return aEU/t needed for chemical and autoclave process related to + * the Tier + **/ public int getChemicalEnergy() { - return this.getVoltage()*3/4; + return this.getVoltage() * 3 / 4; } public int getAutoClaveEnergy() { - return (int) ((this.getVoltage()*3/4) * (Math.max(1, Math.pow(2, 5 - this.ordinal())))); + return (int) ((this.getVoltage() * 3 / 4) * (Math.max(1, Math.pow(2, 5 - this.ordinal())))); } - /**@return FluidStack needed for chemical process related to the Tier**/ + /** + * @return FluidStack needed for chemical process related to the Tier + **/ public FluidStack getComplexChemical() { - if(this.compareTo(Voltage.MV) < 0) { + if (this.compareTo(Voltage.MV) < 0) { return Materials.Water.getFluid((this.compareTo(Voltage.ULV) > 0) ? 1000 : 500); - }else if(this.compareTo(Voltage.HV) < 0) { + } + else if (this.compareTo(Voltage.HV) < 0) { return GT_ModHandler.getDistilledWater(1000L); - }else if(this.compareTo(Voltage.LUV) < 0) { + } + else if (this.compareTo(Voltage.LUV) < 0) { return Materials.Mercury.getFluid((long) (Math.pow(2, this.compareTo(Voltage.HV)) * L)); - }else if(this.compareTo(Voltage.UHV) < 0) { + } + else if (this.compareTo(Voltage.UHV) < 0) { return FluidRegistry.getFluidStack("mutagen", (int) (Math.pow(2, this.compareTo(Voltage.LUV)) * L)); - }else { + } + else { return NF; } } - /**@return additional required UU-Matter amount for Autoclave process related to the Tier**/ + /** + * @return additional required UU-Matter amount for Autoclave process + * related to the Tier + **/ public int getUUAmplifier() { - return 9 * ( (this.compareTo(Voltage.MV) < 0) ? 1 : this.compareTo(Voltage.MV)); + return 9 * ((this.compareTo(Voltage.MV) < 0) ? 1 : this.compareTo(Voltage.MV)); } - /**@return duration needed for Chemical process related to the Tier**/ + /** @return duration needed for Chemical process related to the Tier **/ public int getComplexTime() { return 64 + this.ordinal() * 32; } - /**@return duration needed for Centrifuge process related to the Tier**/ + /** + * @return duration needed for Centrifuge process related to the Tier + **/ public int getSimpleTime() { - if(!GT_Mod.gregtechproxy.mNerfedCombs) { + if (!GT_Mod.gregtechproxy.mNerfedCombs) { return 96 + this.ordinal() * 32; - } else { - //ULV, LV needs 128ticks, MV need 256 ticks, HV need 384 ticks, EV need 512 ticks, IV need 640 ticks + } + else { + // ULV, LV needs 128ticks, MV need 256 ticks, HV need 384 ticks, + // EV need 512 ticks, IV need 640 ticks return 128 * (Math.max(1, this.ordinal())); } } - /**@return aEU/t needed for Centrifuge process related to the Tier**/ + /** @return aEU/t needed for Centrifuge process related to the Tier **/ public int getSimpleEnergy() { - if(this == Voltage.ULV) { + if (this == Voltage.ULV) { return 5; - }else { + } + else { return (int) (this.getVoltage() / 16) * 15; } } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java index 3cd65969d8..3450c49570 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java @@ -1,30 +1,24 @@ package gtPlusPlus.xmod.forestry.bees.items.output; -import static gregtech.api.enums.GT_Values.MOD_ID_DC; - import java.util.List; -import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; -import forestry.api.recipes.RecipeManagers; import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.util.GT_ModHandler; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.material.ELEMENT.STANDALONE; import gtPlusPlus.xmod.forestry.bees.handler.GTPP_DropType; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; public class GTPP_Drop extends Item { - + @SideOnly(Side.CLIENT) private IIcon secondIcon; @@ -37,18 +31,18 @@ public class GTPP_Drop extends Item { } public ItemStack getStackForType(GTPP_DropType type) { - return new ItemStack(this, 1, type.ordinal()); + return new ItemStack(this, 1, type.mID); } public ItemStack getStackForType(GTPP_DropType type, int count) { - return new ItemStack(this, count, type.ordinal()); + return new ItemStack(this, count, type.mID); } @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tabs, List list) { for (GTPP_DropType type : GTPP_DropType.values()) { - if (type.showInList) { + if (type.mShowInList) { list.add(this.getStackForType(type)); } } @@ -66,7 +60,7 @@ public class GTPP_Drop extends Item { } @Override - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("forestry:honeyDrop.0"); this.secondIcon = par1IconRegister.registerIcon("forestry:honeyDrop.1"); @@ -80,11 +74,10 @@ public class GTPP_Drop extends Item { @Override @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { - int meta = Math.max(0, Math.min(GTPP_DropType.values().length - 1, stack.getItemDamage())); - int colour = GTPP_DropType.values()[meta].getColours()[0]; + int colour = GTPP_DropType.get(stack.getItemDamage()).getColours()[0]; if (pass >= 1) { - colour = GTPP_DropType.values()[meta].getColours()[1]; + colour = GTPP_DropType.get(stack.getItemDamage()).getColours()[1]; } return colour; @@ -92,33 +85,13 @@ public class GTPP_Drop extends Item { @Override public String getItemStackDisplayName(ItemStack stack) { - return GTPP_DropType.values()[stack.getItemDamage()].getName(); + return GTPP_DropType.get(stack.getItemDamage()).getName(); } public void initDropsRecipes() { ItemStack tDrop; - tDrop = getStackForType(GTPP_DropType.OIL); - addProcessLV(tDrop, Materials.OilHeavy.getFluid(100L), GT_ModHandler.getModItem("Forestry", "propolis", 1L, 0), 3000, 8); - RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, Materials.OilHeavy.getFluid(100L), GT_ModHandler.getModItem("Forestry", "propolis", 1L, 0), 30); - tDrop = getStackForType(GTPP_DropType.COOLANT); - addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 0), 3000, 8); - RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 0), 30); - tDrop = getStackForType(GTPP_DropType.HOT_COOLANT); - addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 3000, 8); - RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 30); - tDrop = getStackForType(GTPP_DropType.SNOW_QUEEN); - addProcessMV(tDrop, Materials.FierySteel.getFluid(200L), GT_ModHandler.getModItem(MOD_ID_DC, "SnowQueenBloodDrop", 1L, 0), 1500, 48); - tDrop = getStackForType(GTPP_DropType.LAPIS); - addProcessLV(tDrop,new FluidStack(FluidRegistry.getFluid("ic2coolant"), 200), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), 5000, 1200,2); - RecipeManagers.squeezerManager.addRecipe(400, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), 30); - tDrop = getStackForType(GTPP_DropType.HYDRA); - addProcessMV(tDrop, Materials.FierySteel.getFluid(50L), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 3000, 8); - tDrop = getStackForType(GTPP_DropType.OXYGEN); - addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("liquidoxygen"), 100), GT_ModHandler.getModItem("ExtraBees", "propolis", 1L, 2), 250, 1200,8); - RecipeManagers.squeezerManager.addRecipe(400, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("ExtraBees", "propolis", 1L, 2), 30); - tDrop = getStackForType(GTPP_DropType.ENDERGOO); - if ( Loader.isModLoaded("HardcoreEnderExpansion")) - addProcessHV(tDrop, new FluidStack(FluidRegistry.getFluid("endergoo"), 500), GT_Values.NI ,1000); + tDrop = getStackForType(GTPP_DropType.DRAGONBLOOD); + addProcessHV(tDrop, new FluidStack(STANDALONE.DRAGON_METAL.getFluid(), 4), GT_Values.NI, 1000); } public void addProcessLV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) { diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Pollen.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Pollen.java index f7766b2aff..9d13ca7ebd 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Pollen.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Pollen.java @@ -28,18 +28,18 @@ public class GTPP_Pollen extends Item { } public ItemStack getStackForType(GTPP_PollenType type) { - return new ItemStack(this, 1, type.ordinal()); + return new ItemStack(this, 1, type.mID); } public ItemStack getStackForType(GTPP_PollenType type, int count) { - return new ItemStack(this, count, type.ordinal()); + return new ItemStack(this, count, type.mID); } @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tabs, List list) { for (GTPP_PollenType type : GTPP_PollenType.values()) { - if (type.showInList) { + if (type.mShowInList) { list.add(this.getStackForType(type)); } } @@ -71,11 +71,10 @@ public class GTPP_Pollen extends Item { @Override @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { - int meta = Math.max(0, Math.min(GTPP_PollenType.values().length - 1, stack.getItemDamage())); - int colour = GTPP_PollenType.values()[meta].getColours()[0]; + int colour = GTPP_PollenType.get(stack.getItemDamage()).getColours()[0]; if (pass >= 1) { - colour = GTPP_PollenType.values()[meta].getColours()[1]; + colour = GTPP_PollenType.get(stack.getItemDamage()).getColours()[1]; } return colour; @@ -83,7 +82,7 @@ public class GTPP_Pollen extends Item { @Override public String getItemStackDisplayName(ItemStack stack) { - return GTPP_PollenType.values()[stack.getItemDamage()].getName(); + return GTPP_PollenType.get(stack.getItemDamage()).getName(); } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java index 279c6b92fc..8d61801d20 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java @@ -1,16 +1,13 @@ package gtPlusPlus.xmod.forestry.bees.items.output; -import static gregtech.api.enums.GT_Values.MOD_ID_DC; - import java.util.List; 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.*; +import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.forestry.bees.handler.GTPP_PropolisType; import net.minecraft.client.renderer.texture.IIconRegister; @@ -34,18 +31,18 @@ public class GTPP_Propolis extends Item { } public ItemStack getStackForType(GTPP_PropolisType type) { - return new ItemStack(this, 1, type.ordinal()); + return new ItemStack(this, 1, type.mID); } public ItemStack getStackForType(GTPP_PropolisType type, int count) { - return new ItemStack(this, count, type.ordinal()); + return new ItemStack(this, count, type.mID); } @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tabs, List list) { for (GTPP_PropolisType type : GTPP_PropolisType.values()) { - if (type.showInList) { + if (type.mShowInList) { list.add(this.getStackForType(type)); } } @@ -66,35 +63,20 @@ public class GTPP_Propolis extends Item { @Override @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { - int meta = Math.max(0, Math.min(GTPP_PropolisType.values().length - 1, stack.getItemDamage())); - return GTPP_PropolisType.values()[meta].getColours(); + return GTPP_PropolisType.get(stack.getItemDamage()).getColours(); } @Override public String getItemStackDisplayName(ItemStack stack) { - return GTPP_PropolisType.values()[stack.getItemDamage()].getName(); + return GTPP_PropolisType.get(stack.getItemDamage()).getName(); } + public void initPropolisRecipes() { ItemStack tPropolis; - tPropolis = getStackForType(GTPP_PropolisType.End); - addProcessHV(tPropolis, GT_ModHandler.getModItem("HardcoreEnderExpansion", "end_powder", 1, 0)); - tPropolis = getStackForType(GTPP_PropolisType.Stardust); - addProcessHV(tPropolis, GT_ModHandler.getModItem("HardcoreEnderExpansion", "stardust", 1, 0)); - tPropolis = getStackForType(GTPP_PropolisType.Ectoplasma); - addProcessEV(tPropolis, GT_ModHandler.getModItem(MOD_ID_DC, "item.EctoplasmaChip", 1, 0)); - tPropolis = getStackForType(GTPP_PropolisType.Arcaneshard); - addProcessEV(tPropolis, GT_ModHandler.getModItem(MOD_ID_DC, "item.ArcaneShardChip", 1, 0)); - tPropolis = getStackForType(GTPP_PropolisType.Dragonessence); + + tPropolis = getStackForType(GTPP_PropolisType.DRAGONBLOOD); addProcessIV(tPropolis, GT_ModHandler.getModItem("HardcoreEnderExpansion", "essence", 16, 0)); - tPropolis = getStackForType(GTPP_PropolisType.Enderman); - addProcessIV(tPropolis, GT_ModHandler.getModItem("HardcoreEnderExpansion", "enderman_head", 1, 0)); - tPropolis = getStackForType(GTPP_PropolisType.Silverfish); - addProcessEV(tPropolis, GT_ModHandler.getModItem("HardcoreEnderExpansion", "silverfish_blood", 1, 0)); - tPropolis = getStackForType(GTPP_PropolisType.Endium); - addProcessHV(tPropolis, GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.HeeEndium, 1)); - tPropolis = getStackForType(GTPP_PropolisType.Fireessence); - addProcessIV(tPropolis, GT_ModHandler.getModItem("HardcoreEnderExpansion", "essence", 16, 1)); //addRecipe(tDrop, aOutput, aOutput2, aChance, aDuration, aEUt); } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_AlleleBeeSpecies.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_AlleleBeeSpecies.java new file mode 100644 index 0000000000..222b1215eb --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_AlleleBeeSpecies.java @@ -0,0 +1,40 @@ +package gtPlusPlus.xmod.forestry.bees.registry; + +import forestry.api.apiculture.EnumBeeChromosome; +import forestry.api.apiculture.IAlleleBeeSpeciesCustom; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IClassification; +import forestry.apiculture.genetics.alleles.AlleleBeeSpecies; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class GTPP_AlleleBeeSpecies extends AlleleBeeSpecies { + + public GTPP_AlleleBeeSpecies(String uid, boolean dominant, String unlocalizedName, String authority, String unlocalizedDescription, IClassification branch, String binomial, int primaryColor, int secondaryColor) { + super(uid, unlocalizedName, authority, unlocalizedDescription, dominant, branch, binomial, primaryColor, secondaryColor); + AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPECIES); + } + + @Override + public IAlleleBeeSpeciesCustom addProduct(ItemStack product, Float chance) { + if (product == null || product.getItem() == null) { + product = new ItemStack(Items.boat); + } + if (chance <= 0.0f || chance > 1.0f) { + chance = 0.1f; + } + return super.addProduct(product, chance); + } + + @Override + public IAlleleBeeSpeciesCustom addSpecialty(ItemStack specialty, Float chance) { + if (specialty == null || specialty.getItem() == null) { + specialty = new ItemStack(Items.boat); + } + if (chance <= 0.0f || chance > 1.0f) { + chance = 0.1f; + } + return super.addSpecialty(specialty, chance); + } + +} diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java index ca11b00cff..7fcf4bf98f 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BeeDefinition.java @@ -2,20 +2,14 @@ package gtPlusPlus.xmod.forestry.bees.registry; import static forestry.api.apiculture.EnumBeeChromosome.*; import static forestry.api.core.EnumHumidity.ARID; -import static forestry.api.core.EnumHumidity.DAMP; -import static forestry.api.core.EnumTemperature.*; -import java.awt.Color; import java.lang.reflect.Field; import java.util.Arrays; import java.util.Locale; import java.util.function.Consumer; -import org.apache.commons.lang3.reflect.FieldUtils; import org.apache.commons.lang3.text.WordUtils; -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.registry.GameRegistry; import forestry.api.apiculture.*; import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; @@ -23,166 +17,82 @@ import forestry.api.genetics.*; import forestry.apiculture.genetics.*; import forestry.apiculture.genetics.alleles.AlleleEffect; import forestry.core.genetics.alleles.AlleleHelper; -import forestry.core.genetics.alleles.EnumAllele.*; -import gregtech.api.GregTech_API; +import forestry.core.genetics.alleles.EnumAllele.Lifespan; +import forestry.core.genetics.alleles.EnumAllele.Tolerance; import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_ModHandler; -import gregtech.common.bees.GT_AlleleBeeSpecies; -import gregtech.common.bees.GT_Bee_Mutation; import gregtech.common.items.CombType; -import gregtech.loaders.misc.GT_BeeDefinition; -import gregtech.loaders.misc.GT_BranchDefinition; +import gregtech.loaders.misc.GT_Bees; +import gtPlusPlus.core.material.ELEMENT.STANDALONE; +import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.reflect.ReflectionUtils; +import gtPlusPlus.xmod.forestry.bees.handler.GTPP_CombType; import net.minecraft.item.ItemStack; +import net.minecraftforge.common.BiomeDictionary.Type; public enum GTPP_BeeDefinition implements IBeeDefinition { - DIVIDED(GT_BranchDefinition.THAUMIC, "Unstable", true, new Color(0xF0F0F0), new Color(0xDCDCDC), - beeSpecies -> { - beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 61), 0.20f); - beeSpecies.addSpecialty(GTPP_Bees.combs.getStackForType(CombType.DIVIDED), 0.125f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(EnumTemperature.NORMAL); - beeSpecies.setHasEffect(); - }, - template -> { - AlleleHelper.instance.set(template, SPEED, Speed.SLOWER); - AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORT); - AlleleHelper.instance.set(template, FLOWERING, Flowering.SLOW); - AlleleHelper.instance.set(template, NOCTURNAL, true); - }, - dis -> { - IBeeMutationCustom tMutation = dis.registerMutation(DIAMOND, IRON, 3); - if (Loader.isModLoaded("ExtraUtilities")) - tMutation.requireResource(GameRegistry.findBlock("ExtraUtilities", "decorativeBlock1"), 5); - } - ), - NEUTRONIUM(GT_BranchDefinition.RADIOACTIVE, "Neutronium", false, new Color(0xFFF0F0), new Color(0xFAFAFA), - beeSpecies -> { - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CombType.NEUTRONIUM), 0.0001f); - beeSpecies.setHumidity(DAMP); - beeSpecies.setTemperature(HELLISH); - beeSpecies.setHasEffect(); - }, - template -> { - AlleleHelper.instance.set(template, SPEED, Speed.SLOWEST); - AlleleHelper.instance.set(template, LIFESPAN, Lifespan.LONGEST); - AlleleHelper.instance.set(template, NOCTURNAL, true); - }, - dis -> { - IMutationCustom tMutation = dis.registerMutation(NAQUADRIA, AMERICIUM, 1, 2).setIsSecret(); - tMutation.requireResource(GregTech_API.sBlockMetal5, 2); - } - ), - DRAGONESSENCE(GT_BranchDefinition.HEE, "Dragonessence", true, new Color(0xFFA12B), new Color(0x911ECE), + DRAGONBLOOD(GTPP_BranchDefinition.LEGENDARY, "Dragon Blood", true, Utils.rgbtoHexValue(220, 20, 20), Utils.rgbtoHexValue(20, 20, 20), beeSpecies -> { beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 8), 0.30f); - beeSpecies.addSpecialty(GTPP_Bees.combs.getStackForType(CombType.DRAGONESSENCE), 0.10f); + beeSpecies.addSpecialty(GTPP_Bees.combs.getStackForType(GTPP_CombType.DRAGONBLOOD), 0.10f); beeSpecies.setHumidity(ARID); beeSpecies.setTemperature(EnumTemperature.NORMAL); beeSpecies.setHasEffect(); }, template -> { AlleleHelper.instance.set(template, LIFESPAN, Lifespan.LONGER); - AlleleHelper.instance.set(template, EFFECT, AlleleEffect.effectBeatific); + AlleleHelper.instance.set(template, EFFECT, AlleleEffect.effectAggressive); AlleleHelper.instance.set(template, TEMPERATURE_TOLERANCE, Tolerance.BOTH_3); AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.BOTH_3); }, dis -> { - IBeeMutationCustom tMutation = dis.registerMutation(GT_BeeDefinition.ECTOPLASMA, GT_BeeDefinition.ARCANESHARDS, 4); + IBeeMutationCustom tMutation = dis.registerMutation("DRAGONESSENCE", "NEUTRONIUM", 2); tMutation.restrictHumidity(ARID); - if (Loader.isModLoaded("HardcoreEnderExpansion")) - tMutation.requireResource(GameRegistry.findBlock("HardcoreEnderExpansion", "essence_altar"), 1); - tMutation.addMutationCondition(new GTPP_Bees.DimensionMutationCondition(1, "End"));//End Dim + tMutation.requireResource(STANDALONE.DRAGON_METAL.getBlock(), 1); + tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(1, "End"));//End Dim } ), - TRINIUM(GT_BranchDefinition.SPACE, "Trinium", false, new Color(0xB0E0E6), new Color(0xC8C8D2), + FORCE(GTPP_BranchDefinition.LEGENDARY, "Force", true, Utils.rgbtoHexValue(250, 250, 20), Utils.rgbtoHexValue(200, 200, 5), beeSpecies -> { - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CombType.TRINIUM), 0.75f); - beeSpecies.addSpecialty(GTPP_Bees.combs.getStackForType(CombType.QUANTIUM), 0.10f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f); + beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALT), 0.15f); + beeSpecies.addSpecialty(GTPP_Bees.combs.getStackForType(GTPP_CombType.FORCE), 0.10f); beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(COLD); - beeSpecies.setNocturnal(); - beeSpecies.setHasEffect(); - }, - template -> AlleleHelper.instance.set(template, SPEED, GTPP_Bees.speedBlinding), - new Consumer<GTPP_BeeDefinition>() { - @Override - public void accept(GTPP_BeeDefinition dis) { - IBeeMutationCustom tMutation = dis.registerMutation(ENCELADUS, IRIDIUM, 4); - tMutation.requireResource(GregTech_API.sBlockMetal4, 9); - tMutation.addMutationCondition(new GTPP_Bees.DimensionMutationCondition(41, "Enceladus"));//Enceladus Dim - } - } - ), - - //Infinity Line - COSMICNEUTRONIUM(GT_BranchDefinition.PLANET, "CosmicNeutronium", false, new Color(0x484848), new Color(0x323232), - beeSpecies -> { - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CombType.COSMICNEUTRONIUM), 0.25f); - beeSpecies.setHumidity(DAMP); - beeSpecies.setTemperature(ICY); - beeSpecies.setNocturnal(); - beeSpecies.setHasEffect(); - }, - template -> AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTEST), - dis -> { - IBeeMutationCustom tMutation = dis.registerMutation(NEUTRONIUM, BARNARDAF, 7, 10); - if (Loader.isModLoaded("Avaritia")) - tMutation.requireResource(GameRegistry.findBlock("Avaritia", "Resource_Block"), 0); - } - ), - INFINITYCATALYST(GT_BranchDefinition.PLANET, "InfinityCatalyst", false, new Color(0xFFFFFF), new Color(0xFFFFFF), - beeSpecies -> { - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CombType.INFINITYCATALYST), 0.0000005f); - beeSpecies.setHumidity(DAMP); - beeSpecies.setTemperature(HELLISH); - beeSpecies.setNocturnal(); + beeSpecies.setTemperature(EnumTemperature.HOT); beeSpecies.setHasEffect(); }, template -> { - AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTEST); - AlleleHelper.instance.set(template, EFFECT, getEffect(EXTRABEES, "blindness")); + AlleleHelper.instance.set(template, LIFESPAN, Lifespan.NORMAL); + AlleleHelper.instance.set(template, EFFECT, AlleleEffect.effectAggressive); + AlleleHelper.instance.set(template, TEMPERATURE_TOLERANCE, Tolerance.BOTH_1); + AlleleHelper.instance.set(template, HUMIDITY_TOLERANCE, Tolerance.BOTH_1); }, dis -> { - IMutationCustom tMutation = dis.registerMutation(DOB, COSMICNEUTRONIUM, 3, 10).setIsSecret(); - if (Loader.isModLoaded("Avaritia")) - tMutation.requireResource(GameRegistry.findBlock("Avaritia", "Resource_Block"), 1); - } - ), - INFINITY(GT_BranchDefinition.PLANET, "Infinity", false, new Color(0xFFFFFF), new Color(0xFFFFFF), - beeSpecies -> { - beeSpecies.addProduct(GTPP_Bees.combs.getStackForType(CombType.INFINITY), 0.00000005f); - beeSpecies.setHumidity(EnumHumidity.NORMAL); - beeSpecies.setTemperature(ICY); - beeSpecies.setNocturnal(); - beeSpecies.setHasEffect(); - }, - template -> AlleleHelper.instance.set(template, LIFESPAN, Lifespan.SHORTEST), - dis -> { - IBeeMutationCustom tMutation = dis.registerMutation(INFINITYCATALYST, COSMICNEUTRONIUM, 1, 100); - if (Loader.isModLoaded("avaritiaddons")) - tMutation.requireResource(GameRegistry.findBlock("avaritiaddons", "InfinityChest"), 0); + IBeeMutationCustom tMutation = dis.registerMutation("STEEL", "GOLD", 10); + tMutation.restrictHumidity(ARID); + tMutation.restrictBiomeType(Type.HOT); } ), + ; - private final GT_BranchDefinition branch; - private final GT_AlleleBeeSpecies species; - private final Consumer<GT_AlleleBeeSpecies> mSpeciesProperties; + private final GTPP_BranchDefinition branch; + private final GTPP_AlleleBeeSpecies species; + private final Consumer<GTPP_AlleleBeeSpecies> mSpeciesProperties; private final Consumer<IAllele[]> mAlleles; private final Consumer<GTPP_BeeDefinition> mMutations; private IAllele[] template; private IBeeGenome genome; - GTPP_BeeDefinition(GT_BranchDefinition branch, + GTPP_BeeDefinition(GTPP_BranchDefinition branch, String binomial, boolean dominant, - Color primary, - Color secondary, - Consumer<GT_AlleleBeeSpecies> aSpeciesProperties, + int primary, + int secondary, + Consumer<GTPP_AlleleBeeSpecies> aSpeciesProperties, Consumer<IAllele[]> aAlleles, Consumer<GTPP_BeeDefinition> aMutations ) { @@ -190,7 +100,7 @@ public enum GTPP_BeeDefinition implements IBeeDefinition { this.mMutations = aMutations; this.mSpeciesProperties = aSpeciesProperties; String lowercaseName = this.toString().toLowerCase(Locale.ENGLISH); - String species = WordUtils.capitalize(lowercaseName); + String species = WordUtils.capitalize(binomial); String uid = "gtpp.bee.species" + species; String description = "for.description." + species; @@ -198,7 +108,7 @@ public enum GTPP_BeeDefinition implements IBeeDefinition { GT_LanguageManager.addStringLocalization("for.bees.species." + lowercaseName, species, true); this.branch = branch; - this.species = new GT_AlleleBeeSpecies(uid, dominant, name, "GT++", description, branch.getBranch(), binomial, primary, secondary); + this.species = new GTPP_AlleleBeeSpecies(uid, dominant, name, "GT++", description, branch.getBranch(), binomial, primary, secondary); } public static void initBees() { @@ -281,8 +191,8 @@ public enum GTPP_BeeDefinition implements IBeeDefinition { } - protected final void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) { - this.mSpeciesProperties.accept(beeSpecies); + protected final void setSpeciesProperties(GTPP_AlleleBeeSpecies species2) { + this.mSpeciesProperties.accept(species2); } protected final void setAlleles(IAllele[] template) { @@ -330,7 +240,7 @@ public enum GTPP_BeeDefinition implements IBeeDefinition { * This new function allows Mutation percentages under 1%. Set them as a fraction with chance / chancedivider */ protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance, float chancedivider) { - return new GT_Bee_Mutation(parent1, parent2, this.getTemplate(), chance, chancedivider); + return new GTPP_Bee_Mutation(parent1, parent2, this.getTemplate(), chance, chancedivider); } protected final IBeeMutationCustom registerMutation(GTPP_BeeDefinition parent1, IAlleleBeeSpecies parent2, int chance, float chancedivider) { @@ -373,20 +283,19 @@ public enum GTPP_BeeDefinition implements IBeeDefinition { return new BeeVariation.RainResist(this); } + private static final Class sGtBees = ReflectionUtils.getClass("gregtech.loaders.misc.GT_BeeDefinition"); + public static IAlleleBeeSpecies getGregtechBeeType(String name){ - Class<?> gtBees; try { - Class gtBeeTypes = Class.forName("gregtech.loaders.misc.GT_BeeDefinition"); - Enum gtBeeEnumObject = Enum.valueOf(gtBeeTypes, name); - Field gtBeesField = FieldUtils.getDeclaredField(gtBeeTypes, "species", true); - gtBeesField.setAccessible(true); - ReflectionUtils.makeFieldAccessible(gtBeesField); - Object beeType = gtBeesField.get(gtBeeEnumObject); - return (IAlleleBeeSpecies) beeType; - } - catch (ClassNotFoundException | IllegalArgumentException | IllegalAccessException e) { - e.printStackTrace(); - } - return null; + Enum aBeeObject = ReflectionUtils.getEnum(sGtBees, name); + Field gtBeesField = ReflectionUtils.getField(sGtBees, "species"); + IAlleleBeeSpecies beeType = ReflectionUtils.getFieldValue(gtBeesField, aBeeObject); + return beeType != null ? beeType : null; + } + catch (Throwable t) { + t.printStackTrace(); + return null; + } + } } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bee_Mutation.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bee_Mutation.java new file mode 100644 index 0000000000..92a2a9fb30 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bee_Mutation.java @@ -0,0 +1,80 @@ +package gtPlusPlus.xmod.forestry.bees.registry; + +import forestry.api.apiculture.*; +import forestry.api.core.IClimateProvider; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IGenome; +import forestry.api.genetics.IMutationCondition; +import forestry.apiculture.genetics.BeeMutation; +import forestry.core.genetics.mutations.Mutation; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.World; +import org.apache.commons.lang3.reflect.FieldUtils; + +import java.lang.reflect.Field; +import java.util.List; + + +public class GTPP_Bee_Mutation extends BeeMutation { + + private final float split; + + public GTPP_Bee_Mutation(IAlleleBeeSpecies bee0, IAlleleBeeSpecies bee1, IAllele[] result, int chance, float split) { + super(bee0, bee1, result, chance); + this.split = split; + BeeManager.beeRoot.registerMutation(this); + } + + @Override + public float getBaseChance() { + return super.getBaseChance() / split; + } + + @Override + public float getChance(IBeeHousing housing, IAlleleBeeSpecies allele0, IAlleleBeeSpecies allele1, IBeeGenome genome0, IBeeGenome genome1) { + World world = housing != null ? housing.getWorld() : null; + ChunkCoordinates housingCoordinates = housing != null ? housing.getCoordinates() : null; + int x = housingCoordinates != null ? housingCoordinates.posX : 0; + int y = housingCoordinates != null ? housingCoordinates.posY : 0; + int z = housingCoordinates != null ? housingCoordinates.posZ : 0; + + float processedChance = getBasicChance(world, x, y, z, allele0, allele1, genome0, genome1, housing); + + if (processedChance <= 0f) { + return 0f; + } + + IBeeModifier beeHousingModifier = BeeManager.beeRoot.createBeeHousingModifier(housing); + IBeeModifier beeModeModifier = BeeManager.beeRoot.getBeekeepingMode(world).getBeeModifier(); + + processedChance *= beeHousingModifier.getMutationModifier(genome0, genome1, processedChance); + processedChance *= beeModeModifier.getMutationModifier(genome0, genome1, processedChance); + + return processedChance; + } + + @SuppressWarnings("unchecked") + private float getBasicChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1, IClimateProvider climate) { + float mutationChance = this.getBaseChance(); + List<IMutationCondition> mutationConditions = null; + Field f = FieldUtils.getDeclaredField(Mutation.class, "mutationConditions", true); + if (f == null) + f = FieldUtils.getField(Mutation.class, "mutationConditions", true); + if (f == null) + return mutationChance; + try { + mutationConditions = f.get(this) instanceof List ? (List<IMutationCondition>) f.get(this) : null; + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + + if (mutationConditions != null) + for (IMutationCondition mutationCondition : mutationConditions) { + mutationChance *= mutationCondition.getChance(world, x, y, z, allele0, allele1, genome0, genome1, climate); + if (mutationChance == 0) { + return 0; + } + } + return mutationChance; + } +} diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java index 35dbb1ded6..68da927a1c 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_Bees.java @@ -2,8 +2,13 @@ package gtPlusPlus.xmod.forestry.bees.registry; import static gregtech.api.enums.GT_Values.MOD_ID_FR; +import java.util.HashMap; + import cpw.mods.fml.common.Loader; import gregtech.GT_Mod; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.reflect.ReflectionUtils; +import gtPlusPlus.xmod.forestry.bees.handler.*; import gtPlusPlus.xmod.forestry.bees.items.output.*; public class GTPP_Bees { @@ -18,9 +23,18 @@ public class GTPP_Bees { public static GTPP_Pollen pollen; public static GTPP_Drop drop; public static GTPP_Comb combs; + + public static HashMap<Integer, GTPP_PropolisType> sPropolisMappings = new HashMap<Integer, GTPP_PropolisType>(); + public static HashMap<Integer, GTPP_PollenType> sPollenMappings = new HashMap<Integer, GTPP_PollenType>(); + public static HashMap<Integer, GTPP_DropType> sDropMappings = new HashMap<Integer, GTPP_DropType>(); + public static HashMap<Integer, GTPP_CombType> sCombMappings = new HashMap<Integer, GTPP_CombType>(); public GTPP_Bees() { if (Loader.isModLoaded(MOD_ID_FR) && GT_Mod.gregtechproxy.mGTBees) { + + if (!ReflectionUtils.doesClassExist("gregtech.loaders.misc.GT_BeeDefinition")) { + CORE.crash("Missing gregtech.loaders.misc.GT_BeeDefinition."); + } propolis = new GTPP_Propolis(); pollen = new GTPP_Pollen(); drop = new GTPP_Drop(); diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java index 36ea72d1d1..3c7630a434 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/registry/GTPP_BranchDefinition.java @@ -1,53 +1,40 @@ package gtPlusPlus.xmod.forestry.bees.registry; +import static forestry.api.apiculture.EnumBeeChromosome.*; + +import java.util.Arrays; +import java.util.function.Consumer; + import forestry.api.apiculture.BeeManager; import forestry.api.apiculture.EnumBeeChromosome; import forestry.api.genetics.IAllele; import forestry.api.genetics.IClassification; import forestry.apiculture.genetics.alleles.AlleleEffect; import forestry.core.genetics.alleles.AlleleHelper; - -import java.util.Arrays; -import java.util.function.Consumer; - -import static forestry.api.apiculture.EnumBeeChromosome.*; -import static forestry.core.genetics.alleles.EnumAllele.*; -import static gtPlusPlus.xmod.forestry.bees.registry.GTPP_BeeDefinition.getEffect; -import static gtPlusPlus.xmod.forestry.bees.registry.GTPP_BeeDefinition.getFlowers; -import static gtPlusPlus.xmod.forestry.bees.registry.GTPP_Bees.EXTRABEES; +import forestry.core.genetics.alleles.EnumAllele.*; public enum GTPP_BranchDefinition { - HEE("Finis Expansiones", alleles -> { + LEGENDARY("gtpp.legendary", "Summa Potestas", alleles -> { AlleleHelper.instance.set(alleles, TEMPERATURE_TOLERANCE, Tolerance.BOTH_2); AlleleHelper.instance.set(alleles, HUMIDITY_TOLERANCE, Tolerance.BOTH_2); + AlleleHelper.instance.set(alleles, TOLERANT_FLYER, true); AlleleHelper.instance.set(alleles, NOCTURNAL, true); - AlleleHelper.instance.set(alleles, FLOWER_PROVIDER, getFlowers(EXTRABEES, "book")); + AlleleHelper.instance.set(alleles, FLOWER_PROVIDER, Flowers.END); AlleleHelper.instance.set(alleles, LIFESPAN, Lifespan.SHORT); AlleleHelper.instance.set(alleles, FLOWERING, Flowering.SLOW); AlleleHelper.instance.set(alleles, SPEED, Speed.FASTEST); AlleleHelper.instance.set(alleles, TERRITORY, Territory.LARGER); } - ), - SPACE("Cosmicis", alleles -> { - AlleleHelper.instance.set(alleles, TEMPERATURE_TOLERANCE, Tolerance.DOWN_2); - AlleleHelper.instance.set(alleles, TOLERANT_FLYER, true); - AlleleHelper.instance.set(alleles, NOCTURNAL, true); - AlleleHelper.instance.set(alleles, FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock")); - AlleleHelper.instance.set(alleles, FLOWERING, Flowering.FASTEST); - AlleleHelper.instance.set(alleles, LIFESPAN, Lifespan.LONGEST); - AlleleHelper.instance.set(alleles, SPEED, Speed.FAST); - AlleleHelper.instance.set(alleles, TERRITORY, Territory.LARGEST); - } - ), + ) ; private static IAllele[] defaultTemplate; private final IClassification branch; private final Consumer<IAllele[]> mBranchProperties; - GTPP_BranchDefinition(String scientific, Consumer<IAllele[]> aBranchProperties) { - this.branch = BeeManager.beeFactory.createBranch(this.name().toLowerCase(), scientific); + GTPP_BranchDefinition(String internal, String scientific, Consumer<IAllele[]> aBranchProperties) { + this.branch = BeeManager.beeFactory.createBranch(internal.toLowerCase(), scientific); this.mBranchProperties = aBranchProperties; } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java index b27cb95ca4..d0682b85e8 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_SuperBus_Input.java @@ -6,16 +6,13 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_Utility; import gregtech.api.util.extensions.ArrayExt; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.minecraft.PlayerUtils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; public class GT_MetaTileEntity_SuperBus_Input extends GT_MetaTileEntity_Hatch_InputBus { public GT_MetaTileEntity_SuperBus_Input(int aID, String aName, String aNameRegional, int aTier) { @@ -72,54 +69,10 @@ public class GT_MetaTileEntity_SuperBus_Input extends GT_MetaTileEntity_Hatch_In return null; } - public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) { - if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) { - this.fillStacksIntoFirstSlots(); - } - - } - - public void updateSlots() { - for (int i = 0; i < this.mInventory.length; ++i) { - if (this.mInventory[i] != null && this.mInventory[i].stackSize <= 0) { - this.mInventory[i] = null; - } - } - - this.fillStacksIntoFirstSlots(); - } - - protected void fillStacksIntoFirstSlots() { - for (int i = 0; i < this.mInventory.length; ++i) { - for (int j = i + 1; j < this.mInventory.length; ++j) { - if (this.mInventory[j] != null && (this.mInventory[i] == null - || GT_Utility.areStacksEqual(this.mInventory[i], this.mInventory[j]))) { - GT_Utility.moveStackFromSlotAToSlotB((IInventory) this.getBaseMetaTileEntity(), (IInventory) this.getBaseMetaTileEntity(), j, i, (byte) 64, (byte) 1, (byte) 64, (byte) 1); - } - } - } - - } - public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { return aSide == this.getBaseMetaTileEntity().getFrontFacing(); } - public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { - return aSide == this.getBaseMetaTileEntity().getFrontFacing() - && (this.mRecipeMap == null || this.mRecipeMap.containsInput(aStack)); - } - - @Override - public void saveNBTData(NBTTagCompound aNBT) { - super.saveNBTData(aNBT); - } - - @Override - public void loadNBTData(NBTTagCompound aNBT) { - super.loadNBTData(aNBT); - } - @Override public String[] getDescription() { String[] aDesc = new String[] { @@ -192,39 +145,4 @@ public class GT_MetaTileEntity_SuperBus_Input extends GT_MetaTileEntity_Hatch_In } - @Override - public int getMaxItemCount() { - // TODO Auto-generated method stub - return super.getMaxItemCount(); - } - - @Override - public int getSizeInventory() { - // TODO Auto-generated method stub - return super.getSizeInventory(); - } - - @Override - public ItemStack getStackInSlot(int aIndex) { - // TODO Auto-generated method stub - return super.getStackInSlot(aIndex); - } - - @Override - public boolean canInsertItem(int aIndex, ItemStack aStack, int aSide) { - // TODO Auto-generated method stub - return super.canInsertItem(aIndex, aStack, aSide); - } - - @Override - public boolean canExtractItem(int aIndex, ItemStack aStack, int aSide) { - // TODO Auto-generated method stub - return super.canExtractItem(aIndex, aStack, aSide); - } - - @Override - public ItemStack[] getRealInventory() { - // TODO Auto-generated method stub - return super.getRealInventory(); - } }
\ No newline at end of file |