aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/GT_Mod.java1
-rw-r--r--src/main/java/gregtech/api/enums/GTNH_ExtraMaterials.java8
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java24
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java25
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java2
-rw-r--r--src/main/java/gregtech/api/util/GT_OreDictUnificator.java45
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java51
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java104
-rw-r--r--src/main/java/gregtech/common/GT_RecipeAdder.java98
-rw-r--r--src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java39
-rw-r--r--src/main/java/gregtech/common/bees/GT_AlleleHelper.java224
-rw-r--r--src/main/java/gregtech/common/bees/GT_Bee_Mutation.java75
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Machines.java15
-rw-r--r--src/main/java/gregtech/common/items/CombType.java254
-rw-r--r--src/main/java/gregtech/common/items/DropType.java48
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java19
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java29
-rw-r--r--src/main/java/gregtech/common/items/ItemComb.java667
-rw-r--r--src/main/java/gregtech/common/items/ItemDrop.java127
-rw-r--r--src/main/java/gregtech/common/items/ItemPollen.java88
-rw-r--r--src/main/java/gregtech/common/items/ItemPropolis.java82
-rw-r--r--src/main/java/gregtech/common/items/PollenType.java34
-rw-r--r--src/main/java/gregtech/common/items/PropolisType.java35
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java13
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java737
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java4
-rw-r--r--src/main/java/gregtech/loaders/load/GT_FuelLoader.java3
-rw-r--r--src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java2792
-rw-r--r--src/main/java/gregtech/loaders/misc/GT_Bees.java157
-rw-r--r--src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java77
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java9
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java6
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java4
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java224
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java2
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java27
-rw-r--r--src/main/resources/assets/gregtech/lang/en_US.lang131
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/595.pngbin0 -> 380 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/619.pngbin0 -> 498 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/639.pngbin0 -> 366 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/649.pngbin0 -> 410 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/659.pngbin0 -> 462 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/679.pngbin0 -> 629 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/689.pngbin0 -> 514 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/699.pngbin0 -> 474 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/140.pngbin0 -> 2933 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/141.pngbin0 -> 2926 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/142.pngbin0 -> 2928 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/143.pngbin0 -> 2925 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/144.pngbin0 -> 2931 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/145.pngbin0 -> 2923 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/146.pngbin0 -> 2922 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/147.pngbin0 -> 2904 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/148.pngbin0 -> 2928 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/149.pngbin0 -> 2927 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/150.pngbin0 -> 3755 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/151.pngbin0 -> 3963 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/152.pngbin0 -> 3744 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/153.pngbin0 -> 3945 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/160.pngbin0 -> 4144 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/161.pngbin0 -> 3821 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/162.pngbin0 -> 4150 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/163.pngbin0 -> 3853 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/164.pngbin0 -> 4140 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/165.pngbin0 -> 3840 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/50.pngbin4167 -> 4098 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/51.pngbin3842 -> 3803 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/52.pngbin4120 -> 4152 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/53.pngbin3824 -> 3857 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/58.pngbin4162 -> 4151 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/59.pngbin3839 -> 3859 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/60.pngbin4015 -> 4232 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/62.pngbin0 -> 4167 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/63.pngbin0 -> 3842 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/64.pngbin0 -> 4120 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/65.pngbin0 -> 3824 bytes
77 files changed, 5669 insertions, 615 deletions
diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java
index 5fc8e13f3a..e4473f5f4c 100644
--- a/src/main/java/gregtech/GT_Mod.java
+++ b/src/main/java/gregtech/GT_Mod.java
@@ -305,6 +305,7 @@ public class GT_Mod implements IGT_Mod {
gregtechproxy.mSkeletonsShootGTArrows = tMainConfig.get(aTextGeneral, "SkeletonsShootGTArrows", 16).getInt(16);
gregtechproxy.mFlintChance = tMainConfig.get(aTextGeneral, "FlintAndSteelChance", 30).getInt(30);
gregtechproxy.mItemDespawnTime = tMainConfig.get(aTextGeneral, "ItemDespawnTime", 6000).getInt(6000);
+ gregtechproxy.mAllowSmallBoilerAutomation = tMainConfig.get(aTextGeneral,"AllowSmallBoilerAutomation",false).getBoolean(false);
gregtechproxy.mHardMachineCasings= tMainConfig.get(aTextGeneral,"HardMachineCasings",true).getBoolean(true);
gregtechproxy.mDisableVanillaOres = tMainConfig.get(aTextGeneral, "DisableVanillaOres", true).getBoolean(true);
gregtechproxy.mNerfDustCrafting = tMainConfig.get(aTextGeneral, "NerfDustCrafting", true).getBoolean(true);
diff --git a/src/main/java/gregtech/api/enums/GTNH_ExtraMaterials.java b/src/main/java/gregtech/api/enums/GTNH_ExtraMaterials.java
index a2c7ced80c..b6aa0179ac 100644
--- a/src/main/java/gregtech/api/enums/GTNH_ExtraMaterials.java
+++ b/src/main/java/gregtech/api/enums/GTNH_ExtraMaterials.java
@@ -19,6 +19,14 @@ public class GTNH_ExtraMaterials implements IMaterialHandler {
public static Materials EnrichedCopper = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "EnrichedCopper" , "Enriched Copper" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL );
public static Materials DiamondCopper = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "DiamondCopper" , "Diamond Copper" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL );
public static Materials TarPitch = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "TarPitch" , "Tar Pitch" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL );
+ public static Materials LimePure = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 0, 0 , 255, 255, 255, 0, "LimePure" , "Pure Lime" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeLime );
+ public static Materials Wimalite = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 8 , 255, 255, 255, 0, "Wimalite" , "Wimalite" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow );
+ public static Materials Yellorite = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 8 , 255, 255, 255, 0, "Yellorite" , "Yellorite" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow );
+ public static Materials Quantum = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 0, 0 , 255, 255, 255, 0, "Quantum" , "Quantum" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeWhite );
+ public static Materials Turquoise = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Turquoise" , "Turquoise" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL );
+ public static Materials Tapazite = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Tapazite" , "Tapazite" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeGreen );
+ public static Materials Thyrium = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1|2 |8 , 255, 255, 255, 0, "Thyrium" , "Thyrium" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL );
+ public static Materials Tourmaline = new Materials( -1, TextureSet.SET_RUBY , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Tourmaline" , "Tourmaline" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL );
private static void initSubTags() {
SubTag.METAL.addTo(Signalum, Lumium, EnrichedCopper, DiamondCopper);
diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java
index 6de06b94d0..3aba4e9069 100644
--- a/src/main/java/gregtech/api/enums/ItemList.java
+++ b/src/main/java/gregtech/api/enums/ItemList.java
@@ -366,14 +366,14 @@ public enum ItemList implements IItemContainer {
Circuit_Biowarecomputer,
Circuit_Biowaresupercomputer,
Rotor_LV, Rotor_MV, Rotor_HV, Rotor_EV, Rotor_IV, Rotor_LuV, Rotor_ZPM, Rotor_UV,
- Electric_Motor_LV, Electric_Motor_MV, Electric_Motor_HV, Electric_Motor_EV, Electric_Motor_IV, Electric_Motor_LuV, Electric_Motor_ZPM, Electric_Motor_UV, Electric_Motor_UHV,
- Electric_Pump_LV, Electric_Pump_MV, Electric_Pump_HV, Electric_Pump_EV, Electric_Pump_IV, Electric_Pump_LuV, Electric_Pump_ZPM, Electric_Pump_UV, Electric_Pump_UHV,
- Conveyor_Module_LV, Conveyor_Module_MV, Conveyor_Module_HV, Conveyor_Module_EV, Conveyor_Module_IV, Conveyor_Module_LuV, Conveyor_Module_ZPM, Conveyor_Module_UV, Conveyor_Module_UHV,
- Electric_Piston_LV, Electric_Piston_MV, Electric_Piston_HV, Electric_Piston_EV, Electric_Piston_IV, Electric_Piston_LuV, Electric_Piston_ZPM, Electric_Piston_UV, Electric_Piston_UHV,
- Field_Generator_LV, Field_Generator_MV, Field_Generator_HV, Field_Generator_EV, Field_Generator_IV, Field_Generator_LuV, Field_Generator_ZPM, Field_Generator_UV, Field_Generator_UHV,
- Robot_Arm_LV, Robot_Arm_MV, Robot_Arm_HV, Robot_Arm_EV, Robot_Arm_IV, Robot_Arm_LuV, Robot_Arm_ZPM, Robot_Arm_UV, Robot_Arm_UHV,
- Emitter_LV, Emitter_MV, Emitter_HV, Emitter_EV, Emitter_IV, Emitter_LuV, Emitter_ZPM, Emitter_UV, Emitter_UHV,
- Sensor_LV, Sensor_MV, Sensor_HV, Sensor_EV, Sensor_IV, Sensor_LuV, Sensor_ZPM, Sensor_UV, Sensor_UHV,
+ Electric_Motor_LV, Electric_Motor_MV, Electric_Motor_HV, Electric_Motor_EV, Electric_Motor_IV, Electric_Motor_LuV, Electric_Motor_ZPM, Electric_Motor_UV, Electric_Motor_UHV, Electric_Motor_UEV,
+ Electric_Pump_LV, Electric_Pump_MV, Electric_Pump_HV, Electric_Pump_EV, Electric_Pump_IV, Electric_Pump_LuV, Electric_Pump_ZPM, Electric_Pump_UV, Electric_Pump_UHV, Electric_Pump_UEV,
+ Conveyor_Module_LV, Conveyor_Module_MV, Conveyor_Module_HV, Conveyor_Module_EV, Conveyor_Module_IV, Conveyor_Module_LuV, Conveyor_Module_ZPM, Conveyor_Module_UV, Conveyor_Module_UHV, Conveyor_Module_UEV,
+ Electric_Piston_LV, Electric_Piston_MV, Electric_Piston_HV, Electric_Piston_EV, Electric_Piston_IV, Electric_Piston_LuV, Electric_Piston_ZPM, Electric_Piston_UV, Electric_Piston_UHV, Electric_Piston_UEV,
+ Field_Generator_LV, Field_Generator_MV, Field_Generator_HV, Field_Generator_EV, Field_Generator_IV, Field_Generator_LuV, Field_Generator_ZPM, Field_Generator_UV, Field_Generator_UHV, Field_Generator_UEV,
+ Robot_Arm_LV, Robot_Arm_MV, Robot_Arm_HV, Robot_Arm_EV, Robot_Arm_IV, Robot_Arm_LuV, Robot_Arm_ZPM, Robot_Arm_UV, Robot_Arm_UHV, Robot_Arm_UEV,
+ Emitter_LV, Emitter_MV, Emitter_HV, Emitter_EV, Emitter_IV, Emitter_LuV, Emitter_ZPM, Emitter_UV, Emitter_UHV, Emitter_UEV,
+ Sensor_LV, Sensor_MV, Sensor_HV, Sensor_EV, Sensor_IV, Sensor_LuV, Sensor_ZPM, Sensor_UV, Sensor_UHV, Sensor_UEV,
Battery_Hull_LV, Battery_Hull_MV, Battery_Hull_HV,
Battery_SU_LV_SulfuricAcid,
Battery_SU_LV_Mercury,
@@ -676,16 +676,16 @@ public enum ItemList implements IItemContainer {
FluidRegulator_LV, FluidRegulator_MV, FluidRegulator_HV, FluidRegulator_EV, FluidRegulator_IV, FluidRegulator_LuV, FluidRegulator_ZPM, FluidRegulator_UV, FluidFilter, CuringOven, Machine_Multi_Assemblyline, Machine_Multi_DieselEngine, QuantumEye, QuantumStar, Gravistar, Block_SSFUEL, Block_MSSFUEL, SFMixture, MSFMixture, Depleted_Naquadah_1, Depleted_Naquadah_2, Depleted_Naquadah_4, NaquadahCell_1, NaquadahCell_2, NaquadahCell_4, Hatch_AutoMaintenance,
Machine_Multi_Cleanroom, Circuit_Board_Coated, Circuit_Board_Coated_Basic, Circuit_Board_Phenolic, Circuit_Board_Phenolic_Good, Circuit_Board_Epoxy, Circuit_Board_Epoxy_Advanced, Circuit_Board_Fiberglass, Circuit_Board_Fiberglass_Advanced, Circuit_Board_Multifiberglass_Elite, Circuit_Board_Multifiberglass, Circuit_Board_Wetware, Circuit_Board_Wetware_Extreme, Circuit_Board_Plastic, Circuit_Board_Plastic_Advanced, Circuit_Board_Bio, Circuit_Board_Bio_Ultra,
Circuit_Parts_Resistor, Circuit_Parts_ResistorSMD, Circuit_Parts_Glass_Tube, Circuit_Parts_Reinforced_Glass_Tube, Circuit_Parts_Vacuum_Tube, NandChip, Circuit_Parts_Coil, Circuit_Parts_Diode, Circuit_Parts_DiodeSMD, Circuit_Parts_Transistor, Circuit_Parts_TransistorSMD, Circuit_Parts_Capacitor, Circuit_Parts_CapacitorSMD, Circuit_Parts_GlassFiber, Circuit_Parts_PetriDish,
- Circuit_Silicon_Ingot, Circuit_Silicon_Ingot2, Circuit_Silicon_Ingot3, Circuit_Silicon_Wafer, Circuit_Silicon_Wafer2, Circuit_Silicon_Wafer3, Circuit_Wafer_ILC, Circuit_Chip_ILC, Circuit_Wafer_Ram, Circuit_Chip_Ram,
+ Circuit_Silicon_Ingot, Circuit_Silicon_Ingot2, Circuit_Silicon_Ingot3, Circuit_Silicon_Ingot4, Circuit_Silicon_Ingot5, Circuit_Silicon_Wafer, Circuit_Silicon_Wafer2, Circuit_Silicon_Wafer3, Circuit_Silicon_Wafer4, Circuit_Silicon_Wafer5, Circuit_Wafer_ILC, Circuit_Chip_ILC, Circuit_Wafer_Ram, Circuit_Chip_Ram,
Circuit_Wafer_NAND, Circuit_Chip_NAND, Circuit_Wafer_NOR, Circuit_Chip_NOR, Circuit_Wafer_CPU, Circuit_Chip_CPU, Circuit_Wafer_SoC, Circuit_Chip_SoC, Circuit_Wafer_SoC2, Circuit_Chip_SoC2, Circuit_Wafer_PIC, Circuit_Chip_PIC, Circuit_Wafer_Simple_SoC, Circuit_Chip_Simple_SoC,
- Circuit_Wafer_HPIC, Circuit_Wafer_UHPIC, Circuit_Chip_HPIC, Circuit_Chip_UHPIC, Circuit_Wafer_NanoCPU, Circuit_Chip_NanoCPU, Circuit_Wafer_QuantumCPU, Circuit_Chip_QuantumCPU,
+ Circuit_Wafer_HPIC, Circuit_Wafer_UHPIC, Circuit_Chip_HPIC, Circuit_Chip_UHPIC, Circuit_Chip_ULPIC, Circuit_Chip_LPIC, Circuit_Chip_NPIC, Circuit_Chip_PPIC, Circuit_Chip_QPIC, Circuit_Wafer_ULPIC, Circuit_Wafer_NPIC, Circuit_Wafer_PPIC, Circuit_Wafer_QPIC, Circuit_Wafer_LPIC, Circuit_Wafer_NanoCPU, Circuit_Chip_NanoCPU, Circuit_Wafer_QuantumCPU, Circuit_Chip_QuantumCPU,
Circuit_Chip_CrystalCPU, Circuit_Chip_CrystalSoC, Circuit_Chip_CrystalSoC2, Circuit_Chip_NeuroCPU, Circuit_Chip_BioCPU, Circuit_Chip_Stemcell, Circuit_Parts_RawCrystalParts, Circuit_Chip_Biocell,
Tube_Wires,
Circuit_Microprocessor, Circuit_Processor, Circuit_Computer, Circuit_Nanoprocessor, Circuit_Nanocomputer, Circuit_Elitenanocomputer, Circuit_Quantumprocessor, Circuit_Quantumcomputer, Circuit_Masterquantumcomputer,
Circuit_Quantummainframe, Circuit_Crystalprocessor, Circuit_Crystalcomputer, Circuit_Ultimatecrystalcomputer, Circuit_Crystalmainframe, Circuit_Neuroprocessor, Circuit_Wetwarecomputer, Circuit_Wetwaresupercomputer, Circuit_Wetwaremainframe, Circuit_Parts_RawCrystalChip, Circuit_Bioprocessor, Circuit_Biomainframe,
Machine_LV_CircuitAssembler, Machine_MV_CircuitAssembler, Machine_HV_CircuitAssembler, Machine_EV_CircuitAssembler, Machine_IV_CircuitAssembler, Machine_LuV_CircuitAssembler, Machine_ZPM_CircuitAssembler, Machine_UV_CircuitAssembler, Circuit_Integrated_Good, Machine_IV_LightningRod, Machine_HV_LightningRod, Machine_EV_LightningRod,
-
- Depleted_MNq_1, Depleted_MNq_2, Depleted_MNq_4,
+ ULV_Coil, LV_Coil, MV_Coil, HV_Coil, EV_Coil, IV_Coil, LuV_Coil, ZPM_Coil, UV_Coil, UHV_Coil,
+ Depleted_MNq_1, Depleted_MNq_2, Depleted_MNq_4,
MNqCell_1, MNqCell_2, MNqCell_4,;
public static final ItemList[]
DYE_ONLY_ITEMS = {Color_00, Color_01, Color_02, Color_03, Color_04, Color_05, Color_06, Color_07, Color_08, Color_09, Color_10, Color_11, Color_12, Color_13, Color_14, Color_15}, SPRAY_CAN_DYES = {Spray_Color_00, Spray_Color_01, Spray_Color_02, Spray_Color_03, Spray_Color_04, Spray_Color_05, Spray_Color_06, Spray_Color_07, Spray_Color_08, Spray_Color_09, Spray_Color_10, Spray_Color_11, Spray_Color_12, Spray_Color_13, Spray_Color_14, Spray_Color_15}, SPRAY_CAN_DYES_USED = {Spray_Color_Used_00, Spray_Color_Used_01, Spray_Color_Used_02, Spray_Color_Used_03, Spray_Color_Used_04, Spray_Color_Used_05, Spray_Color_Used_06, Spray_Color_Used_07, Spray_Color_Used_08, Spray_Color_Used_09, Spray_Color_Used_10, Spray_Color_Used_11, Spray_Color_Used_12, Spray_Color_Used_13, Spray_Color_Used_14, Spray_Color_Used_15}, TRANSFORMERS = {Transformer_LV_ULV, Transformer_MV_LV, Transformer_HV_MV, Transformer_EV_HV, Transformer_IV_EV, Transformer_LuV_IV, Transformer_ZPM_LuV, Transformer_UV_ZPM, Transformer_MAX_UV}, MACHINE_HULLS = {Hull_ULV, Hull_LV, Hull_MV, Hull_HV, Hull_EV, Hull_IV, Hull_LuV, Hull_ZPM, Hull_UV, Hull_MAX}, HATCHES_DYNAMO = {Hatch_Dynamo_ULV, Hatch_Dynamo_LV, Hatch_Dynamo_MV, Hatch_Dynamo_HV, Hatch_Dynamo_EV, Hatch_Dynamo_IV, Hatch_Dynamo_LuV, Hatch_Dynamo_ZPM, Hatch_Dynamo_UV, Hatch_Dynamo_MAX}, HATCHES_ENERGY = {Hatch_Energy_ULV, Hatch_Energy_LV, Hatch_Energy_MV, Hatch_Energy_HV, Hatch_Energy_EV, Hatch_Energy_IV, Hatch_Energy_LuV, Hatch_Energy_ZPM, Hatch_Energy_UV, Hatch_Energy_MAX}, HATCHES_INPUT = {Hatch_Input_ULV, Hatch_Input_LV, Hatch_Input_MV, Hatch_Input_HV, Hatch_Input_EV, Hatch_Input_IV, Hatch_Input_LuV, Hatch_Input_ZPM, Hatch_Input_UV, Hatch_Input_MAX}, HATCHES_INPUT_BUS = {Hatch_Input_Bus_ULV, Hatch_Input_Bus_LV, Hatch_Input_Bus_MV, Hatch_Input_Bus_HV, Hatch_Input_Bus_EV, Hatch_Input_Bus_IV, Hatch_Input_Bus_LuV, Hatch_Input_Bus_ZPM, Hatch_Input_Bus_UV, Hatch_Input_Bus_MAX}, HATCHES_OUTPUT = {Hatch_Output_ULV, Hatch_Output_LV, Hatch_Output_MV, Hatch_Output_HV, Hatch_Output_EV, Hatch_Output_IV, Hatch_Output_LuV, Hatch_Output_ZPM, Hatch_Output_UV, Hatch_Output_MAX}, HATCHES_OUTPUT_BUS = {Hatch_Output_Bus_ULV, Hatch_Output_Bus_LV, Hatch_Output_Bus_MV, Hatch_Output_Bus_HV, Hatch_Output_Bus_EV, Hatch_Output_Bus_IV, Hatch_Output_Bus_LuV, Hatch_Output_Bus_ZPM, Hatch_Output_Bus_UV, Hatch_Output_Bus_MAX}, HATCHES_MUFFLER = {Hatch_Muffler_LV, Hatch_Muffler_LV, Hatch_Muffler_MV, Hatch_Muffler_HV, Hatch_Muffler_EV, Hatch_Muffler_IV, Hatch_Muffler_LuV, Hatch_Muffler_ZPM, Hatch_Muffler_UV, Hatch_Muffler_MAX};
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java
index 3148674201..14dab79ceb 100644
--- a/src/main/java/gregtech/api/enums/Materials.java
+++ b/src/main/java/gregtech/api/enums/Materials.java
@@ -331,18 +331,12 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials Sunstone = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 |8 , 255, 255, 255, 0, "Sunstone" , "Sunstone" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.ALIENIS, 1)));
public static Materials Tar = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 10, 10, 10, 0, "Tar" , "Tar" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack );
public static Materials Tartarite = new Materials( 956, TextureSet.SET_METALLIC , 20.0F, 7680, 5, 1|2 |8 , 255, 118, 60, 0, "Tartarite" , "Tartarite" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes._NULL );
- public static Materials Tapazite = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Tapazite" , "Tapazite" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeGreen );
- public static Materials Thyrium = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1|2 |8 , 255, 255, 255, 0, "Thyrium" , "Thyrium" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL );
- public static Materials Tourmaline = new Materials( -1, TextureSet.SET_RUBY , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Tourmaline" , "Tourmaline" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL );
- public static Materials Turquoise = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Turquoise" , "Turquoise" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes._NULL );
public static Materials UUAmplifier = new Materials( 721, TextureSet.SET_FLUID , 1.0F, 0, 1, 16 , 96, 0, 128, 0, "UUAmplifier" , "UU-Amplifier" , 0, 0, -1, 0, false, false, 10, 1, 1, Dyes.dyePink );
public static Materials UUMatter = new Materials( 703, TextureSet.SET_FLUID , 1.0F, 0, 1, 16 , 128, 0, 196, 0, "UUMatter" , "UU-Matter" , 0, 0, -1, 0, false, false, 10, 1, 1, Dyes.dyePink );
public static Materials Void = new Materials( 970, TextureSet.SET_METALLIC , 16.0F, 512, 4, 1|2 |64|128 , 28, 6, 57, 0, "Void" , "Void" , 5, 1500, -1, 0, false, true, 5, 2, 1, Dyes.dyeBlack , Arrays.asList(new TC_AspectStack(TC_Aspects.VACUOS, 1)));
public static Materials Voidstone = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 200, "Voidstone" , "Voidstone" , 0, 0, -1, 0, false, true, 1, 1, 1, Dyes._NULL , Arrays.asList(new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.VACUOS, 1)));
public static Materials Vulcanite = new Materials( 489, TextureSet.SET_METALLIC , 6.0F, 64, 2, 1|2 |8 |64|128 , 255, 132, 72, 0, "Vulcanite" , "Vulcanite" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes._NULL );
public static Materials Vyroxeres = new Materials( 951, TextureSet.SET_METALLIC , 9.0F, 768, 3, 1|2 |8 |64 , 85, 224, 1, 0, "Vyroxeres" , "Vyroxeres" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes._NULL );
- public static Materials Wimalite = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 8 , 255, 255, 255, 0, "Wimalite" , "Wimalite" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow );
- public static Materials Yellorite = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 8 , 255, 255, 255, 0, "Yellorite" , "Yellorite" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow );
public static Materials Yellorium = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "Yellorium" , "Yellorium" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeYellow );
public static Materials Zectium = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 |8 , 255, 255, 255, 0, "Zectium" , "Zectium" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeBlack );
@@ -384,7 +378,6 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials FryingOilHot = new Materials( 727, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 200, 196, 0, 0, "FryingOilHot" , "Hot Frying Oil" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeOrange , Arrays.asList(new TC_AspectStack(TC_Aspects.AQUA, 1), new TC_AspectStack(TC_Aspects.IGNIS, 1)));
public static Materials Honey = new Materials( 725, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 210, 200, 0, 0, "Honey" , "Honey" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow );
public static Materials Leather = new Materials( -1, TextureSet.SET_ROUGH , 1.0F, 0, 0, 1 , 150, 150, 80, 127, "Leather" , "Leather" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeOrange );
- public static Materials LimePure = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 0, 0 , 255, 255, 255, 0, "LimePure" , "Pure Lime" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeLime );
public static Materials Lubricant = new Materials( 724, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 255, 196, 0, 0, "Lubricant" , "Lubricant" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeOrange , Arrays.asList(new TC_AspectStack(TC_Aspects.AQUA, 2), new TC_AspectStack(TC_Aspects.MACHINA, 1)));
public static Materials McGuffium239 = new Materials( 999, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 200, 50, 150, 0, "McGuffium239" , "Mc Guffium 239" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyePink , Arrays.asList(new TC_AspectStack(TC_Aspects.ALIENIS, 8), new TC_AspectStack(TC_Aspects.PERMUTATIO, 8), new TC_AspectStack(TC_Aspects.SPIRITUS, 8), new TC_AspectStack(TC_Aspects.AURAM, 8), new TC_AspectStack(TC_Aspects.VITIUM, 8), new TC_AspectStack(TC_Aspects.RADIO, 8), new TC_AspectStack(TC_Aspects.MAGNETO, 8), new TC_AspectStack(TC_Aspects.ELECTRUM, 8), new TC_AspectStack(TC_Aspects.NEBRISUM, 8), new TC_AspectStack(TC_Aspects.STRONTIO, 8)));
public static Materials MeatRaw = new Materials( 892, TextureSet.SET_FINE , 1.0F, 0, 0, 1 , 255, 100, 100, 0, "MeatRaw" , "Raw Meat" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyePink );
@@ -394,7 +387,6 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials Oil = new Materials( 707, TextureSet.SET_FLUID , 1.0F, 0, 0, 16 , 10, 10, 10, 0, "Oil" , "Oil" , 3, 20, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack );
public static Materials Paper = new Materials( 879, TextureSet.SET_PAPER , 1.0F, 0, 0, 1 , 250, 250, 250, 0, "Paper" , "Paper" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeWhite , Arrays.asList(new TC_AspectStack(TC_Aspects.COGNITIO, 1)));
public static Materials Peat = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 0, 0 , 255, 255, 255, 0, "Peat" , "Peat" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeBrown , Arrays.asList(new TC_AspectStack(TC_Aspects.POTENTIA, 2), new TC_AspectStack(TC_Aspects.IGNIS, 2)));
- public static Materials Quantum = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 0, 0 , 255, 255, 255, 0, "Quantum" , "Quantum" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeWhite );
public static Materials RareEarth = new Materials( 891, TextureSet.SET_FINE , 1.0F, 0, 0, 1 , 128, 128, 100, 0, "RareEarth" , "Rare Earth" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeGray , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.LUCRUM, 1)));
public static Materials Red = new Materials( -1, TextureSet.SET_NONE , 1.0F, 0, 0, 0 , 255, 0, 0, 0, "Red" , "Red" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeRed );
public static Materials Reinforced = new Materials( 383, TextureSet.SET_METALLIC , 7.0F, 480, 4, 1|2 |64|128 , 105, 141, 165, 0, "Reinforced" , "Reinforced" , 0, 0, -1, 1700, true, false, 1, 1, 1, Dyes.dyeBlue ).disableAutoGeneratedBlastFurnaceRecipes();
@@ -503,7 +495,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials Pyrolusite = new Materials( 943, TextureSet.SET_DULL , 1.0F, 0, 2, 1 |8 , 150, 150, 170, 0, "Pyrolusite" , "Pyrolusite" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeLightGray , 1, Arrays.asList(new MaterialStack(Manganese, 1), new MaterialStack(Oxygen, 2)));
public static Materials Pyrope = new Materials( 835, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1 |8 , 120, 50, 100, 0, "Pyrope" , "Pyrope" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyePurple , 1, Arrays.asList(new MaterialStack(Aluminium, 2), new MaterialStack(Magnesium, 3), new MaterialStack(Silicon, 3), new MaterialStack(Oxygen, 12)));
public static Materials RockSalt = new Materials( 944, TextureSet.SET_FINE , 1.0F, 0, 1, 1 |8 , 240, 200, 200, 0, "RockSalt" , "Rock Salt" , 0, 0, -1, 0, false, false, 2, 1, 1, Dyes.dyeWhite , 1, Arrays.asList(new MaterialStack(Potassium, 1), new MaterialStack(Chlorine, 1)));
- public static Materials Rubber = new Materials( 880, TextureSet.SET_SHINY , 1.5F, 32, 0, 1|2 |64|128 , 0, 0, 0, 0, "Rubber" , "Rubber" , 0, 0, 400, 0, false, false, 1, 1, 1, Dyes.dyeBlack , 0, Arrays.asList(new MaterialStack(Carbon, 5), new MaterialStack(Hydrogen, 8)), Arrays.asList(new TC_AspectStack(TC_Aspects.MOTUS, 2))); public static Materials RawRubber = new Materials( 896, TextureSet.SET_DULL , 1.0F, 0, 0, 1 , 204, 199, 137, 0, "RawRubber" , "Raw Rubber" , 0, 0, 400, 0, false, false, 1, 1, 1, Dyes.dyeWhite , 0, Arrays.asList(new MaterialStack(Carbon, 5), new MaterialStack(Hydrogen, 8)), Arrays.asList(new TC_AspectStack(TC_Aspects.MOTUS, 2)));
+ public static Materials Rubber = new Materials( 880, TextureSet.SET_SHINY , 1.5F, 32, 0, 1|2 |64|128 , 0, 0, 0, 0, "Rubber" , "Rubber" , 0, 0, 400, 0, false, false, 1, 1, 1, Dyes.dyeBlack , 0, Arrays.asList(new MaterialStack(Carbon, 5), new MaterialStack(Hydrogen, 8)), Arrays.asList(new TC_AspectStack(TC_Aspects.MOTUS, 2)));
+ public static Materials RawRubber = new Materials( 896, TextureSet.SET_DULL , 1.0F, 0, 0, 1 , 204, 199, 137, 0, "RawRubber" , "Raw Rubber" , 0, 0, 400, 0, false, false, 1, 1, 1, Dyes.dyeWhite , 0, Arrays.asList(new MaterialStack(Carbon, 5), new MaterialStack(Hydrogen, 8)), Arrays.asList(new TC_AspectStack(TC_Aspects.MOTUS, 2)));
public static Materials Ruby = new Materials( 502, TextureSet.SET_RUBY , 7.0F, 256, 2, 1 |4|8 |64 , 255, 100, 100, 127, "Ruby" , "Ruby" , 0, 0, -1, 0, false, true, 5, 1, 1, Dyes.dyeRed , 1, Arrays.asList(new MaterialStack(Chrome, 1), new MaterialStack(Aluminium, 2), new MaterialStack(Oxygen, 3)), Arrays.asList(new TC_AspectStack(TC_Aspects.LUCRUM, 6), new TC_AspectStack(TC_Aspects.VITREUS, 4)));
public static Materials Salt = new Materials( 817, TextureSet.SET_FINE , 1.0F, 0, 1, 1 |8 , 250, 250, 250, 0, "Salt" , "Salt" , 0, 0, -1, 0, false, false, 2, 1, 1, Dyes.dyeWhite , 0, Arrays.asList(new MaterialStack(Sodium, 1), new MaterialStack(Chlorine, 1)));
public static Materials Saltpeter = new Materials( 836, TextureSet.SET_FINE , 1.0F, 0, 1, 1 |8 , 230, 230, 230, 0, "Saltpeter" , "Saltpeter" , 0, 0, -1, 0, false, false, 3, 1, 1, Dyes.dyeWhite , 1, Arrays.asList(new MaterialStack(Potassium, 1), new MaterialStack(Nitrogen, 1), new MaterialStack(Oxygen, 3)));
@@ -623,7 +616,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials Cumene = new MaterialBuilder(688, TextureSet.SET_FLUID , "Isopropylbenzene").addCell().addFluid().setRGB(85, 34, 0).setColor(Dyes.dyeBrown).setMaterialList(new MaterialStack(Carbon, 9), new MaterialStack(Hydrogen, 12)).addElectrolyzerRecipe().constructMaterial();
public static Materials PhosphoricAcid = new MaterialBuilder(689, TextureSet.SET_FLUID , "Phosphoric Acid").setName("PhosphoricAcid_GT5U").addCell().addFluid().setRGB(220, 220, 0).setColor(Dyes.dyeYellow).setMaterialList(new MaterialStack(Hydrogen, 3), new MaterialStack(Phosphor, 1), new MaterialStack(Oxygen, 4)).addElectrolyzerRecipe().constructMaterial();
public static Materials SaltWater = new MaterialBuilder(692, TextureSet.SET_FLUID , "Salt Water").addCell().addFluid().setRGB(0, 0, 200).setColor(Dyes.dyeBlue).constructMaterial();
- public static Materials IronIIIChloride = new MaterialBuilder(693, TextureSet.SET_FLUID , "Iron III Chloride").setName("IronIIIChloride").addCell().addFluid().setRGB(22, 21, 14).setColor(Dyes.dyeBlack).setMaterialList(new MaterialStack(HydrochloricAcid, 2), new MaterialStack(Iron, 1)).addElectrolyzerRecipe().constructMaterial();
+ public static Materials IronIIIChloride = new MaterialBuilder(693, TextureSet.SET_FLUID , "Iron III Chloride").setName("IronIIIChloride").addCell().addFluid().setRGB(22, 21, 14).setColor(Dyes.dyeBlack).setMaterialList(new MaterialStack(Chlorine, 3), new MaterialStack(Iron, 1)).addElectrolyzerRecipe().constructMaterial();
public static Materials LifeEssence = new MaterialBuilder(694, TextureSet.SET_FLUID , "Life").setName("lifeessence").addCell().addFluid().setRGB(110, 3, 3).setColor(Dyes.dyeRed).setMaterialList().constructMaterial();
public static Materials SolderingAlloy = new Materials( 314, TextureSet.SET_DULL , 1.0F, 0, 1, 1|2 , 220, 220, 230, 0, "SolderingAlloy" , "Soldering Alloy" , 0, 0, 400, 400, false, false, 1, 1, 1, Dyes.dyeWhite , 2, Arrays.asList(new MaterialStack(Tin, 9), new MaterialStack(Antimony, 1)));
@@ -674,6 +667,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials VolcanicAsh = new Materials( 940, TextureSet.SET_FLINT , 1.0F, 0, 0, 1 , 60, 50, 50, 0, "VolcanicAsh" , "Volcanic Ashes" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack , 2, Arrays.asList(new MaterialStack(Flint, 6), new MaterialStack(Iron, 1), new MaterialStack(Magnesium, 1)));
public static Materials Niter = new Materials( 531, TextureSet.SET_FLINT , 1.0F, 0, 1, 1 |4|8 , 255, 200, 200, 0, "Niter" , "Niter" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyePink , 2, Arrays.asList(new MaterialStack(Saltpeter, 1)));
public static Materials Pyrotheum = new Materials( 843, TextureSet.SET_FIERY , 1.0F, 0, 1, 1 , 255, 128, 0, 0, "Pyrotheum" , "Pyrotheum" , 2, 62, -1, 0, false, false, 2, 3, 1, Dyes.dyeYellow , 2, Arrays.asList(new MaterialStack(Coal, 1), new MaterialStack(Redstone, 1), new MaterialStack(Blaze, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.PRAECANTATIO, 2), new TC_AspectStack(TC_Aspects.IGNIS, 1)));
+ public static Materials Cryotheum = new Materials( 898, TextureSet.SET_SHINY , 1.0F, 0, 1, 1 , 0, 148, 203, 0, "Cryotheum" , "Cryotheum" , 2, 62, -1, 0, false, false, 2, 3, 1, Dyes.dyeLightBlue , 2, Arrays.asList(new MaterialStack(Saltpeter, 1), new MaterialStack(Redstone, 1), new MaterialStack(Snow, 1), new MaterialStack(Blizz, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.PRAECANTATIO, 2), new TC_AspectStack(TC_Aspects.ELECTRUM, 1), new TC_AspectStack(TC_Aspects.GELUM, 1)));
public static Materials HydratedCoal = new Materials( 818, TextureSet.SET_ROUGH , 1.0F, 0, 1, 1 , 70, 70, 100, 0, "HydratedCoal" , "Hydrated Coal" , 0, 0, -1, 0, false, false, 1, 9, 8, Dyes.dyeBlack , 2, Arrays.asList(new MaterialStack(Coal, 8), new MaterialStack(Water, 1)));
public static Materials Apatite = new Materials( 530, TextureSet.SET_DIAMOND , 1.0F, 0, 1, 1 |4|8 , 200, 200, 255, 0, "Apatite" , "Apatite" , 0, 0, -1, 0, false, false, 2, 1, 1, Dyes.dyeCyan , 1, Arrays.asList(new MaterialStack(Calcium, 5), new MaterialStack(Phosphate, 3), new MaterialStack(Chlorine, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.MESSIS, 2)));
public static Materials Alumite = new Materials( -1, TextureSet.SET_METALLIC , 1.5F, 64, 0, 1|2 |64 , 255, 255, 255, 0, "Alumite" , "Alumite" , 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyePink , 2, Arrays.asList(new MaterialStack(Aluminium, 5), new MaterialStack(Steel, 2), new MaterialStack(Obsidian, 2)), Arrays.asList(new TC_AspectStack(TC_Aspects.STRONTIO, 2)));
@@ -827,7 +821,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials Bedrockium = new Materials( 395, TextureSet.SET_DULL , 8.0F, 327680, 6, 1 |8 , 50, 50, 50, 0, "Bedrockium" , "Bedrockium" , 0, 0, 9000, 9000, true, false, 4, 1, 1, Dyes.dyeBlack );
public static Materials Trinium = new Materials( 868, TextureSet.SET_SHINY , 128.0F, 128, 8, 1|2 |64|128 , 200, 200, 210, 0, "Trinium" , "Trinium" , 0, 0, 7200, 7200, true, false, 4, 1, 1, Dyes.dyeLightGray ).disableAutoGeneratedBlastFurnaceRecipes();
public static Materials Ichorium = new Materials( 978, TextureSet.SET_SHINY , 1.0F, 0, 0, 0 , 211, 120, 6, 0, "Ichorium" , "Ichorium" , 5, 250000, -1, 0, false, false, 4, 1, 1, Dyes.dyeOrange );
- public static Materials CosmicNeutronium = new Materials( 982, TextureSet.SET_SHINY , 1.0F, 0, 8, 1|2 |8 , 50, 50, 50, 0, "CosmicNeutronium" , "Cosmic Neutronium" , 0, 0, 9000, 9000, true, false, 4, 1, 1, Dyes.dyeBlack );
+ public static Materials CosmicNeutronium = new Materials( 982, TextureSet.SET_SHINY , 1.0F, 0, 8, 1|2 |8 |64|128 , 50, 50, 50, 0, "CosmicNeutronium" , "Cosmic Neutronium" , 0, 0, 9000, 9000, true, false, 4, 1, 1, Dyes.dyeBlack );
public static Materials Pentacadmiummagnesiumhexaoxid = new Materials( 987, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 85, 85, 85, 0, "Pentacadmiummagnesiumhexaoxid" , "Superconductor Base MV" , 0, 0, 2500, 2500, true, false, 1, 1, 1, Dyes.dyeGray , 1, Arrays.asList(new MaterialStack(Cadmium, 5), new MaterialStack(Magnesium, 1), new MaterialStack(Oxygen, 6)), Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 3)));
public static Materials Titaniumonabariumdecacoppereikosaoxid = new Materials( 988, TextureSet.SET_METALLIC , 1.0F, 0, 3, 1|2 , 51, 25, 0, 0, "Titaniumonabariumdecacoppereikosaoxid" , "Superconductor Base HV" , 0, 0, 3300, 3300, true, false, 1, 1, 1, Dyes.dyeBrown , 1, Arrays.asList(new MaterialStack(Titanium, 1), new MaterialStack(Barium, 9), new MaterialStack(Copper, 10), new MaterialStack(Oxygen, 20)), Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 6)));
@@ -835,6 +829,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials Vanadiumtriindinid = new Materials( 990, TextureSet.SET_SHINY , 1.0F, 0, 3, 1|2 , 51, 0, 51, 0, "Vanadiumtriindinid" , "Superconductor Base IV" , 0, 0, 5200, 5200, true, false, 1, 1, 1, Dyes.dyeMagenta , 1, Arrays.asList(new MaterialStack(Vanadium , 1), new MaterialStack(Indium, 3)), Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 12)));
public static Materials Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid = new Materials( 991, TextureSet.SET_METALLIC , 1.0F, 0, 3, 1|2 , 153, 76, 0, 0, "Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid" , "Superconductor Base LuV" , 0, 0, 6000, 6000, true, false, 1, 1, 1, Dyes.dyeBrown , 1, Arrays.asList(new MaterialStack(Indium, 4), new MaterialStack(Tin, 2), new MaterialStack(Barium, 2), new MaterialStack(Titanium, 1), new MaterialStack(Copper, 7), new MaterialStack(Oxygen, 14)), Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 15)));
public static Materials Tetranaquadahdiindiumhexaplatiumosminid = new Materials( 992, TextureSet.SET_METALLIC , 1.0F, 0, 3, 1|2 , 10, 10, 10, 0, "Tetranaquadahdiindiumhexaplatiumosminid" , "Superconductor Base ZPM" , 0, 0, 9000, 9000, true, false, 1, 1, 1, Dyes.dyeBlack , 1, Arrays.asList(new MaterialStack(Naquadah, 4), new MaterialStack(Indium, 2), new MaterialStack(Palladium, 6), new MaterialStack(Osmium, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 18)));
+ public static Materials Longasssuperconductornameforuvwire = new Materials( 986, TextureSet.SET_METALLIC , 1.0F, 0, 3, 1|2 , 224,210, 7, 0, "Longasssuperconductornameforuvwire" , "Superconductor Base UV" , 0, 0, 9000, 9000, true, false, 1, 1, 1, Dyes.dyeYellow , 1, Arrays.asList(new MaterialStack(Naquadria, 4), new MaterialStack(Osmiridium, 3), new MaterialStack(Europium, 1), new MaterialStack(Oriharukon, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 21)));
public static Materials SuperconductorMV = new Materials( -1, TextureSet.SET_SHINY , 1.0F, 0, 0, 0 , 85, 85, 85, 0, "SuperconductorMV" , "Superconductor MV" , 0, 0, -1, -1, false, false, 1, 1, 1, Dyes.dyeGray , Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 6)));
public static Materials SuperconductorHV = new Materials( -1, TextureSet.SET_SHINY , 1.0F, 0, 0, 0 , 51, 25, 0, 0, "SuperconductorHV" , "Superconductor HV" , 0, 0, -1, -1, false, false, 1, 1, 1, Dyes.dyeBrown , Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 12)));
@@ -842,7 +837,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials SuperconductorIV = new Materials( -1, TextureSet.SET_SHINY , 1.0F, 0, 0, 0 , 51, 0, 51, 0, "SuperconductorIV" , "Superconductor IV" , 0, 0, -1, -1, false, false, 1, 1, 1, Dyes.dyeMagenta , Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 24)));
public static Materials SuperconductorLuV = new Materials( -1, TextureSet.SET_SHINY , 1.0F, 0, 0, 0 , 153, 76, 0, 0, "SuperconductorLuV" , "Superconductor LuV" , 0, 0, -1, -1, false, false, 1, 1, 1, Dyes.dyeBrown , Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 28)));
public static Materials SuperconductorZPM = new Materials( -1, TextureSet.SET_SHINY , 1.0F, 0, 0, 0 , 10, 10, 10, 0, "SuperconductorZPM" , "Superconductor ZPM" , 0, 0, -1, -1, false, false, 1, 1, 1, Dyes.dyeBlack , Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 32)));
- public static Materials SuperconductorUV = new Materials( -1, TextureSet.SET_SHINY , 1.0F, 0, 0, 0 , 10, 10, 10, 0, "SuperconductorUV" , "Superconductor UV" , 0, 0, -1, -1, false, false, 1, 1, 1, Dyes.dyeBlack , Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 48)));
+ public static Materials SuperconductorUV = new Materials( -1, TextureSet.SET_SHINY , 1.0F, 0, 0, 0 , 224,210, 7, 0, "SuperconductorUV" , "Superconductor UV" , 0, 0, -1, -1, false, false, 1, 1, 1, Dyes.dyeYellow , Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 48)));
public static Materials SuperconductorUHV = new Materials( -1, TextureSet.SET_SHINY , 1.0F, 0, 0, 0 , 255,255, 255, 0, "SuperconductorUHV" , "Superconductor UHV" , 0, 0, -1, -1, false, false, 1, 1, 1, Dyes.dyeWhite , Arrays.asList(new TC_AspectStack(TC_Aspects.ELECTRUM, 64)));
/**
@@ -1356,13 +1351,13 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
Zinc, /**Satinspar, Selenite, Microcline, Sylvite, RefinedGlowstone, RefinedObsidian, Serpentine, Signalum, Lumium, **/PhasedIron, PhasedGold, DarkSteel, Terrasteel, TinAlloy, ConductiveIron, ElectricalSteel, EnergeticAlloy, VibrantAlloy,
PulsatingIron, Manasteel, DarkThaumium, /**ElvenElementium EnrichedCopper, DiamondCopper,**/ Adamantium, Amordrine, Angmallen, Ardite, Aredrite, Atlarus, /**Blutonium,**/ Carmot, Celenegil, Ceruclase, DarkIron,
Desh, Desichalkos, Duranium, ElectrumFlux, Enderium, EnderiumBase, Eximite, FierySteel, Force, Haderoth, Hematite, Hepatizon, HSLA, Infuscolium, InfusedGold, Inolashite, Mercassium, MeteoricIron,
- MeteoricSteel, Naquadah, NaquadahAlloy, NaquadahEnriched, Naquadria, ObsidianFlux, Orichalcum, Osmonium, Oureclase, Phoenixite, Prometheum, Sanguinite, /**Starconium,**/
- Tartarite, Ichorium,/**Thyrium,**/ Tritanium, Vulcanite, Vyroxeres, /**Yellorium,**/ Zectium, AluminiumBrass, Osmiridium, Sunnarium, AnnealedCopper, BatteryAlloy, Brass, Bronze, ChromiumDioxide, Cupronickel, DeepIron,
+ MeteoricSteel, Naquadah, NaquadahAlloy, NaquadahEnriched, Naquadria, ObsidianFlux, Orichalcum, Osmonium, Oureclase, Phoenixite, Prometheum, Sanguinite, /**Starconium,**/ CosmicNeutronium,
+ Tartarite, Ichorium,/**Thyrium,**/ Tritanium, Vulcanite, Vyroxeres, Yellorium, Zectium, AluminiumBrass, Osmiridium, Sunnarium, AnnealedCopper, BatteryAlloy, Brass, Bronze, ChromiumDioxide, Cupronickel, DeepIron,
Electrum, Invar, /**IronCompressed,**/ Kanthal, Magnalium, Nichrome, NiobiumNitride, NiobiumTitanium, PigIron, SolderingAlloy, StainlessSteel, Steel, Ultimet, VanadiumGallium, WroughtIron,
YttriumBariumCuprate, IronWood, Alumite, Manyullyn, ShadowIron, Shadow, ShadowSteel, Steeleaf, SterlingSilver, RoseGold, BlackBronze, BismuthBronze, BlackSteel, RedSteel, BlueSteel, DamascusSteel,
TungstenSteel, AstralSilver, /**Midasium,**/ Mithril, BlueAlloy, RedAlloy, CobaltBrass, Thaumium, Void, IronMagnetic, SteelMagnetic, NeodymiumMagnetic, SamariumMagnetic, Knightmetal, HSSG, HSSE, HSSS, TungstenCarbide, HeeEndium,
VanadiumSteel, Kalendrite, Ignatius, Trinium, Infinity, InfinityCatalyst, Realgar, Chrysotile, BlackPlutonium, Alduorite, Adluorite, Vinteum, Rubracium, Draconium, DraconiumAwakened, Pentacadmiummagnesiumhexaoxid,Titaniumonabariumdecacoppereikosaoxid,
- Uraniumtriplatinid, Vanadiumtriindinid, Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, Tetranaquadahdiindiumhexaplatiumosminid);
+ Uraniumtriplatinid, Vanadiumtriindinid, Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, Tetranaquadahdiindiumhexaplatiumosminid, Longasssuperconductornameforuvwire);
SubTag.FOOD.addTo(MeatRaw, MeatCooked, Ice, Water, Salt, Chili, Cocoa, Cheese, Coffee, Chocolate, Milk, Honey, FryingOilHot, FishOil, SeedOil, SeedOilLin, SeedOilHemp, Wheat, Sugar, FreshWater);
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
index 7b634ae9f0..bf6293baae 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
@@ -10,6 +10,7 @@ import gregtech.api.metatileentity.BaseMetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_ModHandler.RecipeBits;
+import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
import ic2.core.Ic2Items;
@@ -661,6 +662,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
}
}
+
@Override
public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
super.onPreTick(aBaseMetaTileEntity, aTick);
diff --git a/src/main/java/gregtech/api/util/GT_OreDictUnificator.java b/src/main/java/gregtech/api/util/GT_OreDictUnificator.java
index 33149eb801..9d9b45cecf 100644
--- a/src/main/java/gregtech/api/util/GT_OreDictUnificator.java
+++ b/src/main/java/gregtech/api/util/GT_OreDictUnificator.java
@@ -165,16 +165,21 @@ public class GT_OreDictUnificator {
if (!GT_Utility.areStacksEqual(tStack0, tStack1)) {
GT_ItemStack tGTStack1 = new GT_ItemStack(tStack1);
List<ItemStack> list = sUnificationTable.get(tGTStack1);
- if (list == null) sUnificationTable.put(tGTStack1, list = new ArrayList<ItemStack>());
- if (!list.contains(tStack0)) list.add(tStack0);
+ if (list == null)
+ sUnificationTable.put(tGTStack1, list = new ArrayList<ItemStack>());
+ if (!list.contains(tStack0))
+ list.add(tStack0);
}
}
}
}
ItemStack[] aStacks = {};
- if (obj instanceof ItemStack) aStacks = new ItemStack[]{(ItemStack) obj};
- else if (obj instanceof ItemStack[]) aStacks = (ItemStack[]) obj;
- else if (obj instanceof List) aStacks = (ItemStack[]) ((List)obj).toArray(new ItemStack[0]);
+ if (obj instanceof ItemStack)
+ aStacks = new ItemStack[]{(ItemStack) obj};
+ else if (obj instanceof ItemStack[])
+ aStacks = (ItemStack[]) obj;
+ else if (obj instanceof List) aStacks = (ItemStack[])
+ ((List)obj).toArray(new ItemStack[0]);
List<ItemStack> rList = new ArrayList<ItemStack>();
for (ItemStack aStack : aStacks) {
rList.add(aStack);
@@ -230,7 +235,8 @@ public class GT_OreDictUnificator {
}
public static void addAssociation(OrePrefixes aPrefix, Materials aMaterial, ItemStack aStack, boolean aBlackListed) {
- if (aPrefix == null || aMaterial == null || GT_Utility.isStackInvalid(aStack)) return;
+ if (aPrefix == null || aMaterial == null || GT_Utility.isStackInvalid(aStack))
+ return;
if (Items.feather.getDamage(aStack) == W) for (byte i = 0; i < 16; i++)
setItemData(GT_Utility.copyAmountAndMetaData(1, i, aStack), new ItemData(aPrefix, aMaterial, aBlackListed));
setItemData(aStack, new ItemData(aPrefix, aMaterial, aBlackListed));
@@ -256,8 +262,13 @@ public class GT_OreDictUnificator {
}
public static boolean isItemStackDye(ItemStack aStack) {
- if (GT_Utility.isStackInvalid(aStack)) return false;
- for (Dyes tDye : Dyes.VALUES) if (isItemStackInstanceOf(aStack, tDye.toString())) return true;
+ if (GT_Utility.isStackInvalid(aStack))
+ return false;
+
+ for (Dyes tDye : Dyes.VALUES)
+ if (isItemStackInstanceOf(aStack, tDye.toString()))
+ return true;
+
return false;
}
@@ -266,11 +277,20 @@ public class GT_OreDictUnificator {
}
public static boolean registerOre(Object aName, ItemStack aStack) {
- if (aName == null || GT_Utility.isStackInvalid(aStack)) return false;
+ if (aName == null || GT_Utility.isStackInvalid(aStack))
+ return false;
+
String tName = aName.toString();
- if (GT_Utility.isStringInvalid(tName)) return false;
+
+ if (GT_Utility.isStringInvalid(tName))
+ return false;
+
ArrayList<ItemStack> tList = getOres(tName);
- for (int i = 0; i < tList.size(); i++) if (GT_Utility.areStacksEqual(tList.get(i), aStack, true)) return false;
+
+ for (int i = 0; i < tList.size(); i++)
+ if (GT_Utility.areStacksEqual(tList.get(i), aStack, true))
+ return false;
+
isRegisteringOre++;
OreDictionary.registerOre(tName, GT_Utility.copyAmount(1, aStack));
isRegisteringOre--;
@@ -286,7 +306,8 @@ public class GT_OreDictUnificator {
}
public static void resetUnificationEntries() {
- for (ItemData tPrefixMaterial : sItemStack2DataMap.values()) tPrefixMaterial.mUnificationTarget = null;
+ for (ItemData tPrefixMaterial : sItemStack2DataMap.values())
+ tPrefixMaterial.mUnificationTarget = null;
}
public static ItemStack getGem(MaterialStack aMaterial) {
diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java
index 677033bb1a..705d2a342f 100644
--- a/src/main/java/gregtech/api/util/GT_Recipe.java
+++ b/src/main/java/gregtech/api/util/GT_Recipe.java
@@ -19,6 +19,7 @@ import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem;
+import net.minecraftforge.oredict.OreDictionary;
import java.util.*;
@@ -583,7 +584,6 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
public static final GT_Recipe_Map_Fuel sHugeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.fluidnaquadahreactor", "Naquadah Reactor MkIII", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sExtremeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.hugenaquadahreactor", "Naquadah Reactor MkIV", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sUltraHugeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.extrahugenaquadahreactor", "Naquadah Reactor MkV", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
- //public static final GT_Recipe_Map_Fuel sUltraHugeNaquadahReactorFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.ultrahugenaquadahreactor", "Naquadah Reactor MkV", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_LargeBoilerFakeFuels sLargeBoilerFakeFuels = new GT_Recipe_Map_LargeBoilerFakeFuels();
/**
@@ -1309,24 +1309,71 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
* Special Class for Assembler handling.
*/
public static class GT_Recipe_Map_Assembler extends GT_Recipe_Map {
+
public GT_Recipe_Map_Assembler(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed);
}
@Override
public GT_Recipe findRecipe(IHasWorldObjectAndCoords aTileEntity, GT_Recipe aRecipe, boolean aNotUnificated, long aVoltage, FluidStack[] aFluids, ItemStack aSpecialSlot, ItemStack... aInputs) {
- GT_Recipe rRecipe = super.findRecipe(aTileEntity, aRecipe, aNotUnificated, aVoltage, aFluids, aSpecialSlot, aInputs);
+
+ GT_Recipe rRecipe = super.findRecipe(aTileEntity, aRecipe, true, aVoltage, aFluids, aSpecialSlot, aInputs);
+/*
+
+
+ Doesnt work, keep it as a reminder tho
+
+ if (rRecipe == null){
+ Set<ItemStack> aInputs2 = new TreeSet<ItemStack>();
+ for (ItemStack aInput : aInputs) {
+ aInputs2.add(aInput);
+ }
+
+ for (ItemStack aInput : aInputs) {
+ aInputs2.remove(aInput);
+ int[] oredictIDs = OreDictionary.getOreIDs(aInput);
+ if ( oredictIDs.length > 1){
+ for (final int i : oredictIDs){
+ final ItemStack[] oredictIS = (ItemStack[]) OreDictionary.getOres(OreDictionary.getOreName(i)).toArray();
+ if (oredictIS != null && oredictIS.length > 1){
+ for (final ItemStack IS : oredictIS){
+ aInputs2.add(IS);
+ ItemStack[] temp = (ItemStack[]) aInputs2.toArray();
+ rRecipe = super.findRecipe(aTileEntity, aRecipe, aNotUnificated, aVoltage, aFluids, aSpecialSlot,temp);
+ if(rRecipe!= null){
+ break;
+ }
+ else {
+ aInputs2.remove(IS);
+ }
+ }
+ if(rRecipe!= null)
+ break;
+ }
+ }
+ if(rRecipe!= null)
+ break;
+ }else
+ aInputs2.add(aInput);
+ if(rRecipe!= null)
+ break;
+ }
+ }
+*/
if (aInputs == null || aInputs.length <= 0 || aInputs[0] == null || rRecipe == null || !GregTech_API.sPostloadFinished)
return rRecipe;
+
for (ItemStack aInput : aInputs) {
if (ItemList.Paper_Printed_Pages.isStackEqual(aInput, false, true)) {
rRecipe = rRecipe.copy();
rRecipe.mCanBeBuffered = false;
rRecipe.mOutputs[0].setTagCompound(aInput.getTagCompound());
}
+
}
return rRecipe;
}
+
}
/**
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java
index 5b3c4e8b79..bf79b49133 100644
--- a/src/main/java/gregtech/common/GT_Proxy.java
+++ b/src/main/java/gregtech/common/GT_Proxy.java
@@ -8,6 +8,9 @@ import cpw.mods.fml.common.network.FMLNetworkEvent;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
+import forestry.api.genetics.AlleleManager;
+import forestry.apiculture.genetics.Bee;
+import forestry.core.genetics.alleles.AlleleHelper;
import gregtech.api.GregTech_API;
import gregtech.api.enums.*;
import gregtech.api.enums.TC_Aspects.TC_AspectStack;
@@ -44,6 +47,7 @@ import net.minecraft.item.ItemBow;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
import net.minecraft.potion.Potion;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.DamageSource;
@@ -72,6 +76,7 @@ import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.RecipeSorter;
import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe;
+import org.apache.commons.lang3.text.WordUtils;
import static gregtech.GT_Mod.GT_FML_LOGGER;
@@ -136,6 +141,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
public boolean mHardcoreCables = false;
public boolean mDisableVanillaOres = true;
public boolean mHardMachineCasings = true;
+ public boolean mAllowSmallBoilerAutomation = false;
public boolean mNerfDustCrafting = true;
public boolean mSortToTheEnd = true;
public boolean mCraftingUnification = true;
@@ -1312,6 +1318,104 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
tCount += tStack.stackSize * 64 / Math.max(1, tStack.getMaxStackSize());
}
if (this.mInventoryUnification) {
+
+ if (tStack.getTagCompound()!= null && (tStack.getTagCompound().getTag("Mate")!= null || tStack.getTagCompound().getTag("Genome")!= null )) {
+
+ String orgMate = "";
+ if(tStack.getTagCompound().getTag("Mate")!= null)
+ orgMate = (tStack.getTagCompound().getCompoundTag("Mate")).getTagList("Chromosomes",10).getCompoundTagAt(0).getString("UID1");
+
+ String orgGen = orgMate;
+
+ if(tStack.getTagCompound().getTag("Genome")!= null)
+ orgGen = (tStack.getTagCompound().getCompoundTag("Genome")).getTagList("Chromosomes",10).getCompoundTagAt(0).getString("UID1");
+
+ final boolean[] yn = {orgMate.contains("gendustry"),orgGen.contains("gendustry")};
+
+ if (yn[0] || yn[1]) {
+
+ final NBTTagCompound NBTTAGCOMPOUND = (NBTTagCompound) tStack.getTagCompound().copy();
+
+ //MATE
+ if (yn[0]) {
+ final NBTTagCompound MATE = NBTTAGCOMPOUND.getCompoundTag("Mate");
+ final NBTTagList chromosomesMate = MATE.getTagList("Chromosomes", 10);
+ final NBTTagCompound species = chromosomesMate.getCompoundTagAt(0);
+
+ String ident1 = species.getString("UID1");
+ final String[] split = ident1.split("[.]");
+ ident1 = "gregtech.bee.species" + WordUtils.capitalize(split[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident1) == null)
+ return;
+
+ String ident2 = species.getString("UID0");
+ final String[] split2 = ident2.split("[.]");
+ ident2 = "gregtech.bee.species"+WordUtils.capitalize(split2[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident2) == null)
+ return;
+
+ final NBTTagCompound nuspeciesmate = new NBTTagCompound();
+ nuspeciesmate.setString("UID1", ident1);
+ nuspeciesmate.setString("UID0", ident2);
+ nuspeciesmate.setByte("Slot", (byte) 0);
+
+ final NBTTagCompound nuMate2 = new NBTTagCompound();
+ final NBTTagList nuMate = new NBTTagList();
+ nuMate.appendTag(nuspeciesmate);
+
+ for (int j = 1; j < chromosomesMate.tagCount(); j++) {
+ nuMate.appendTag(chromosomesMate.getCompoundTagAt(j));
+ }
+
+ nuMate2.setTag("Chromosomes", nuMate);
+ NBTTAGCOMPOUND.removeTag("Mate");
+ NBTTAGCOMPOUND.setTag("Mate", nuMate2);
+ }
+ if (yn[1]) {
+ //Genome
+ final NBTTagCompound genome = NBTTAGCOMPOUND.getCompoundTag("Genome");
+ final NBTTagList chromosomesGenome = genome.getTagList("Chromosomes", 10);
+ final NBTTagCompound speciesGenome = chromosomesGenome.getCompoundTagAt(0);
+
+ String ident1Genome = speciesGenome.getString("UID1");
+ final String[] splitGenome = ident1Genome.split("[.]");
+ ident1Genome = "gregtech.bee.species" + WordUtils.capitalize(splitGenome[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident1Genome) == null)
+ return;
+
+ String ident2Genome = speciesGenome.getString("UID0");
+ final String[] splitGenome2 = ident2Genome.split("[.]");
+ ident2Genome = "gregtech.bee.species" + WordUtils.capitalize(splitGenome2[2].toLowerCase(Locale.ENGLISH));
+
+ if (AlleleManager.alleleRegistry.getAllele(ident2Genome) == null)
+ return;
+
+ final NBTTagCompound nuspeciesgenome = new NBTTagCompound();
+ nuspeciesgenome.setString("UID1", ident1Genome);
+ nuspeciesgenome.setString("UID0", ident2Genome);
+ nuspeciesgenome.setByte("Slot", (byte) 0);
+
+ final NBTTagCompound nugenome2 = new NBTTagCompound();
+ final NBTTagList nuGenome = new NBTTagList();
+ nuGenome.appendTag(nuspeciesgenome);
+
+ for (int j = 1; j < chromosomesGenome.tagCount(); j++) {
+ nuGenome.appendTag(chromosomesGenome.getCompoundTagAt(j));
+ }
+
+ nugenome2.setTag("Chromosomes", nuGenome);
+ NBTTAGCOMPOUND.removeTag("Genome");
+ NBTTAGCOMPOUND.setTag("Genome", nugenome2);
+ }
+ tStack.setTagCompound(new NBTTagCompound());
+ tStack.setTagCompound(NBTTAGCOMPOUND);
+ }
+ else return;
+ }
+
GT_OreDictUnificator.setStack(true, tStack);
}
}
diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java
index 730bd473d4..0b77b3e377 100644
--- a/src/main/java/gregtech/common/GT_RecipeAdder.java
+++ b/src/main/java/gregtech/common/GT_RecipeAdder.java
@@ -365,7 +365,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt) {
- if ((aInput1 == null) || (aOutput1 == null)) {
+ /*if ((aInput1 == null) || (aOutput1 == null)) {
return false;
}
if ((aDuration = GregTech_API.sRecipeFile.get("assembling", aOutput1, aDuration)) <= 0) {
@@ -373,6 +373,8 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2 == null ? aInput1 : aInput2}, new ItemStack[]{aOutput1}, null, null, null, aDuration, aEUt, 0);
return true;
+ */
+ return addAssemblerRecipe(new ItemStack[]{aInput1, aInput2 == null ? aInput1 : aInput2}, null,aOutput1, aDuration, aEUt, false);
}
public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt) {
@@ -380,7 +382,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
public boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt) {
- if (areItemsAndFluidsBothNull(aInputs, new FluidStack[]{aFluidInput})) {
+ /*if (areItemsAndFluidsBothNull(aInputs, new FluidStack[]{aFluidInput})) {
return false;
}
if (aOutput1 == null) {
@@ -390,26 +392,110 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
return false;
}
GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, 0);
- return true;
+ */
+ return addAssemblerRecipe(aInputs, aFluidInput, aOutput1, aDuration, aEUt, false);
}
public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt, boolean aCleanroom) {
- if(aInput2==null) return addAssemblerRecipe(new ItemStack[]{aInput1},aFluidInput,aOutput1,aDuration,aEUt,aCleanroom);
+ if(aInput2==null)
+ return addAssemblerRecipe(new ItemStack[]{aInput1},aFluidInput,aOutput1,aDuration,aEUt,aCleanroom);
return addAssemblerRecipe(new ItemStack[]{aInput1,aInput2},aFluidInput,aOutput1,aDuration,aEUt,aCleanroom);
}
public boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt, boolean aCleanroom) {
+
if (areItemsAndFluidsBothNull(aInputs, new FluidStack[]{aFluidInput})) {
return false;
}
+
if ((aDuration = GregTech_API.sRecipeFile.get("assembling", aOutput1, aDuration)) <= 0) {
return false;
}
+
if (!GT_Mod.gregtechproxy.mEnableCleanroom){
aCleanroom = false;
}
- GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
- return true;
+
+ if (aOutput1 == null) {
+ return false;
+ }
+
+ boolean ret = false;
+
+ for (int i = 0; i < aInputs.length; ++i) {
+ if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitGood")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitData")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitElite")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitMaster")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitUltimate")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Superconductor, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitSuperconductor")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Infinite, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitInfinite")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ } else if (GT_Utility.areStacksEqual(aInputs[i], GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1L))) {
+ for (ItemStack tStack : GT_OreDictUnificator.getOres("circuitBio")) {
+ if (!GT_Utility.isStackValid(tStack))
+ continue;
+ aInputs[i] = tStack;
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+ }
+ }
+
+ if (!ret) {
+ GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(true, aInputs, new ItemStack[]{aOutput1}, null, new FluidStack[]{aFluidInput}, null, aDuration, aEUt, aCleanroom ? -200 : 0);
+ ret = true;
+ }
+
+ return ret;
}
public boolean addWiremillRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) {
diff --git a/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java b/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java
new file mode 100644
index 0000000000..83dc82e6f9
--- /dev/null
+++ b/src/main/java/gregtech/common/bees/GT_AlleleBeeSpecies.java
@@ -0,0 +1,39 @@
+package gregtech.common.bees;
+
+import forestry.api.apiculture.EnumBeeChromosome;
+import forestry.api.apiculture.IAlleleBeeSpeciesCustom;
+import forestry.api.genetics.AlleleManager;
+import forestry.api.genetics.IClassification;
+import forestry.apiculture.genetics.alleles.AlleleBeeSpecies;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+public class GT_AlleleBeeSpecies extends AlleleBeeSpecies {
+ public GT_AlleleBeeSpecies(String uid, boolean dominant, String unlocalizedName, String authority, String unlocalizedDescription, IClassification branch, String binomial, int primaryColor, int secondaryColor) {
+ super(uid, unlocalizedName, authority, unlocalizedDescription, dominant, branch, binomial, primaryColor, secondaryColor);
+ AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPECIES);
+ }
+
+ @Override
+ public IAlleleBeeSpeciesCustom addProduct(ItemStack product, Float chance) {
+ if (product == null || product.getItem() == null) {
+ product=new ItemStack(Items.boat);
+ }
+ if (chance <= 0.0f || chance > 1.0f) {
+ chance = 0.1f;
+ }
+ return super.addProduct(product,chance);
+ }
+
+ @Override
+ public IAlleleBeeSpeciesCustom addSpecialty(ItemStack specialty, Float chance) {
+ if (specialty == null || specialty.getItem() == null) {
+ specialty=new ItemStack(Items.boat);
+ }
+ if (chance <= 0.0f || chance > 1.0f) {
+ chance = 0.1f;
+ }
+ return super.addSpecialty(specialty, chance);
+ }
+
+}
diff --git a/src/main/java/gregtech/common/bees/GT_AlleleHelper.java b/src/main/java/gregtech/common/bees/GT_AlleleHelper.java
new file mode 100644
index 0000000000..3431f96eb4
--- /dev/null
+++ b/src/main/java/gregtech/common/bees/GT_AlleleHelper.java
@@ -0,0 +1,224 @@
+package gregtech.common.bees;
+
+import forestry.api.apiculture.EnumBeeChromosome;
+import forestry.api.arboriculture.EnumTreeChromosome;
+import forestry.api.genetics.*;
+import forestry.api.lepidopterology.EnumButterflyChromosome;
+import forestry.apiculture.flowers.FlowerProvider;
+import forestry.core.config.Constants;
+import forestry.core.genetics.alleles.*;
+import forestry.core.utils.vect.IVect;
+import forestry.plugins.PluginManager;
+
+import java.util.EnumMap;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+public class GT_AlleleHelper extends AlleleHelper {
+
+ private static final String modId = Constants.ID;
+
+ private final Map<Class, Map<?, ? extends IAllele>> alleleMaps = new HashMap<>();
+
+ public void init() {
+ if (PluginManager.Module.APICULTURE.isEnabled()) {
+ createAlleles(EnumAllele.Fertility.class, EnumBeeChromosome.FERTILITY);
+ createAlleles(EnumAllele.Flowering.class, EnumBeeChromosome.FLOWERING);
+ }
+
+ if (PluginManager.Module.APICULTURE.isEnabled() || PluginManager.Module.ARBORICULTURE.isEnabled()) {
+ createAlleles(EnumAllele.Territory.class,
+ EnumBeeChromosome.TERRITORY,
+ EnumTreeChromosome.TERRITORY
+ );
+
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.territoryDefault", get(EnumAllele.Territory.AVERAGE));
+ }
+
+ if (PluginManager.Module.APICULTURE.isEnabled() || PluginManager.Module.LEPIDOPTEROLOGY.isEnabled()) {
+ createAlleles(EnumAllele.Speed.class,
+ EnumBeeChromosome.SPEED,
+ EnumButterflyChromosome.SPEED
+ );
+ createAlleles(EnumAllele.Lifespan.class,
+ EnumBeeChromosome.LIFESPAN,
+ EnumButterflyChromosome.LIFESPAN
+ );
+ createAlleles(EnumAllele.Tolerance.class,
+ EnumBeeChromosome.TEMPERATURE_TOLERANCE,
+ EnumBeeChromosome.HUMIDITY_TOLERANCE,
+ EnumButterflyChromosome.TEMPERATURE_TOLERANCE,
+ EnumButterflyChromosome.HUMIDITY_TOLERANCE
+ );
+ createAlleles(EnumAllele.Flowers.class,
+ EnumBeeChromosome.FLOWER_PROVIDER,
+ EnumButterflyChromosome.FLOWER_PROVIDER
+ );
+
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.speedNorm", get(EnumAllele.Speed.NORMAL));
+ }
+
+ if (PluginManager.Module.ARBORICULTURE.isEnabled()) {
+ createAlleles(EnumAllele.Height.class, EnumTreeChromosome.HEIGHT);
+ createAlleles(EnumAllele.Saplings.class, EnumTreeChromosome.FERTILITY);
+ createAlleles(EnumAllele.Yield.class, EnumTreeChromosome.YIELD);
+ createAlleles(EnumAllele.Fireproof.class, EnumTreeChromosome.FIREPROOF);
+ createAlleles(EnumAllele.Maturation.class, EnumTreeChromosome.MATURATION);
+ createAlleles(EnumAllele.Sappiness.class, EnumTreeChromosome.SAPPINESS);
+
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.heightMax10", get(EnumAllele.Height.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsDefault", get(EnumAllele.Saplings.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsDouble", get(EnumAllele.Saplings.HIGH));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.saplingsTriple", get(EnumAllele.Saplings.HIGHER));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.yieldDefault", get(EnumAllele.Yield.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlowest", get(EnumAllele.Maturation.SLOWEST));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlower", get(EnumAllele.Maturation.SLOWER));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturitySlow", get(EnumAllele.Maturation.SLOW));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityAverage", get(EnumAllele.Maturation.AVERAGE));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFast", get(EnumAllele.Maturation.FAST));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFaster", get(EnumAllele.Maturation.FASTER));
+ AlleleManager.alleleRegistry.registerDeprecatedAlleleReplacement("forestry.maturityFastest", get(EnumAllele.Maturation.FASTEST));
+ }
+
+ if (PluginManager.Module.LEPIDOPTEROLOGY.isEnabled()) {
+ createAlleles(EnumAllele.Size.class, EnumButterflyChromosome.SIZE);
+ }
+
+ Map<Integer, IAlleleInteger> integers = new HashMap<>();
+ for (int i = 1; i <= 10; i++) {
+ IAlleleInteger alleleInteger = new AlleleInteger(modId, "i", i + "d", i, true);
+ AlleleManager.alleleRegistry.registerAllele(alleleInteger,
+ EnumTreeChromosome.GIRTH,
+ EnumButterflyChromosome.METABOLISM,
+ EnumButterflyChromosome.FERTILITY
+ );
+ integers.put(i, alleleInteger);
+ }
+ alleleMaps.put(Integer.class, integers);
+
+ Map<Boolean, IAlleleBoolean> booleans = new HashMap<>();
+ booleans.put(true, new AlleleBoolean(modId, "bool", true, false));
+ booleans.put(false, new AlleleBoolean(modId, "bool", false, false));
+ for (IAlleleBoolean alleleBoolean : booleans.values()) {
+ AlleleManager.alleleRegistry.registerAllele(alleleBoolean,
+ EnumBeeChromosome.NOCTURNAL,
+ EnumBeeChromosome.TOLERANT_FLYER,
+ EnumBeeChromosome.CAVE_DWELLING,
+ EnumButterflyChromosome.NOCTURNAL,
+ EnumButterflyChromosome.TOLERANT_FLYER,
+ EnumButterflyChromosome.FIRE_RESIST
+ );
+ }
+ alleleMaps.put(Boolean.class, booleans);
+ }
+
+ public static void initialisation(){
+ AlleleHelper.instance = new GT_AlleleHelper();
+ AlleleHelper.instance.init();
+ }
+
+
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, IAllele allele) {
+
+ if (allele == null) {
+ return;
+ }
+
+ if (!chromosomeType.getAlleleClass().isInstance(allele)) {
+ return;
+ }
+
+ // uncomment this once all addon mods are using the allele registration with IChromosomeType
+ // Collection<IChromosomeType> validTypes = AlleleManager.alleleRegistry.getChromosomeTypes(allele);
+ // if (validTypes.size() > 0 && !validTypes.contains(chromosomeType)) {
+ // throw new IllegalArgumentException("Allele can't applied to this Chromosome type. Expected: " + validTypes + " Got: " + chromosomeType);
+ // }
+
+ alleles[chromosomeType.ordinal()] = allele;
+ }
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, IAlleleValue value) {
+ set(alleles, chromosomeType, get(value));
+ }
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, boolean value) {
+ set(alleles, chromosomeType, get(value));
+ }
+
+ @Override
+ public <T extends Enum<T> & IChromosomeType> void set(IAllele[] alleles, T chromosomeType, int value) {
+ set(alleles, chromosomeType, get(value));
+ }
+
+ private IAllele get(Object value) {
+ Class<?> valueClass = value.getClass();
+ Map<?, ? extends IAllele> map = alleleMaps.get(valueClass);
+ if (map == null) {
+ throw new IllegalArgumentException("There is no IAllele type for: " + valueClass + ' ' + value);
+ }
+ IAllele allele = map.get(value);
+ if (allele == null) {
+ allele = new IAllele() {
+ @Override
+ public String getUID() {
+ return "NOT_FOUND";
+ }
+
+ @Override
+ public boolean isDominant() {
+ return false;
+ }
+
+ @Override
+ public String getName() {
+ return "NOT_FOUND";
+ }
+
+ @Override
+ public String getUnlocalizedName() {
+ return "NOT_FOUND";
+ }
+ };
+ }
+ return allele;
+ }
+
+ private <K extends Enum<K> & IAlleleValue<V>, V> void createAlleles(Class<K> enumClass, IChromosomeType... types) {
+ String category = enumClass.getSimpleName().toLowerCase(Locale.ENGLISH);
+ EnumMap<K, IAllele> map = new EnumMap<>(enumClass);
+ for (K enumValue : enumClass.getEnumConstants()) {
+ IAllele allele = createAllele(category, enumValue, types);
+ map.put(enumValue, allele);
+ }
+ alleleMaps.put(enumClass, map);
+ }
+ private static <K extends IAlleleValue<V>, V> IAllele createAllele(String category, K enumValue, IChromosomeType... types) {
+ V value = enumValue.getValue();
+ boolean isDominant = enumValue.isDominant();
+ String name = enumValue.toString().toLowerCase(Locale.ENGLISH);
+
+ Class<?> valueClass = value.getClass();
+ if (Float.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createFloat(modId, category, name, (Float) value, isDominant, types);
+ } else if (Integer.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createInteger(modId, category, name, (Integer) value, isDominant, types);
+ } else if (IVect.class.isAssignableFrom(valueClass)) {
+ IVect area = (IVect) value;
+ return AlleleManager.alleleFactory.createArea(modId, category, name, area.getX(), area.getY(), area.getZ(), isDominant, types);
+ } else if (Boolean.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createBoolean(modId, category, (Boolean) value, isDominant, types);
+ } else if (EnumTolerance.class.isAssignableFrom(valueClass)) {
+ IAlleleTolerance alleleTolerance = new AlleleTolerance(modId, category, name, (EnumTolerance) value, isDominant);
+ AlleleManager.alleleRegistry.registerAllele(alleleTolerance, types);
+ return alleleTolerance;
+ } else if (FlowerProvider.class.isAssignableFrom(valueClass)) {
+ return AlleleManager.alleleFactory.createFlowers(modId, category, name, (FlowerProvider) value, isDominant, types);
+ }
+ throw new RuntimeException("could not create allele for category: " + category + " and value " + valueClass);
+ }
+}
diff --git a/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java b/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java
new file mode 100644
index 0000000000..852f00e6d6
--- /dev/null
+++ b/src/main/java/gregtech/common/bees/GT_Bee_Mutation.java
@@ -0,0 +1,75 @@
+package gregtech.common.bees;
+
+import forestry.api.apiculture.*;
+import forestry.api.genetics.IAllele;
+import forestry.api.genetics.IGenome;
+import forestry.api.genetics.IMutationCondition;
+import forestry.apiculture.genetics.BeeMutation;
+import net.minecraft.util.ChunkCoordinates;
+import net.minecraft.world.World;
+
+import java.lang.reflect.Field;
+import java.util.List;
+
+
+public class GT_Bee_Mutation extends BeeMutation {
+
+ private int split = 1;
+
+ public GT_Bee_Mutation(IAlleleBeeSpecies bee0, IAlleleBeeSpecies bee1, IAllele[] result, int chance, int split) {
+ super(bee0, bee1, result, chance);
+ this.split = split;
+ BeeManager.beeRoot.registerMutation(this);
+ }
+
+ @Override
+ public float getBaseChance() {
+ return ((float) ((float)super.getBaseChance() / ((float)split)));
+ }
+
+ @Override
+ public float getChance(IBeeHousing housing, IAlleleBeeSpecies allele0, IAlleleBeeSpecies allele1, IBeeGenome genome0, IBeeGenome genome1) {
+ World world = housing.getWorld();
+ ChunkCoordinates housingCoordinates = housing.getCoordinates();
+ int x = housingCoordinates.posX;
+ int y = housingCoordinates.posY;
+ int z = housingCoordinates.posZ;
+
+ float processedChance = getbasicChance(world, x, y, z, allele0, allele1, genome0, genome1);
+
+
+ if (processedChance <= 0f) {
+ return 0f;
+ }
+
+ IBeeModifier beeHousingModifier = BeeManager.beeRoot.createBeeHousingModifier(housing);
+ IBeeModifier beeModeModifier = BeeManager.beeRoot.getBeekeepingMode(world).getBeeModifier();
+
+ processedChance *= beeHousingModifier.getMutationModifier(genome0, genome1, processedChance);
+ processedChance *= beeModeModifier.getMutationModifier(genome0, genome1, processedChance);
+
+ return processedChance;
+ }
+
+ protected float getbasicChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) {
+ float mutationChance = getBaseChance();
+ List<IMutationCondition> mutationConditions = null;
+ try {
+ Field f = this.getClass().getDeclaredField("mutationConditions");
+ f.setAccessible(true);
+ Object o = f.get(this);
+ mutationConditions = o instanceof List ? (List) o : null ;
+ } catch (NoSuchFieldException | IllegalAccessException e) {
+ e.printStackTrace();
+ }
+
+ if (mutationConditions != null)
+ for (IMutationCondition mutationCondition : mutationConditions) {
+ mutationChance *= mutationCondition.getChance(world, x, y, z, allele0, allele1, genome0, genome1);
+ if (mutationChance == 0) {
+ return 0;
+ }
+ }
+ return mutationChance;
+ }
+}
diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java
index 4d220f6863..8f943c8588 100644
--- a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java
+++ b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java
@@ -373,7 +373,22 @@ public class GT_Block_Machines
}
return mTemporaryTileEntity.get() == null ? new ArrayList() : ((IGregTechTileEntity) mTemporaryTileEntity.get()).getDrops();
}
+ @Override
+ public boolean removedByPlayer(World aWorld, EntityPlayer aPlayer, int aX, int aY, int aZ, boolean aWillHarvest) {
+ if (aWillHarvest) {
+ return true; // This delays deletion of the block until after getDrops
+ } else {
+ return super.removedByPlayer(aWorld, aPlayer, aX, aY, aZ, false);
+ }
+ }
+ @Override
+ public void harvestBlock(World aWorld, EntityPlayer aPlayer, int aX, int aY, int aZ, int aMeta)
+ {
+ super.harvestBlock(aWorld, aPlayer, aX, aY, aZ, aMeta);
+ aWorld.setBlockToAir(aX, aY, aZ);
+ }
+
public int getComparatorInputOverride(World aWorld, int aX, int aY, int aZ, int aSide) {
TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
if (((tTileEntity instanceof IGregTechTileEntity))) {
diff --git a/src/main/java/gregtech/common/items/CombType.java b/src/main/java/gregtech/common/items/CombType.java
index ffde997fb9..9ff5eb359c 100644
--- a/src/main/java/gregtech/common/items/CombType.java
+++ b/src/main/java/gregtech/common/items/CombType.java
@@ -4,63 +4,206 @@ import gregtech.api.enums.Materials;
import gregtech.api.util.GT_LanguageManager;
public enum CombType {
- //Organic
+ //Organic Line
LIGNIE("lignite", true, Materials.Lignite, 100),
COAL("coal", true, Materials.Coal, 100),
STICKY("stickyresin", true, Materials._NULL, 50),
OIL("oil", true, Materials._NULL, 100),
+ APATITE("apatite", true, Materials.Apatite, 100),
+ ASH("ash", true, Materials.Ash, 100),
+
+ //IC2 Line
+ COOLANT("coolant", true, Materials._NULL, 100),
+ ENERGY("energy", true, Materials._NULL, 80),
+ LAPOTRON("lapotron", true, Materials._NULL, 60),
+ PYROTHEUM("pyrotheum", true, Materials.Pyrotheum, 50),
+ CRYOTHEUM("cryotheum", true, Materials.Pyrotheum, 50),
+
+ //Alloy Line
+ REDALLOY("redalloy", true, Materials.RedAlloy, 100),
+ REDSTONEALLOY("redstonealloy", true, Materials.RedstoneAlloy, 90),
+ CONDUCTIVEIRON("conductiveiron", true, Materials.ConductiveIron, 80),
+ VIBRANTALLOY("vibrantalloy", true, Materials.VibrantAlloy, 50),
+ ENERGETICALLOY("energeticalloy", true, Materials.EnergeticAlloy, 70),
+ ELECTRICALSTEEL("electricalsteel", true, Materials.ElectricalSteel, 90),
+ DARKSTEEL("darksteel", true, Materials.DarkSteel, 80),
+ PULSATINGIRON("pulsatingiron", true, Materials.PulsatingIron, 80),
+ STAINLESSSTEEL("stainlesssteel", true, Materials.StainlessSteel, 75),
+ ENDERIUM("enderium", true, Materials.Enderium, 40),
+
+ //Thaumcraft Line
+ THAUMIUMDUST("thaumiumdust", true, Materials.Thaumium, 100),
+ THAUMIUMSHARD("thaumiumshard", true, Materials._NULL, 85),
+ AMBER("amber", true, Materials.Amber, 90),
+ QUICKSILVER("quicksilver", true, Materials.Mercury, 90),
+ SALISMUNDUS("salismundus", true, Materials._NULL, 75),
+ TAINTED("tainted", true, Materials._NULL, 80),
+ MITHRIL("mithril", true, Materials.Mithril, 70),
+ ASTRALSILVER("astralsilver", true, Materials.AstralSilver, 70),
+ THAUMINITE("thauminite", true, Materials._NULL, 50),
+ SHADOWMETAL("shadowmetal", true, Materials.Shadow, 50),
+ DIVIDED("divided", true, Materials.Unstable, 40),
+ SPARKELING("sparkeling", true, Materials.NetherStar, 40),
+
//Gem Line
STONE("stone", true, Materials._NULL, 70),
CERTUS("certus", true, Materials.CertusQuartz, 100),
+ FLUIX("fluix", true, Materials.Fluix, 100),
REDSTONE("redstone", true, Materials.Redstone, 100),
+ RAREEARTH("rareearth", true, Materials.RareEarth, 100),
LAPIS("lapis", true, Materials.Lapis, 100),
RUBY("ruby", true, Materials.Ruby, 100),
+ REDGARNET("redgarnet", true, Materials.GarnetRed,100),
+ YELLOWGARNET("yellowgarnet", true, Materials.GarnetYellow,100),
SAPPHIRE("sapphire", true, Materials.Sapphire, 100),
DIAMOND("diamond", true, Materials.Diamond, 100),
OLIVINE("olivine", true, Materials.Olivine, 100),
EMERALD("emerald", true, Materials.Emerald, 100),
+ PYROPE("pyrope", true, Materials.Pyrope, 100),
+ GROSSULAR("grossular", true, Materials.Grossular, 100),
+ FIRESTONE("firestone", true, Materials.Firestone, 100),
- // Metals Line
+ //Metals Line
SLAG("slag", true, Materials._NULL, 50),
- COPPER("coppon", true, Materials.Copper, 100),
- TIN("tine", true, Materials.Tin, 100),
- LEAD("plumbilia", true, Materials.Lead, 100),
- IRON("ferru", true, Materials.Iron, 100),
- STEEL("steeldust", true, Materials.Steel, 100),
- NICKEL("nickeldust", true, Materials.Nickel, 100),
- ZINC("galvania", true, Materials.Zinc, 100),
- SILVER("argentia", true, Materials.Silver, 100),
- GOLD("aurelia", true, Materials.Gold, 100),
-
- // Rare Metals Line
- ALUMINIUM("bauxia", true, Materials.Aluminium, 60),
- MANGANESE("pyrolusium", true, Materials.Manganese, 30),
+ COPPER("copper", true, Materials.Copper, 100),
+ TIN("tin", true, Materials.Tin, 100),
+ LEAD("lead", true, Materials.Lead, 100),
+ IRON("iron", true, Materials.Iron, 100),
+ STEEL("steel", true, Materials.Steel, 95),
+ NICKEL("nickel", true, Materials.Nickel, 100),
+ ZINC("zinc", true, Materials.Zinc, 100),
+ SILVER("silver", true, Materials.Silver, 100),
+ GOLD("gold", true, Materials.Gold, 100),
+ SULFUR("sulfur", true, Materials.Sulfur, 100),
+ GALLIUM ("gallium", true, Materials.Gallium, 75),
+ ARSENIC ("arsenic", true, Materials.Arsenic, 75),
+
+ //Rare Metals Line
+ BAUXITE("bauxite", true, Materials.Bauxite, 85),
+ ALUMINIUM("aluminium", true, Materials.Aluminium, 60),
+ MANGANESE("manganese", true, Materials.Manganese, 30),
+ MAGNESIUM("magnesium", true, Materials.Magnesium, 75),
TITANIUM("titanium", true, Materials.Ilmenite, 100),
CHROME("chromium", true, Materials.Chrome, 50),
- TUNGSTEN("scheelinium", true, Materials.Tungstate, 100),
- PLATINUM("platina", true, Materials.Platinum, 40),
- IRIDIUM("quantaria", true, Materials.Iridium, 20),
+ TUNGSTEN("tungsten", true, Materials.Tungstate, 100),
+ PLATINUM("platinum", true, Materials.Platinum, 40),
+ IRIDIUM("iridium", true, Materials.Iridium, 20),
+ MOLYBDENUM("molybdenum", true, Materials.Molybdenum, 20),
+ OSMIUM("osmium", true, Materials.Osmium, 15),
+ LITHIUM("lithium", true, Materials.Lithium, 75),
+ SALT("salt", true, Materials.Salt, 90),
+ ELECTROTINE("electrotine", true, Materials.Electrotine, 75),
+ ALMANDINE("almandine", true, Materials.Almandine, 85),
-
- // Radioactive Line
- URANIUM("urania", true, Materials.Uranium, 50),
+ //Radioactive Line
+ URANIUM("uranium", true, Materials.Uranium, 50),
PLUTONIUM("plutonium", true, Materials.Plutonium, 10),
- NAQUADAH("stargatium", true, Materials.Naquadah, 10),;
+ NAQUADAH("naquadah", true, Materials.Naquadah, 10),
+ NAQUADRIA("naquadria", true, Materials.Naquadria, 5),
+ DOB("d-o-b", true, Materials._NULL, 50),
+ THORIUM("thorium", true, Materials.Thorium, 75),
+ LUTETIUM("lutetium", true, Materials.Lutetium, 10),
+ AMERICUM("americum", true, Materials.Americium, 5),
+ NEUTRONIUM("neutronium", true, Materials.Neutronium, 2),
+
+ //Twilight
+ NAGA("naga", true, Materials._NULL, 100),
+ LICH("lich", true, Materials._NULL, 90),
+ HYDRA("hydra", true, Materials._NULL, 80),
+ URGHAST("urghast", true, Materials._NULL, 70),
+ SNOWQUEEN("snowqueen", true, Materials._NULL, 60),
+
+ //Space
+ SPACE("space", true, Materials._NULL, 100),
+ METEORICIRON("meteoriciron",true, Materials.MeteoricIron, 100),
+ DESH("desh",true, Materials.Desh, 90),
+ LEDOX("ledox",true, Materials.Ledox, 75),
+ CALLISTOICE("callistoice",true, Materials.CallistoIce, 75),
+ MYTRYL("mytryl",true, Materials.Mytryl, 65),
+ QUANTIUM("quantium",true, Materials.Quantium, 50),
+ ORIHARUKON("oriharukon",true, Materials.Oriharukon, 50),
+ MYSTERIOUSCRYSTAL("mysteriouscrystal",true, Materials.MysteriousCrystal, 45),
+ BLACKPLUTONIUM("blackplutonium",true, Materials.Quantium, 25),
+ TRINIUM("trinium",true, Materials.Trinium, 25),
+
+ //Planet
+ MERCURY("mercury", true, Materials._NULL, 65),
+ VENUS("venus",true, Materials._NULL, 65),
+ MOON("moon",true, Materials._NULL, 90),
+ MARS("mars",true, Materials._NULL, 80),
+ JUPITER("jupiter",true, Materials._NULL, 75),
+ SATURN("saturn",true, Materials._NULL, 55),
+ URANUS("uranus",true, Materials._NULL, 45),
+ NEPTUN("neptun",true, Materials._NULL, 35),
+ PLUTO("pluto",true, Materials._NULL, 25),
+ HAUMEA("haumea",true, Materials._NULL, 20),
+ MAKEMAKE("makemake",true, Materials._NULL, 20),
+ CENTAURI("centauri",true, Materials._NULL, 15),
+ TCETI("tceti",true, Materials._NULL, 10),
+ BARNARDA("barnarda",true, Materials._NULL, 10),
+ VEGA("vega",true, Materials._NULL, 10),
+
+ //Infinity
+ COSMICNEUTRONIUM("cosmicneutronium",true, Materials._NULL, 5),
+ INFINITYCATALYST("infinitycatalyst",true, Materials._NULL, 2),
+ INFINITY("infinity",true, Materials._NULL, 1);
private static int[][] colours = new int[][]{
- {0x906237, 0x58300B},
- {0x666666, 0x525252},
+ //organic
+ {0x58300B, 0x906237},
+ {0x525252, 0x666666},
{0x2E8F5B, 0xDCC289},
- {0x4C4C4C, 0x333333},
+ {0x333333, 0x4C4C4C},
+ {0xc1c1f6, 0x676784},
+ {0x1e1a18, 0xc6c6c6},
+ //ic2
+ {0x144F5A, 0x2494A2},
+ {0xC11F1F, 0xEBB9B9},
+ {0x1414FF, 0x6478FF},
+ {0xffebc4, 0xe36400},
+ {0x2660ff, 0x5af7ff},
+ //alloy
+ {0xE60000, 0xB80000},
+ {0xB80000, 0xA50808},
+ {0x817671, 0xCEADA3},
+ {0x86A12D, 0xC4F2AE},
+ {0xFF9933, 0xFFAD5C},
+ {0x787878, 0xD8D8D8},
+ {0x252525, 0x443B44},
+ {0x006600, 0x6DD284},
+ {0x778899, 0xC8C8DC},
+ {0x2E8B57, 0x599087},
+ //Thaumcraft
+ {0x7A007A, 0x5C005C},
+ {0x9966FF, 0xAD85FF},
+ {0x774B15, 0xEE7700},
+ {0xc7c7ea, 0xb5b3df},
+ {0xF7ADDE, 0x592582},
+ {0x904BB8, 0xE800FF},
+ {0xF0E68C, 0xFFFFD2},
+ {0xAFEEEE, 0xE6E6FF},
+ {0x2E2D79, 0x7581E0},
+ {0x100322, 0x100342},
+ {0xF0F0F0, 0xDCDCDC},
+ {0x7A007A, 0xFFFFFF},
+ //gems
{0x808080, 0x999999},
{0x57CFFB, 0xBBEEFF},
+ {0xA375FF, 0xB591FF},
{0x7D0F0F, 0xD11919},
+ {0x555643, 0x343428},
{0x1947D1, 0x476CDA},
{0xE6005C, 0xCC0052},
+ {0xBD4C4C, 0xECCECE},
+ {0xA3A341, 0xEDEDCE},
{0x0033CC, 0x00248F},
{0xCCFFFF, 0xA3CCCC},
{0x248F24, 0xCCFFCC},
{0x248F24, 0x2EB82E},
+ {0x763162, 0x8B8B8B},
+ {0x9B4E00, 0x8B8B8B},
+ {0xC00000, 0xFF0000},
+ //Metals
{0xD4D4D4, 0x58300B},
{0xFF6600, 0xE65C00},
{0xD4D4D4, 0xDDDDDD},
@@ -71,16 +214,73 @@ public enum CombType {
{0xF0DEF0, 0xF2E1F2},
{0xC2C2D6, 0xCECEDE},
{0xE6B800, 0xCFA600},
+ {0x6F6F01, 0x8B8B8B},
+ {0x8B8B8B, 0xC5C5E4},
+ {0x736C52, 0x292412},
+ //Rare Metals
+ {0x6B3600, 0x8B8B8B},
{0x008AB8, 0xD6D6FF},
{0xD5D5D5, 0xAAAAAA},
+ {0xF1D9D9, 0x8B8B8B},
{0xCC99FF, 0xDBB8FF},
{0xEBA1EB, 0xF2C3F2},
{0x62626D, 0x161620},
{0xE6E6E6, 0xFFFFCC},
{0xDADADA, 0xD1D1E0},
+ {0xAEAED4, 0x8B8B8B},
+ {0x2B2BDA, 0x8B8B8B},
+ {0xF0328C, 0xE1DCFF},
+ {0xF0C8C8, 0xFAFAFA},
+ {0x1E90FF, 0x3CB4C8},
+ {0xC60000, 0x8B8B8B},
+ //Radioactive Line
{0x19AF19, 0x169E16},
- {0x335C33, 0x6B8F00},
- {0x003300, 0x002400},
+ {0x240000, 0x570000},
+ {0x000000, 0x004400},
+ {0x000000, 0x002400},
+ {0x007700, 0x002400},
+ {0x001E00, 0x005000},
+ {0xE6FFE6, 0xFFFFFF},
+ {0xE6E6FF, 0xC8C8C8},
+ {0xFFF0F0, 0xFAFAFA},
+ //Twilight
+ {0x0D5A0D, 0x28874B},
+ {0x5C605E, 0xC5C5C5},
+ {0x872836, 0xB8132C},
+ {0x7C0618, 0xA7041C},
+ {0x9C0018, 0xD02001},
+ //space
+ {0x003366, 0xC0C0C0},
+ {0x321928, 0x643250},
+ {0x282828, 0x323232},
+ {0x0000CD, 0x0074FF},
+ {0x0074FF, 0x1EB1FF},
+ {0xDAA520, 0xF26404},
+ {0x00FF00, 0x00D10B},
+ {0x228B22, 0x677D68},
+ {0x3CB371, 0x16856C},
+ {0x000000, 0x323232},
+ {0xB0E0E6, 0xC8C8D2},
+ //planets
+ {0x4A4033, 0xB5A288},
+ {0x120E07, 0x272010},
+ {0x373735, 0x7E7E78},
+ {0x220D05, 0x3A1505},
+ {0x734B2E, 0xD0CBC4},
+ {0xD2A472, 0xF8C37B},
+ {0x75C0C9, 0x84D8EC},
+ {0x334CFF, 0x576DFF},
+ {0x34271E, 0x69503D},
+ {0x1C1413, 0x392B28},
+ {0x301811, 0x120A07},
+ {0x2F2A14, 0xB06B32},
+ {0x46241A, 0x7B412F},
+ {0x0D5A0D, 0xE6C18D},
+ {0x1A2036, 0xB5C0DE},
+ //infinity
+ {0x484848, 0x323232},
+ {0xFFFFFF, 0xFFFFFF},
+ {0xFFFFFF, 0xFFFFFF},
};
public boolean showInList;
public Materials material;
diff --git a/src/main/java/gregtech/common/items/DropType.java b/src/main/java/gregtech/common/items/DropType.java
new file mode 100644
index 0000000000..258126b52e
--- /dev/null
+++ b/src/main/java/gregtech/common/items/DropType.java
@@ -0,0 +1,48 @@
+package gregtech.common.items;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GT_LanguageManager;
+
+public enum DropType {
+
+ OIL("oil",true),
+ MUTAGEN("small mutagen catalyst",true),
+ COOLANT("coolant",true),
+ HOT_COOLANT("hot coolant",true),
+ HYDRA("hydra blood",true),
+ SNOW_QUEEN("snowqueen blood",true),
+ OXYGEN("oxygen",true),
+ LAPIS("lapis coolant",true);
+
+ private static int[][] colours = new int[][]{
+ {0x19191B, 0x303032},
+ {0xffc100, 0x00ff11},
+ {0x144F5A, 0x2494A2},
+ {0xC11F1F, 0xEBB9B9},
+ {0x872836, 0xB8132C},
+ {0xD02001, 0x9C0018},
+ {0x003366, 0x0066BB},
+ {0x1727b1, 0x008ce3},
+ };
+ public boolean showInList;
+ public Materials material;
+ public int chance;
+ private String name;
+ private DropType(String pName, boolean show) {
+ this.name = pName;
+ this.showInList = show;
+ }
+
+ public void setHidden() {
+ this.showInList = false;
+ }
+
+ public String getName() {
+// return "gt.comb."+this.name;
+ return GT_LanguageManager.addStringLocalization("drop." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Drop");
+ }
+
+ public int[] getColours() {
+ return colours[this.ordinal()];
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
index db26ca6e71..0fc7f51a3c 100644
--- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
+++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
@@ -515,7 +515,8 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
ItemList.Electric_Motor_LuV.set(addItem(606, "Electric Motor (LuV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 32L)}));
ItemList.Electric_Motor_ZPM.set(addItem(607, "Electric Motor (ZPM)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 64L)}));
ItemList.Electric_Motor_UV.set(addItem(608, "Electric Motor (UV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L)}));
- ItemList.Electric_Motor_UHV.set(addItem(596, "Electric Motor (UHV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L)}));
+ ItemList.Electric_Motor_UHV.set(addItem(596, "Electric Motor (UHV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 256L)}));
+ ItemList.Electric_Motor_UEV.set(addItem(595, "Electric Motor (UEV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L)}));
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.IronMagnetic), 'R', OrePrefixes.stick.get(Materials.AnyIron), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', OrePrefixes.cableGt01.get(Materials.Tin)});
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Motor_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', OrePrefixes.stick.get(Materials.Steel), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', OrePrefixes.cableGt01.get(Materials.Tin)});
@@ -532,7 +533,8 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
ItemList.Electric_Pump_LuV.set(addItem(615, "Electric Pump (LuV)", "655.360 L/sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 32L)}));
ItemList.Electric_Pump_ZPM.set(addItem(616, "Electric Pump (ZPM)", "2.621.440 L/sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 64L)}));
ItemList.Electric_Pump_UV.set(addItem(617, "Electric Pump (UV)", "10.485.760 L/sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 128L)}));
- ItemList.Electric_Pump_UHV.set(addItem(618, "Electric Pump (UHV)", "20.971.520 L/sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 128L)}));
+ ItemList.Electric_Pump_UHV.set(addItem(618, "Electric Pump (UHV)", "20.971.520 L/sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 256L)}));
+ ItemList.Electric_Pump_UEV.set(addItem(619, "Electric Pump (UEV)", "41.943.040 L/sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 512L)}));
GregTech_API.registerCover(ItemList.Electric_Pump_LV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(32));
GregTech_API.registerCover(ItemList.Electric_Pump_MV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(128));
@@ -543,6 +545,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
GregTech_API.registerCover(ItemList.Electric_Pump_ZPM.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[7][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(131072));
GregTech_API.registerCover(ItemList.Electric_Pump_UV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[8][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(524288));
GregTech_API.registerCover(ItemList.Electric_Pump_UHV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[9][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(1048576));
+ GregTech_API.registerCover(ItemList.Electric_Pump_UEV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[9][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_Pump(2097152));
ItemList.FluidRegulator_LV.set(addItem(tLastID = 660, "Fluid Regulator (LV)", "Configuable up to 640 L/sec (as Cover)/n Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick/n to adjust the pump speed by 1/16/256 L/tick per click", new Object[]{}));
ItemList.FluidRegulator_MV.set(addItem(tLastID = 661, "Fluid Regulator (MV)", "Configuable up to 2.560 L/sec (as Cover)/n Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick/n to adjust the pump speed by 1/16/256 L/tick per click", new Object[]{}));
@@ -562,7 +565,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
GregTech_API.registerCover(ItemList.FluidRegulator_ZPM.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[7][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(131072));
GregTech_API.registerCover(ItemList.FluidRegulator_UV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[8][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PUMP)}), new GT_Cover_FluidRegulator(524288));
- ItemList.FluidFilter.set(addItem(669, "Fluid Filter", "Set with Fluid Container to only accept one Fluid Type", new Object[]{}));
+ ItemList.FluidFilter.set(addItem(669, "Fluid Filter Cover", "Set with Fluid Container to only accept one Fluid Type", new Object[]{}));
GregTech_API.registerCover(ItemList.FluidFilter.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SHUTTER)}), new GT_Cover_Fluidfilter());
/**ItemList.Rotor_LV.set(addItem(tLastID = 620, "Tin Rotor", "", new Object[] { OrePrefixes.rotor.get(Materials.Tin), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L) }));
@@ -588,7 +591,8 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
ItemList.Conveyor_Module_LuV.set(addItem(635, "Conveyor Module (LuV)", "2 Stacks every 1/20 sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 32L)}));
ItemList.Conveyor_Module_ZPM.set(addItem(636, "Conveyor Module (ZPM)", "4 Stacks every 1/20 sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 64L)}));
ItemList.Conveyor_Module_UV.set(addItem(637, "Conveyor Module (UV)", "8 Stacks every 1/20 sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 128L)}));
- ItemList.Conveyor_Module_UHV.set(addItem(638, "Conveyor Module (UHV)", "16 Stacks every 1/20 sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 128L)}));
+ ItemList.Conveyor_Module_UHV.set(addItem(638, "Conveyor Module (UHV)", "16 Stacks every 1/20 sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 256L)}));
+ ItemList.Conveyor_Module_UEV.set(addItem(639, "Conveyor Module (UEV)", "32 Stacks every 1/20 sec (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L)}));
GT_ModHandler.addCraftingRecipe(ItemList.Conveyor_Module_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_LV, 'C', OrePrefixes.cableGt01.get(Materials.Tin), 'R', OrePrefixes.plate.get(Materials.AnyRubber)});
GT_ModHandler.addCraftingRecipe(ItemList.Conveyor_Module_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_MV, 'C', OrePrefixes.cableGt01.get(Materials.AnyCopper), 'R', OrePrefixes.plate.get(Materials.AnyRubber)});
@@ -605,6 +609,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
GregTech_API.registerCover(ItemList.Conveyor_Module_ZPM.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[7][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_CONVEYOR)}), new GT_Cover_Conveyor(1, 4));
GregTech_API.registerCover(ItemList.Conveyor_Module_UV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[8][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_CONVEYOR)}), new GT_Cover_Conveyor(1, 8));
GregTech_API.registerCover(ItemList.Conveyor_Module_UHV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[9][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_CONVEYOR)}), new GT_Cover_Conveyor(1, 16));
+ GregTech_API.registerCover(ItemList.Conveyor_Module_UEV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[10][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_CONVEYOR)}), new GT_Cover_Conveyor(1, 32));
ItemList.Electric_Piston_LV.set(addItem(640, "Electric Piston (LV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L)}));
ItemList.Electric_Piston_MV.set(addItem(641, "Electric Piston (MV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L)}));
@@ -615,6 +620,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
ItemList.Electric_Piston_ZPM.set(addItem(646, "Electric Piston (ZPM)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 64L)}));
ItemList.Electric_Piston_UV.set(addItem(647, "Electric Piston (UV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L)}));
ItemList.Electric_Piston_UHV.set(addItem(648, "Electric Piston (UHV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 256L)}));
+ ItemList.Electric_Piston_UEV.set(addItem(649, "Electric Piston (UEV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L)}));
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Piston_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.Steel), 'S', OrePrefixes.stick.get(Materials.Steel), 'G', OrePrefixes.gearGtSmall.get(Materials.Steel), 'M', ItemList.Electric_Motor_LV, 'C', OrePrefixes.cableGt01.get(Materials.Tin)});
GT_ModHandler.addCraftingRecipe(ItemList.Electric_Piston_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.Aluminium), 'S', OrePrefixes.stick.get(Materials.Aluminium), 'G', OrePrefixes.gearGtSmall.get(Materials.Aluminium), 'M', ItemList.Electric_Motor_MV, 'C', OrePrefixes.cableGt01.get(Materials.AnyCopper)});
@@ -631,6 +637,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
ItemList.Robot_Arm_ZPM.set(addItem(656, "Robot Arm (ZPM)", "Inserts into specific Slots (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 64L)}));
ItemList.Robot_Arm_UV.set(addItem(657, "Robot Arm (UV)", "Inserts into specific Slots (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 128L)}));
ItemList.Robot_Arm_UHV.set(addItem(658, "Robot Arm (UHV)", "Inserts into specific Slots (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 256L)}));
+ ItemList.Robot_Arm_UEV.set(addItem(659, "Robot Arm (UEV)", "Inserts into specific Slots (as Cover)", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1024L), new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 512L)}));
GT_ModHandler.addCraftingRecipe(ItemList.Robot_Arm_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.Steel), 'M', ItemList.Electric_Motor_LV, 'P', ItemList.Electric_Piston_LV, 'E', OrePrefixes.circuit.get(Materials.Basic), 'C', OrePrefixes.cableGt01.get(Materials.Tin)});
GT_ModHandler.addCraftingRecipe(ItemList.Robot_Arm_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.Aluminium), 'M', ItemList.Electric_Motor_MV, 'P', ItemList.Electric_Piston_MV, 'E', OrePrefixes.circuit.get(Materials.Good), 'C', OrePrefixes.cableGt01.get(Materials.AnyCopper)});
@@ -647,6 +654,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
GregTech_API.registerCover(ItemList.Robot_Arm_ZPM.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[7][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_ARM)}), new GT_Cover_Arm(1));
GregTech_API.registerCover(ItemList.Robot_Arm_UV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[8][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_ARM)}), new GT_Cover_Arm(1));
GregTech_API.registerCover(ItemList.Robot_Arm_UHV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[9][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_ARM)}), new GT_Cover_Arm(1));
+ GregTech_API.registerCover(ItemList.Robot_Arm_UEV.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[10][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_ARM)}), new GT_Cover_Arm(1));
ItemList.QuantumEye.set(addItem(tLastID = 724, "Quantum Eye", "Improved Ender Eye", new Object[0]));
ItemList.QuantumStar.set(addItem(tLastID = 725, "Quantum Star", "Improved Nether Star", new Object[0]));
@@ -661,6 +669,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
ItemList.Field_Generator_ZPM.set(addItem(676, "Field Generator (Tier VII)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 64L)}));
ItemList.Field_Generator_UV.set(addItem(677, "Field Generator (Tier VIII)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 128L)}));
ItemList.Field_Generator_UHV.set(addItem(678, "Field Generator (Tier IX)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 256L)}));
+ ItemList.Field_Generator_UEV.set(addItem(679, "Field Generator (Tier X)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1024L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 512L)}));
ItemList.Emitter_LV.set(addItem(680, "Emitter (LV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 1L)}));
ItemList.Emitter_MV.set(addItem(681, "Emitter (MV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 2L)}));
@@ -671,6 +680,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
ItemList.Emitter_ZPM.set(addItem(686, "Emitter (ZPM)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 64L)}));
ItemList.Emitter_UV.set(addItem(687, "Emitter (UV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 128L)}));
ItemList.Emitter_UHV.set(addItem(688, "Emitter (UHV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 256L)}));
+ ItemList.Emitter_UEV.set(addItem(689, "Emitter (UEV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 512L)}));
GT_ModHandler.addCraftingRecipe(ItemList.Emitter_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SSC", "WQS", "CWS", 'Q', OrePrefixes.gem.get(Materials.CertusQuartz), 'S', OrePrefixes.stick.get(Materials.Brass), 'C', OrePrefixes.circuit.get(Materials.Basic), 'W', OrePrefixes.cableGt01.get(Materials.Tin)});
GT_ModHandler.addCraftingRecipe(ItemList.Emitter_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"SSC", "WQS", "CWS", 'Q', OrePrefixes.gem.get(Materials.EnderPearl), 'S', OrePrefixes.stick.get(Materials.Electrum), 'C', OrePrefixes.circuit.get(Materials.Good), 'W', OrePrefixes.cableGt01.get(Materials.AnyCopper)});
@@ -687,6 +697,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
ItemList.Sensor_ZPM.set(addItem(696, "Sensor (ZPM)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 64L)}));
ItemList.Sensor_UV.set(addItem(697, "Sensor (UV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 128L)}));
ItemList.Sensor_UHV.set(addItem(698, "Sensor (UHV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 256L)}));
+ ItemList.Sensor_UEV.set(addItem(699, "Sensor (UEV)", "", new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 512L)}));
GT_ModHandler.addCraftingRecipe(ItemList.Sensor_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"P Q", "PS ", "CPP", 'Q', OrePrefixes.gem.get(Materials.CertusQuartz), 'S', OrePrefixes.stick.get(Materials.Brass), 'P', OrePrefixes.plate.get(Materials.Steel), 'C', OrePrefixes.circuit.get(Materials.Basic)});
GT_ModHandler.addCraftingRecipe(ItemList.Sensor_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"P Q", "PS ", "CPP", 'Q', OrePrefixes.gemFlawless.get(Materials.Emerald), 'S', OrePrefixes.stick.get(Materials.Electrum), 'P', OrePrefixes.plate.get(Materials.Aluminium), 'C', OrePrefixes.circuit.get(Materials.Good)});
diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java
index 38a03591a9..7eeb122227 100644
--- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java
+++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java
@@ -81,10 +81,14 @@ public class GT_MetaGenerated_Item_03
ItemList.Circuit_Silicon_Ingot.set(addItem(tLastID = 30, "Monocrystalline Silicon Boule", "Raw Circuit", o));
ItemList.Circuit_Silicon_Ingot2.set(addItem(tLastID = 31, "Glowstone doped Monocrystalline Silicon Boule", "Raw Circuit", o));
ItemList.Circuit_Silicon_Ingot3.set(addItem(tLastID = 32, "Naquadah doped Monocrystalline Silicon Boule", "Raw Circuit", o));
+ ItemList.Circuit_Silicon_Ingot4.set(addItem(tLastID = 150, "Europium doped Monocrystalline Silicon Boule", "Raw Circuit", o));
+ ItemList.Circuit_Silicon_Ingot5.set(addItem(tLastID = 152, "Americium doped Monocrystalline Silicon Boule", "Raw Circuit", o));
ItemList.Circuit_Silicon_Wafer.set(addItem(tLastID = 33, "Wafer", "Raw Circuit", o));
ItemList.Circuit_Silicon_Wafer2.set(addItem(tLastID = 34, "Glowstone doped Wafer", "Raw Circuit", o));
ItemList.Circuit_Silicon_Wafer3.set(addItem(tLastID = 35, "Naquadah doped Wafer", "Raw Circuit", o));
+ ItemList.Circuit_Silicon_Wafer4.set(addItem(tLastID = 151, "Europium doped Wafer", "Raw Circuit", o));
+ ItemList.Circuit_Silicon_Wafer5.set(addItem(tLastID = 153, "Americium doped Wafer", "Raw Circuit", o));
ItemList.Circuit_Wafer_ILC.set(addItem(tLastID = 36, "Integrated Logic Circuit (Wafer)", "Raw Circuit", o));
ItemList.Circuit_Chip_ILC.set(addItem(tLastID = 37, "Integrated Logic Circuit", "Integrated Circuit", o));
@@ -124,6 +128,21 @@ public class GT_MetaGenerated_Item_03
ItemList.Circuit_Wafer_Simple_SoC.set(addItem(tLastID = 60, "Simple SoC Wafer", "Raw Primitive Circuit", o));
ItemList.Circuit_Chip_Simple_SoC.set(addItem(tLastID = 61, "Simple SoC", "Simple System on a Chip", o));
+
+ ItemList.Circuit_Wafer_ULPIC.set(addItem(tLastID = 62, "ULPIC Wafer", "Raw Circuit", o));
+ ItemList.Circuit_Chip_ULPIC.set(addItem(tLastID = 63, "Ultra Low Power IC", "Ultra Low Power Circuit", o));
+
+ ItemList.Circuit_Wafer_LPIC.set(addItem(tLastID = 64, "LPIC Wafer", "Raw Circuit", o));
+ ItemList.Circuit_Chip_LPIC.set(addItem(tLastID = 65, "Low Power IC", "Low Power Circuit", o));
+
+ ItemList.Circuit_Wafer_NPIC.set(addItem(tLastID = 160, "NPIC Wafer", "Raw Circuit", o));
+ ItemList.Circuit_Chip_NPIC.set(addItem(tLastID = 161, "Nano Power IC", "Nano Power Circuit", o));
+
+ ItemList.Circuit_Wafer_PPIC.set(addItem(tLastID = 162, "PPIC Wafer", "Raw Circuit", o));
+ ItemList.Circuit_Chip_PPIC.set(addItem(tLastID = 163, "Piko Power IC", "Piko Power Circuit", o));
+
+ ItemList.Circuit_Wafer_QPIC.set(addItem(tLastID = 164, "QPIC Wafer", "Raw Circuit", o));
+ ItemList.Circuit_Chip_QPIC.set(addItem(tLastID = 165, "Quantum Power IC", "Quantum Power Circuit", o));
/**
* Engraved Crystal Chip
* Engraved Lapotron Chip
@@ -204,6 +223,16 @@ public class GT_MetaGenerated_Item_03
GregTech_API.registerCover(ItemList.Cover_SolarPanel_UEV.get(1L, new Object[0]), new GT_RenderedTexture(Textures.BlockIcons.SOLARPANEL_UEV), new GT_Cover_SolarPanel(8388608));
GregTech_API.registerCover(ItemList.Cover_SolarPanel_UIV.get(1L, new Object[0]), new GT_RenderedTexture(Textures.BlockIcons.SOLARPANEL_UIV), new GT_Cover_SolarPanel(33554432));
+ ItemList.ULV_Coil.set(addItem(tLastID = 140, "Ultra Low Voltage Coil", "Primitive Coil", o));
+ ItemList.LV_Coil.set(addItem(tLastID = 141, "Low Voltage Coil", "Basic Coil", o));
+ ItemList.MV_Coil.set(addItem(tLastID = 142, "Medium Voltage Coil", "Good Coil", o));
+ ItemList.HV_Coil.set(addItem(tLastID = 143, "High Voltage Coil", "Advanced Coil", o));
+ ItemList.EV_Coil.set(addItem(tLastID = 144, "Extreme Voltage Coil", "Extreme Coil", o));
+ ItemList.IV_Coil.set(addItem(tLastID = 145, "Insane Voltage Coil", "Elite Coil", o));
+ ItemList.LuV_Coil.set(addItem(tLastID = 146, "Ludicrous Voltage Coil", "Master Coil", o));
+ ItemList.ZPM_Coil.set(addItem(tLastID = 147, "ZPM Voltage Coil", "Ultimate Coil", o));
+ ItemList.UV_Coil.set(addItem(tLastID = 148, "Ultimate Voltage Coil", "Super Coil", o));
+ ItemList.UHV_Coil.set(addItem(tLastID = 149, "Highly Ultimate Voltage Coil", "Infinite Coil", o));
}
public boolean doesShowInCreative(OrePrefixes aPrefix, Materials aMaterial, boolean aDoShowAllItems) {
diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java
index 33a558542e..8940231160 100644
--- a/src/main/java/gregtech/common/items/ItemComb.java
+++ b/src/main/java/gregtech/common/items/ItemComb.java
@@ -11,14 +11,17 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gregtech.loaders.materialprocessing.ProcessingModSupport;
+import gregtech.loaders.misc.GT_Bees;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
+import net.minecraftforge.fluids.FluidRegistry;
import java.util.List;
@@ -93,208 +96,592 @@ public class ItemComb extends Item {
public String getItemStackDisplayName(ItemStack stack) {
return CombType.values()[stack.getItemDamage()].getName();
}
-
public void initCombsRecipes() {
ItemStack tComb;
//Organic
tComb = getStackForType(CombType.LIGNIE);
- addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), 90);
- addProcess(tComb, Materials.Lignite, 100);
+ addSpecialCentLV(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), 90);
+ addProcessLV(tComb, Materials.Lignite, 100);
tComb = getStackForType(CombType.COAL);
- addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), 40);
- addProcess(tComb, Materials.Coal, 100);
+ addSpecialCentLV(tComb,GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), 5, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Coal, 1), 100);
+ addProcessLV(tComb, Materials.Coal, 100);
tComb = getStackForType(CombType.STICKY);
- addSpecialCent(tComb, ItemList.IC2_Resin.get(1, new Object[0]), 70);
+ addSpecialCentLV(tComb, ItemList.IC2_Resin.get(1, new Object[0]), 50, ItemList.IC2_Plantball.get(1, new Object[0]), 15);
tComb = getStackForType(CombType.OIL);
- addSpecialCent(tComb, ItemList.Crop_Drop_OilBerry.get(2, new Object[0]), 70);
- addProcess(tComb, Materials.Oilsands, 100);
-
- //Gem Line
+ addSpecialCentLV(tComb, ItemList.Crop_Drop_OilBerry.get(1, new Object[0]), 70, GT_Bees.drop.getStackForType(DropType.OIL), 100);
+ addProcessLV(tComb, Materials.Oilsands, 100);
+ tComb = getStackForType(CombType.APATITE);
+ addProcessLV(tComb, Materials.Apatite, 100);
+ addProcessLV(tComb, Materials.Calcium, 80);
+ addProcessLV(tComb, Materials.Phosphate, 80);
+ tComb = getStackForType(CombType.ASH);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 5000, 5000}, 128, 5);
+
+ //ic2
+ tComb = getStackForType(CombType.COOLANT);
+ addSpecialCentHV(tComb, GT_Bees.drop.getStackForType(DropType.COOLANT), 100, ItemList.FR_Wax.get(1, new Object[0]), 100);
+ tComb = getStackForType(CombType.ENERGY);
+ addSpecialCentHV(tComb, GT_Bees.drop.getStackForType(DropType.HOT_COOLANT), 20, ItemList.IC2_Energium_Dust.get(1L), 20, ItemList.FR_RefractoryWax.get(1, new Object[0]), 50);
+ tComb = getStackForType(CombType.LAPOTRON);
+ addSpecialCentHV(tComb, GT_Bees.drop.getStackForType(DropType.LAPIS), 20, GT_ModHandler.getModItem("dreamcraft", "item.LapotronDust", 1, 0), 15, GT_ModHandler.getModItem("MagicBees", "wax", 1, 2), 40);
+ tComb = getStackForType(CombType.PYROTHEUM);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Blizz,1), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Pyrotheum,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{3000, 2500, 2000, 0, 0, 0}, 384, 480);
+ tComb = getStackForType(CombType.CRYOTHEUM);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Blaze,1), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.Cryotheum,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{3000, 2500, 2000, 0, 0, 0}, 384, 480);
+ //Alloy
+ tComb = getStackForType(CombType.REDALLOY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.RedAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 128, 5);
+ addProcessLV(tComb, Materials.Redstone, 75);
+ addProcessLV(tComb, Materials.Copper, 90);
+ tComb = getStackForType(CombType.REDSTONEALLOY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.RedstoneAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 128, 5);
+ addProcessLV(tComb, Materials.Redstone, 90);
+ addProcessLV(tComb, Materials.Silicon, 75);
+ addProcessLV(tComb, Materials.Coal, 75);
+ tComb = getStackForType(CombType.CONDUCTIVEIRON);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.ConductiveIron, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 9000}, 256, 120);
+ addProcessMV(tComb, Materials.Silver, 55);
+ addProcessMV(tComb, Materials.Iron, 65);
+ tComb = getStackForType(CombType.VIBRANTALLOY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.VibrantAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 7000}, 384, 480);
+ addProcessHV(tComb, Materials.Chrome, 50);
+ tComb = getStackForType(CombType.ENERGETICALLOY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.VibrantAlloy, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 8000}, 384, 480);
+ addProcessHV(tComb, Materials.Gold, 60);
+ tComb = getStackForType(CombType.ELECTRICALSTEEL);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.ElectricalSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 128, 5);
+ addProcessLV(tComb, Materials.Silicon, 75);
+ addProcessLV(tComb, Materials.Coal, 75);
+ tComb = getStackForType(CombType.DARKSTEEL);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 256, 120);
+ addProcessMV(tComb, Materials.Coal, 75);
+ tComb = getStackForType(CombType.PULSATINGIRON);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.PulsatingIron, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 8000}, 384, 480);
+ addProcessHV(tComb, Materials.Iron, 75);
+ tComb = getStackForType(CombType.STAINLESSSTEEL);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]),GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.StainlessSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 5000}, 384, 480);
+ addProcessHV(tComb, Materials.Iron, 75);
+ addProcessHV(tComb, Materials.Chrome, 55);
+ addProcessHV(tComb, Materials.Manganese, 75);
+ addProcessHV(tComb, Materials.Nickel, 75);
+ tComb = getStackForType(CombType.ENDERIUM);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_RefractoryWax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.EnderiumBase, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Enderium, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 3000, 5000}, 384, 480);
+
+
+ //Thaumic
+ tComb = getStackForType(CombType.THAUMIUMDUST);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Thaumium, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 10000}, 256, 120);
+ addProcessMV(tComb, Materials.Iron, 75);
+ tComb = getStackForType(CombType.THAUMIUMSHARD);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "propolis", 1, 1), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 2), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 3), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 4), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 5), GT_ModHandler.getModItem("MagicBees", "propolis", 1, 6), new int[] {2000, 2000, 2000, 2000, 2000, 2000 }, 128, 5);
+ tComb = getStackForType(CombType.AMBER);
+ addProcessLV(tComb, Materials.Amber, 100);
+ tComb = getStackForType(CombType.QUICKSILVER);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "ItemNugget", 1, 5), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 1000}, 128, 5);
+ addProcessLV(tComb, Materials.Cinnabar, 85);
+ tComb = getStackForType(CombType.SALISMUNDUS);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 14), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 1000}, 256, 120);
+ tComb = getStackForType(CombType.TAINTED);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 11), GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 12), GT_ModHandler.getModItem("Thaumcraft", "blockTaintFibres", 1, 0), GT_ModHandler.getModItem("Thaumcraft", "blockTaintFibres", 1, 1), GT_ModHandler.getModItem("Thaumcraft", "blockTaintFibres", 1, 2), GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), new int[] {1500, 1500, 1500, 1500, 1500, 5000}, 128, 5);
+ tComb = getStackForType(CombType.MITHRIL);
+ addProcessHV(tComb, Materials.Mithril, 75);
+ addProcessHV(tComb, Materials.Platinum, 55);
+ tComb = getStackForType(CombType.ASTRALSILVER);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.AstralSilver, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000}, 384, 480);
+ addProcessHV(tComb, Materials.Silver, 75);
+ tComb = getStackForType(CombType.THAUMINITE);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("thaumicbases", "resource", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Thaumium, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000}, 384, 480);
+ tComb = getStackForType(CombType.SHADOWMETAL);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Shadow, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.ShadowSteel, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000}, 384, 480);
+ addProcessHV(tComb, Materials.ShadowSteel, 75);
+ tComb = getStackForType(CombType.DIVIDED);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("ExtraUtilities", "unstableingot", 1, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Diamond, 1), GT_Values.NI, GT_Values.NI, new int[] {5000, 2000, 1000, 500}, 384, 480);
+ addProcessHV(tComb, Materials.Iron, 75);
+ addProcessHV(tComb, Materials.Diamond, 55);
+ tComb = getStackForType(CombType.SPARKELING);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("MagicBees", "wax", 1, 0), GT_ModHandler.getModItem("MagicBees", "miscResources", 1, 5), GT_ModHandler.getModItem("MagicBees", "miscResources", 1, 5), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NetherStar, 1), GT_Values.NI, GT_Values.NI, new int[] {5000, 1000, 500, 1000}, 512, 1920);
+ addProcessEV(tComb, Materials.NetherStar, 50);
+
+ //Gem Line
tComb = getStackForType(CombType.STONE);
- addSpecialCent(tComb,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), 70,GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Salt,1),20,GT_OreDictUnificator.get(OrePrefixes.dust,Materials.RockSalt,1),20);
- addProcess(tComb, Materials.Soapstone, 100);
- addProcess(tComb, Materials.Talc, 100);
- addProcess(tComb, Materials.Apatite, 100);
- addProcess(tComb, Materials.Phosphate, 100);
- addProcess(tComb, Materials.Phosphorus, 100);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.GraniteBlack,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.GraniteRed,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Basalt,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Marble,1), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Redrock,1), new int[] {7000, 5000, 5000, 5000, 5000, 5000}, 128, 5);
+ addProcessLV(tComb, Materials.Soapstone, 95);
+ addProcessLV(tComb, Materials.Talc, 90);
+ addProcessLV(tComb, Materials.Apatite, 80);
+ addProcessLV(tComb, Materials.Phosphate, 75);
+ addProcessLV(tComb, Materials.Phosphorus, 75);
tComb = getStackForType(CombType.CERTUS);
- addProcess(tComb, Materials.CertusQuartz, 100);
- addProcess(tComb, Materials.Quartzite, 100);
- addProcess(tComb, Materials.Barite, 100);
+ addProcessLV(tComb, Materials.CertusQuartz, 100);
+ addProcessLV(tComb, Materials.Quartzite, 80);
+ addProcessLV(tComb, Materials.Barite, 75);
+ tComb = getStackForType(CombType.FLUIX);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF,ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.Fluix,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {3000, 2500}, 128, 5);
+ addProcessLV(tComb, Materials.Redstone, 90);
+ addProcessLV(tComb, Materials.CertusQuartz, 90);
+ addProcessLV(tComb, Materials.NetherQuartz, 90);
tComb = getStackForType(CombType.REDSTONE);
- addProcess(tComb, Materials.Redstone, 100);
- addProcess(tComb, Materials.Cinnabar, 100);
+ addProcessLV(tComb, Materials.Redstone, 100);
+ addProcessLV(tComb, Materials.Cinnabar, 80);
+ tComb = getStackForType(CombType.RAREEARTH);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF,ItemList.FR_Wax.get(1, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny,Materials.RareEarth,1), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] {3000, 10000}, 128, 5);
tComb = getStackForType(CombType.LAPIS);
- addProcess(tComb, Materials.Lapis, 100);
- addProcess(tComb, Materials.Sodalite, 100);
- addProcess(tComb, Materials.Lazurite, 100);
- addProcess(tComb, Materials.Calcite, 100);
+ addProcessLV(tComb, Materials.Lapis, 100);
+ addProcessLV(tComb, Materials.Sodalite, 90);
+ addProcessLV(tComb, Materials.Lazurite, 90);
+ addProcessLV(tComb, Materials.Calcite, 85);
tComb = getStackForType(CombType.RUBY);
- addProcess(tComb, Materials.Ruby, 100);
- addProcess(tComb, Materials.Redstone, 100);
+ addProcessLV(tComb, Materials.Ruby, 100);
+ addProcessLV(tComb, Materials.Redstone, 90);
+ tComb = getStackForType(CombType.REDGARNET);
+ addProcessLV(tComb, Materials.GarnetRed, 100);
+ addProcessLV(tComb, Materials.GarnetYellow, 75);
+ tComb = getStackForType(CombType.YELLOWGARNET);
+ addProcessLV(tComb, Materials.GarnetYellow, 100);
+ addProcessLV(tComb, Materials.GarnetRed, 75);
tComb = getStackForType(CombType.SAPPHIRE);
- addProcess(tComb, Materials.Sapphire, 100);
- addProcess(tComb, Materials.GreenSapphire, 100);
- addProcess(tComb, Materials.Almandine, 100);
- addProcess(tComb, Materials.Pyrope, 100);
+ addProcessLV(tComb, Materials.Sapphire, 100);
+ addProcessLV(tComb, Materials.GreenSapphire, 90);
+ addProcessLV(tComb, Materials.Almandine, 75);
+ addProcessLV(tComb, Materials.Pyrope, 75);
tComb = getStackForType(CombType.DIAMOND);
- addProcess(tComb, Materials.Diamond, 100);
- addProcess(tComb, Materials.Graphite, 100);
+ addProcessLV(tComb, Materials.Diamond, 100);
+ addProcessLV(tComb, Materials.Graphite, 75);
tComb = getStackForType(CombType.OLIVINE);
- addProcess(tComb, Materials.Olivine, 100);
- addProcess(tComb, Materials.Bentonite, 100);
- addProcess(tComb, Materials.Magnesite, 100);
- addProcess(tComb, Materials.Glauconite, 100);
+ addProcessLV(tComb, Materials.Olivine, 100);
+ addProcessLV(tComb, Materials.Bentonite, 90);
+ addProcessLV(tComb, Materials.Magnesite, 80);
+ addProcessLV(tComb, Materials.Glauconite, 75);
tComb = getStackForType(CombType.EMERALD);
- addProcess(tComb, Materials.Emerald, 100);
- addProcess(tComb, Materials.Beryllium, 100);
- addProcess(tComb, Materials.Thorium, 100);
-
+ addProcessLV(tComb, Materials.Emerald, 100);
+ addProcessLV(tComb, Materials.Beryllium, 85);
+ addProcessLV(tComb, Materials.Thorium, 75);
+ tComb = getStackForType(CombType.FIRESTONE);
+ addProcessLV(tComb, Materials.Firestone, 100);
+ tComb = getStackForType(CombType.PYROPE);
+ addProcessLV(tComb, Materials.Pyrope, 100);
+ addProcessLV(tComb, Materials.Aluminium, 75);
+ addProcessLV(tComb, Materials.Magnesium, 80);
+ addProcessLV(tComb, Materials.Silicon, 75);
+ tComb = getStackForType(CombType.GROSSULAR);
+ addProcessLV(tComb, Materials.Grossular, 100);
+ addProcessLV(tComb, Materials.Calcium, 80);
+ addProcessLV(tComb, Materials.Aluminium, 75);
+ addProcessLV(tComb, Materials.Silicon, 75);
// // Metals Line
tComb = getStackForType(CombType.SLAG);
- addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), 50,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniteBlack, 1), 20,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniteRed, 1), 20);
- addProcess(tComb, Materials.Salt, 100);
- addProcess(tComb, Materials.RockSalt, 100);
- addProcess(tComb, Materials.Lepidolite, 100);
- addProcess(tComb, Materials.Spodumene, 100);
- addProcess(tComb, Materials.Monazite, 100);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1), 50,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniteBlack, 1), 20,GT_OreDictUnificator.get(OrePrefixes.dust, Materials.GraniteRed, 1), 20);
+ addProcessLV(tComb, Materials.Salt, 100);
+ addProcessLV(tComb, Materials.RockSalt, 100);
+ addProcessLV(tComb, Materials.Lepidolite, 100);
+ addProcessLV(tComb, Materials.Spodumene, 100);
+ addProcessLV(tComb, Materials.Monazite, 100);
tComb = getStackForType(CombType.COPPER);
- addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1), 70);
- addProcess(tComb, Materials.Copper, 100);
- addProcess(tComb, Materials.Tetrahedrite, 100);
- addProcess(tComb, Materials.Chalcopyrite, 100);
- addProcess(tComb, Materials.Malachite, 100);
- addProcess(tComb, Materials.Pyrite, 100);
- addProcess(tComb, Materials.Stibnite, 100);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1), 70);
+ addProcessLV(tComb, Materials.Copper, 100);
+ addProcessLV(tComb, Materials.Tetrahedrite, 85);
+ addProcessLV(tComb, Materials.Chalcopyrite, 95);
+ addProcessLV(tComb, Materials.Malachite, 80);
+ addProcessLV(tComb, Materials.Pyrite, 75);
+ addProcessLV(tComb, Materials.Stibnite, 65);
tComb = getStackForType(CombType.TIN);
- addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1), 60);
- addProcess(tComb, Materials.Tin, 100);
- addProcess(tComb, Materials.Cassiterite, 100);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1), 60);
+ addProcessLV(tComb, Materials.Tin, 100);
+ addProcessLV(tComb, Materials.Cassiterite, 85);
tComb = getStackForType(CombType.LEAD);
- addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1), 45);
- addProcess(tComb, Materials.Lead, 100);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1), 45);
+ addProcessLV(tComb, Materials.Lead, 100);
tComb = getStackForType(CombType.IRON);
- addProcess(tComb, Materials.Iron, 100);
- addProcess(tComb, Materials.Magnetite, 100);
- addProcess(tComb, Materials.BrownLimonite, 100);
- addProcess(tComb, Materials.YellowLimonite, 100);
- addProcess(tComb, Materials.VanadiumMagnetite, 100);
- addProcess(tComb, Materials.BandedIron, 100);
- addProcess(tComb, Materials.Pyrite, 100);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), 30);
+ addProcessLV(tComb, Materials.Iron, 100);
+ addProcessLV(tComb, Materials.Magnetite, 90);
+ addProcessLV(tComb, Materials.BrownLimonite, 85);
+ addProcessLV(tComb, Materials.YellowLimonite, 85);
+ addProcessLV(tComb, Materials.VanadiumMagnetite, 80);
+ addProcessLV(tComb, Materials.BandedIron, 85);
+ addProcessLV(tComb, Materials.Pyrite, 80);
if (ProcessingModSupport.aEnableGCMarsMats)
- addProcess(tComb, Materials.MeteoricIron, 100);
+ addProcessLV(tComb, Materials.MeteoricIron, 75);
tComb = getStackForType(CombType.STEEL);
- addProcess(tComb, Materials.Iron, Materials.Iron, 100);
- addProcess(tComb, Materials.Magnetite, Materials.Magnetite, 100);
- addProcess(tComb, Materials.BrownLimonite, Materials.BrownLimonite, 100);
- addProcess(tComb, Materials.YellowLimonite, Materials.YellowLimonite, 100);
- addProcess(tComb, Materials.VanadiumMagnetite, Materials.VanadiumMagnetite, 100);
- addProcess(tComb, Materials.BandedIron, Materials.BandedIron, 100);
- addProcess(tComb, Materials.Pyrite, Materials.Pyrite, 100);
+ addProcessLV(tComb, Materials.Iron, Materials.Iron, 100);
+ addProcessLV(tComb, Materials.Magnetite, Materials.Magnetite, 90);
+ addProcessLV(tComb, Materials.BrownLimonite, Materials.BrownLimonite, 85);
+ addProcessLV(tComb, Materials.YellowLimonite, Materials.YellowLimonite, 85);
+ addProcessLV(tComb, Materials.VanadiumMagnetite, Materials.VanadiumMagnetite, 80);
+ addProcessLV(tComb, Materials.BandedIron, Materials.BandedIron, 85);
+ addProcessLV(tComb, Materials.Pyrite, Materials.Pyrite, 80);
if (ProcessingModSupport.aEnableGCMarsMats)
- addProcess(tComb, Materials.MeteoricIron, Materials.MeteoricIron, 100);
- addProcess(tComb, Materials.Molybdenite, 100);
- addProcess(tComb, Materials.Molybdenum, 100);
+ addProcessLV(tComb, Materials.MeteoricIron, Materials.MeteoricIron, 75);
+ addProcessLV(tComb, Materials.Molybdenite, 65);
+ addProcessLV(tComb, Materials.Molybdenum, 65);
tComb = getStackForType(CombType.NICKEL);
- addProcess(tComb, Materials.Nickel, 100);
- addProcess(tComb, Materials.Garnierite, 100);
- addProcess(tComb, Materials.Pentlandite, 100);
- addProcess(tComb, Materials.Cobaltite, 100);
- addProcess(tComb, Materials.Wulfenite, 100);
- addProcess(tComb, Materials.Powellite, 100);
+ addProcessLV(tComb, Materials.Nickel, 100);
+ addProcessLV(tComb, Materials.Garnierite, 85);
+ addProcessLV(tComb, Materials.Pentlandite, 85);
+ addProcessLV(tComb, Materials.Cobaltite, 80);
+ addProcessLV(tComb, Materials.Wulfenite, 75);
+ addProcessLV(tComb, Materials.Powellite, 75);
tComb = getStackForType(CombType.ZINC);
- addProcess(tComb, Materials.Zinc, 100);
- addProcess(tComb, Materials.Sphalerite, 100);
- addProcess(tComb, Materials.Sulfur, 100);
+ addProcessLV(tComb, Materials.Zinc, 100);
+ addProcessLV(tComb, Materials.Sphalerite, 80);
+ addProcessLV(tComb, Materials.Sulfur, 75);
tComb = getStackForType(CombType.SILVER);
- addSpecialCent(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), 30);
- addProcess(tComb, Materials.Silver, 100);
- addProcess(tComb, Materials.Galena, 100);
+ addSpecialCentLV(tComb, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1), 80);
+ addProcessLV(tComb, Materials.Silver, 100);
+ addProcessLV(tComb, Materials.Galena, 80);
tComb = getStackForType(CombType.GOLD);
- addProcess(tComb, Materials.Gold, 100);
- addProcess(tComb, Materials.Magnetite, Materials.Gold, 100);
+ addProcessLV(tComb, Materials.Gold, 100);
+ addProcessLV(tComb, Materials.Magnetite, Materials.Gold, 80);
+ tComb = getStackForType(CombType.SULFUR);
+ addProcessLV(tComb, Materials.Sulfur, 100);
+ addProcessLV(tComb, Materials.Pyrite, 90);
+ addProcessLV(tComb, Materials.Sphalerite, 80);
+ tComb = getStackForType(CombType.GALLIUM);
+ addProcessLV(tComb, Materials.Gallium, 80);
+ addProcessLV(tComb, Materials.Niobium, 75);
+ tComb = getStackForType(CombType.ARSENIC);
+ addProcessLV(tComb, Materials.Arsenic, 80);
+ addProcessLV(tComb, Materials.Bismuth, 70);
+ addProcessLV(tComb, Materials.Antimony, 70);
- // Rare Metals Line
+ // Rare Metals Line
+ tComb = getStackForType(CombType.BAUXITE);
+ addProcessLV(tComb, Materials.Bauxite, 75);
+ addProcessLV(tComb,Materials.Aluminium,55);
tComb = getStackForType(CombType.ALUMINIUM);
- addProcess(tComb,Materials.Aluminium,60);
- addProcess(tComb,Materials.Bauxite,100);
+ addProcessLV(tComb,Materials.Aluminium,60);
+ addProcessLV(tComb,Materials.Bauxite,80);
tComb = getStackForType(CombType.MANGANESE);
- addProcess(tComb,Materials.Manganese,30);
- addProcess(tComb,Materials.Grossular,100);
- addProcess(tComb,Materials.Spessartine,100);
- addProcess(tComb,Materials.Pyrolusite,100);
- addProcess(tComb,Materials.Tantalite,100);
+ addProcessLV(tComb,Materials.Manganese,30);
+ addProcessLV(tComb,Materials.Grossular,100);
+ addProcessLV(tComb,Materials.Spessartine,100);
+ addProcessLV(tComb,Materials.Pyrolusite,100);
+ addProcessLV(tComb,Materials.Tantalite,100);
tComb = getStackForType(CombType.TITANIUM);
- addProcess(tComb,Materials.Titanium,100);
- addProcess(tComb,Materials.Ilmenite,100);
- addProcess(tComb,Materials.Bauxite,100);
+ addProcessEV(tComb,Materials.Titanium,90);
+ addProcessEV(tComb,Materials.Ilmenite,80);
+ addProcessEV(tComb,Materials.Bauxite,75);
+ tComb = getStackForType(CombType.MAGNESIUM);
+ addProcessLV(tComb,Materials.Magnesium,100);
+ addProcessLV(tComb,Materials.Magnesite,80);
tComb = getStackForType(CombType.CHROME);
- addProcess(tComb,Materials.Chrome,50);
- addProcess(tComb,Materials.Ruby,100);
- addProcess(tComb,Materials.Chromite,50);
- addProcess(tComb,Materials.Redstone,100);
- addProcess(tComb, Materials.Neodymium, 100);
- addProcess(tComb, Materials.Bastnasite, 100);
+ addProcessHV(tComb,Materials.Chrome,50);
+ addProcessHV(tComb,Materials.Ruby,100);
+ addProcessHV(tComb,Materials.Chromite,50);
+ addProcessHV(tComb,Materials.Redstone,100);
+ addProcessHV(tComb, Materials.Neodymium, 80);
+ addProcessHV(tComb, Materials.Bastnasite, 80);
tComb = getStackForType(CombType.TUNGSTEN);
- addProcess(tComb,Materials.Tungstate,100);
- addProcess(tComb,Materials.Scheelite,100);
- addProcess(tComb,Materials.Lithium,100);
+ addProcessIV(tComb,Materials.Tungstate,80);
+ addProcessIV(tComb,Materials.Scheelite,75);
+ addProcessIV(tComb,Materials.Lithium,75);
tComb = getStackForType(CombType.PLATINUM);
- addProcess(tComb,Materials.Platinum,40);
- addProcess(tComb,Materials.Cooperite,40);
- addProcess(tComb,Materials.Palladium,40);
+ addProcessHV(tComb,Materials.Platinum,40);
+ addProcessHV(tComb,Materials.Cooperite,40);
+ addProcessHV(tComb,Materials.Palladium,40);
+ tComb = getStackForType(CombType.MOLYBDENUM);
+ addProcessLV(tComb,Materials.Molybdenum,100);
+ addProcessLV(tComb,Materials.Molybdenite,90);
+ addProcessLV(tComb,Materials.Powellite,80);
+ addProcessLV(tComb,Materials.Wulfenite,75);
+ addProcessIV(tComb,Materials.Osmium,15);
tComb = getStackForType(CombType.IRIDIUM);
- addProcess(tComb,Materials.Iridium,20);
- addProcess(tComb,Materials.Osmium,20);
+ addProcessIV(tComb,Materials.Iridium,20);
+ addProcessIV(tComb,Materials.Osmium,15);
+ tComb = getStackForType(CombType.OSMIUM);
+ addProcessIV(tComb,Materials.Osmium,25);
+ addProcessIV(tComb,Materials.Iridium,15);
+ tComb = getStackForType(CombType.LITHIUM);
+ addProcessMV(tComb,Materials.Lithium,85);
+ addProcessMV(tComb,Materials.Aluminium,75);
+ tComb = getStackForType(CombType.SALT);
+ addProcessMV(tComb,Materials.Salt,100);
+ addProcessMV(tComb,Materials.Sodium,75);
+ addProcessMV(tComb,Materials.RockSalt,75);
+ addProcessMV(tComb,Materials.Saltpeter,65);
+ addSpecialCentMV(tComb, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 1), 100, GT_ModHandler.getModItem("dreamcraft", "item.EdibleSalt", 1L, 0), 50);
+ tComb = getStackForType(CombType.ELECTROTINE);
+ addProcessHV(tComb,Materials.Electrotine,80);
+ addProcessHV(tComb,Materials.Electrum,75);
+ addProcessHV(tComb,Materials.Redstone,65);
// Radioactive Line
+ tComb = getStackForType(CombType.ALMANDINE);
+ addProcessLV(tComb,Materials.Almandine,90);
+ addProcessLV(tComb,Materials.Pyrope,80);
+ addProcessLV(tComb,Materials.Sapphire,75);
+ addProcessLV(tComb,Materials.GreenSapphire,75);
tComb = getStackForType(CombType.URANIUM);
- addProcess(tComb,Materials.Uranium,50);
- addProcess(tComb,Materials.Pitchblende,50);
- addProcess(tComb,Materials.Uraninite,50);
- addProcess(tComb,Materials.Uranium235,50);
+ addProcessEV(tComb,Materials.Uranium,50);
+ addProcessEV(tComb,Materials.Pitchblende,65);
+ addProcessEV(tComb,Materials.Uraninite,75);
+ addProcessEV(tComb,Materials.Uranium235,50);
tComb = getStackForType(CombType.PLUTONIUM);
- addProcess(tComb,Materials.Plutonium,10);
- addProcess(tComb,Materials.Uranium235,Materials.Plutonium,5);
+ addProcessEV(tComb,Materials.Plutonium,10);
+ addProcessEV(tComb,Materials.Uranium235, Materials.Plutonium,5);
tComb = getStackForType(CombType.NAQUADAH);
- addProcess(tComb,Materials.Naquadah,10);
- addProcess(tComb,Materials.NaquadahEnriched,10);
- addProcess(tComb,Materials.Naquadria,10);
+ addProcessIV(tComb,Materials.Naquadah,10);
+ addProcessIV(tComb,Materials.NaquadahEnriched,5);
+ addProcessIV(tComb,Materials.Naquadria,5);
+ tComb = getStackForType(CombType.NAQUADRIA);
+ addProcessIV(tComb,Materials.Naquadah,15);
+ addProcessLUV(tComb,Materials.NaquadahEnriched,10);
+ addProcessLUV(tComb,Materials.Naquadria,10);
+ tComb = getStackForType(CombType.THORIUM);
+ addProcessEV(tComb,Materials.Thorium,75);
+ addProcessEV(tComb,Materials.Uranium,75);
+ addProcessEV(tComb,Materials.Coal,95);
+ tComb = getStackForType(CombType.LUTETIUM);
+ addProcessIV(tComb,Materials.Lutetium,35);
+ addProcessIV(tComb,Materials.Thorium,55);
+ tComb = getStackForType(CombType.AMERICUM);
+ addProcessLUV(tComb,Materials.Americium,25);
+ addProcessLUV(tComb,Materials.Lutetium,45);
+ tComb = getStackForType(CombType.NEUTRONIUM);
+ addProcessZPM(tComb,Materials.Neutronium,15);
+ addProcessZPM(tComb,Materials.Americium,35);
+
+ // Twilight
+ tComb = getStackForType(CombType.NAGA);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 4), GT_ModHandler.getModItem("dreamcraft", "item.NagaScaleChip", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.NagaScaleFragment", 1L, 0), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 800, 0, 0}, 256, 120);
+ tComb = getStackForType(CombType.LICH);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 5), GT_ModHandler.getModItem("dreamcraft", "item.LichBoneChip", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.LichBoneFragment", 1L, 0), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 800, 0, 0}, 384, 480);
+ tComb = getStackForType(CombType.HYDRA);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 1), GT_ModHandler.getModItem("dreamcraft", "item.FieryBloodDrop", 1L, 0), GT_Bees.drop.getStackForType(DropType.HYDRA), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 1000, 0, 0}, 384, 480);
+ tComb = getStackForType(CombType.URGHAST);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), GT_ModHandler.getModItem("dreamcraft", "item..CarminiteChip", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.CarminiteFragment",1L, 0), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 800, 0, 0}, 512, 1920);
+ tComb = getStackForType(CombType.SNOWQUEEN);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1, new Object[0]), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), GT_ModHandler.getModItem("dreamcraft", "item.SnowQueenBloodDrop", 1L, 0), GT_Bees.drop.getStackForType(DropType.SNOW_QUEEN), GT_Values.NI, GT_Values.NI, new int[]{3000, 500, 3300, 1000, 0, 0}, 512, 1920);
+
+ //Space Line
+ tComb = getStackForType(CombType.SPACE);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), ItemList.FR_RefractoryWax.get(1L), GT_Bees.drop.getStackForType(DropType.OXYGEN), GT_ModHandler.getModItem("dreamcraft", "item.CoinSpace", 1L, 0), GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 1500, 500, 0, 0}, 384, 480);
+ tComb = getStackForType(CombType.METEORICIRON);
+ addProcessHV(tComb,Materials.MeteoricIron,85);
+ addProcessHV(tComb,Materials.Iron,100);
+ tComb = getStackForType(CombType.DESH);
+ addProcessEV(tComb,Materials.Desh,75);
+ addProcessEV(tComb,Materials.Titanium,50);
+ tComb = getStackForType(CombType.LEDOX);
+ addProcessEV(tComb,Materials.Ledox,65);
+ addProcessEV(tComb,Materials.CallistoIce,55);
+ addProcessEV(tComb,Materials.Lead,85);
+ tComb = getStackForType(CombType.CALLISTOICE);
+ addProcessIV(tComb,Materials.CallistoIce,65);
+ addProcessIV(tComb,Materials.Ledox,75);
+ addProcessIV(tComb,Materials.Lead,100);
+ tComb = getStackForType(CombType.MYTRYL);
+ addProcessIV(tComb,Materials.Mytryl,55);
+ addProcessIV(tComb,Materials.Mithril,50);
+ tComb = getStackForType(CombType.QUANTIUM);
+ addProcessIV(tComb,Materials.Quantium,50);
+ addProcessIV(tComb,Materials.Osmium,60);
+ tComb = getStackForType(CombType.ORIHARUKON);
+ addProcessIV(tComb,Materials.Oriharukon,50);
+ addProcessIV(tComb,Materials.Lead,75);
+ tComb = getStackForType(CombType.MYSTERIOUSCRYSTAL);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.MysteriousCrystal, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Emerald, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 1000, 1500, 0, 0, 0}, 512, 30720);
+ addProcessLUV(tComb,Materials.Emerald,50);
+ tComb = getStackForType(CombType.BLACKPLUTONIUM);
+ addProcessLUV(tComb,Materials.BlackPlutonium,25);
+ addProcessLUV(tComb,Materials.Plutonium,50);
+ tComb = getStackForType(CombType.TRINIUM);
+ addProcessZPM(tComb,Materials.Trinium,35);
+ addProcessZPM(tComb,Materials.Iridium,45);
+
+ //Planet Line
+ tComb = getStackForType(CombType.MOON);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MoonStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 120);
+ tComb = getStackForType(CombType.MARS);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MarsStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 480);
+ tComb = getStackForType(CombType.JUPITER);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_ModHandler.getModItem("dreamcraft", "item.IoStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.EuropaIceDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.EuropaStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.GanymedStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.CallistoStoneDust", 1L, 0), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.CallistoIce, 1L), new int[]{3000, 3000, 3000, 3000, 3000, 500}, 300, 480);
+ tComb = getStackForType(CombType.MERCURY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MercuryCoreDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.MercuryStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 1920);
+ tComb = getStackForType(CombType.VENUS);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.VenusStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 1920);
+ tComb = getStackForType(CombType.SATURN);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.EnceladusStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.TitanStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 7680);
+ tComb = getStackForType(CombType.URANUS);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MirandaStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.OberonStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 7680);
+ tComb = getStackForType(CombType.NEPTUN);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.ProteusStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.TritonStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 7680);
+ tComb = getStackForType(CombType.PLUTO);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.PlutoStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.PlutoIceDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 30720);
+ tComb = getStackForType(CombType.HAUMEA);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.HaumeaStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 30720);
+ tComb = getStackForType(CombType.MAKEMAKE);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.MakeMakeStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 30720);
+ tComb = getStackForType(CombType.CENTAURI);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.CentauriASurfaceDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.CentauriAStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 122880);
+ tComb = getStackForType(CombType.TCETI);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.TCetiEStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 122880);
+ tComb = getStackForType(CombType.BARNARDA);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.BarnardaEStoneDust", 1L, 0), GT_ModHandler.getModItem("dreamcraft", "item.BarnardaFStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 3000, 0, 0, 0}, 300, 122880);
+ tComb = getStackForType(CombType.VEGA);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_ModHandler.getModItem("dreamcraft", "item.VegaBStoneDust", 1L, 0), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 3000, 0, 0, 0, 0}, 300, 122880);
+ //Infinity Line
+ tComb = getStackForType(CombType.COSMICNEUTRONIUM);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.CosmicNeutronium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Neutronium, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 50, 100, 0, 0, 0}, 12000, 500000);
+ tComb = getStackForType(CombType.INFINITYCATALYST);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.InfinityCatalyst, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Neutronium, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 5, 100, 0, 0, 0}, 24000, 2000000);
+ tComb = getStackForType(CombType.INFINITY);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, ItemList.FR_Wax.get(1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Infinity, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.InfinityCatalyst, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{5000, 1, 5, 0, 0, 0}, 48000, 8000000);
+
}
- public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance){
- GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5);
+ public void addSpecialCentLV(ItemStack tComb, ItemStack aOutput, int chance){
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 5000 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(aOutput, chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f));
}
- public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2){
- GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000, chance2 * 100 }, 128, 5);
+ public void addSpecialCentLV(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2){
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 5000, chance2 * 100 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(aOutput, chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f,aOutput2,chance2 * 0.01f));
}
- public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2, ItemStack aOutput3, int chance3){
- GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), aOutput2, aOutput3, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000, chance2 * 100, chance3*100 }, 128, 5);
+ public void addSpecialCentLV(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2, ItemStack aOutput3, int chance3){
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, ItemList.FR_Wax.get(1, new Object[0]), aOutput2, aOutput3, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 5000, chance2 * 100, chance3*100 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(aOutput, chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f,aOutput2,chance2 * 0.01f,aOutput3,chance3*0.01f));
}
-
- public void addProcess(ItemStack tComb, Materials aMaterial, int chance){
+ public void addSpecialCentMV(ItemStack tComb, ItemStack aOutput, int chance){
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput,GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 7000 }, 160, 120);
+ }
+
+ public void addSpecialCentMV(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2){
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, chance2 * 100}, 160, 120);
+ }
+
+ public void addSpecialCentHV(ItemStack tComb, ItemStack aOutput, int chance){
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput,GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 7000 }, 196, 480);
+ }
+
+ public void addSpecialCentHV(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2){
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, aOutput2, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, chance2 * 100}, 196, 480);
+ }
+
+ public void addSpecialCentHV(ItemStack tComb, ItemStack aOutput, int chance, ItemStack aOutput2, int chance2, ItemStack aOutput3, int chance3){
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, aOutput, aOutput2, aOutput3, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, chance2 * 100, chance3 * 100 }, 196, 480);
+ }
+
+ public void addProcessLV(ItemStack tComb, Materials aMaterial, int chance){
if(GT_Mod.gregtechproxy.mNerfedCombs){
GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.Water.getFluid(1000), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 96, 24);
- GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(16, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1), 10000, (int) (aMaterial.getMass() * 128), 384);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 384);
}else{
GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f));
}
}
-
- public void addProcess(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){
+ public void addProcessMV(ItemStack tComb, Materials aMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), GT_ModHandler.getDistilledWater(1000L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 128, 96);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 768);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 160, 120);
+ }
+ }
+ public void addProcessHV(ItemStack tComb, Materials aMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.Mercury.getFluid(144L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 160, 384);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 1536);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 192, 480);
+ }
+ }
+ public void addProcessEV(ItemStack tComb, Materials aMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.GrowthMediumRaw.getFluid(144L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,192, 1536, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+18)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 3072, true);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 224, 1920);
+ }
+ }
+ public void addProcessIV(ItemStack tComb, Materials aMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), Materials.GrowthMediumRaw.getFluid(288L), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,224, 3072, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+27)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 6144, true);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 256, 7680);
+ }
+ }
+ public void addProcessLUV(ItemStack tComb, Materials aMaterial, int chance){
if(GT_Mod.gregtechproxy.mNerfedCombs){
- GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.Water.getFluid(1000), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 96, 24);
- GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(16, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 1), 10000, (int) (aOutMaterial.getMass() * 128), 384);
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), FluidRegistry.getFluidStack("mutagen", 144), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,256, 12288, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+36)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 24576, true);
}else{
- GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 128, 5);
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 288, 30720);
+ }
+ }
+ public void addProcessZPM(ItemStack tComb, Materials aMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1), FluidRegistry.getFluidStack("mutagen", 288), aMaterial.mOreByProducts.isEmpty() ? null : aMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), GT_Values.NI,288, 500000, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass()+45)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4), 10000, (int) (aMaterial.getMass() * 128), 100000, true);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 320, 122880);
+ }
+ }
+
+ public void addProcessLV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance) {
+ if (GT_Mod.gregtechproxy.mNerfedCombs) {
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.Water.getFluid(1000L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 96, 24);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass() +9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 384);
+ } else {
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[]{chance * 100, 3000}, 128, 5);
RecipeManagers.centrifugeManager.addRecipe(40, tComb, ImmutableMap.of(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), chance * 0.01f, ItemList.FR_Wax.get(1, new Object[0]), 0.3f));
}
}
-
+ public void addProcessMV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), GT_ModHandler.getDistilledWater(1000L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 128, 96);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 768);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 160, 120);
+ }
+
+ }
+ public void addProcessHV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.Mercury.getFluid(144L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 160, 384);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+9)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 1536);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 192, 480);
+ }
+
+ }
+ public void addProcessEV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.GrowthMediumRaw.getFluid(144L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 192, 1536);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+18)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 3072);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 224, 1920, true);
+ }
+
+ }
+ public void addProcessIV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), Materials.GrowthMediumRaw.getFluid(288L), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 224, 3072);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+27)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 6144);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 256, 7680, true);
+ }
+
+ }
+ public void addProcessLUV(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), FluidRegistry.getFluidStack("mutagen", 144), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), GT_Values.NI, 256, 12288, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+36)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 24576, true);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 288, 30720, true);
+ }
+
+ }
+ public void addProcessZPM(ItemStack tComb, Materials aInMaterial, Materials aOutMaterial, int chance){
+ if(GT_Mod.gregtechproxy.mNerfedCombs){
+ GT_Values.RA.addChemicalRecipe(GT_Utility.copyAmount(9, tComb), GT_OreDictUnificator.get(OrePrefixes.crushed, aInMaterial, 1), FluidRegistry.getFluidStack("mutagen", 288), aInMaterial.mOreByProducts.isEmpty() ? null : aInMaterial.mOreByProducts.get(0).getMolten(144), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), GT_Values.NI, 288, 500000, true);
+ GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(9, tComb), Materials.UUMatter.getFluid(Math.max(1, ((aOutMaterial.getMass()+45)/10))), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aOutMaterial, 4), 10000, (int) (aOutMaterial.getMass() * 128), 100000, true);
+ }else{
+ GT_Values.RA.addCentrifugeRecipe(tComb, GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, aOutMaterial, 1), ItemList.FR_Wax.get(1, new Object[0]), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { chance * 100, 3000 }, 320, 122880, true);
+ }
+
+ }
}
diff --git a/src/main/java/gregtech/common/items/ItemDrop.java b/src/main/java/gregtech/common/items/ItemDrop.java
new file mode 100644
index 0000000000..f461d8b68e
--- /dev/null
+++ b/src/main/java/gregtech/common/items/ItemDrop.java
@@ -0,0 +1,127 @@
+package gregtech.common.items;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import forestry.api.core.Tabs;
+import forestry.api.recipes.RecipeManagers;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GT_ModHandler;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import java.util.List;
+
+import static gregtech.api.enums.GT_Values.MOD_ID;
+
+public class ItemDrop extends Item {
+ @SideOnly(Side.CLIENT)
+ private IIcon secondIcon;
+
+ public ItemDrop() {
+ super();
+ this.setCreativeTab(Tabs.tabApiculture);
+ this.setHasSubtypes(true);
+ this.setUnlocalizedName("gt.drop");
+ GameRegistry.registerItem(this, "gt.drop", MOD_ID);
+ }
+
+ public ItemStack getStackForType(DropType type) {
+ return new ItemStack(this, 1, type.ordinal());
+ }
+
+ public ItemStack getStackForType(DropType type, int count) {
+ return new ItemStack(this, count, type.ordinal());
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubItems(Item item, CreativeTabs tabs, List list) {
+ for (DropType type : DropType.values()) {
+ if (type.showInList) {
+ list.add(this.getStackForType(type));
+ }
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public boolean requiresMultipleRenderPasses() {
+ return true;
+ }
+
+ @Override
+ public int getRenderPasses(int meta) {
+ return 2;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister par1IconRegister) {
+ this.itemIcon = par1IconRegister.registerIcon("forestry:honeyDrop.0");
+ this.secondIcon = par1IconRegister.registerIcon("forestry:honeyDrop.1");
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass) {
+ return (pass == 0) ? itemIcon : secondIcon;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public int getColorFromItemStack(ItemStack stack, int pass) {
+ int meta = Math.max(0, Math.min(DropType.values().length - 1, stack.getItemDamage()));
+ int colour = DropType.values()[meta].getColours()[0];
+
+ if (pass >= 1) {
+ colour = DropType.values()[meta].getColours()[1];
+ }
+
+ return colour;
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack stack) {
+ return DropType.values()[stack.getItemDamage()].getName();
+ }
+ public void initDropsRecipes() {
+ ItemStack tDrop;
+
+ tDrop = getStackForType(DropType.OIL);
+ addProcessLV(tDrop, Materials.OilHeavy.getFluid(100L), GT_ModHandler.getModItem("Forestry", "propolis", 1L, 0), 3000, 8);
+ RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, Materials.OilHeavy.getFluid(100L), GT_ModHandler.getModItem("Forestry", "propolis", 1L, 0), 30);
+ tDrop = getStackForType(DropType.COOLANT);
+ addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 0), 3000, 8);
+ RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 0), 30);
+ tDrop = getStackForType(DropType.HOT_COOLANT);
+ addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 3000, 8);
+ RecipeManagers.squeezerManager.addRecipe(40, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 30);
+ tDrop = getStackForType(DropType.SNOW_QUEEN);
+ addProcessMV(tDrop, Materials.FierySteel.getFluid(200L), GT_ModHandler.getModItem("dreamcraft", "SnowQueenBloodDrop", 1L, 0), 1500, 48);
+ tDrop = getStackForType(DropType.LAPIS);
+ addProcessLV(tDrop,new FluidStack(FluidRegistry.getFluid("ic2coolant"), 200), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), 5000, 1200,2);
+ RecipeManagers.squeezerManager.addRecipe(400, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 3), 30);
+ tDrop = getStackForType(DropType.HYDRA);
+ addProcessMV(tDrop, Materials.FierySteel.getFluid(50L), GT_ModHandler.getModItem("MagicBees", "propolis", 1L, 2), 3000, 8);
+ tDrop = getStackForType(DropType.OXYGEN);
+ addProcessLV(tDrop, new FluidStack(FluidRegistry.getFluid("liquidoxygen"), 100), GT_ModHandler.getModItem("ExtraBees", "propolis", 1L, 2), 250, 1200,8);
+ RecipeManagers.squeezerManager.addRecipe(400, new ItemStack[]{tDrop}, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), GT_ModHandler.getModItem("ExtraBees", "propolis", 1L, 2), 30);
+
+ }
+
+ public void addProcessLV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) {
+ GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, 32, aEUt);
+ }
+ public void addProcessLV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aDuration, int aEUt) {
+ GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, aDuration, aEUt);
+ }
+ public void addProcessMV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) {
+ GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, 64, aEUt);
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/items/ItemPollen.java b/src/main/java/gregtech/common/items/ItemPollen.java
new file mode 100644
index 0000000000..c3da0e7c1d
--- /dev/null
+++ b/src/main/java/gregtech/common/items/ItemPollen.java
@@ -0,0 +1,88 @@
+package gregtech.common.items;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import forestry.api.core.Tabs;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+import java.util.List;
+
+import static gregtech.api.enums.GT_Values.MOD_ID;
+
+public class ItemPollen extends Item {
+ @SideOnly(Side.CLIENT)
+ private IIcon secondIcon;
+
+ public ItemPollen() {
+ super();
+ this.setCreativeTab(Tabs.tabApiculture);
+ this.setHasSubtypes(true);
+ this.setUnlocalizedName("gt.pollen");
+ GameRegistry.registerItem(this, "gt.pollen", MOD_ID);
+ }
+
+ public ItemStack getStackForType(PollenType type) {
+ return new ItemStack(this, 1, type.ordinal());
+ }
+
+ public ItemStack getStackForType(PollenType type, int count) {
+ return new ItemStack(this, count, type.ordinal());
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubItems(Item item, CreativeTabs tabs, List list) {
+ for (PollenType type : PollenType.values()) {
+ if (type.showInList) {
+ list.add(this.getStackForType(type));
+ }
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public boolean requiresMultipleRenderPasses() {
+ return true;
+ }
+
+ @Override
+ public int getRenderPasses(int meta) {
+ return 2;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister par1IconRegister) {
+ this.itemIcon = par1IconRegister.registerIcon("forestry:pollen.0");
+ this.secondIcon = par1IconRegister.registerIcon("forestry:pollen.1");
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass) {
+ return (pass == 0) ? itemIcon : secondIcon;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public int getColorFromItemStack(ItemStack stack, int pass) {
+ int meta = Math.max(0, Math.min(PollenType.values().length - 1, stack.getItemDamage()));
+ int colour = PollenType.values()[meta].getColours()[0];
+
+ if (pass >= 1) {
+ colour = PollenType.values()[meta].getColours()[1];
+ }
+
+ return colour;
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack stack) {
+ return PollenType.values()[stack.getItemDamage()].getName();
+ }
+
+
+}
diff --git a/src/main/java/gregtech/common/items/ItemPropolis.java b/src/main/java/gregtech/common/items/ItemPropolis.java
new file mode 100644
index 0000000000..75c38ae016
--- /dev/null
+++ b/src/main/java/gregtech/common/items/ItemPropolis.java
@@ -0,0 +1,82 @@
+package gregtech.common.items;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import forestry.api.core.Tabs;
+import gregtech.api.enums.GT_Values;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraftforge.fluids.FluidStack;
+
+import java.util.List;
+
+import static gregtech.api.enums.GT_Values.MOD_ID;
+
+public class ItemPropolis extends Item {
+ @SideOnly(Side.CLIENT)
+ private IIcon secondIcon;
+
+ public ItemPropolis() {
+ super();
+ this.setCreativeTab(Tabs.tabApiculture);
+ this.setHasSubtypes(true);
+ this.setUnlocalizedName("gt.propolis");
+ GameRegistry.registerItem(this, "gt.propolis", MOD_ID);
+ }
+
+ public ItemStack getStackForType(PropolisType type) {
+ return new ItemStack(this, 1, type.ordinal());
+ }
+
+ public ItemStack getStackForType(PropolisType type, int count) {
+ return new ItemStack(this, count, type.ordinal());
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void getSubItems(Item item, CreativeTabs tabs, List list) {
+ for (PropolisType type : PropolisType.values()) {
+ if (type.showInList) {
+ list.add(this.getStackForType(type));
+ }
+ }
+ }
+
+
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister par1IconRegister) {
+ this.itemIcon = par1IconRegister.registerIcon("forestry:propolis.0");
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass) {
+ return itemIcon;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public int getColorFromItemStack(ItemStack stack, int pass) {
+ int meta = Math.max(0, Math.min(PropolisType.values().length - 1, stack.getItemDamage()));
+ return PropolisType.values()[meta].getColours();
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack stack) {
+ return PropolisType.values()[stack.getItemDamage()].getName();
+ }
+ public void initPropolisRecipes() {
+ ItemStack tPropolis;
+
+ tPropolis = getStackForType(PropolisType.Zoko);
+ //addRecipe(tDrop, aOutput, aOutput2, aChance, aEUt);
+ }
+
+ public void addRecipe(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) {
+ GT_Values.RA.addFluidExtractionRecipe(tDrop, aOutput2, aOutput, aChance, 40, aEUt);
+ }
+
+}
diff --git a/src/main/java/gregtech/common/items/PollenType.java b/src/main/java/gregtech/common/items/PollenType.java
new file mode 100644
index 0000000000..5bfb38e599
--- /dev/null
+++ b/src/main/java/gregtech/common/items/PollenType.java
@@ -0,0 +1,34 @@
+package gregtech.common.items;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GT_LanguageManager;
+
+public enum PollenType {
+
+ MATRIX("matrix",true);
+
+ private static int[][] colours = new int[][]{
+ {0x19191B, 0x303032},
+ };
+ public boolean showInList;
+ public Materials material;
+ public int chance;
+ private String name;
+ private PollenType(String pName, boolean show) {
+ this.name = pName;
+ this.showInList = show;
+ }
+
+ public void setHidden() {
+ this.showInList = false;
+ }
+
+ public String getName() {
+// return "gt.comb."+this.name;
+ return GT_LanguageManager.addStringLocalization("pollen." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Pollen");
+ }
+
+ public int[] getColours() {
+ return colours[this.ordinal()];
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/items/PropolisType.java b/src/main/java/gregtech/common/items/PropolisType.java
new file mode 100644
index 0000000000..e9519c5c94
--- /dev/null
+++ b/src/main/java/gregtech/common/items/PropolisType.java
@@ -0,0 +1,35 @@
+package gregtech.common.items;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.util.GT_LanguageManager;
+
+public enum PropolisType {
+
+ Zoko("zoko",true);
+
+ private static int[] colours = new int[]{
+ 0x3A9898
+ };
+
+ public boolean showInList;
+ public Materials material;
+ public int chance;
+ private String name;
+ private PropolisType(String pName, boolean show) {
+ this.name = pName;
+ this.showInList = show;
+ }
+
+ public void setHidden() {
+ this.showInList = false;
+ }
+
+ public String getName() {
+// return "gt.comb."+this.name;
+ return GT_LanguageManager.addStringLocalization("propolis." + this.name, this.name.substring(0, 1).toUpperCase() + this.name.substring(1) + " Propolis");
+ }
+
+ public int getColours() {
+ return colours[this.ordinal()];
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java
index 4a903b5b4d..4facb0e300 100644
--- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.boilers;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
@@ -256,11 +257,19 @@ public abstract class GT_MetaTileEntity_Boiler
}
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
- return false;
+ if (GT_Mod.gregtechproxy.mAllowSmallBoilerAutomation)
+ return true;
+ else
+ return false;
+
}
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
- return false;
+ if(GT_Mod.gregtechproxy.mAllowSmallBoilerAutomation)
+ return true;
+ else
+ return false;
+
}
public void doSound(byte aIndex, double aX, double aY, double aZ) {
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
index f2f5ea52ac..bb3b24f5e3 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
@@ -1,8 +1,8 @@
package gregtech.common.tileentities.generators;
+import com.google.common.base.Enums;
import cpw.mods.fml.common.Loader;
import gregtech.api.GregTech_API;
-import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.TC_Aspects;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -10,287 +10,628 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.util.GT_Log;
-import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.*;
import net.minecraft.block.Block;
+import net.minecraft.block.BlockDragonEgg;
import net.minecraft.enchantment.Enchantment;
+import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.item.EntityEnderCrystal;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemEnchantedBook;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
+import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
+import net.minecraft.world.chunk.Chunk;
+import net.minecraftforge.common.util.ForgeDirection;
import thaumcraft.api.aspects.Aspect;
-import thaumcraft.api.aspects.AspectList;
-import thaumcraft.api.aspects.IEssentiaContainerItem;
+import thaumcraft.api.aspects.AspectSourceHelper;
+import thaumcraft.api.aspects.IAspectSource;
import thaumcraft.api.visnet.VisNetHandler;
-import java.util.ArrayList;
-import java.util.Locale;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+import static gregtech.api.enums.ConfigCategories.machineconfig;
+import static gregtech.api.enums.GT_Values.MOD_ID_TC;
import static gregtech.api.enums.GT_Values.V;
-
-public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_BasicGenerator {
-
- public static final ArrayList<EntityEnderCrystal> sUsedDragonCrystalList = new ArrayList<EntityEnderCrystal>();
- public static boolean sAllowMultipleEggs = true;
- public static GT_MetaTileEntity_MagicalEnergyAbsorber mActiveSiphon = null;
- public static int sEnergyPerEnderCrystal = 32;
- public static int sEnergyFromVis = 512;
- public static int sDragonEggEnergyPerTick = 128;
- public static boolean isThaumcraftLoaded;
- public int mEfficiency;
- public EntityEnderCrystal mTargetedCrystal;
+import static net.minecraft.util.EnumChatFormatting.*;
+
+interface MagicalEnergyBBListener {
+ void onMagicalEnergyBBUpdate();
+}
+
+public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_BasicGenerator implements MagicalEnergyBBListener {
+
+ private static final boolean THAUMCRAFT_LOADED = Loader.isModLoaded(MOD_ID_TC);
+ private static final ConcurrentHashMap<UUID, GT_MetaTileEntity_MagicalEnergyAbsorber> sSubscribedCrystals = new ConcurrentHashMap<>(4);
+ private static List<Aspect> sPrimalAspects = (THAUMCRAFT_LOADED) ? Aspect.getPrimalAspects() : new ArrayList<Aspect>();
+ private static boolean sAllowMultipleEggs = false;
+ private static GT_MetaTileEntity_MagicalEnergyAbsorber sActiveSiphon = null;
+ private static int sEnergyPerEndercrystal = 512;
+ private static int sEnergyFromVis = 20;
+ private static int sEnergyPerEssentia = 320;
+ private static Map<Aspect, Integer> sAspectsEnergy = new HashMap<>();
+ private static int sDragonEggEnergyPerTick = 2048;
+ private int mEfficiency;
+ private int mMaxVisPerDrain;
+ private MagicalEnergyBB mMagicalEnergyBB = new MagicalEnergyBB(this, mTier, mTier + 2);
+ private long mNextGenerateTickRate = 1;
+ private int mNoGenerationTicks = 0;
public GT_MetaTileEntity_MagicalEnergyAbsorber(int aID, String aName, String aNameRegional, int aTier) {
- super(aID, aName, aNameRegional, aTier, "Feasts on magic close to it", new ITexture[0]);
- onConfigLoad();
+ super(aID, aName, aNameRegional, aTier, "Feasts on magic close to it:");
+ onConfigLoad(GregTech_API.sMachineFile);
}
- public GT_MetaTileEntity_MagicalEnergyAbsorber(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
+ private GT_MetaTileEntity_MagicalEnergyAbsorber(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
- onConfigLoad();
+ onConfigLoad(GregTech_API.sMachineFile);
}
- public GT_MetaTileEntity_MagicalEnergyAbsorber(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, aDescription, aTextures);
- onConfigLoad();
- }
-
- public boolean isOutputFacing(byte aSide) {
- return aSide == getBaseMetaTileEntity().getFrontFacing();
+ /**
+ * Populates static variables dependant on config settings
+ *
+ * @param aConfig GT_Config
+ */
+ private static void sharedConfigLoad(GT_Config aConfig) {
+ sAllowMultipleEggs = aConfig.get(machineconfig, "MagicEnergyAbsorber.AllowMultipleEggs", false);
+ sDragonEggEnergyPerTick = aConfig.get(machineconfig, "MagicEnergyAbsorber.EnergyPerTick.DragonEgg", 2048);
+ sEnergyPerEndercrystal = aConfig.get(machineconfig, "MagicEnergyAbsorber.EnergyPerTick.EnderCrystal", 512);
+ if (THAUMCRAFT_LOADED) {
+ sEnergyFromVis = aConfig.get(machineconfig, "MagicEnergyAbsorber.EnergyPerVis", 20);
+ sEnergyPerEssentia = aConfig.get(machineconfig, "MagicEnergyAbsorber.EnergyPerEssentia", 320);
+ for (Aspect tAspect : Aspect.aspects.values()) {
+ sAspectsEnergy.put(tAspect,
+ Enums.getIfPresent(TC_Aspects.class,
+ tAspect.getTag().toUpperCase(Locale.ENGLISH)).or(TC_Aspects.AER).mValue
+ * sEnergyPerEssentia);
+ }
+ }
}
- public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_MagicalEnergyAbsorber(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
+ private static void setActiveSiphon(GT_MetaTileEntity_MagicalEnergyAbsorber aSiphon) {
+ sActiveSiphon = aSiphon;
}
- public GT_Recipe.GT_Recipe_Map getRecipes() {
- return GT_Recipe.GT_Recipe_Map.sMagicFuels;
+ @Override
+ public void onConfigLoad(GT_Config aConfig) {
+ sharedConfigLoad(aConfig);
+ mEfficiency = aConfig.get(machineconfig, "MagicEnergyAbsorber.efficiency.tier." + mTier, 100 - mTier * 10);
+ mMaxVisPerDrain = (int) Math.round(Math.sqrt(V[mTier] * 10000 / (sEnergyFromVis * (getEfficiency() != 0 ? getEfficiency() : 100))));
+ if (Math.pow(mMaxVisPerDrain, 2) * sEnergyFromVis * (getEfficiency() != 0 ? getEfficiency() : 100) < V[mTier]) {
+ mMaxVisPerDrain += 1;
+ }
}
- public int getCapacity() {
- return 16000;
+ @Override
+ public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ if (aPlayer.isSneaking()) mMagicalEnergyBB.decreaseTier();
+ else mMagicalEnergyBB.increaseTier();
+ GT_Utility.sendChatToPlayer(aPlayer, String.format(GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_MagicalEnergyAbsorber_Screwdriver", "Absorption range: %s blocks"), mMagicalEnergyBB.getRange(), true));
+ mMagicalEnergyBB.update();
}
- public void onConfigLoad() {
- this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.efficiency.tier." + this.mTier,
- 100 - this.mTier * 10);
- this.sAllowMultipleEggs = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.AllowMultipleEggs", false);
- this.sEnergyPerEnderCrystal = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerTick.EnderCrystal", 32);
- this.sEnergyFromVis = (GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerVisDivisor", 2500) * 10);
- this.sDragonEggEnergyPerTick = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerTick", 2048);
- this.isThaumcraftLoaded = Loader.isModLoaded("Thaumcraft");
+ @Override
+ public void onFirstTick(IGregTechTileEntity aBaseMetaTileEntity) {
+ if (!aBaseMetaTileEntity.isServerSide()) return;
+ mMagicalEnergyBB.update();
}
@Override
- public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
- if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork()
- && aBaseMetaTileEntity.getUniversalEnergyStored() < maxEUOutput() + aBaseMetaTileEntity.getEUCapacity()) {
- // Dragon Egg
- if (hasEgg() && aTick % 10 == 0) {
- getBaseMetaTileEntity().increaseStoredEnergyUnits(sDragonEggEnergyPerTick * getEfficiency() / 10, false);
- if ((mActiveSiphon != this) && (!sAllowMultipleEggs)) {
- if ((mActiveSiphon == null) || (mActiveSiphon.getBaseMetaTileEntity() == null)
- || (mActiveSiphon.getBaseMetaTileEntity().isInvalidTileEntity()) || (!mActiveSiphon.hasEgg())) {
- mActiveSiphon = this;
- } else {
- Block tEgg = mActiveSiphon.getBaseMetaTileEntity().getBlockOffset(0, 1, 0);
- if (!getBaseMetaTileEntity().getWorld().getChunkFromBlockCoords(mActiveSiphon.getBaseMetaTileEntity().getXCoord(), mActiveSiphon.getBaseMetaTileEntity().getZCoord()).isChunkLoaded && (tEgg == Blocks.dragon_egg || tEgg.getUnlocalizedName().equals("tile.dragonEgg"))) {
- GT_Log.exp.println(this.mName+" Dragon Egg Exlosion!");
- getBaseMetaTileEntity().doExplosion(Integer.MAX_VALUE);
- } else {
- mActiveSiphon = this;
- }
- }
- }
- }
- // Energyzed node
- if (isThaumcraftLoaded) {
- try {
- int multFactor = 2;
- World tmpWorld = this.getBaseMetaTileEntity().getWorld();
- int tmpX = this.getBaseMetaTileEntity().getXCoord();
- int tmpY = this.getBaseMetaTileEntity().getYCoord();
- int tmpZ = this.getBaseMetaTileEntity().getZCoord();
- int fire = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.FIRE, 1000); // all of these should be 1000
- int earth = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.EARTH, 1000);
- int air = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.AIR, 1000);
- int entropy = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.ENTROPY, 1000);
- int order = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.ORDER, 1000);
- int water = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.WATER, 1000);
- int visEU = (int) (Math.pow(fire, 2) + Math.pow(earth, 2) + Math.pow(air, 2) + Math.pow(entropy, 2) + Math.pow(order, 2) + Math.pow(water, 2));
- int mult = 0; //this should make it more dependant on how big your node is
- mult += fire * multFactor;
- mult += earth * multFactor;
- mult += air * multFactor;
- mult += entropy * multFactor;
- mult += order * multFactor;
- mult += water * multFactor;
- visEU = (visEU * mult) / 100;
-
- getBaseMetaTileEntity().increaseStoredEnergyUnits(Math.min(maxEUOutput(), visEU * getEfficiency() / sEnergyFromVis), false);
-
- } catch (Throwable e) {
-
- }
- }
- // EnderCrystal
- if (sEnergyPerEnderCrystal > 0) {
- if (this.mTargetedCrystal == null) {
- ArrayList<EntityEnderCrystal> tList = (ArrayList) getBaseMetaTileEntity().getWorld().getEntitiesWithinAABB(
- EntityEnderCrystal.class,
- AxisAlignedBB.getBoundingBox(getBaseMetaTileEntity().getXCoord() - 64, getBaseMetaTileEntity().getYCoord() - 64,
- getBaseMetaTileEntity().getZCoord() - 64, getBaseMetaTileEntity().getXCoord() + 64,
- getBaseMetaTileEntity().getYCoord() + 64, getBaseMetaTileEntity().getZCoord() + 64));
- if ((tList != null) && (!tList.isEmpty())) {
- tList.removeAll(sUsedDragonCrystalList);
- if (tList.size() > 0) {
- this.mTargetedCrystal = ((EntityEnderCrystal) tList.get(0));
- if (this.mTargetedCrystal != null) {
- sUsedDragonCrystalList.add(this.mTargetedCrystal);
- }
- }
- }
- } else if (this.mTargetedCrystal.isEntityAlive()) {
- getBaseMetaTileEntity().increaseStoredEnergyUnits(sEnergyPerEnderCrystal * 10, false);
- } else {
- sUsedDragonCrystalList.remove(this.mTargetedCrystal);
- this.mTargetedCrystal = null;
- }
- }
-
- // Absorb entchantments and TC essentia
- try {
- if ((this.mInventory[0] != null) && (this.mInventory[1] == null)) {
- if (isThaumcraftLoaded && this.mInventory[0].getItem() instanceof IEssentiaContainerItem) {
- AspectList tAspect = ((IEssentiaContainerItem) this.mInventory[0].getItem()).getAspects(this.mInventory[0]);
- TC_Aspects tValue = TC_Aspects.valueOf(tAspect.getAspects()[0].getTag().toUpperCase(Locale.ENGLISH));
- int tEU = (tValue.mValue * tAspect.getAmount((Aspect) tValue.mAspect) * 100);
- getBaseMetaTileEntity().increaseStoredEnergyUnits(tEU * getEfficiency() / 100, true);
- ItemStack tStack = this.mInventory[0].copy();
- tStack.setTagCompound(null);
- tStack.setItemDamage(0);
- tStack.stackSize = 1;
- this.mInventory[1] = tStack;
- this.mInventory[0].stackSize--;
- if (this.mInventory[0].stackSize < 1) {
- this.mInventory[0] = null;
- }
-
- } else {
- if ((this.mInventory[0].isItemEnchanted()) && (this.mInventory[0].getItem().getItemEnchantability() > 0)) {
- NBTTagList tEnchantments = this.mInventory[0].getEnchantmentTagList();
- if (tEnchantments != null) {
- for (int i = 0; i < tEnchantments.tagCount(); i++) {
- short tID = ((NBTTagCompound) tEnchantments.getCompoundTagAt(i)).getShort("id");
- short tLevel = ((NBTTagCompound) tEnchantments.getCompoundTagAt(i)).getShort("lvl");
- if ((tID > -1) && (tID < Enchantment.enchantmentsList.length)) {
- Enchantment tEnchantment = Enchantment.enchantmentsList[tID];
- if (tEnchantment != null) {
- getBaseMetaTileEntity().increaseStoredEnergyUnits(
- 1000000 * getEfficiency() * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight() * 100), true);
- }
- }
- }
- this.mInventory[0].stackTagCompound.removeTag("ench");
- }
- } else if ((this.mInventory[0].getItem() instanceof ItemEnchantedBook)) {
- NBTTagList tEnchantments = ((ItemEnchantedBook) this.mInventory[0].getItem()).func_92110_g(this.mInventory[0]);
- if (tEnchantments != null) {
- for (int i = 0; i < tEnchantments.tagCount(); i++) {
- short tID = ((NBTTagCompound) tEnchantments.getCompoundTagAt(i)).getShort("id");
- short tLevel = ((NBTTagCompound) tEnchantments.getCompoundTagAt(i)).getShort("lvl");
- if ((tID > -1) && (tID < Enchantment.enchantmentsList.length)) {
- Enchantment tEnchantment = Enchantment.enchantmentsList[tID];
- if (tEnchantment != null) {
- getBaseMetaTileEntity().increaseStoredEnergyUnits(
- 1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
- }
- }
- }
- this.mInventory[0] = new ItemStack(Items.book, 1);
- }
- }
- this.mInventory[1] = this.mInventory[0];
- this.mInventory[0] = null;
- }
- }
- } catch (Throwable e) {
- }
- }
+ public void onRemoval() {
+ super.onRemoval();
+ releaseEgg();
+ unsubscribeCrystals();
}
- public void inValidate() {
- if (mActiveSiphon == this) {
- mActiveSiphon = null;
+ private void releaseEgg() {
+ if (sActiveSiphon == this) {
+ setActiveSiphon(null);
}
}
- public boolean hasEgg() {
- Block above = getBaseMetaTileEntity().getBlockOffset(0, 1, 0);
- if (above == null || Blocks.air == above) {
- return false;
+ private void unsubscribeCrystals() {
+ for (UUID tCrystalID : sSubscribedCrystals.keySet()) {
+ sSubscribedCrystals.remove(tCrystalID, this);
}
- return Blocks.dragon_egg == above || above.getUnlocalizedName().equals("tile.dragonEgg");
}
- public int getEfficiency() {
- return this.mEfficiency;
+ /**
+ * Call-back from the Bounding Box when its content is updated
+ */
+ @Override
+ public void onMagicalEnergyBBUpdate() {
+ List<UUID> tCrystalIDsInRange = mMagicalEnergyBB.getLivingCrystalIDs();
+ // Release unreachable Crystals subscriptions
+ for (UUID tSubscribedCrystalID : sSubscribedCrystals.keySet()) {
+ if (!tCrystalIDsInRange.contains(tSubscribedCrystalID)) {
+ sSubscribedCrystals.remove(tSubscribedCrystalID, this);
+ }
+ }
+ // Subscribe to available and not already subscribed Crystals
+ for (UUID tCrystalID : tCrystalIDsInRange) {
+ sSubscribedCrystals.putIfAbsent(tCrystalID, this);
+ }
}
@Override
- public long maxEUStore() {
- return Math.max(getEUVar(), V[mTier] * 16000L + getMinimumStoredEU());
+ public String[] getDescription() {
+ final String LI = "-%%%";
+ final String EU_PER = "%%%EU per ";
+ List<String> description = new ArrayList<>();
+ description.add(UNDERLINE + "Feasts on " + LIGHT_PURPLE + UNDERLINE + "magic" + GRAY + UNDERLINE + " close to it:");
+ description.add(LI + (sAllowMultipleEggs ? "A " : "An " + YELLOW + UNDERLINE + "EXCLUSIVE" + RESET) + GRAY + " " + LIGHT_PURPLE + "Dragon Egg" + GRAY + " atop");
+ if (sEnergyPerEndercrystal > 0) {
+ description.add(LI + sEnergyPerEndercrystal + EU_PER + LIGHT_PURPLE + "Ender Crystal" + GRAY + " in range");
+ }
+ if (THAUMCRAFT_LOADED) {
+ description.add(LI + mMaxVisPerDrain + "%%%CV/t from an " + LIGHT_PURPLE + "Energised Node" + GRAY);
+ description.add(LI + (sEnergyPerEssentia * getEfficiency()) / 100 + EU_PER + LIGHT_PURPLE + "Essentia" + GRAY + " Aspect-Value from containers in range");
+ }
+ description.add(" ");
+ description.add(UNDERLINE + "Lookup range (Use Screwdriver to change):");
+ description.add("Default:%%%" + GREEN + mMagicalEnergyBB.getDefaultRange());
+ description.add("Max:%%%" + GREEN + mMagicalEnergyBB.getMaxRange());
+ description.add(" ");
+ description.add(UNDERLINE + "Fuels on " + LIGHT_PURPLE + UNDERLINE + "enchantments" + GRAY + UNDERLINE + " input:");
+ description.add("- Item:%%%" + (10000 * getEfficiency()) / 100 + EU_PER + LIGHT_PURPLE + "enchant" + GRAY + " weight × level / max");
+ description.add("- Book:%%%" + 10000 + EU_PER + LIGHT_PURPLE + "enchant" + GRAY + " weight × level / max");
+ description.add(" ");
+ description.add("Efficiency:%%%" + GREEN + getEfficiency() + "%");
+ return description.toArray(new String[0]);
}
+ @Override
public ITexture[] getFront(byte aColor) {
return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC),
- Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
+ Textures.BlockIcons.OVERLAYS_ENERGY_OUT[mTier]};
}
+ @Override
public ITexture[] getBack(byte aColor) {
return new ITexture[]{super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_FRONT)};
}
+ @Override
public ITexture[] getBottom(byte aColor) {
return new ITexture[]{super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC)};
}
+ @Override
public ITexture[] getTop(byte aColor) {
return new ITexture[]{super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_DRAGONEGG)};
}
+ @Override
public ITexture[] getSides(byte aColor) {
return new ITexture[]{super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC)};
}
+ @Override
public ITexture[] getFrontActive(byte aColor) {
return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE),
- Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
+ Textures.BlockIcons.OVERLAYS_ENERGY_OUT[mTier]};
}
+ @Override
public ITexture[] getBackActive(byte aColor) {
return new ITexture[]{super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_FRONT_ACTIVE)};
}
+ @Override
public ITexture[] getBottomActive(byte aColor) {
return new ITexture[]{super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE)};
}
+ @Override
public ITexture[] getTopActive(byte aColor) {
return new ITexture[]{super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_DRAGONEGG)};
}
+ @Override
public ITexture[] getSidesActive(byte aColor) {
return new ITexture[]{super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE)};
}
- @Override
- public int getPollution() {
- return 0;
- }
+ @Override
+ public boolean isOutputFacing(byte aSide) {
+ return aSide == getBaseMetaTileEntity().getFrontFacing();
+ }
+
+ @Override
+ public long maxEUStore() {
+ return Math.max(getEUVar(), V[mTier] * 16000 + getMinimumStoredEU());
+ }
+
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ if (!aBaseMetaTileEntity.isServerSide()) return;
+ if (!aBaseMetaTileEntity.isAllowedToWork()) return;
+ if ((aBaseMetaTileEntity.getUniversalEnergyStored() >= aBaseMetaTileEntity.getEUCapacity())) return;
+
+ long tGeneratedEU;
+
+ if (aTick % 100 == 0) mMagicalEnergyBB.update();
+
+ // Adaptive EU Generation Ticking
+ if (aTick % mNextGenerateTickRate == 0) {
+ tGeneratedEU = generateEU();
+ if (tGeneratedEU > 0) {
+ mNoGenerationTicks = 0;
+ if (tGeneratedEU >= 2 * V[mTier])
+ mNextGenerateTickRate = (long) (1.0D / ((2.0D * (double) (V[mTier])) / (double) tGeneratedEU));
+ else mNextGenerateTickRate = 1;
+ mInventory[getStackDisplaySlot()] = new ItemStack(Blocks.fire, 1);
+ mInventory[getStackDisplaySlot()].setStackDisplayName("Generating: " + tGeneratedEU + " EU");
+ } else {
+ mInventory[getStackDisplaySlot()] = null;
+ mNoGenerationTicks += 1;
+ }
+ if (mNoGenerationTicks > 20) {
+ mNoGenerationTicks = 0;
+ mNextGenerateTickRate = 20;
+ }
+ aBaseMetaTileEntity.increaseStoredEnergyUnits(tGeneratedEU, true);
+ aBaseMetaTileEntity.setActive(aBaseMetaTileEntity.isAllowedToWork() && aBaseMetaTileEntity.getUniversalEnergyStored() >= maxEUOutput() + getMinimumStoredEU());
+ }
+ }
+
+ @Override
+ public int getPollution() {
+ return 0;
+ }
+
+ @Override
+ public GT_Recipe.GT_Recipe_Map getRecipes() {
+ return GT_Recipe.GT_Recipe_Map.sMagicFuels;
+ }
+
+ @Override
+ public int getEfficiency() {
+ return mEfficiency;
+ }
+
+ @Override
+ public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
+ // Restrict input to disenchantable items or enchanted books
+ return (isDisenchantableItem(aStack) || isEnchantedBook(aStack));
+ }
+
+ @Override
+ public int getCapacity() {
+ return 16000;
+ }
+
+ private boolean isDisenchantableItem(ItemStack aStack) {
+ return ((aStack.isItemEnchanted()) && (aStack.getItem().getItemEnchantability() > 0));
+ }
+
+ private boolean isEnchantedBook(ItemStack aStack) {
+ return (aStack.getItem() instanceof ItemEnchantedBook);
+ }
+
+ private long generateEU() {
+ long tEU;
+
+ if ((tEU = absorbFromEgg()) > 0) return tEU;
+ if ((tEU = absorbFromEnderCrystals()) > 0) return tEU;
+ if ((tEU = absorbFromEnchantedItems()) > 0) return tEU;
+ if ((tEU = absorbFromVisNet()) > 0) return tEU;
+ if ((tEU = absorbFromEssentiaContainers()) > 0) return tEU;
+ return 0;
+ }
+
+ private long absorbFromEnchantedItems() {
+ ItemStack tStack = getBaseMetaTileEntity().getStackInSlot(getInputSlot());
+ if (tStack == null) return 0;
+ if (tStack.stackSize == 0) return 0;
+ if (!(isDisenchantableItem(tStack) || isEnchantedBook(tStack))) return 0;
+ long tEU = 0;
+ // Convert enchantments to their EU Value
+ Map<?, ?> tMap = EnchantmentHelper.getEnchantments(tStack);
+ for (Map.Entry<?, ?> e : tMap.entrySet()) {
+ if ((Integer) e.getKey() < Enchantment.enchantmentsList.length) {
+ Enchantment tEnchantment = Enchantment.enchantmentsList[(Integer) e.getKey()];
+ Integer tLevel = (Integer) e.getValue();
+ tEU += 1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight());
+ }
+ }
+ if (isDisenchantableItem(tStack)) {
+ EnchantmentHelper.setEnchantments(new HashMap(), tStack);
+ tEU = tEU * getEfficiency() / 100;
+ } else if (isEnchantedBook(tStack)) {
+ tStack = new ItemStack(Items.book, 1);
+ }
+
+ // Only consume input if can store EU and push output
+ if ((getBaseMetaTileEntity().getStoredEU() + tEU) < getBaseMetaTileEntity().getEUCapacity()
+ && getBaseMetaTileEntity().addStackToSlot(getOutputSlot(), tStack)) {
+ decrStackSize(getInputSlot(), 1);
+ } else {
+ tEU = 0;
+ }
+ return tEU;
+ }
+
+ private boolean hasEgg() {
+ Block above = getBaseMetaTileEntity().getBlockOffset(0, 1, 0);
+ return isEgg(above);
+ }
+
+ private long absorbFromEgg() {
+ if (!hasEgg()) return 0;
+ if (!sAllowMultipleEggs) {
+ if (sActiveSiphon != null
+ && sActiveSiphon != this
+ && sActiveSiphon.getBaseMetaTileEntity() != null
+ && !sActiveSiphon.getBaseMetaTileEntity().isInvalidTileEntity()
+ && sActiveSiphon.isChunkLoaded()
+ && sActiveSiphon.hasEgg()) {
+ getBaseMetaTileEntity().doExplosion(Integer.MAX_VALUE);
+ } else {
+ setActiveSiphon(this);
+ }
+ }
+ return sDragonEggEnergyPerTick;
+ }
+
+ private long absorbFromEnderCrystals() {
+ if (sEnergyPerEndercrystal <= 0) return 0;
+ long tEU = 0;
+ for (GT_MetaTileEntity_MagicalEnergyAbsorber tSubscriber : sSubscribedCrystals.values()) {
+ if (tSubscriber == this) { // This Crystal is for me
+ tEU += sEnergyPerEndercrystal;
+ }
+ }
+ return tEU;
+ }
+
+ private long absorbFromVisNet() {
+ if (!THAUMCRAFT_LOADED) return 0;
+
+ long tEU;
+ IGregTechTileEntity tBaseMetaTileEntity = getBaseMetaTileEntity();
+ World tWorld = tBaseMetaTileEntity.getWorld();
+ int tX = tBaseMetaTileEntity.getXCoord();
+ int tY = tBaseMetaTileEntity.getYCoord();
+ int tZ = tBaseMetaTileEntity.getZCoord();
+
+ // Attempt to drain as much Vis as needed for max EU/t, from all primal aspects.
+ int toDrain = mMaxVisPerDrain;
+
+ for (int i = sPrimalAspects.size() - 1; i >= 0 && toDrain > 0; i--) {
+ toDrain -= VisNetHandler.drainVis(tWorld, tX, tY, tZ, sPrimalAspects.get(i), toDrain);
+ }
+
+ int drained = mMaxVisPerDrain - toDrain;
+ tEU = (long) Math.min(maxEUOutput(), (Math.pow(drained, 2) * sEnergyFromVis * getEfficiency() / 10000));
+
+ return tEU;
+ }
+
+ private long absorbFromEssentiaContainers() {
+ if (!THAUMCRAFT_LOADED) return 0;
+
+ long tEU = 0;
+
+ long tEUtoGen = getBaseMetaTileEntity().getEUCapacity() - getBaseMetaTileEntity().getUniversalEnergyStored();
+ List<Aspect> mAvailableEssentiaAspects = mMagicalEnergyBB.getAvailableAspects();
+
+ // try to drain 1 of whatever aspect available in containers within RANGE
+ for (int i = mAvailableEssentiaAspects.size() - 1; i >= 0 && tEUtoGen > 0; i--) {
+ Aspect aspect = mAvailableEssentiaAspects.get(i);
+ long tAspectEU = (sAspectsEnergy.get(aspect) * getEfficiency()) / 100;
+ if (tAspectEU <= tEUtoGen
+ && AspectSourceHelper.drainEssentia((TileEntity) getBaseMetaTileEntity(), aspect, ForgeDirection.UNKNOWN, mMagicalEnergyBB.getRange())) {
+ tEUtoGen -= tAspectEU;
+ tEU += tAspectEU;
+ }
+ }
+ return tEU;
+ }
+
+ private boolean isEgg(Block aBlock) {
+ if (aBlock == null) return false;
+ if (aBlock == Blocks.air) return false;
+ if (aBlock == Blocks.dragon_egg) return true;
+ if (aBlock instanceof BlockDragonEgg) return true;
+ return (aBlock.getUnlocalizedName().equals("tile.dragonEgg"));
+ }
+
+ private boolean isChunkLoaded() {
+ IGregTechTileEntity tBaseMetaTileEntity = getBaseMetaTileEntity();
+ int tX = tBaseMetaTileEntity.getXCoord();
+ int tY = tBaseMetaTileEntity.getYCoord();
+ World tWorld = tBaseMetaTileEntity.getWorld();
+ Chunk tChunk = tWorld.getChunkFromBlockCoords(tX, tY);
+ return tChunk.isChunkLoaded;
+ }
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_MagicalEnergyAbsorber(mName, mTier, mDescriptionArray, mTextures);
+ }
+
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ super.saveNBTData(aNBT);
+ aNBT.setInteger("mMagicalEnergyBBTier", mMagicalEnergyBB.getTier());
+ }
+
+ @Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ mMagicalEnergyBB.setTier(aNBT.getInteger("mMagicalEnergyBBTier"));
+ }
+
+ /**
+ * Handles Bounding Box ranged operations for Magic sources
+ */
+ static class MagicalEnergyBB {
+ private GT_MetaTileEntity_MagicalEnergyAbsorber mAbsorber;
+ private MagicalEnergyBBListener mListener;
+ private int mDefaultTier;
+ private int mTier;
+ private int mMaxTier;
+ private List<UUID> mLivingCrystalIDs = new ArrayList<>();
+ private List<Aspect> mAvailableAspects;
+
+ /**
+ * @param aAbsorber user and subscriber for updated BB content
+ * @param aDefaultTier Initial tier value
+ * @param aMaxTier Maximum allowed tier
+ */
+ MagicalEnergyBB(GT_MetaTileEntity_MagicalEnergyAbsorber aAbsorber, int aDefaultTier, int aMaxTier) {
+ mAbsorber = aAbsorber;
+ mListener = aAbsorber;
+ mMaxTier = Math.max(aMaxTier > 0 ? aMaxTier : 0, aDefaultTier > 0 ? aDefaultTier : 0);
+ mDefaultTier = Math.min(aDefaultTier, mMaxTier);
+ mTier = mDefaultTier;
+ if (THAUMCRAFT_LOADED) mAvailableAspects = new ArrayList<>(Aspect.aspects.size());
+ }
+
+ int getTier() {
+ return mTier;
+ }
+
+ /**
+ * Set Bounding Box Tier within allowed bounds
+ *
+ * @param aTier new tier value
+ * @return effective new tier
+ */
+ int setTier(int aTier) {
+ if (aTier >= 0) {
+ if (aTier <= mMaxTier) {
+ mTier = aTier;
+ } else {
+ mTier = mMaxTier;
+ }
+ } else {
+ mTier = 0;
+ }
+ return mTier;
+ }
+
+ int getRange() {
+ return getRange(mTier);
+ }
+
+ int getRange(int aTier) {
+ return 1 << aTier;
+ }
+
+ int getDefaultTier() {
+ return mDefaultTier;
+ }
+
+ int getDefaultRange() {
+ return getRange(getDefaultTier());
+ }
+
+ int getMaxTier() {
+ return mMaxTier;
+ }
+
+ int getMaxRange() {
+ return getRange(getMaxTier());
+ }
+
+ private AxisAlignedBB getAxisAlignedBB() {
+ double tRange = getRange();
+ IGregTechTileEntity tBaseMetaTileEntity = mAbsorber.getBaseMetaTileEntity();
+ double tX = tBaseMetaTileEntity.getXCoord();
+ double tY = tBaseMetaTileEntity.getYCoord();
+ double tZ = tBaseMetaTileEntity.getZCoord();
+ return AxisAlignedBB.getBoundingBox(tX - tRange, tY - tRange, tZ - tRange,
+ tX + tRange, tY + tRange, tZ + tRange);
+ }
+
+ private void scanLivingCrystals() {
+ World tWorld = mAbsorber.getBaseMetaTileEntity().getWorld();
+ mLivingCrystalIDs.clear();
+ for (Object o : tWorld.getEntitiesWithinAABB(EntityEnderCrystal.class,
+ getAxisAlignedBB())) {
+ if (((EntityEnderCrystal) o).isEntityAlive()) {
+ mLivingCrystalIDs.add(((EntityEnderCrystal) o).getPersistentID());
+ }
+ }
+ }
+
+ private void scanAvailableAspects() {
+ if (!THAUMCRAFT_LOADED) return;
+ IGregTechTileEntity tBaseMetaTileEntity = mAbsorber.getBaseMetaTileEntity();
+ if (tBaseMetaTileEntity.isInvalidTileEntity()) return;
+ int tRange = getRange();
+ mAvailableAspects.clear();
+ for (int rX = -tRange; rX <= tRange; rX++) {
+ for (int rZ = -tRange; rZ <= tRange; rZ++) {
+ // rY < tRange is not a bug. See: thaumcraft.common.lib.events.EssentiaHandler.getSources()
+ for (int rY = -tRange; rY < tRange; rY++) {
+ TileEntity tTile = tBaseMetaTileEntity.getTileEntityOffset(rX, rY, rZ);
+ if (tTile instanceof IAspectSource) {
+ Set<Aspect> tAspects = ((IAspectSource) tTile).getAspects().aspects.keySet();
+ mAvailableAspects.addAll(tAspects);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * @return List of Living Ender Crystal Entity IDs in range
+ */
+ List<UUID> getLivingCrystalIDs() {
+ return mLivingCrystalIDs;
+ }
+
+ /**
+ * @return List of drainable Essentia Aspects from containers in range
+ */
+ List<Aspect> getAvailableAspects() {
+ return mAvailableAspects;
+ }
+
+ /**
+ * Scan range for magic sources
+ */
+ void update() {
+ if (mAbsorber == null) return;
+ if (mAbsorber.getBaseMetaTileEntity() == null) return;
+ if (mAbsorber.getBaseMetaTileEntity().isInvalidTileEntity()) return;
+ if (mAbsorber.getBaseMetaTileEntity().getWorld() == null) return;
+ scanLivingCrystals();
+ scanAvailableAspects();
+ if (mListener != null) {
+ mListener.onMagicalEnergyBBUpdate();
+ }
+ }
+
+ void increaseTier() {
+ offsetTier(1);
+ }
+
+ void decreaseTier() {
+ offsetTier(-1);
+ }
+
+ /**
+ * Change the Bounding Box tier relatively to offset
+ * with wrapping at tier limits
+ *
+ * @param aOffset relative tier change
+ */
+ void offsetTier(int aOffset) {
+ int tNumTiers = mMaxTier + 1;
+ int tTier = (mTier + aOffset + tNumTiers) % tNumTiers;
+ int tTrueTier = setTier(tTier);
+ if (tTier != tTrueTier) {
+ GT_Log.out.format("Absorber's BB Tier set to %d was capped to %d", tTier, tTrueTier);
+ }
+ }
+ }
} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
index c01b138682..7b60e70ad1 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
@@ -61,11 +61,11 @@ public class GT_MetaTileEntity_Macerator_Bronze extends GT_MetaTileEntity_BasicM
// if (!tRecipe.isRecipeInputEqual(true, new FluidStack[]{getFillableStack()}, getAllInputs()))
// return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
-
+ if (!tRecipe.isRecipeInputEqual(true, new FluidStack[]{getFillableStack()}, getAllInputs()))
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
if (tRecipe.getOutput(0) != null) mOutputItems[0] = tRecipe.getOutput(0);
this.mEUt = tRecipe.mEUt;
this.mMaxProgresstime = (tRecipe.mDuration * 2);
- getInputAt(0).stackSize -= tRecipe.mInputs[0].stackSize;
return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
index b127f839ed..4e98d1ce79 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
@@ -61,11 +61,11 @@ public class GT_MetaTileEntity_Macerator_Steel extends GT_MetaTileEntity_BasicMa
// if (!tRecipe.isRecipeInputEqual(true, new FluidStack[]{getFillableStack()}, getAllInputs()))
// return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
-
+ if (!tRecipe.isRecipeInputEqual(true, new FluidStack[]{getFillableStack()}, getAllInputs()))
+ return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
if (tRecipe.getOutput(0) != null) mOutputItems[0] = tRecipe.getOutput(0);
this.mEUt = (2 * tRecipe.mEUt);
this.mMaxProgresstime = tRecipe.mDuration;
- getInputAt(0).stackSize -= tRecipe.mInputs[0].stackSize;
return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
}
diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java
index 2d1083ed79..6437a95a33 100644
--- a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java
+++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java
@@ -26,8 +26,6 @@ public class GT_FuelLoader
ItemList.sIndiumConcentrate = GT_Mod.gregtechproxy.addFluid("indiumconcentrate", "Indium Concentrate", null, 1, 295);//TODO CHECK NEW x3
ItemList.sLeadZincSolution = GT_Mod.gregtechproxy.addFluid("leadzincsolution", "Lead-Zinc solution", null, 1, 295);
ItemList.sRocketFuel = GT_Mod.gregtechproxy.addFluid("rocket_fuel", "Rocket Fuel", null, 1, 295);
- //ItemList.sIron3Chloride = GT_Mod.gregtechproxy.addFluid("iron3chloride", "Iron III Chloride", Materials.IronIIIChloride, 1, 295);
- //ItemList.sLifeEssence = GT_Mod.gregtechproxy.addFluid("lifeessence", "Life Essence", Materials.LifeEssence, 1, 295);
new GT_Recipe(new ItemStack(Items.lava_bucket), new ItemStack(Blocks.obsidian), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Electrum, 1L), 30, 2);
GT_Recipe.GT_Recipe_Map.sSmallNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)}, null, null, null, 0, 0, 25000);
@@ -35,7 +33,6 @@ public class GT_FuelLoader
GT_Recipe.GT_Recipe_Map.sHugeNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L)}, null, null, null, 0, 0, 250000);
GT_Recipe.GT_Recipe_Map.sExtremeNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)}, null, null, null, 0, 0, 500000);
GT_Recipe.GT_Recipe_Map.sUltraHugeNaquadahReactorFuels.addRecipe(true, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadria, 1L)}, new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L)}, null, null, null, 0, 0, 1000000);
- //GT_Recipe.GT_Recipe_Map.sUltraHugeNaquadahReactorFuels.addRecipe(true, new ItemStack[]{null}, new ItemStack[]{null}, null, new FluidStack[]{Materials.FluidNaquadahFuel.getFluid(1000L)}, new FluidStack[]{Materials.Naquadah.getFluid(1000L)}, 0, 0, 2000000);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1L, 4), null, 4, 5);
GT_Values.RA.addFuel(new ItemStack(Items.experience_bottle, 1), null, 10, 5);
diff --git a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java
index e57d640d1f..f726349a8d 100644
--- a/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java
+++ b/src/main/java/gregtech/loaders/misc/GT_BeeDefinition.java
@@ -1,519 +1,1509 @@
package gregtech.loaders.misc;
+import cpw.mods.fml.common.Loader;
+import cpw.mods.fml.common.registry.GameRegistry;
import forestry.api.apiculture.*;
import forestry.api.core.EnumHumidity;
import forestry.api.core.EnumTemperature;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IAllele;
+import forestry.api.genetics.IAlleleFlowers;
import forestry.apiculture.genetics.Bee;
-import forestry.apiculture.genetics.BeeDefinition;
import forestry.apiculture.genetics.BeeVariation;
import forestry.apiculture.genetics.IBeeDefinition;
+import forestry.apiculture.genetics.alleles.AlleleEffect;
import forestry.core.genetics.alleles.AlleleHelper;
+import forestry.core.genetics.alleles.EnumAllele;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.common.bees.GT_AlleleBeeSpecies;
+import gregtech.common.bees.GT_Bee_Mutation;
import gregtech.common.items.CombType;
+import net.minecraft.block.Block;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.BiomeDictionary;
import org.apache.commons.lang3.text.WordUtils;
import java.util.Arrays;
import java.util.Locale;
-//import forestry.apiculture.items.EnumHoneyComb;
-//import forestry.plugins.PluginApiculture;
-
public enum GT_BeeDefinition implements IBeeDefinition {
- CLAY(GT_BranchDefinition.ORGANIC, "Clay", true, 0x19d0ec, 0xffdc16) {
+
+ //organic
+ CLAY(GT_BranchDefinition.ORGANIC, "Clay", true, 0xC8C8DA, 0x0000FF) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
beeSpecies.addProduct(new ItemStack(Items.clay_ball, 1), 0.15f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("BiomesOPlenty", "mudball", 1, 0), 0.05f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ //Example
+ //beeSpecies.setIsSecret();
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.MEADOWS.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA);
+ //Exaples
+ //template = BeeDefinition.CULTIVATED.getTemplate();
+ //AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST);
+ //tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(-1));
+ //tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(50));
+ //tMutation.requireResource(Blocks.coal_block, 0);
+ //AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_1);
+ //tMutation.requireResource(GameRegistry.findBlock("minecraft", "sand"), 1);
+ //AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, GT_Bees.superLife);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), getSpecies("Diligent"), 20);
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY, "Industrious"), getSpecies(FORRESTRY, "Diligent"), 10);
+ tMutation.requireResource("blockClay");
}
},
SLIMEBALL(GT_BranchDefinition.ORGANIC, "SlimeBall", true, 0x4E9E55, 0x00FF15) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 15), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STICKY), 0.30f);
+ beeSpecies.addProduct(new ItemStack(Items.slime_ball, 1), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STICKY), 0.05f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ if (Loader.isModLoaded("TConstruct")) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("TConstruct", "strangeFood", 1, 0), 0.10f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("TConstruct", "slime.gel", 1, 2), 0.01f);
+ }
+
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.MARSHY.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "water"));
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies("Marshy"), CLAY.species, 15);
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Marshy"), CLAY.species, 7);
+ if (Loader.isModLoaded("TConstruct"))
+ tMutation.requireResource(GameRegistry.findBlock("TConstruct", "slime.gel"), 1);
}
},
PEAT(GT_BranchDefinition.ORGANIC, "Peat", true, 0x906237, 0x58300B) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LIGNIE), 0.30f);
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.15f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "peat", 1, 0), 0.15f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "mulch", 1, 0), 0.05f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.RURAL.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies("Rural"), CLAY.species, 20);
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Rural"), CLAY.species, 10);
}
},
STICKYRESIN(GT_BranchDefinition.ORGANIC, "StickyResin", true, 0x2E8F5B, 0xDCC289) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
- beeSpecies.addProduct(ItemList.IC2_Resin.get(1, new Object[0]), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STICKY), 0.15f);
+ beeSpecies.addSpecialty(ItemList.IC2_Resin.get(1, new Object[0]), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.MEADOWS.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(SLIMEBALL.species, PEAT.species, 25);
+ IBeeMutationCustom tMutation = registerMutation(SLIMEBALL.species, PEAT.species, 15);
+ tMutation.requireResource("logRubber");
}
},
COAL(GT_BranchDefinition.ORGANIC, "Coal", true, 0x666666, 0x525252) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LIGNIE), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.COAL), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.COAL), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.AUSTERE.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.CACTI);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectCreeper);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), PEAT.species, 18);
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Industrious"), PEAT.species, 9);
+ tMutation.requireResource("blockCoal");
}
},
OIL(GT_BranchDefinition.ORGANIC, "Oil", true, 0x4C4C4C, 0x333333) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 0), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.OIL), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OIL), 0.15f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
- beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "water"));
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
+
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(COAL.species, STICKYRESIN.species, 4);
+ }
+ },
+ SANDWICH(GT_BranchDefinition.ORGANIC, "Sandwich", true, 0x32CD32, 0xDAA520) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f);
+ beeSpecies.addSpecialty(ItemList.Food_Sliced_Cucumber.get(1, new Object[0]), 0.05f);
+ beeSpecies.addSpecialty(ItemList.Food_Sliced_Onion.get(1, new Object[0]), 0.05f);
+ beeSpecies.addSpecialty(ItemList.Food_Sliced_Tomato.get(1, new Object[0]), 0.05f);
+ beeSpecies.addSpecialty(ItemList.Food_Sliced_Cheese.get(1, new Object[0]), 0.05f);
+ beeSpecies.addSpecialty(new ItemStack(Items.cooked_porkchop, 1, 0), 0.05f);
+ beeSpecies.addSpecialty(new ItemStack(Items.cooked_beef, 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectFertile);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
+
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Agrarian"), getSpecies(MAGICBEES,"TCBatty"), 10);
+ }
+ },
+ ASH(GT_BranchDefinition.ORGANIC, "Ash", true, 0x1e1a18, 0xc6c6c6) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ASH), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(COAL.species, CLAY.species, 10);
+ tMutation.restrictTemperature(EnumTemperature.HELLISH);
+ }
+ },
+ APATITE(GT_BranchDefinition.ORGANIC, "Apatite", true, 0xc1c1f6, 0x676784) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.APATITE), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock"));
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(ASH.species, COAL.species, 10);
+ tMutation.requireResource("blockApatite");
+ }
+ },
+
+ FERTILIZER(GT_BranchDefinition.ORGANIC, "Fertilizer", true, 0x7fcef5, 0x654525) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 9), 0.15f);
+ beeSpecies.addSpecialty(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1), 0.2f);
+ beeSpecies.addSpecialty(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1), 0.2f);
+ beeSpecies.addSpecialty(ItemList.FR_Fertilizer.get(1, new Object[0]), 0.3f);
+ beeSpecies.addSpecialty(ItemList.IC2_Fertilizer.get(1, new Object[0]), 0.3f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(ASH.species, APATITE.species, 8);
+ }
+ },
+
+ //IC2
+ COOLANT(GT_BranchDefinition.IC2, "Coolant", false, 0x144F5A, 0x2494A2) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 4), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.COOLANT), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectGlacial);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Icy"), getSpecies(FORRESTRY,"Glacial"), 10);
+ tMutation.requireResource(Block.getBlockFromItem(GT_ModHandler.getModItem("IC2", "fluidCoolant", 1).getItem()), 0);
+ tMutation.restrictTemperature(EnumTemperature.ICY);
+ }
+ },
+ ENERGY(GT_BranchDefinition.IC2, "Energy", false, 0xC11F1F, 0xEBB9B9) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 12), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENERGY), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.NETHER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Demonic"), getSpecies(EXTRABEES,"volcanic"), 10);
+ tMutation.requireResource(Block.getBlockFromItem(GT_ModHandler.getModItem("IC2", "fluidHotCoolant", 1).getItem()), 0);
+ tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(128, "Boneyard Biome"));//Boneyard Biome
+ }
+ },
+ LAPOTRON(GT_BranchDefinition.IC2, "Lapotron", false, 0x6478FF, 0x1414FF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LAPIS), 0.20f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENERGY), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LAPOTRON), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(LAPIS.species, ENERGY.species, 6);
+ tMutation.requireResource("blockLapis");
+ tMutation.restrictTemperature(EnumTemperature.ICY);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(28, "Moon"));//moon dim
+ }
+ },
+ PYROTHEUM(GT_BranchDefinition.IC2, "Pyrotheum", false, 0xffebc4, 0xe36400) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ENERGY), 0.20f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.PYROTHEUM), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.NETHER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, ENERGY.species, 4);
+ tMutation.restrictTemperature(EnumTemperature.HELLISH);
+ }
+ },
+ CRYOTHEUM(GT_BranchDefinition.IC2, "Cryotheum", false, 0x2660ff, 0x5af7ff) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.COOLANT), 0.20f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CRYOTHEUM), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectSnowing);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, COOLANT.species, 4);
+ tMutation.restrictTemperature(EnumTemperature.ICY);
+ }
+ },
+ //Alloy
+ REDALLOY(GT_BranchDefinition.GTALLOY, "RedAlloy", false, 0xE60000, 0xB80000) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDALLOY), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(COPPER.species, REDSTONE.species, 10);
+ tMutation.requireResource("blockRedAlloy");
+ }
+ },
+ REDSTONEALLOY(GT_BranchDefinition.GTALLOY, "RedStoneAlloy", false, 0xA50808, 0xE80000) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDSTONEALLOY), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, REDALLOY.species, 8);
+ tMutation.requireResource("blockRedstoneAlloy");
+ }
+ },
+ CONDUCTIVEIRON(GT_BranchDefinition.GTALLOY, "ConductiveIron", false, 0xCEADA3, 0x817671) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CONDUCTIVEIRON), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(REDSTONEALLOY.species, IRON.species, 8);
+ tMutation.requireResource("blockConductiveIron");
+ }
+ },
+ VIBRANTALLOY(GT_BranchDefinition.GTALLOY, "VibrantAlloy", false, 0x86A12D, 0xC4F2AE) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.VIBRANTALLOY), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(ENERGETICALLOY.species, getSpecies(FORRESTRY,"Phantasmal"), 6);
+ tMutation.requireResource("blockVibrantAlloy");
+ tMutation.restrictTemperature(EnumTemperature.HOT, EnumTemperature.HELLISH);
+ }
+ },
+ ENERGETICALLOY(GT_BranchDefinition.GTALLOY, "EnergeticAlloy", false, 0xFF9933, 0xFFAD5C) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENERGETICALLOY), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(REDSTONEALLOY.species, getSpecies(FORRESTRY,"Demonic"), 9);
+ tMutation.requireResource("blockEnergeticAlloy");
+ }
+ },
+ ELECTRICALSTEEL(GT_BranchDefinition.GTALLOY, "ElectricalSteel", false, 0x787878, 0xD8D8D8) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ELECTRICALSTEEL), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(STEEL.species, getSpecies(FORRESTRY,"Demonic"), 9);
+ tMutation.requireResource("blockElectricalSteel");
+ }
+ },
+ DARKSTEEL(GT_BranchDefinition.GTALLOY, "DarkSteel", false, 0x252525, 0x443B44) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DARKSTEEL), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(ELECTRICALSTEEL.species, getSpecies(FORRESTRY,"Demonic"), 7);
+ tMutation.requireResource("blockDarkSteel");
+ }
+ },
+ PULSATINGIRON(GT_BranchDefinition.GTALLOY, "PulsatingIron", false, 0x6DD284, 0x006600) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 7), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.PULSATINGIRON), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(REDALLOY.species, getSpecies(FORRESTRY,"Ended"), 9);
+ tMutation.requireResource("blockPulsatingIron");
+ }
+ },
+ STAINLESSSTEEL(GT_BranchDefinition.GTALLOY, "StainlessSteel", false, 0xC8C8DC, 0x778899) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STEEL), 0.10f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.STAINLESSSTEEL), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CHROME), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition);
+ }
+
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(CHROME.species, STEEL.species, 9);
+ tMutation.requireResource("blockStainlessSteel");
+ }
+ },
+ ENDERIUM(GT_BranchDefinition.GTALLOY, "Enderium", false, 0x599087, 0x2E8B57) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ENDERIUM), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CHROME), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, GT_Bees.speedBlinding);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, getEffect(EXTRABEES, "teleport"));
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(PLATINUM.species, getSpecies(FORRESTRY,"Phantasmal"), 3);
+ tMutation.requireResource("blockEnderium");
+ }
+ },
+ //thaumic
+ THAUMIUMDUST(GT_BranchDefinition.THAUMIC, "ThaumiumDust", true, 0x7A007A, 0x5C005C) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.THAUMIUMDUST), 0.20f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectExploration);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"TCFire"), getSpecies(FORRESTRY,"Edenic"), 10);
+ tMutation.requireResource("blockThaumium");
+ tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(192, "Magical Forest"));//magical forest
+ }
+ },
+ THAUMIUMSHARD(GT_BranchDefinition.THAUMIC, "ThaumiumShard", true, 0x9966FF, 0xAD85FF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.THAUMIUMDUST), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.THAUMIUMSHARD), 0.20f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectGlacial);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(THAUMIUMDUST.species, getSpecies(MAGICBEES,"TCWater"), 10);
+ tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(192, "Magical Forest"));//magical forest
+ }
+ },
+ AMBER(GT_BranchDefinition.THAUMIC, "Amber", true, 0xEE7700, 0x774B15) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.AMBER), 0.20f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(THAUMIUMDUST.species, STICKYRESIN.species, 10);
+ tMutation.requireResource("blockAmber");
+ }
+ },
+ QUICKSILVER(GT_BranchDefinition.THAUMIC, "Quicksilver", true, 0x7A007A, 0x5C005C) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.QUICKSILVER), 0.20f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectMiasmic);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(THAUMIUMDUST.species, SILVER.species, 10);
+ }
+ },
+ SALISMUNDUS(GT_BranchDefinition.THAUMIC, "SalisMundus", true, 0xF7ADDE, 0x592582) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.20f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.MEADOWS.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectMiasmic);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(COAL.species, STICKYRESIN.species, 8);
+ IBeeMutationCustom tMutation = registerMutation(THAUMIUMDUST.species, THAUMIUMSHARD.species, 8);
+ tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(192, "Magical Forest"));//magical forest
}
},
+ TAINTED(GT_BranchDefinition.THAUMIC, "Tainted", true, 0x904BB8, 0xE800FF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem(GT_Values.MOD_ID_FR, "beeCombs", 1, 3), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.TAINTED), 0.20f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock"));
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(THAUMIUMDUST.species, THAUMIUMSHARD.species, 7);
+ tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(193, "Tainted Land"));//Tainted Land
+ }
+ },
+ MITHRIL(GT_BranchDefinition.THAUMIC, "Mithril", true, 0xF0E68C, 0xFFFFD2) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.20f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MITHRIL), 0.125f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock"));
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(IO.species, PLATINUM.species, 7);
+ tMutation.requireResource(GregTech_API.sBlockMetal4, 10);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(36, "IO"));//IO Dim
+ }
+ },
+ ASTRALSILVER(GT_BranchDefinition.THAUMIC, "AstralSilver", true, 0xAFEEEE, 0xE6E6FF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SILVER), 0.20f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ASTRALSILVER), 0.125f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock"));
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(SILVER.species, IRON.species, 3);
+ tMutation.requireResource(GregTech_API.sBlockMetal1, 6);
+ }
+ },
+ THAUMINITE(GT_BranchDefinition.THAUMIC, "Thauminite", true, 0x2E2D79, 0x7581E0) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("MagicBees", "comb", 1, 19), 0.20f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.THAUMINITE), 0.125f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"TCOrder"), THAUMIUMDUST.species, 8);
+ if (Loader.isModLoaded("thaumicbases"))
+ tMutation.requireResource(GameRegistry.findBlock("thaumicbases", "thauminiteBlock"), 0);
+ }
+ },
+ SHADOWMETAL(GT_BranchDefinition.THAUMIC, "ShadowMetal", true, 0x100322, 0x100342) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("MagicBees", "comb", 1, 20), 0.20f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SHADOWMETAL), 0.125f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"TCChaos"), getSpecies(MAGICBEES,"TCVoid"), 6);
+ if (Loader.isModLoaded("TaintedMagic"))
+ tMutation.requireResource(GameRegistry.findBlock("TaintedMagic", "BlockShadowmetal"), 0);
+ }
+ },
+ DIVIDED(GT_BranchDefinition.THAUMIC, "Unstable", true, 0xF0F0F0, 0xDCDCDC) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("ExtraBees", "honeyComb", 1, 61), 0.20f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DIVIDED), 0.125f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(DIAMOND.species, IRON.species, 3);
+ if (Loader.isModLoaded("ExtraUtilities"))
+ tMutation.requireResource(GameRegistry.findBlock("ExtraUtilities", "decorativeBlock1"), 5);
+ }
+ },
+ SPARKELING(GT_BranchDefinition.THAUMIC, "NetherStar", true, 0x7A007A, 0xFFFFFF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_ModHandler.getModItem("MagicBees", "miscResources", 1, 3), 0.20f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SPARKELING), 0.125f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.NETHER);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectAggressive);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"Withering"), getSpecies(MAGICBEES, "Draconic"), 1);
+ tMutation.requireResource(GregTech_API.sBlockGem3, 3);
+ tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(9, "END Biome"));//sky end biome
+ }
+ },
+//gems
REDSTONE(GT_BranchDefinition.GEM, "Redstone", true, 0x7D0F0F, 0xD11919) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.REDSTONE), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDSTONE), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.RAREEARTH), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies("Industrious"), getSpecies("Demonic"), 20);
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Industrious"), getSpecies(FORRESTRY,"Demonic"), 10);
+ tMutation.requireResource("blockRedstone");
}
},
LAPIS(GT_BranchDefinition.GEM, "Lapis", true, 0x1947D1, 0x476CDA) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LAPIS), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LAPIS), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies("Demonic"), getSpecies("Imperial"), 20);
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Demonic"), getSpecies(FORRESTRY,"Imperial"), 10);
+ tMutation.requireResource("blockLapis");
}
},
CERTUS(GT_BranchDefinition.GEM, "CertusQuartz", true, 0x57CFFB, 0xBBEEFF) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CERTUS), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CERTUS), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies("Hermitic"), LAPIS.species, 20);
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Hermitic"), LAPIS.species, 10);
+ tMutation.requireResource("blockCertusQuartz");
}
},
- RUBY(GT_BranchDefinition.GEM, "Ruby", true, 0xE6005C, 0xCC0052) {
+ FLUIX(GT_BranchDefinition.GEM, "FluixDust", true, 0xA375FF, 0xB591FF) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.RUBY), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.FLUIX), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, DIAMOND.species, 10);
+ IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, LAPIS.species, 7);
+ tMutation.requireResource("blockFluix");
+ }
+ },
+ RUBY(GT_BranchDefinition.GEM, "Ruby", false, 0xE6005C, 0xCC0052) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.RUBY), 0.15f);
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.REDGARNET), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, DIAMOND.species, 5);
+ tMutation.requireResource("blockRuby");
}
},
SAPPHIRE(GT_BranchDefinition.GEM, "Sapphire", true, 0x0033CC, 0x00248F) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SAPPHIRE), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SAPPHIRE), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(CERTUS.species, LAPIS.species, 10);
+ IBeeMutationCustom tMutation = registerMutation(CERTUS.species, LAPIS.species, 5);
+ tMutation.requireResource(GregTech_API.sBlockGem2, 13);
}
},
- DIAMOND(GT_BranchDefinition.GEM, "Diamond", true, 0xCCFFFF, 0xA3CCCC) {
+ DIAMOND(GT_BranchDefinition.GEM, "Diamond", false, 0xCCFFFF, 0xA3CCCC) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.DIAMOND), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DIAMOND), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
- beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ beeSpecies.setHasEffect();
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(CERTUS.species, COAL.species, 6);
+ IBeeMutationCustom tMutation = registerMutation(CERTUS.species, COAL.species, 3);
+ tMutation.requireResource("blockDiamond");
}
},
OLIVINE(GT_BranchDefinition.GEM, "Olivine", true, 0x248F24, 0xCCFFCC) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.OLIVINE), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OLIVINE), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MAGNESIUM), 0.05f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(CERTUS.species, getSpecies("Ended"), 10);
+ IBeeMutationCustom tMutation = registerMutation(CERTUS.species, getSpecies(FORRESTRY,"Ended"), 5);
}
},
- EMERALD(GT_BranchDefinition.GEM, "Emerald", true, 0x248F24, 0x2EB82E) {
+ EMERALD(GT_BranchDefinition.GEM, "Emerald", false, 0x248F24, 0x2EB82E) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.EMERALD), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.EMERALD), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ALUMINIUM), 0.05f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setHasEffect();
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(OLIVINE.species, DIAMOND.species, 8);
+ IBeeMutationCustom tMutation = registerMutation(OLIVINE.species, DIAMOND.species, 4);
+ tMutation.requireResource("blockEmerald");
}
},
+ REDGARNET(GT_BranchDefinition.GEM, "RedGarnet", false, 0xBD4C4C, 0xECCECE) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDGARNET), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.PYROPE), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(DIAMOND.species, RUBY.species, 4);
+ tMutation.requireResource("blockGarnetRed");
+ }
+ },
+ YELLOWGARNET(GT_BranchDefinition.GEM, "YellowGarnet", false, 0xA3A341, 0xEDEDCE) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.YELLOWGARNET), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.GROSSULAR), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(EMERALD.species, REDGARNET.species, 3);
+ tMutation.requireResource("blockGarnetYellow");
+ }
+ },
+ FIRESTONE(GT_BranchDefinition.GEM, "Firestone", false, 0xC00000, 0xFF0000) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STONE), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.FIRESTONE), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, RUBY.species, 4);
+ tMutation.requireResource("blockFirestone");
+ }
+ },
+ //Metal Line
COPPER(GT_BranchDefinition.METAL, "Copper", true, 0xFF6600, 0xE65C00) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.COPPER), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.GOLD), 0.05f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies("Majestic"), CLAY.species, 25);
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Majestic"), CLAY.species, 13);
+ tMutation.requireResource("blockCopper");
}
},
TIN(GT_BranchDefinition.METAL, "Tin", true, 0xD4D4D4, 0xDDDDDD) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TIN), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ZINC), 0.05f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(CLAY.species, getSpecies("Diligent"), 25);
+ IBeeMutationCustom tMutation = registerMutation(CLAY.species, getSpecies(FORRESTRY,"Diligent"), 13);
+ tMutation.requireResource("blockTin");
}
},
LEAD(GT_BranchDefinition.METAL, "Lead", true, 0x666699, 0xA3A3CC) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LEAD), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SULFUR), 0.05f);
beeSpecies.setHumidity(EnumHumidity.DAMP);
beeSpecies.setTemperature(EnumTemperature.WARM);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(COAL.species, COPPER.species, 25);
+ IBeeMutationCustom tMutation = registerMutation(COAL.species, COPPER.species, 13);
+ tMutation.requireResource("blockLead");
}
},
IRON(GT_BranchDefinition.METAL, "Iron", true, 0xDA9147, 0xDE9C59) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.IRON), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.TIN), 0.05f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(TIN.species, COPPER.species, 25);
+ IBeeMutationCustom tMutation = registerMutation(TIN.species, COPPER.species, 13);
+ tMutation.requireResource("blockIron");
}
},
STEEL(GT_BranchDefinition.METAL, "Steel", true, 0x808080, 0x999999) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.STEEL), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.IRON), 0.05f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
- beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(IRON.species, COAL.species, 20);
+ IBeeMutationCustom tMutation = registerMutation(IRON.species, COAL.species, 10);
+ tMutation.requireResource("blockSteel");
+ tMutation.restrictTemperature(EnumTemperature.HOT);
+
}
},
NICKEL(GT_BranchDefinition.METAL, "Nickel", true, 0x8585AD, 0x8585AD) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NICKEL), 0.15f);
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.02f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
-
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(IRON.species, COPPER.species, 25);
+ IBeeMutationCustom tMutation = registerMutation(IRON.species, COPPER.species, 13);
+ tMutation.requireResource("blockNickel");
}
},
ZINC(GT_BranchDefinition.METAL, "Zinc", true, 0xF0DEF0, 0xF2E1F2) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ZINC), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.GALLIUM), 0.05f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.NORMAL);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(IRON.species, TIN.species, 20);
+ IBeeMutationCustom tMutation = registerMutation(IRON.species, TIN.species, 13);
+ tMutation.requireResource("blockZinc");
}
},
SILVER(GT_BranchDefinition.METAL, "Silver", true, 0xC2C2D6, 0xCECEDE) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SILVER), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SULFUR), 0.05f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
- beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(LEAD.species, TIN.species, 20);
+ IBeeMutationCustom tMutation = registerMutation(LEAD.species, TIN.species, 10);
+ tMutation.requireResource("blockSilver");
}
},
GOLD(GT_BranchDefinition.METAL, "Gold", true, 0xEBC633, 0xEDCC47) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.GOLD), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.NICKEL), 0.05f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
- beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(LEAD.species, COPPER.species, 13);
+ tMutation.requireResource("blockGold");
+ tMutation.restrictTemperature(EnumTemperature.HOT);
+ }
+ },
+ ARSENIC(GT_BranchDefinition.METAL, "Arsenic", true, 0x736C52, 0x292412) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ARSENIC), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(LEAD.species, COPPER.species, 20);
+ IBeeMutationCustom tMutation = registerMutation(ZINC.species, SILVER.species, 10);
+ tMutation.requireResource("blockArsenic");
}
},
+ //Rare Metals
ALUMINIUM(GT_BranchDefinition.RAREMETAL, "Aluminium", true, 0xB8B8FF, 0xD6D6FF) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.ALUMINIUM), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.BAUXITE), 0.05f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(NICKEL.species, ZINC.species, 18);
+ IBeeMutationCustom tMutation = registerMutation(NICKEL.species, ZINC.species, 9);
+ tMutation.requireResource("blockAluminium");
}
},
TITANIUM(GT_BranchDefinition.RAREMETAL, "Titanium", true, 0xCC99FF, 0xDBB8FF) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TITANIUM), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ALMANDINE), 0.05f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, ALUMINIUM.species, 5);
+ tMutation.requireResource(GregTech_API.sBlockMetal7, 9);
}
},
CHROME(GT_BranchDefinition.RAREMETAL, "Chrome", true, 0xEBA1EB, 0xF2C3F2) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CHROME), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MAGNESIUM), 0.05f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
@@ -524,16 +1514,17 @@ public enum GT_BeeDefinition implements IBeeDefinition {
},
MANGANESE(GT_BranchDefinition.RAREMETAL, "Manganese", true, 0xD5D5D5, 0xAAAAAA) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MANGANESE), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.IRON), 0.05f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
@@ -542,38 +1533,40 @@ public enum GT_BeeDefinition implements IBeeDefinition {
tMutation.requireResource(GregTech_API.sBlockMetal4, 6);
}
},
- TUNGSTEN(GT_BranchDefinition.RAREMETAL, "Tungsten", true, 0x5C5C8A, 0x7D7DA1) {
+ TUNGSTEN(GT_BranchDefinition.RAREMETAL, "Tungsten", false, 0x5C5C8A, 0x7D7DA1) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TUNGSTEN), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MOLYBDENUM), 0.05f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies("Heroic"), MANGANESE.species, 5);
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Heroic"), MANGANESE.species, 5);
tMutation.requireResource(GregTech_API.sBlockMetal7, 11);
}
},
- PLATINUM(GT_BranchDefinition.RAREMETAL, "Platinum", true, 0xE6E6E6, 0xFFFFCC) {
+ PLATINUM(GT_BranchDefinition.RAREMETAL, "Platinum", false, 0xE6E6E6, 0xFFFFCC) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.IRIDIUM), 0.02f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HOT);
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
@@ -582,52 +1575,142 @@ public enum GT_BeeDefinition implements IBeeDefinition {
tMutation.requireResource(GregTech_API.sBlockMetal5, 12);
}
},
- IRIDIUM(GT_BranchDefinition.RAREMETAL, "Iridium", true, 0xDADADA, 0xD1D1E0) {
+ IRIDIUM(GT_BranchDefinition.RAREMETAL, "Iridium", false, 0xDADADA, 0xD1D1E0) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TUNGSTEN), 0.15f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLATINUM), 0.15f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.IRIDIUM), 0.15f);
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.IRIDIUM), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OSMIUM), 0.05f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ beeSpecies.setHasEffect();
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.COMMON.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(TUNGSTEN.species, PLATINUM.species, 5);
- tMutation.requireResource(GregTech_API.sBlockMetal3, 12);
+ IBeeMutationCustom tMutation = registerMutation(TUNGSTEN.species, PLATINUM.species, 5);
+ tMutation.requireResource(GregTech_API.sBlockMetal3, 12);
}
},
+ OSMIUM(GT_BranchDefinition.RAREMETAL, "Osmium", false, 0x2B2BDA, 0x8B8B8B) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.OSMIUM), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.IRIDIUM), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(TUNGSTEN.species, PLATINUM.species, 5);
+ tMutation.requireResource(GregTech_API.sBlockMetal5, 9);
+ }
+ },
+ LITHIUM(GT_BranchDefinition.RAREMETAL, "Lithium", false, 0xF0328C, 0xE1DCFF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LITHIUM), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SALT), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(SALTY.species, ALUMINIUM.species, 5);
+ tMutation.requireResource("blockLithium");
+ }
+ },
+ SALTY(GT_BranchDefinition.RAREMETAL, "Salt", true, 0xF0C8C8, 0xFAFAFA) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LITHIUM), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SALT), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.WARM);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(CLAY.species, ALUMINIUM.species, 5);
+ tMutation.requireResource("blockSalt");
+ }
+ },
+ ELECTROTINE(GT_BranchDefinition.RAREMETAL, "Electrotine", false, 0x1E90FF, 0x3CB4C8) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ELECTROTINE), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.REDSTONE), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(REDSTONE.species, GOLD.species, 5);
+ tMutation.requireResource("blockElectrotine");
+ }
+ },
+ //radiactive
URANIUM(GT_BranchDefinition.RADIOACTIVE, "Uranium", true, 0x19AF19, 0x169E16) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.URANIUM), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.URANIUM), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setNocturnal();
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.AVENGING.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(getSpecies("Avenging"), PLATINUM.species, 5);
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Avenging"), PLATINUM.species, 2);
tMutation.requireResource(GregTech_API.sBlockMetal7, 14);
}
},
- PLUTONIUM(GT_BranchDefinition.RADIOACTIVE, "Plutonium", true, 0x335C33, 0x6B8F00) {
+ PLUTONIUM(GT_BranchDefinition.RADIOACTIVE, "Plutonium", true, 0x570000, 0x240000) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLUTONIUM), 0.15f);
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LEAD), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.PLUTONIUM), 0.15f);
beeSpecies.setHumidity(EnumHumidity.NORMAL);
beeSpecies.setTemperature(EnumTemperature.ICY);
beeSpecies.setNocturnal();
@@ -635,54 +1718,1425 @@ public enum GT_BeeDefinition implements IBeeDefinition {
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.AVENGING.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(URANIUM.species, EMERALD.species, 5);
+ IBeeMutationCustom tMutation = registerMutation(URANIUM.species, EMERALD.species, 2);
tMutation.requireResource(GregTech_API.sBlockMetal5, 13);
}
},
- NAQUADAH(GT_BranchDefinition.RADIOACTIVE, "Naquadah", true, 0x003300, 0x002400) {
+
+ NAQUADAH(GT_BranchDefinition.RADIOACTIVE, "Naquadah", false, 0x003300, 0x002400) {
@Override
- protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) {
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
- beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NAQUADAH), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.NAQUADAH), 0.15f);
beeSpecies.setHumidity(EnumHumidity.ARID);
beeSpecies.setTemperature(EnumTemperature.ICY);
beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
}
@Override
protected void setAlleles(IAllele[] template) {
- template = BeeDefinition.AVENGING.getTemplate();
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
}
@Override
protected void registerMutations() {
- IBeeMutationCustom tMutation = registerMutation(PLUTONIUM.species, IRIDIUM.species, 3);
+ IBeeMutationCustom tMutation = registerMutation(PLUTONIUM.species, IRIDIUM.species, 1);
tMutation.requireResource(GregTech_API.sBlockMetal4, 12);
}
- };
+ },
+
+ NAQUADRIA(GT_BranchDefinition.RADIOACTIVE, "Naquadria", false, 0x000000, 0x002400) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SLAG), 0.30f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.NAQUADAH), 0.20f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.NAQUADRIA), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(PLUTONIUM.species, IRIDIUM.species, 8,10);
+ tMutation.requireResource(GregTech_API.sBlockMetal4, 15);
+ }
+ },
+ DOB(GT_BranchDefinition.RADIOACTIVE, "DOB", false, 0x003300, 0x002400) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.DOB), 0.75f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ beeSpecies.setIsSecret();
+ }
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(NAQUADAH.species, THAUMIUMSHARD.species, 1);
+ if (Loader.isModLoaded("AdvancedSolarPanel"))
+ tMutation.requireResource(GameRegistry.findBlock("AdvancedSolarPanel", "BlockAdvSolarPanel"), 2);
+ tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(9, "END Biome"));//sky end biome
+ }
+ },
+ THORIUM(GT_BranchDefinition.RADIOACTIVE, "Thorium", false, 0x005000, 0x001E00) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.THORIUM), 0.75f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setNocturnal();
+ beeSpecies.setIsSecret();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(COAL.species, URANIUM.species, 2);
+ tMutation.requireResource(GregTech_API.sBlockMetal7, 5);
+ }
+ },
+ LUTETIUM(GT_BranchDefinition.RADIOACTIVE, "Lutetium", false, 0xE6FFE6, 0xFFFFFF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.LUTETIUM), 0.15f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ beeSpecies.setIsSecret();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(THORIUM.species, getSpecies(EXTRABEES,"rotten"), 1);
+ tMutation.requireResource(GregTech_API.sBlockMetal4, 3);
+ }
+ },
+ AMERICIUM(GT_BranchDefinition.RADIOACTIVE, "Americium", false, 0xE6E6FF, 0xC8C8C8) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.AMERICUM), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ beeSpecies.setIsSecret();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(LUTETIUM.species, CHROME.species, 3, 4);
+ tMutation.requireResource(GregTech_API.sBlockMetal1, 2);
+ }
+ },
+ NEUTRONIUM(GT_BranchDefinition.RADIOACTIVE, "Neutronium", false, 0xFFF0F0, 0xFAFAFA) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NEUTRONIUM), 0.0001f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ beeSpecies.setHasEffect();
+ beeSpecies.setIsSecret();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(NAQUADRIA.species, AMERICIUM.species, 1,2);
+ tMutation.requireResource(GregTech_API.sBlockMetal5, 2);
+ }
+ },
+ //Twilight
+ NAGA(GT_BranchDefinition.TWILIGHT, "Naga", true, 0x0D5A0D, 0x28874B) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.02f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.NAGA), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"Eldritch"), getSpecies(FORRESTRY,"Imperial"), 8);
+ tMutation.restrictHumidity(EnumHumidity.DAMP);
+ }
+ },
+ LICH(GT_BranchDefinition.TWILIGHT, "Lich", true, 0xC5C5C5, 0x5C605E) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.04f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LICH), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(MAGICBEES,"Supernatural"), NAGA.species, 7);
+ tMutation.restrictHumidity(EnumHumidity.ARID);
+ }
+ },
+ HYDRA(GT_BranchDefinition.TWILIGHT, "Hydra", true, 0x872836, 0xB8132C) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.06f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.HYDRA), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(LICH.species, getSpecies(MAGICBEES,"TCFire"), 6);
+ tMutation.addMutationCondition(new GT_Bees.BiomeIDMutationCondition(138, "Undergarden"));//undergarden biome
+ }
+ },
+ URGHAST(GT_BranchDefinition.TWILIGHT, "UrGhast", true, 0xA7041C, 0x7C0618) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.08f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.URGHAST), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ beeSpecies.setHasEffect();
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(HYDRA.species, THAUMIUMDUST.species, 5);
+ if (Loader.isModLoaded("Thaumcraft"))
+ tMutation.requireResource(GameRegistry.findBlock("Thaumcraft", "blockCosmeticSolid"), 4);
+ tMutation.restrictTemperature(EnumTemperature.HELLISH);
+ }
+ },
+ SNOWQUEEN(GT_BranchDefinition.TWILIGHT, "SnowQueen", true, 0xD02001, 0x9C0018) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SALISMUNDUS), 0.15f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.SNOWQUEEN), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setHasEffect();
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(URGHAST.species, SALISMUNDUS.species, 4);
+ if (Loader.isModLoaded("thaumicbases"))
+ tMutation.requireResource(GameRegistry.findBlock("thaumicbases", "blockSalisMundus"), 0);
+ tMutation.restrictTemperature(EnumTemperature.ICY);
+ }
+ },
+ SPACE(GT_BranchDefinition.SPACE, "Space", true, 0x003366, 0xC0C0C0) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.02f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(getSpecies(FORRESTRY,"Industrious"), getSpecies(FORRESTRY,"Heroic"), 10);
+ tMutation.restrictTemperature(EnumTemperature.ICY);
+ }
+ },
+ METEORICIRON(GT_BranchDefinition.SPACE, "MeteoricIron", true, 0x321928, 0x643250) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.04f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.METEORICIRON), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(SPACE.species, IRON.species, 9);
+ tMutation.requireResource(GregTech_API.sBlockMetal4, 7);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(28, "Moon"));//Moon Dim
+ }
+ },
+ DESH(GT_BranchDefinition.SPACE, "Desh", false, 0x323232, 0x282828) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.06f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.DESH), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectIgnition);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(MARS.species, TITANIUM.species, 9);
+ tMutation.requireResource(GregTech_API.sBlockMetal2, 12);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(29, "Mars"));//Mars Dim
+ }
+ },
+ LEDOX(GT_BranchDefinition.SPACE, "Ledox", false, 0x0000CD, 0x0074FF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.10f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.LEDOX), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, getEffect(EXTRABEES, "freezing"));
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(CALLISTO.species, LEAD.species, 7);
+ if (Loader.isModLoaded("dreamcraft"))
+ tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.Ledox"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(35, "Europa"));//Europa Dim
+ }
+ },
+ CALLISTOICE(GT_BranchDefinition.SPACE, "CallistoIce", false, 0x0074FF, 0x1EB1FF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.10f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.CALLISTOICE), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, getEffect(EXTRABEES, "freezing"));
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(CALLISTO.species, getSpecies(EXTRABEES,"freezing"), 7);
+ if (Loader.isModLoaded("dreamcraft"))
+ tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.CallistoColdIce"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(45, "Callisto"));//Callisto Dim
+ }
+ },
+ MYTRYL(GT_BranchDefinition.SPACE, "Mytryl", false, 0xDAA520, 0xF26404) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.16f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MYTRYL), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(IO.species, MITHRIL.species, 6);
+ if (Loader.isModLoaded("dreamcraft"))
+ tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.Mytryl"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(36, "IO"));//IO Dim
+ }
+ },
+ QUANTIUM(GT_BranchDefinition.SPACE, "Quantium", false, 0x00FF00, 0x00D10B) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.16f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.QUANTIUM), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(VENUS.species, OSMIUM.species, 6);
+ if (Loader.isModLoaded("dreamcraft"))
+ tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.Quantinum"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(39, "Venus"));//Venus Dim
+ }
+ },
+ ORIHARUKON(GT_BranchDefinition.SPACE, "Oriharukon", false, 0x228B22, 0x677D68) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.26f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.ORIHARUKON), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(LEAD.species, OBERON.species, 5);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "metalsblock"), 6);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(46, "Oberon"));//Oberon Dim
+ }
+ },
+ MYSTERIOUSCRYSTAL(GT_BranchDefinition.SPACE, "MysteriousCrystal", false, 0x3CB371, 0x16856C) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.42f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.MYSTERIOUSCRYSTAL), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(ENCELADUS.species, EMERALD.species, 3);
+ if (Loader.isModLoaded("dreamcraft"))
+ tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.MysteriousCrystal"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(41, "Enceladus"));//Enceladus Dim
+ }
+ },
+ BLACKPLUTONIUM(GT_BranchDefinition.SPACE, "BlackPlutonium", false, 0x000000, 0x323232) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SPACE), 0.68f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.BLACKPLUTONIUM), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(PLUTO.species, PLUTONIUM.species, 2);
+ if (Loader.isModLoaded("dreamcraft"))
+ tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.BlackPlutonium"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(49, "Pluto"));//Pluto Dim
+ }
+ },
+ TRINIUM(GT_BranchDefinition.SPACE, "Trinium", false, 0xB0E0E6, 0xC8C8D2) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TRINIUM), 0.75f);
+ beeSpecies.addSpecialty(GT_Bees.combs.getStackForType(CombType.QUANTIUM), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, GT_Bees.speedBlinding);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(ENCELADUS.species, IRIDIUM.species, 4);
+ tMutation.requireResource(GregTech_API.sBlockMetal4, 9);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(41, "Enceladus"));//Enceladus Dim
+ }
+ },
+ //Planet Line
+ MERCURY(GT_BranchDefinition.PLANET, "Mercury", false, 0x4A4033, 0xB5A288) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MERCURY), 0.50f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(JUPITER.species, TUNGSTEN.species, 25, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "mercuryblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(37, "Mercury"));//Mercury Dim
+ }
+ },
+ VENUS(GT_BranchDefinition.PLANET, "Venus", false, 0x4A4033, 0xB5A288) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.VENUS), 0.50f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(JUPITER.species, MITHRIL.species, 25, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "venusblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(39, "Venus"));//Venus Dim
+ }
+ },
+ MOON(GT_BranchDefinition.PLANET, "Moon", false, 0x373735, 0x7E7E78) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MOON), 0.50f);
+ if (Loader.isModLoaded("dreamcraft"))
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.MoonStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(SPACE.species, CLAY.species, 25);
+ if (Loader.isModLoaded("GalacticraftCore"))
+ tMutation.requireResource(GameRegistry.findBlock("GalacticraftCore", "tile.moonBlock"), 4);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(28, "Moon"));//Moon Dim
+ }
+ },
+ MARS(GT_BranchDefinition.PLANET, "Mars", false, 0x220D05, 0x3A1505) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MARS), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.MarsStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(MOON.species, IRON.species, 20);
+ if (Loader.isModLoaded("GalacticraftMars"))
+ tMutation.requireResource(GameRegistry.findBlock("GalacticraftMars", "tile.mars"), 5);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(29, "Mars"));//Mars Dim
+ }
+ },
+ PHOBOS(GT_BranchDefinition.PLANET, "Phobos", true, 0x220D05, 0x7a5706) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MARS), 0.25f);
+ if (Loader.isModLoaded("dreamcraft"))
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.PhobosStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(MARS.species, MOON.species, 20);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "phobosblocks"), 2);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(38, "Phobos"));//Phobos Dim
+ }
+ },
+ DEIMOS(GT_BranchDefinition.PLANET, "Deimos", true, 0x220D05, 0x7a3206) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MARS), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.DeimosStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(MARS.species, SPACE.species, 20);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "deimosblocks"), 1);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(40, "Deimos"));//Deimos Dim
+ }
+ },
+ CERES(GT_BranchDefinition.PLANET, "Ceres", true, 0x3ca5b7, 0x1e7267) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CeresStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(MARS.species, METEORICIRON.species, 20);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "ceresblocks"), 1);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(42, "Ceres"));//Ceres Dim
+ }
+ },
+ JUPITER(GT_BranchDefinition.PLANET, "Jupiter", false, 0x734B2E, 0xD0CBC4) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CallistoStoneDust", 1, 0), 0.05f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CallistoIceDust", 1, 0), 0.05f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.IoStoneDust", 1, 0), 0.05f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EuropaStoneDust", 1, 0), 0.05f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EuropaIceDust", 1, 0), 0.05f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.GanymedStoneDust", 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(MARS.species, DESH.species, 15);
+ if (Loader.isModLoaded("dreamcraft"))
+ tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.Ledox"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(30, "Asteriods"));//Asteriods Dim
+ }
+ },
+ IO(GT_BranchDefinition.PLANET, "IO", true, 0x734B2E, 0xe5701b) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.IoStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(JUPITER.species, getSpecies(EXTRABEES, "volcanic"), 15);
+ tMutation.restrictTemperature(EnumTemperature.HELLISH);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "ioblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(36, "IO"));//IO Dim
+ }
+ },
+ EUROPA(GT_BranchDefinition.PLANET, "Europa", true, 0x5982ea, 0x0b36a3) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EuropaStoneDust", 1, 0), 0.10f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EuropaIceDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(JUPITER.species, IRON.species, 15);
+ tMutation.restrictTemperature(EnumTemperature.ICY);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "europagrunt"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(35, "Europa"));//Europa Dim
+ }
+ },
+ GANYMEDE(GT_BranchDefinition.PLANET, "Ganymede", true, 0x3d1b10, 0x190c07) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.GanymedStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(JUPITER.species, TITANIUM.species, 15);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "ganymedeblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(43, "Ganymede"));//Ganymede Dim
+ }
+ },
+ CALLISTO(GT_BranchDefinition.PLANET, "Callisto", true, 0x0f333d, 0x0d84a5) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.JUPITER), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CallistoStoneDust", 1, 0), 0.10f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CallistoIceDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(JUPITER.species, getSpecies(EXTRABEES, "artic"), 15);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "callistoblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(45, "Callisto"));//Callisto Dim
+ }
+ },
+ SATURN(GT_BranchDefinition.PLANET, "Saturn", false, 0xD2A472, 0xF8C37B) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SATURN), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TitanStoneDust", 1, 0), 0.05f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EnceladusStoneDust", 1, 0), 0.05f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EnceladusIceDust", 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(JUPITER.species, LEDOX.species, 25, 2);
+ if (Loader.isModLoaded("dreamcraft"))
+ tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.Quantinum"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(30, "Asteriods"));//Asteriods Dim
+ }
+ },
+ ENCELADUS(GT_BranchDefinition.PLANET, "Enceladus", true, 0xD2A472, 0x193fa0) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SATURN), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EnceladusStoneDust", 1, 0), 0.10f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.EnceladusIceDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(SATURN.species, CHROME.species, 25, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "enceladusblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(41, "Enceladus"));//Enceladus Dim
+ }
+ },
+ TITAN(GT_BranchDefinition.PLANET, "Titan", true, 0xa0641b, 0x7c1024) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.SATURN), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TitanStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(SATURN.species, NICKEL.species, 25, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "titanblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(44, "Titan"));//Titan Dim
+ }
+ },
+ URANUS(GT_BranchDefinition.PLANET, "Uranus", false, 0x75C0C9, 0x84D8EC) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.URANUS), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.MirandaStoneDust", 1, 0), 0.05f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.OberonStoneDust", 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(SATURN.species, TRINIUM.species, 10);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "metalsblock"), 6);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(30, "Asteroids"));//Asteroids Dim
+ }
+ },
+ MIRANDA(GT_BranchDefinition.PLANET, "Miranda", true, 0x75C0C9, 0x0d211c) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.URANUS), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.MirandaStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(URANUS.species, TIN.species, 10);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "mirandablocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(86, "Miranda"));//Miranda Dim
+ }
+ },
+ OBERON(GT_BranchDefinition.PLANET, "Oberon", true, 0x4A4033, 0xB5A288) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.URANUS), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.OberonStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(URANUS.species, IRIDIUM.species, 10);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "oberonblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(46, "Oberon"));//Oberon Dim
+ }
+ },
+ NEPTUNE(GT_BranchDefinition.PLANET, "Neptune", false, 0x334CFF, 0x576DFF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NEPTUN), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.ProteusStoneDust", 1, 0), 0.05f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TritonStoneDust", 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(URANUS.species, ORIHARUKON.species, 7);
+ if (Loader.isModLoaded("dreamcraft"))
+ tMutation.requireResource(GameRegistry.findBlock("dreamcraft", "tile.MysteriousCrystal"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(30, "Asteroids"));//Asteroids Dim
+ }
+ },
+ PROTEUS(GT_BranchDefinition.PLANET, "Proteus", true, 0x334CFF, 0x592610) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NEPTUN), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.ProteusStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(NEPTUNE.species, COPPER.species, 7);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "proteusblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(47, "Proteus"));//Proteus Dim
+ }
+ },
+ TRITON(GT_BranchDefinition.PLANET, "Triton", true, 0x334CFF, 0x421118) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.NEPTUN), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TritonStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setNocturnal();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(NEPTUNE.species, GOLD.species, 7);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "tritonblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(48, "Triton"));//Triton Dim
+ }
+ },
+ PLUTO(GT_BranchDefinition.PLANET, "Pluto", false, 0x34271E, 0x69503D) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.PLUTO), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.PlutoStoneDust", 1, 0), 0.10f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.PlutoIceDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(NEPTUNE.species, PLUTONIUM.species, 5);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "plutoblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(49, "Pluto"));//Pluto Dim
+ }
+ },
+ HAUMEA(GT_BranchDefinition.PLANET, "Haumea", false, 0x1C1413, 0x392B28) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.HAUMEA), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.HaumeaStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(PLUTO.species, NAQUADAH.species, 7, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "haumeablocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(83, "Haumea"));//Haumea Dim
+ }
+ },
+ MAKEMAKE(GT_BranchDefinition.PLANET, "MakeMake", false, 0x301811, 0x120A07) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.MAKEMAKE), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.MakeMakeStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(PLUTO.species, NAQUADRIA.species, 7, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "makemakegrunt"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(25, "MakeMake"));//MakeMake Dim
+ }
+ },
+ CENTAURI(GT_BranchDefinition.PLANET, "Centauri", false, 0x2F2A14, 0xB06B32) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CENTAURI), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CentauriASurfaceDust", 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(MAKEMAKE.species, DESH.species, 3);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "acentauribbgrunt"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(33, "Kuiper Belt"));//Kuiper Belt Dim
+ }
+ },
+ ACENTAURI(GT_BranchDefinition.PLANET, "aCentauri", false, 0x2F2A14, 0xa01e14) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.CENTAURI), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.CentauriASurfaceDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(CENTAURI.species, INFINITYCATALYST.species, 3);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "acentauribbgrunt"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(31, "aCentauri"));//aCentauri Dim
+ }
+ },
+ TCETI(GT_BranchDefinition.PLANET, "tCeti", false, 0x46241A, 0x7B412F) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TCETI), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TCetiEStoneDust", 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(MAKEMAKE.species, HAUMEA.species, 5, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "tcetieblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(33, "Kuiper Belt"));//Kuiper Belt Dim
+ }
+ },
+ TCETIE(GT_BranchDefinition.PLANET, "tCetiE", false, 0x2d561b, 0x0c0f60) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.TCETI), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.TCetiEStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.NORMAL);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(TCETI.species, getSpecies(MAGICBEES, "TCWater"), 5, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "tcetieblocks"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(85, "tCeti E"));//tCeti E Dim
+ }
+ },
+ BARNARDA(GT_BranchDefinition.PLANET, "Barnarda", false, 0x0D5A0D, 0xE6C18D) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.BARNARDA), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.BarnardaEStoneDust", 1, 0), 0.05f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.BarnardaFStoneDust", 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(MAKEMAKE.species, THORIUM.species, 3, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "barnardaEgrunt"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(33, "Kuiper Belt"));//Kuiper Belt Dim
+ }
+ },
+ BARNARDAC(GT_BranchDefinition.PLANET, "BarnardaC", false, 0x0D5A0D, 0x473f0a) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.BARNARDA), 0.25f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(BARNARDA.species, AMERICIUM.species, 3, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "barnardaEgrunt"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(32, "Barnarda C"));//Barnarda C Dim
+ }
+ },
+ BARNARDAE(GT_BranchDefinition.PLANET, "BarnardaE", false, 0x0D5A0D, 0x4c1f0a) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.BARNARDA), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.BarnardaEStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(BARNARDA.species, DIVIDED.species, 3, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "barnardaEgrunt"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(81, "Barnard E"));//"Barnard E Dim
+ }
+ },
+ BARNARDAF(GT_BranchDefinition.PLANET, "BarnardaF", false, 0x0D5A0D, 0x1e0b49) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.BARNARDA), 0.25f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.BarnardaFStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.HOT);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(BARNARDA.species, NEUTRONIUM.species, 3, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "barnardaFgrunt"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(82, "Barnard F"));//"Barnard F Dim
+ }
+ },
+ VEGA(GT_BranchDefinition.PLANET, "Vega", false, 0x1A2036, 0xB5C0DE) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.VEGA), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.VegaBStoneDust", 1, 0), 0.05f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(MAKEMAKE.species, NAQUADAH.species, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "vegabgrunt"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(33, "Kuiper Belt"));//Kuiper Belt Dim
+ }
+ },
+ VEGAB(GT_BranchDefinition.PLANET, "VegaB", false, 0x1A2036, 0x81e261) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.VEGA), 0.50f);
+ beeSpecies.addSpecialty(GT_ModHandler.getModItem("dreamcraft", "item.VegaBStoneDust", 1, 0), 0.10f);
+ beeSpecies.setHumidity(EnumHumidity.ARID);
+ beeSpecies.setTemperature(EnumTemperature.COLD);
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(VEGA.species, NAQUADRIA.species, 2);
+ if (Loader.isModLoaded("GalaxySpace"))
+ tMutation.requireResource(GameRegistry.findBlock("GalaxySpace", "vegabgrunt"), 0);
+ tMutation.addMutationCondition(new GT_Bees.DimensionMutationCondition(84, "VegaB"));//VegaB Dim
+ }
+ },
+ //Infinity Line
+ COSMICNEUTRONIUM(GT_BranchDefinition.PLANET, "CosmicNeutronium", false, 0x484848, 0x323232) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.COSMICNEUTRONIUM), 0.25f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(NEUTRONIUM.species, BARNARDAF.species, 7,10);
+ if (Loader.isModLoaded("Avaritia"))
+ tMutation.requireResource(GameRegistry.findBlock("Avaritia", "Resource_Block"), 0);
+ }
+ },
+ INFINITYCATALYST(GT_BranchDefinition.PLANET, "InfinityCatalyst", false, 0xFFFFFF, 0xFFFFFF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.INFINITYCATALYST), 0.0000005f);
+ beeSpecies.setHumidity(EnumHumidity.DAMP);
+ beeSpecies.setTemperature(EnumTemperature.HELLISH);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(DOB.species, COSMICNEUTRONIUM.species, 3, 10);
+ if (Loader.isModLoaded("Avaritia"))
+ tMutation.requireResource(GameRegistry.findBlock("Avaritia", "Resource_Block"), 1);
+ }
+ },
+ INFINITY(GT_BranchDefinition.PLANET, "Infinity", false, 0xFFFFFF, 0xFFFFFF) {
+ @Override
+ protected void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies) {
+ beeSpecies.addProduct(GT_Bees.combs.getStackForType(CombType.INFINITY), 0.00000005f);
+ beeSpecies.setHumidity(EnumHumidity.NORMAL);
+ beeSpecies.setTemperature(EnumTemperature.ICY);
+ beeSpecies.setNocturnal();
+ beeSpecies.setHasEffect();
+ }
+
+ @Override
+ protected void setAlleles(IAllele[] template) {
+ AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ }
+
+ @Override
+ protected void registerMutations() {
+ IBeeMutationCustom tMutation = registerMutation(INFINITYCATALYST.species, COSMICNEUTRONIUM.species, 1, 100);
+ if (Loader.isModLoaded("avaritiaddons"))
+ tMutation.requireResource(GameRegistry.findBlock("avaritiaddons", "InfinityChest"), 0);
+ }
+ };
private final GT_BranchDefinition branch;
- private final IAlleleBeeSpeciesCustom species;
+ private final GT_AlleleBeeSpecies species;
+ protected final static byte FORRESTRY = 0;
+ protected final static byte EXTRABEES = 1;
+ protected final static byte GENDUSTRY = 2;
+ protected final static byte MAGICBEES = 3;
+ protected final static byte GREGTECH = 4;
+
private IAllele[] template;
private IBeeGenome genome;
GT_BeeDefinition(GT_BranchDefinition branch, String binomial, boolean dominant, int primary, int secondary) {
String lowercaseName = this.toString().toLowerCase(Locale.ENGLISH);
- String species = "species" + WordUtils.capitalize(lowercaseName);
+ String species = WordUtils.capitalize(lowercaseName);
- String uid = "forestry." + species;
+ String uid = "gregtech.bee.species" + species;
String description = "for.description." + species;
String name = "for.bees.species." + lowercaseName;
+
this.branch = branch;
- this.species = BeeManager.beeFactory.createSpecies(uid, dominant, "GREGTECH", name, description, branch.getBranch(), binomial, primary, secondary);
+ this.species = new GT_AlleleBeeSpecies(uid, dominant, name, "GTNH", description, branch.getBranch(), binomial, primary, secondary);
}
public static void initBees() {
@@ -694,11 +3148,52 @@ public enum GT_BeeDefinition implements IBeeDefinition {
}
}
- private static IAlleleBeeSpecies getSpecies(String name) {
- return (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele((new StringBuilder()).append("forestry.species").append(name).toString());
+ protected static IAlleleBeeEffect getEffect(byte modid, String name) {
+ String s;
+ switch(modid) {
+ case EXTRABEES: s = new StringBuilder().append("extrabees.effect.").append(name).toString();break;
+ case GENDUSTRY: s = new StringBuilder().append("gendustry.effect.").append(name).toString();break;
+ case MAGICBEES: s = new StringBuilder().append("magicbees.effect").append(name).toString();break;
+ case GREGTECH: s = new StringBuilder().append("gregtech.effect").append(name).toString();break;
+ default: s = new StringBuilder().append("forestry.effect").append(name).toString();break;
+
+ }
+ return (IAlleleBeeEffect) AlleleManager.alleleRegistry.getAllele(s);
}
- protected abstract void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies);
+ protected static IAlleleFlowers getFlowers(byte modid, String name) {
+ String s;
+ switch(modid) {
+ case EXTRABEES: s = new StringBuilder().append("extrabees.flower.").append(name).toString();break;
+ case GENDUSTRY: s = new StringBuilder().append("gendustry.flower.").append(name).toString();break;
+ case MAGICBEES: s = new StringBuilder().append("magicbees.flower").append(name).toString();break;
+ case GREGTECH: s = new StringBuilder().append("gregtech.flower").append(name).toString();break;
+ default: s = new StringBuilder().append("forestry.flowers").append(name).toString();break;
+
+ }
+ return (IAlleleFlowers) AlleleManager.alleleRegistry.getAllele(s);
+ }
+
+ protected static IAlleleBeeSpecies getSpecies(byte modid, String name) {
+ String s;
+ switch(modid) {
+ case EXTRABEES: s = new StringBuilder().append("extrabees.species.").append(name).toString();break;
+ case GENDUSTRY: s = new StringBuilder().append("gendustry.bee.").append(name).toString();break;
+ case MAGICBEES: s = new StringBuilder().append("magicbees.species").append(name).toString();break;
+ case GREGTECH: s = new StringBuilder().append("gregtech.species").append(name).toString();break;
+ default: s = new StringBuilder().append("forestry.species").append(name).toString();break;
+
+ }
+ IAlleleBeeSpecies ret = (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele(s);
+ if (ret == null){
+ ret = NAQUADRIA.species;
+ }
+
+ return ret;
+ }
+
+
+ protected abstract void setSpeciesProperties(GT_AlleleBeeSpecies beeSpecies);
protected abstract void setAlleles(IAllele[] template);
@@ -717,7 +3212,20 @@ public enum GT_BeeDefinition implements IBeeDefinition {
}
protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance) {
- return BeeManager.beeMutationFactory.createMutation(parent1, parent2, getTemplate(), chance);
+ return new GT_Bee_Mutation(parent1,parent2,this.getTemplate(),chance,1);
+ }
+
+ /**
+ * Diese neue Funtion erlaubt Mutationsraten unter 1%. Setze dazu die Mutationsrate als Bruch mit chance / chancedivider
+ * This new function allows Mutation percentages under 1%. Set them as a fraction with chance / chancedivider
+ * @param parent1
+ * @param parent2
+ * @param chance
+ * @param chancedivider
+ * @return
+ */
+ protected final IBeeMutationCustom registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance, int chancedivider) {
+ return new GT_Bee_Mutation(parent1,parent2,this.getTemplate(),chance,chancedivider);
}
@Override
diff --git a/src/main/java/gregtech/loaders/misc/GT_Bees.java b/src/main/java/gregtech/loaders/misc/GT_Bees.java
index 227e948fda..5bfdfca8e2 100644
--- a/src/main/java/gregtech/loaders/misc/GT_Bees.java
+++ b/src/main/java/gregtech/loaders/misc/GT_Bees.java
@@ -1,18 +1,173 @@
package gregtech.loaders.misc;
import cpw.mods.fml.common.Loader;
+import forestry.api.apiculture.EnumBeeChromosome;
+import forestry.api.genetics.*;
+import forestry.core.genetics.alleles.Allele;
+import forestry.core.utils.StringUtil;
import gregtech.GT_Mod;
+import gregtech.common.bees.GT_AlleleHelper;
import gregtech.common.items.ItemComb;
+import gregtech.common.items.ItemDrop;
+import gregtech.common.items.ItemPollen;
+import gregtech.common.items.ItemPropolis;
+import gregtech.loaders.misc.GT_BeeDefinition;
+import net.minecraft.world.World;
+import net.minecraft.world.biome.BiomeGenBase;
public class GT_Bees {
+ public static IAlleleInteger noFertility;
+ public static IAlleleInteger superFertility;
+
+ public static IAlleleInteger noFlowering;
+ public static IAlleleInteger superFlowering;
+
+ public static IAlleleArea noTerritory;
+ public static IAlleleArea superTerritory;
+
+ public static IAlleleFloat noWork;
+ public static IAlleleFloat speedBlinding;
+ public static IAlleleFloat superSpeed;
+
+ public static IAlleleInteger blinkLife;
+ public static IAlleleInteger superLife;
+
+ public static ItemPropolis propolis;
+ public static ItemPollen pollen;
+ public static ItemDrop drop;
public static ItemComb combs;
public GT_Bees() {
if (Loader.isModLoaded("Forestry") && GT_Mod.gregtechproxy.mGTBees) {
+ GT_AlleleHelper.initialisation();
+ setupGTAlleles();
+ propolis = new ItemPropolis();
+ propolis.initPropolisRecipes();
+ pollen = new ItemPollen();
+ drop = new ItemDrop();
+ drop.initDropsRecipes();
combs = new ItemComb();
combs.initCombsRecipes();
- GT_BeeDefinition.initBees();
+ GT_BeeDefinition.initBees();
+ }
+ }
+
+ private static void setupGTAlleles(){
+
+ noFertility = new AlleleInteger("fertilitySterile", 0, false, EnumBeeChromosome.FERTILITY);
+ superFertility = new AlleleInteger("fertilityMultiply", 8, false, EnumBeeChromosome.FERTILITY);
+
+ noFlowering = new AlleleInteger("floweringNonpollinating", 0, false, EnumBeeChromosome.FLOWERING);
+ superFlowering = new AlleleInteger("floweringNaturalistic", 240, false, EnumBeeChromosome.FLOWERING);
+
+ noTerritory = new AlleleArea("areaLethargic", 1, 1, false);
+ superTerritory = new AlleleArea("areaExploratory", 32, 16, false);
+
+ noWork = new AlleleFloat("speedUnproductive", 0, false);
+ superSpeed = new AlleleFloat("speedAccelerated", 4F, false);
+ speedBlinding = (IAlleleFloat) AlleleManager.alleleRegistry.getAllele("magicbees.speedBlinding") == null ? new AlleleFloat("speedBlinding", 2f, false) : (IAlleleFloat) AlleleManager.alleleRegistry.getAllele("magicbees.speedBlinding") ;
+
+ blinkLife = new AlleleInteger("lifeBlink", 2, false, EnumBeeChromosome.LIFESPAN);
+ superLife = new AlleleInteger("lifeEon", 600, false, EnumBeeChromosome.LIFESPAN);
+
+
+ }
+
+ private static class AlleleFloat extends Allele implements IAlleleFloat {
+ private float value;
+
+ public AlleleFloat(String id, float val, boolean isDominant) {
+ super("gregtech."+id, "gregtech."+id, isDominant);
+ this.value = val;
+ AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.SPEED);
+
+ }
+
+ @Override
+ public float getValue(){
+ return this.value;
+ }
+ }
+
+ private static class AlleleInteger extends Allele implements IAlleleInteger {
+
+ private int value;
+
+ public AlleleInteger(String id, int val, boolean isDominant, EnumBeeChromosome c) {
+ super("gregtech."+id, "gregtech."+id, isDominant);
+ this.value = val;
+ AlleleManager.alleleRegistry.registerAllele(this, c);
+ }
+
+ @Override
+ public int getValue(){
+ return this.value;
}
}
+
+ private static class AlleleArea extends Allele implements IAlleleArea {
+
+ private int[] value;
+
+ public AlleleArea(String id, int rangeXZ,int rangeY, boolean isDominant) {
+ super("gregtech."+id, "gregtech."+id, isDominant);
+ this.value = new int[] {rangeXZ,rangeY,rangeXZ};
+ AlleleManager.alleleRegistry.registerAllele(this, EnumBeeChromosome.TERRITORY);
+ }
+
+ @Override
+ public int[] getValue(){
+ return this.value;
+ }
+ }
+
+ public static class DimensionMutationCondition implements IMutationCondition {
+
+ int dimID;
+ String dimName;
+
+ public DimensionMutationCondition(int id, String name) {
+ dimID = id;
+ dimName = name;
+ }
+
+ @Override
+ public float getChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0,IGenome genome1) {
+ if(world.provider.dimensionId == dimID)return 1;
+ return 0;
+ }
+
+ @Override
+ public String getDescription() {
+ return StringUtil.localizeAndFormat("mutation.condition.dim") + " " + dimName;
+ }
+
+ }
+
+ public static class BiomeIDMutationCondition implements IMutationCondition {
+
+ int biomeID;
+ String biomeName;
+
+ public BiomeIDMutationCondition(int id, String name) {
+ biomeID = id;
+ biomeName = name;
+ }
+
+ @Override
+ public float getChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0,IGenome genome1) {
+ if(world.getBiomeGenForCoords(x, z).biomeID == biomeID) return 1;
+ return 0;
+ }
+
+ @Override
+ public String getDescription() {
+ if (BiomeGenBase.getBiome(biomeID)!=null) {
+ return StringUtil.localizeAndFormat("mutation.condition.biomeid") + " " + biomeName;
+ }
+ return "";
+ }
+
+ }
}
diff --git a/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java b/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java
index c357d1b64c..bd7fc5db58 100644
--- a/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java
+++ b/src/main/java/gregtech/loaders/misc/GT_BranchDefinition.java
@@ -3,6 +3,7 @@ package gregtech.loaders.misc;
import forestry.api.apiculture.BeeManager;
import forestry.api.apiculture.EnumBeeChromosome;
import forestry.api.genetics.IAllele;
+import forestry.api.genetics.IAlleleFlowers;
import forestry.api.genetics.IClassification;
import forestry.apiculture.genetics.alleles.AlleleEffect;
import forestry.core.genetics.alleles.AlleleHelper;
@@ -10,16 +11,55 @@ import forestry.core.genetics.alleles.EnumAllele;
import java.util.Arrays;
+import static gregtech.loaders.misc.GT_BeeDefinition.EXTRABEES;
+import static gregtech.loaders.misc.GT_BeeDefinition.getFlowers;
+
public enum GT_BranchDefinition {
ORGANIC("Fuelis") {
@Override
protected void setBranchProperties(IAllele[] alleles) {
- AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_2);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false);
- AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.MUSHROOMS);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.WHEAT);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST);
+ }
+ },
+ IC2("Industrialis") {
+ @Override
+ protected void setBranchProperties(IAllele[] alleles) {
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.SNOW);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW);
+ }
+ },
+ GTALLOY("Amalgamis") {
+ @Override
+ protected void setBranchProperties(IAllele[] alleles) {
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.TOLERANT_FLYER, true);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ }
+ },
+ THAUMIC("Arcanis") {
+ @Override
+ protected void setBranchProperties(IAllele[] alleles) {
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
}
},
GEM("Ornamentis") {
@@ -35,6 +75,7 @@ public enum GT_BranchDefinition {
@Override
protected void setBranchProperties(IAllele[] alleles) {
AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.CAVE_DWELLING, true);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWER);
@@ -57,6 +98,38 @@ public enum GT_BranchDefinition {
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.END);
AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE);
}
+ },
+ TWILIGHT("Nemoris Obscuri") {
+ @Override
+ protected void setBranchProperties(IAllele[] alleles) {
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, false);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTER);
+ }
+ },
+ SPACE("Cosmicis") {
+ @Override
+ protected void setBranchProperties(IAllele[] alleles) {
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.TOLERANT_FLYER, true);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.NOCTURNAL, true);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock"));
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST);
+ }
+ },
+ PLANET("Planetaris") {
+ @Override
+ protected void setBranchProperties(IAllele[] alleles) {
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.TOLERANT_FLYER, true);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWER_PROVIDER, getFlowers(EXTRABEES, "rock"));
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.FLOWERING, GT_Bees.superFlowering);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL);
+ AlleleHelper.instance.set(alleles, EnumBeeChromosome.SPEED, EnumAllele.Speed.FASTEST);
+ }
};
private static IAllele[] defaultTemplate;
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java
index 1ee9ef370e..a022f23e00 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java
@@ -33,16 +33,21 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer2.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_PIC.get(1, new Object[0]), 1200, 480,true);
GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer3.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_PIC.get(4, new Object[0]), 800, 1920,true);
GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Chip_CrystalCPU.get(1L, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Chip_CrystalSoC.get(1, new Object[0]), 600, 40000,true);
+ GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer5.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_QPIC.get(1, new Object[0]), 2400, 500000,true);
break;
case "craftingLensYellow":
GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 14), 2000, 1920);
GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 14), 2000, 1920);
+ GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_LPIC.get(1, new Object[0]), 800, 120,false);
+ GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer2.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_LPIC.get(4, new Object[0]), 600, 480,true);
GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer3.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_SoC.get(1, new Object[0]), 900, 1920,true);
break;
case "craftingLensOrange":
GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer3.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_SoC2.get(1, new Object[0]), 1800, 1920,true);
GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_Simple_SoC.get(1, new Object[0]), 300, 64,false);
- break;
+ GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer4.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_NPIC.get(1, new Object[0]), 1800, 30720,true);
+ GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer5.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_NPIC.get(4, new Object[0]), 1800, 122880,true);
+ break;
case "craftingLensCyan":
GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 15), 2000, 1920);
GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 15), 2000, 1920);
@@ -61,6 +66,8 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
case "craftingLensGreen":
GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Parts_Crystal_Chip_Elite.get(1L, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Chip_CrystalCPU.get(1, new Object[0]), 600, 10000,true);
GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Chip_CrystalSoC.get(1L, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Chip_CrystalSoC2.get(1, new Object[0]), 1200, 80000,true);
+ GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_ULPIC.get(2, new Object[0]), 600, 30,false);
+ GT_Values.RA.addLaserEngraverRecipe(ItemList.Circuit_Silicon_Wafer2.get(1, new Object[0]), GT_Utility.copyAmount(0L, new Object[]{aStack}), ItemList.Circuit_Wafer_ULPIC.get(8, new Object[0]), 600, 120,false);
break;
case "craftingLensWhite":
GT_Values.RA.addLaserEngraverRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L), GT_Utility.copyAmount(0L, new Object[]{aStack}), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 19), 2000, 1920);
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
index 9c4395bbb6..32d0e20473 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
@@ -31,15 +31,9 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR
case "Tanzanite": case "Sapphire": case "Olivine": case "GreenSapphire": case "Opal": case "Amethyst": case "Emerald": case "Ruby":
case "Amber": case "Diamond": case "FoolsRuby": case "BlueTopaz": case "GarnetRed": case "Topaz": case "Jasper": case "GarnetYellow":
GT_Values.RA.addSifterRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), tGem, GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L)}, new int[]{300, 1200, 4500, 1400, 2800, 3500}, 800, 16);
- /*if(GT_Mod.gregtechproxy.mMagneticraftRecipes && GregTech_API.mMagneticraft){
- com.cout970.magneticraft.api.access.MgRecipeRegister.registerSifterRecipe(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, tGem, 1), GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, tGem, 1), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1), 0.2f);
- }*/
break;
default:
GT_Values.RA.addSifterRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, tGem, 1L), tGem, GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, tGem, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1L)}, new int[]{100, 400, 1500, 2000, 4000, 5000}, 800, 16);
- /*if(GT_Mod.gregtechproxy.mMagneticraftRecipes && GregTech_API.mMagneticraft){
- com.cout970.magneticraft.api.access.MgRecipeRegister.registerSifterRecipe(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, tGem, 1), GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, tGem, 1), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, tGem, 1), 0.2f);
- }*/
}}
break;
default:
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
index 29251fa802..9c84bec8fd 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
@@ -19,10 +19,10 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
}
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
- boolean tIsRich = (aPrefix == OrePrefixes.oreNether) || (aPrefix == OrePrefixes.oreEnd) || (aPrefix == OrePrefixes.oreDense);
+ boolean tIsRich = (aPrefix == OrePrefixes.oreNetherrack) || (aPrefix == OrePrefixes.oreNether) || (aPrefix == OrePrefixes.oreEndstone) || (aPrefix == OrePrefixes.oreEnd) || (aPrefix == OrePrefixes.oreRich) || (aPrefix == OrePrefixes.oreDense);
if (aMaterial == Materials.Oilsands) {
- GT_Values.RA.addCentrifugeRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), null, null, Materials.OilHeavy.getFluid(tIsRich ? 4000L : 2000L), new ItemStack(net.minecraft.init.Blocks.sand, 1, 0), null, null, null, null, null, new int[]{2000}, tIsRich ? 600 : 300, 30);
+ GT_Values.RA.addCentrifugeRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), null, null, Materials.Oil.getFluid(tIsRich ? 1000L : 500L), new ItemStack(net.minecraft.init.Blocks.sand, 1, 0), null, null, null, null, null, new int[]{tIsRich ? 2500 : 5000}, tIsRich ? 2000 : 1000, 5);
} else {
registerStandardOreRecipes(aPrefix, aMaterial, GT_Utility.copyAmount(1L, new Object[]{aStack}), Math.max(1, gregtech.api.GregTech_API.sOPStuff.get(gregtech.api.enums.ConfigCategories.Materials.oreprocessingoutputmultiplier, aMaterial.toString(), 1)) * (tIsRich ? 2 : 1));
}
diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
index 63f66322ed..224af339fd 100644
--- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
+++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
@@ -498,6 +498,11 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addAssemblerRecipe(ItemList.Electric_Pump_IV.get(1L, new Object[0]), OrePrefixes.circuit.get(Materials.Elite), 2, GT_Values.NF, ItemList.FluidRegulator_IV.get(1L, new Object[0]), 800, 64);//TODO Check
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 2L), OrePrefixes.circuit.get(Materials.Good), 4, GT_Values.NF, ItemList.Schematic.get(1L, new Object[0]), 3200, 4);//TODO Check
//GT_Values.RA.addAssemblerRecipe(ItemList.Cover_Shutter.get(1L, new Object[0]), OrePrefixes.circuit.get(Materials.Basic), 2, GT_Values.NF, ItemList.FluidFilter.get(1L, new Object[0]), 800, 4);//TODO Check
+
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_HV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 1L), ItemList.Circuit_Chip_LPIC.get(2L), ItemList.HV_Coil.get(2L), ItemList.Reactor_Coolant_He_1.get(2L), ItemList.Electric_Pump_HV.get(1L)}, GT_Values.NF, ItemList.Hatch_Energy_HV.get(1L, new Object[0]), 200, 480);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_EV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 1L), ItemList.Circuit_Chip_PIC.get(2L), ItemList.EV_Coil.get(2L), ItemList.Reactor_Coolant_He_1.get(2L), ItemList.Electric_Pump_EV.get(1L)}, GT_Values.NF, ItemList.Hatch_Energy_EV.get(1L, new Object[0]), 200, 1920);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Hull_IV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 1L), ItemList.Circuit_Chip_HPIC.get(2L), ItemList.IV_Coil.get(2L), ItemList.Reactor_Coolant_He_3.get(2L), ItemList.Electric_Pump_IV.get(1L)}, GT_Values.NF, ItemList.Hatch_Energy_IV.get(1L, new Object[0]), 200, 7680);
+
//TODO CHECK RECIPES BELOW
GT_Values.RA.addCentrifugeRecipe(ItemList.Cell_Empty.get(1, new Object[0]), null, Materials.Air.getGas(10000), Materials.Nitrogen.getGas(3900), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1), null, null, null, null, null, null, 1600, 8);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Galena, 3), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Sphalerite, 1), Materials.SulfuricAcid.getFluid(4000), new FluidStack(ItemList.sIndiumConcentrate, 8000), null, 60, 150);
@@ -509,7 +514,7 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addElectrolyzerRecipe(ItemList.Cell_Empty.get(1, new Object[0]), null, new FluidStack(ItemList.sNickelSulfate, 2000), Materials.SulfuricAcid.getFluid(1000), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1), null, null, null, null, null, 900, 30);
GT_Values.RA.addCentrifugeRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PlatinumGroupSludge, 1), null, null, null, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Platinum, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Palladium, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iridium, 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Osmium, 1), new int[]{10000, 10000, 10000, 8000, 6000, 6000}, 900, 30);
- GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), ItemList.Cell_Empty.get(2, new Object[0]), Materials.HydrochloricAcid.getFluid(2000), Materials.IronIIIChloride.getFluid(2000),GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2), 400, 30);
+ GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1), ItemList.Cell_Empty.get(3, new Object[0]), Materials.HydrochloricAcid.getFluid(3000), Materials.IronIIIChloride.getFluid(1000),GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 3), 400, 30);
//GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 1), null, Materials.SulfuricAcid.getFluid(1000), new FluidStack(ItemList.sHydrochloricAcid, 1000), null, 200, 30);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfusedGold, 8L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 8L), new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Thaumium, 16L), 400, 480);
@@ -709,6 +714,10 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addCutterRecipe(ItemList.Circuit_Silicon_Ingot2.get(1, new Object[0]), ItemList.Circuit_Silicon_Wafer2.get(32, new Object[0]), null, 800, 120, true);
GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Silicon, 16), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Naquadah, 1), Materials.Argon.getGas(8000), null, ItemList.Circuit_Silicon_Ingot3.get(1, new Object[0]), null, 15000, 1920, 4484);
GT_Values.RA.addCutterRecipe(ItemList.Circuit_Silicon_Ingot3.get(1, new Object[0]), ItemList.Circuit_Silicon_Wafer3.get(64, new Object[0]), null, 1600, 480, true);
+ GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Silicon, 32), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Europium, 2), Materials.Radon.getGas(8000), null, ItemList.Circuit_Silicon_Ingot4.get(1, new Object[0]), null, 18000, 7680, 6484);
+ GT_Values.RA.addCutterRecipe(ItemList.Circuit_Silicon_Ingot4.get(1, new Object[0]), ItemList.Circuit_Silicon_Wafer4.get(64, new Object[0]), ItemList.Circuit_Silicon_Wafer4.get(32, new Object[0]), 2400, 1920, true);
+ GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Silicon, 64), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Americium, 4), Materials.Radon.getGas(16000), null, ItemList.Circuit_Silicon_Ingot5.get(1, new Object[0]), null, 21000, 30720, 9000);
+ GT_Values.RA.addCutterRecipe(ItemList.Circuit_Silicon_Ingot5.get(1, new Object[0]), ItemList.Circuit_Silicon_Wafer5.get(64, new Object[0]), ItemList.Circuit_Silicon_Wafer5.get(64, new Object[0]), 3200, 7680, true);
GT_Values.RA.addAssemblerRecipe(new ItemStack(Blocks.redstone_torch, 2, 32767), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), Materials.Concrete.getMolten(144L), new ItemStack(Items.repeater, 1, 0), 80, 10);
GT_Values.RA.addAssemblerRecipe(new ItemStack(Items.leather, 1, 32767), new ItemStack(Items.lead, 1, 32767), Materials.Glue.getFluid(72L), new ItemStack(Items.name_tag, 1, 0), 100, 8);
@@ -791,8 +800,21 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Vanadiumtriindinid, 12L), GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.NiobiumTitanium, 8L), ItemList.Electric_Pump_IV.get(2L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 4L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium, 4L), GT_Utility.getIntegratedCircuit(9)}, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 12L), 600, 1920);
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, 16L), GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Enderium, 10L), ItemList.Electric_Pump_LuV.get(2L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 6L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium, 6L), GT_Utility.getIntegratedCircuit(9)}, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 16L), 700, 7680);
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 32L), GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Naquadah, 12L), ItemList.Electric_Pump_ZPM.get(2L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 8L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium, 8L), GT_Utility.getIntegratedCircuit(9)}, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 32L), 800, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Longasssuperconductornameforuvwire, 63L), GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Neutronium, 14L), ItemList.Electric_Pump_UV.get(2L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 10L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium, 10L), GT_Utility.getIntegratedCircuit(9)}, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUV, 63L), 1000, 122880);
+
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 64L), GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Neutronium, 14L), ItemList.Electric_Pump_ZPM.get(2L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 10L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium, 10L), GT_Utility.getIntegratedCircuit(9)}, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 64L), 1000, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.IronMagnetic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Lead, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.ULV_Coil.get(1L), 200, 8);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.IronMagnetic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.LV_Coil.get(1L), 200, 30);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SteelMagnetic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Aluminium, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.MV_Coil.get(1L), 200, 120);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NeodymiumMagnetic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.VibrantAlloy, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.HV_Coil.get(1L), 200, 480);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.TungstenSteel, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.EV_Coil.get(1L), 200, 1920);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Iridium, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.IV_Coil.get(1L), 200, 7680);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmiridium, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.LuV_Coil.get(1L), 200, 30720);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.ZPM_Coil.get(1L), 200, 122880);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.ElectrumFlux, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.UV_Coil.get(1L), 200, 500000);
+ GT_Values.RA.addAssemblerRecipe(new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.stick, Materials.SamariumMagnetic, 1L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.DraconiumAwakened, 16L), GT_Utility.getIntegratedCircuit(1)}, GT_Values.NF, ItemList.UHV_Coil.get(1L), 200, 2000000);
+
GT_Values.RA.addUniversalDistillationRecipe(Materials.OilLight.getFluid(150), new FluidStack[]{ Materials.SulfuricHeavyFuel.getFluid(10), Materials.SulfuricLightFuel.getFluid(20), Materials.SulfuricNaphtha.getFluid(30), Materials.SulfuricGas.getGas(240)}, null, 20, 96);
GT_Values.RA.addUniversalDistillationRecipe(Materials.OilMedium.getFluid(100), new FluidStack[]{Materials.SulfuricHeavyFuel.getFluid(15), Materials.SulfuricLightFuel.getFluid(50), Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricGas.getGas(60)}, null, 20, 96);
GT_Values.RA.addUniversalDistillationRecipe(Materials.Oil.getFluid(50L), new FluidStack[]{ Materials.SulfuricHeavyFuel.getFluid(15), Materials.SulfuricLightFuel.getFluid(50), Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricGas.getGas(60)}, null, 20, 96);
@@ -1295,7 +1317,7 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addFusionReactorRecipe(Materials.Tungsten.getMolten(144), Materials.Carbon.getMolten(144), Materials.Mercury.getPlasma(144), 16, 49152, 300000000);//FT2
GT_Values.RA.addFusionReactorRecipe(Materials.Tantalum.getMolten(144), Materials.Zinc.getPlasma(72), Materials.Bismuth.getPlasma(144), 16, 98304, 350000000);//FT3 - farmable
- GT_Values.RA.addFusionReactorRecipe(Materials.Caesium.getMolten(144), Materials.Carbon.getMolten(144), Materials.Promethium.getMolten(144), 64, 49152, 400000000);//FT3
+ GT_Values.RA.addFusionReactorRecipe(Materials.Caesium.getMolten(144), Materials.Carbon.getMolten(144), Materials.Promethium.getMolten(144), 64, 49152, 400000000);//FT3
GT_Values.RA.addFusionReactorRecipe(Materials.Iridium.getMolten(144), Materials.Fluorine.getGas(500), Materials.Radon.getPlasma(144), 32, 98304, 450000000);//FT3 - utility
GT_Values.RA.addFusionReactorRecipe(Materials.Plutonium241.getMolten(144), Materials.Hydrogen.getGas(2000), Materials.Americium.getPlasma(144), 64, 98304, 500000000);//FT3
//GT_Values.RA.addFusionReactorRecipe(Materials.Neutronium.getMolten(144), Materials.Neutronium.getMolten(144), Materials.Neutronium.getPlasma(72), 64, 130000, 640000000);//FT3+ - yes it is a bit troll XD
@@ -1470,10 +1492,11 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Pentacadmiummagnesiumhexaoxid, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Pentacadmiummagnesiumhexaoxid, 1L), 4500, 480);
GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Titaniumonabariumdecacoppereikosaoxid, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titaniumonabariumdecacoppereikosaoxid, 1L), 4500, 480);
- GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Uraniumtriplatinid, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Uraniumtriplatinid, 1L), 6000, 480);
- GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Vanadiumtriindinid, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Vanadiumtriindinid, 1L), 6000, 480);
- GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, 1L), 9000, 480);
- GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 1L), 9000, 480);
+ GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Uraniumtriplatinid, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Uraniumtriplatinid, 1L), 6000, 1920);
+ GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Vanadiumtriindinid, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Vanadiumtriindinid, 1L), 6000, 1920);
+ GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, 1L), 9000, 7680);
+ GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 1L), 9000, 7680);
+ GT_Values.RA.addVacuumFreezerRecipe(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Longasssuperconductornameforuvwire, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Longasssuperconductornameforuvwire, 1L), 9000, 30720);
GT_Values.RA.addAlloySmelterRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lead, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 2L), ItemList.TE_Hardened_Glass.get(2L, new Object[0]), 200, 16);
GT_Values.RA.addAlloySmelterRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Lead, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 2L), ItemList.TE_Hardened_Glass.get(2L, new Object[0]), 200, 16);
@@ -2165,6 +2188,21 @@ public class GT_MachineRecipeLoader implements Runnable {
Materials.SolderingAlloy.getMolten(2592),
Materials.Lubricant.getFluid(4000)}, ItemList.Electric_Motor_UHV.get(1, new Object[]{}), 800, 200000);
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Electric_Motor_UHV.get(1, new Object(){}),1152000,new ItemStack[]{
+ GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 8L),
+ GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 16L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L),
+ GT_OreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 32L),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L)}, new FluidStack[]{
+ Materials.Quantium.getMolten(2592),
+ Materials.SolderingAlloy.getMolten(5184),
+ Materials.Lubricant.getFluid(8000)}, ItemList.Electric_Motor_UEV.get(1, new Object[]{}), 1000, 400000);
+
// Pump
@@ -2220,6 +2258,18 @@ public class GT_MachineRecipeLoader implements Runnable {
Materials.SolderingAlloy.getMolten(2592),
Materials.Lubricant.getFluid(4000)}, ItemList.Electric_Pump_UHV.get(1, new Object[]{}), 800, 200000);
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Electric_Pump_UHV.get(1, new Object(){}),576000,new ItemStack[]{
+ ItemList.Electric_Motor_UEV.get(1, new Object(){}),
+ GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.NetherStar, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Draconium, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 16L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.AnySyntheticRubber, 32L),
+ GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L)}, new FluidStack[]{
+ Materials.Quantium.getMolten(2592),
+ Materials.SolderingAlloy.getMolten(5184),
+ Materials.Lubricant.getFluid(8000)}, ItemList.Electric_Pump_UEV.get(1, new Object[]{}), 1000, 400000);
+
// Conveyor
GT_Values.RA.addAssemblylineRecipe(ItemList.Conveyor_Module_IV.get(1, new Object(){}),144000,new ItemStack[]{
@@ -2262,7 +2312,18 @@ public class GT_MachineRecipeLoader implements Runnable {
Materials.Naquadria.getMolten(2592),
Materials.SolderingAlloy.getMolten(2592),
Materials.Lubricant.getFluid(4000),
- Materials.StyreneButadieneRubber.getMolten(11520)}, ItemList.Conveyor_Module_UHV.get(1, new Object[]{}), 800, 200000);
+ Materials.Silicone.getMolten(5760)}, ItemList.Conveyor_Module_UHV.get(1, new Object[]{}), 800, 200000);
+
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Conveyor_Module_UHV.get(1, new Object(){}),1152000,new ItemStack[]{
+ ItemList.Electric_Motor_UEV.get(2, new Object(){}),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Draconium, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L),
+ GT_OreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L)}, new FluidStack[]{
+ Materials.Quantium.getMolten(2592),
+ Materials.SolderingAlloy.getMolten(5184),
+ Materials.Lubricant.getFluid(8000),
+ Materials.Silicone.getMolten(11520)}, ItemList.Conveyor_Module_UEV.get(1, new Object[]{}), 1000, 400000);
// Piston
@@ -2317,7 +2378,20 @@ public class GT_MachineRecipeLoader implements Runnable {
Materials.SolderingAlloy.getMolten(2592),
Materials.Lubricant.getFluid(4000)}, ItemList.Electric_Piston_UHV.get(1, new Object[]{}), 800, 200000);
-// RobotArm
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Electric_Piston_UHV.get(1, new Object(){}),1152000,new ItemStack[]{
+ ItemList.Electric_Motor_UEV.get(1, new Object(){}),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Draconium, 6L),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L),
+ GT_OreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L),
+ GT_OreDictUnificator.get(OrePrefixes.gear, Materials.CosmicNeutronium, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.CosmicNeutronium, 4L),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 4L)}, new FluidStack[]{
+ Materials.Quantium.getMolten(2592),
+ Materials.SolderingAlloy.getMolten(5184),
+ Materials.Lubricant.getFluid(8000)}, ItemList.Electric_Piston_UEV.get(1, new Object[]{}), 1000, 400000);
+
+ // RobotArm
GT_Values.RA.addAssemblylineRecipe(ItemList.Robot_Arm_IV.get(1, new Object(){}),144000,new Object[]{
@@ -2374,6 +2448,20 @@ public class GT_MachineRecipeLoader implements Runnable {
Materials.SolderingAlloy.getMolten(4608),
Materials.Lubricant.getFluid(4000)}, ItemList.Robot_Arm_UHV.get(1, new Object[]{}), 800, 200000);
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Robot_Arm_UHV.get(1, new Object(){}),1152000,new Object[]{
+ GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 8L),
+ GT_OreDictUnificator.get(OrePrefixes.gear, Materials.CosmicNeutronium, 2L),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.CosmicNeutronium, 6L),
+ ItemList.Electric_Motor_UEV.get(2, new Object(){}),
+ ItemList.Electric_Piston_UEV.get(1, new Object(){}),
+ new Object[]{OrePrefixes.circuit.get(Materials.Bio), 2},
+ new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4},
+ new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 8},
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 6L)}, new FluidStack[]{
+ Materials.Quantium.getMolten(2592),
+ Materials.SolderingAlloy.getMolten(9216),
+ Materials.Lubricant.getFluid(8000)}, ItemList.Robot_Arm_UEV.get(1, new Object[]{}), 1000, 400000);
+
// Emitter
//LUV Palladium Plat, VanadiumGallium, topazes alduorite, chrome Naquadah
//ZPM iridium niobiumTitanium jade vinteum amethyst infused gold vulcanite Ceruclase mithril Naquadah Alloy
@@ -2423,7 +2511,7 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addAssemblylineRecipe(ItemList.Emitter_UV.get(1, new Object(){}),576000,new Object[]{
GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Europium, 1L),
- ItemList.Electric_Motor_UV.get(1, new Object(){}),
+ ItemList.Electric_Motor_UHV.get(1, new Object(){}),
GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Adamantium, 8L),
ItemList.Gravistar.get(8, new Object(){}),
new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4},
@@ -2436,6 +2524,21 @@ public class GT_MachineRecipeLoader implements Runnable {
Materials.SolderingAlloy.getMolten(4608)},
ItemList.Emitter_UHV.get(1, new Object[]{}), 800, 200000);
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Emitter_UHV.get(1, new Object(){}),1152000,new Object[]{
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Americium, 1L),
+ ItemList.Electric_Motor_UEV.get(1, new Object(){}),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Adamantium, 16L),
+ ItemList.Gravistar.get(16, new Object(){}),
+ new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4},
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Adamantium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Adamantium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.CosmicNeutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.CosmicNeutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L)}, new FluidStack[]{
+ Materials.Quantium.getMolten(2592),
+ Materials.SolderingAlloy.getMolten(9216)},
+ ItemList.Emitter_UEV.get(1, new Object[]{}), 1000, 400000);
+
// Sensor
GT_Values.RA.addAssemblylineRecipe(ItemList.Sensor_IV.get(1, new Object(){}),144000,new Object[]{
@@ -2493,6 +2596,21 @@ public class GT_MachineRecipeLoader implements Runnable {
Materials.SolderingAlloy.getMolten(4608)},
ItemList.Sensor_UHV.get(1, new Object[]{}), 800, 200000);
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Sensor_UHV.get(1, new Object(){}),1152000,new Object[]{
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Americium, 1L),
+ ItemList.Electric_Motor_UEV.get(1, new Object(){}),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Draconium, 8L),
+ ItemList.Gravistar.get(16, new Object(){}),
+ new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4},
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Adamantium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Adamantium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.CosmicNeutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.CosmicNeutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L)}, new FluidStack[]{
+ Materials.Quantium.getMolten(2592),
+ Materials.SolderingAlloy.getMolten(9216)},
+ ItemList.Sensor_UEV.get(1, new Object[]{}), 1000, 400000);
+
// Field Generator
GT_Values.RA.addAssemblylineRecipe(ItemList.Field_Generator_IV.get(1, new Object(){}),144000,new Object[]{
@@ -2500,7 +2618,7 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSG, 6L),
ItemList.QuantumStar.get(2, new Object(){}),
ItemList.Emitter_LuV.get(4, new Object(){}),
- new ItemStack[]{ItemList.Circuit_Crystalmainframe.get(4, new Object(){}), ItemList.Circuit_Wetwaresupercomputer.get(4, new Object(){})},
+ new Object[]{OrePrefixes.circuit.get(Materials.Ultimate), 4},
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmium, 64L),
@@ -2514,7 +2632,7 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSE, 6L),
ItemList.QuantumStar.get(1, new Object(){}),
ItemList.Emitter_ZPM.get(4, new Object(){}),
- new ItemStack[]{ItemList.Circuit_Crystalmainframe.get(8, new Object(){}), ItemList.Circuit_Wetwaresupercomputer.get(8, new Object(){})},
+ new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 4},
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmiridium, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmiridium, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Osmiridium, 64L),
@@ -2532,7 +2650,7 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6L),
ItemList.Gravistar.get(2, new Object(){}),
ItemList.Emitter_UV.get(4, new Object(){}),
- new ItemStack[]{ItemList.Circuit_Crystalmainframe.get(16, new Object(){}), ItemList.Circuit_Wetwaresupercomputer.get(16, new Object(){})},
+ new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 4},
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 64L),
@@ -2550,9 +2668,7 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addAssemblylineRecipe(ItemList.Field_Generator_UV.get(1, new Object(){}),576000,new Object[]{
GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Europium, 1L),
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Bedrockium, 6L),
- ItemList.Gravistar.get(4, new Object(){}),
- ItemList.Emitter_UHV.get(4, new Object(){}),
- new ItemStack[]{ItemList.Circuit_Crystalmainframe.get(16, new Object(){}), ItemList.Circuit_Wetwaresupercomputer.get(16, new Object(){})},
+ new Object[]{OrePrefixes.circuit.get(Materials.Bio), 4},
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Adamantium, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Adamantium, 64L),
GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Adamantium, 64L),
@@ -2567,6 +2683,78 @@ public class GT_MachineRecipeLoader implements Runnable {
Materials.SolderingAlloy.getMolten(4608)},
ItemList.Field_Generator_UHV.get(1, new Object[]{}), 800, 200000);
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Field_Generator_UHV.get(1, new Object(){}),576000,new Object[]{
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Americium, 1L),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Draconium, 6L),
+ new Object[]{OrePrefixes.circuit.get(Materials.Bio), 8},
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Adamantium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Adamantium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Adamantium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Adamantium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 8L)},
+ new FluidStack[]{
+ Materials.Quantium.getMolten(2592),
+ Materials.SolderingAlloy.getMolten(9216)},
+ ItemList.Field_Generator_UEV.get(1, new Object[]{}), 1000, 400000);
+
+ //Energy Hatches Luv-UHV
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Energy_IV.get(1, new Object(){}),72000,new Object[]{
+ ItemList.Hull_LuV.get(1L, new Object(){}),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 2L),
+ ItemList.Circuit_Chip_UHPIC.get(2L, new Object(){}),
+ new Object[]{OrePrefixes.circuit.get(Materials.Master), 2},
+ ItemList.LuV_Coil.get(2L, new Object(){}),
+ ItemList.Reactor_Coolant_He_3.get(2L, new Object(){}),
+ ItemList.Electric_Pump_LuV.get(1L, new Object(){})},
+ new FluidStack[]{
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.SolderingAlloy.getMolten(720)},
+ ItemList.Hatch_Energy_LuV.get(1, new Object[]{}), 400, 30720);
+
+
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Energy_LuV.get(1, new Object(){}),144000,new Object[]{
+ ItemList.Hull_ZPM.get(1L, new Object(){}),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 2L),
+ ItemList.Circuit_Chip_NPIC.get(2L, new Object(){}),
+ new Object[]{OrePrefixes.circuit.get(Materials.Ultimate), 2},
+ ItemList.ZPM_Coil.get(2L, new Object(){}),
+ ItemList.Reactor_Coolant_He_6.get(2L, new Object(){}),
+ ItemList.Electric_Pump_ZPM.get(1L, new Object(){})},
+ new FluidStack[]{
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 4000),
+ Materials.SolderingAlloy.getMolten(1440)},
+ ItemList.Hatch_Energy_ZPM.get(1, new Object[]{}), 600, 122880);
+
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Energy_ZPM.get(1, new Object(){}),288000,new Object[]{
+ ItemList.Hull_UV.get(1L, new Object(){}),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUV, 2L),
+ ItemList.Circuit_Chip_PPIC.get(2L, new Object(){}),
+ new Object[]{OrePrefixes.circuit.get(Materials.Superconductor), 2},
+ ItemList.UV_Coil.get(2L, new Object(){}),
+ ItemList.Reactor_Coolant_He_6.get(4L, new Object(){}),
+ ItemList.Electric_Pump_UV.get(1L, new Object(){})},
+ new FluidStack[]{
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 8000),
+ Materials.SolderingAlloy.getMolten(2880)},
+ ItemList.Hatch_Energy_UV.get(1, new Object[]{}), 800, 500000);
+
+ GT_Values.RA.addAssemblylineRecipe(ItemList.Hatch_Energy_UV.get(1, new Object(){}),576000,new Object[]{
+ ItemList.Hull_MAX.get(1L, new Object(){}),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 2L),//TODO Need new recipe for UHV superconductor
+ ItemList.Circuit_Chip_QPIC.get(2L, new Object(){}),
+ new Object[]{OrePrefixes.circuit.get(Materials.Infinite), 2},
+ ItemList.UHV_Coil.get(2L, new Object(){}),
+ ItemList.Reactor_Coolant_He_6.get(8L, new Object(){}),
+ ItemList.Electric_Pump_UHV.get(1L, new Object(){})},
+ new FluidStack[]{
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000),
+ Materials.SolderingAlloy.getMolten(5760)},
+ ItemList.Hatch_Energy_MAX.get(1, new Object[]{}), 1000, 2000000);
+
Object o = new Object[0];
GT_Values.RA.addAssemblylineRecipe(ItemList.Energy_LapotronicOrb2.get(1, o), 288000, new ItemStack[]{
@@ -2580,7 +2768,7 @@ public class GT_MachineRecipeLoader implements Runnable {
ItemList.Circuit_Wafer_SoC2.get(64, o),
ItemList.Circuit_Wafer_SoC2.get(64, o),
ItemList.Circuit_Parts_DiodeSMD.get(8, o),
- GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 32),},
+ GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 32)},
new FluidStack[]{
Materials.SolderingAlloy.getMolten(2880), GregTech_API.mIC2Classic ? Materials.Water.getFluid(8000) : new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000)},
ItemList.Energy_Module.get(1, o), 2000, 100000);
@@ -3705,7 +3893,7 @@ public class GT_MachineRecipeLoader implements Runnable {
private void addPolybenzimidazoleRecipes() {
//Potassium Nitride
- GT_Values.RA.addChemicalRecipe(Materials.Potassium.getDust(1), GT_Utility.getIntegratedCircuit(1), Materials.Ammonia.getGas(1000), GT_Values.NF, Materials.PotassiumNitrade.getDust(1), 100, 30);
+ GT_Values.RA.addChemicalRecipe(Materials.Potassium.getDust(1), GT_Utility.getIntegratedCircuit(1), Materials.NitricAcid.getGas(1000), GT_Values.NF, Materials.PotassiumNitrade.getDust(1), 100, 30);
// Chrome Trioxide
GT_Values.RA.addChemicalRecipe(Materials.ChromiumDioxide.getDust(1), GT_Utility.getIntegratedCircuit(1), Materials.Oxygen.getGas(1000), GT_Values.NF, Materials.ChromiumTrioxide.getDust(1), GT_Values.NI,100, 60);
@@ -3733,7 +3921,7 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addChemicalRecipe(Materials.Oxygen.getCells(2), Materials.Potassiumdichromate.getDustTiny(1),Materials.Dimethylbenzene.getFluid(1000), Materials.PhthalicAcid.getFluid(1000),Materials.Water.getCells(2), 100, 1920);
//Dichlorobenzidine
- GT_Values.RA.addChemicalRecipe(Materials.Copper.getDustTiny(1), GT_Utility.getIntegratedCircuit(1), Materials.Nitrochlorobenzene.getFluid(1000), Materials.Dichlorobenzidine.getFluid(1000),Materials.Copper.getDust(1), 200, 1920);
+ GT_Values.RA.addChemicalRecipe(Materials.Copper.getDustTiny(1), GT_Utility.getIntegratedCircuit(1), Materials.Nitrochlorobenzene.getFluid(1000), Materials.Dichlorobenzidine.getFluid(1000), null, 200, 1920);
//Diphenyl Isophthalate
GT_Values.RA.addChemicalRecipe(Materials.PhthalicAcid.getCells(1),Materials.SulfuricAcid.getCells(1),Materials.Phenol.getFluid(2000), Materials.DilutedSulfuricAcid.getFluid(1000),Materials.Diphenylisophthalate.getCells(1), 100, 7680);
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
index 45e5434ee4..2023253eec 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
@@ -366,7 +366,7 @@ public class GT_Loader_Item_Block_And_Fluid
Materials.HSSE,
Materials.HSSS,
Materials.Steeleaf,
- Materials.Ichorium
+ Materials.Ichorium,
}, OrePrefixes.block, gregtech.api.enums.Textures.BlockIcons.STORAGE_BLOCKS8);
GregTech_API.sBlockGem1 = new GT_Block_Metal("gt.blockgem1", new Materials[]{
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index 35d8e34c64..8423a1e3a9 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -198,13 +198,13 @@ public class GT_Loader_MetaTileEntities implements Runnable {//TODO CHECK CIRCUI
GT_ModHandler.addCraftingRecipe(ItemList.Transformer_LV_ULV.get(1L, new Object[0]), bitsd, new Object[]{" BB", "CM ", " BB", 'M', ItemList.Hull_ULV, 'C', OrePrefixes.cableGt01.get(Materials.Tin), 'B', OrePrefixes.cableGt01.get(Materials.Lead)});
GT_ModHandler.addCraftingRecipe(ItemList.Transformer_MV_LV.get(1L, new Object[0]), bitsd, new Object[]{" BB", "CM ", " BB", 'M', ItemList.Hull_LV, 'C', OrePrefixes.cableGt01.get(Materials.AnyCopper), 'B', OrePrefixes.cableGt01.get(Materials.Tin)});
- GT_ModHandler.addCraftingRecipe(ItemList.Transformer_HV_MV.get(1L, new Object[0]), bitsd, new Object[]{" BB", "CM ", " BB", 'M', ItemList.Hull_MV, 'C', OrePrefixes.cableGt01.get(Materials.Gold), 'B', OrePrefixes.cableGt01.get(Materials.AnyCopper)});
- GT_ModHandler.addCraftingRecipe(ItemList.Transformer_EV_HV.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_HV, 'C', OrePrefixes.cableGt01.get(Materials.Aluminium), 'B', OrePrefixes.cableGt01.get(Materials.Gold),'K',ItemList.Circuit_Parts_Coil});
- GT_ModHandler.addCraftingRecipe(ItemList.Transformer_IV_EV.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_EV, 'C', OrePrefixes.cableGt01.get(Materials.Tungsten), 'B', OrePrefixes.cableGt01.get(Materials.Aluminium),'K',ItemList.Circuit_Parts_Coil});
+ GT_ModHandler.addCraftingRecipe(ItemList.Transformer_HV_MV.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_MV, 'C', OrePrefixes.cableGt01.get(Materials.Gold), 'B', OrePrefixes.cableGt01.get(Materials.AnyCopper),'K',ItemList.Circuit_Parts_Coil});
+ GT_ModHandler.addCraftingRecipe(ItemList.Transformer_EV_HV.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_HV, 'C', OrePrefixes.cableGt01.get(Materials.Aluminium), 'B', OrePrefixes.cableGt01.get(Materials.Gold),'K',ItemList.Circuit_Chip_ULPIC});
+ GT_ModHandler.addCraftingRecipe(ItemList.Transformer_IV_EV.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_EV, 'C', OrePrefixes.cableGt01.get(Materials.Tungsten), 'B', OrePrefixes.cableGt01.get(Materials.Aluminium),'K',ItemList.Circuit_Chip_LPIC});
GT_ModHandler.addCraftingRecipe(ItemList.Transformer_LuV_IV.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_IV, 'C', OrePrefixes.cableGt01.get(Materials.VanadiumGallium), 'B', OrePrefixes.cableGt01.get(Materials.Tungsten),'K',ItemList.Circuit_Chip_PIC});
- GT_ModHandler.addCraftingRecipe(ItemList.Transformer_ZPM_LuV.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_LuV, 'C', OrePrefixes.cableGt02.get(Materials.Naquadah), 'B', OrePrefixes.cableGt01.get(Materials.VanadiumGallium),'K',ItemList.Circuit_Chip_PIC});
- GT_ModHandler.addCraftingRecipe(ItemList.Transformer_UV_ZPM.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_ZPM, 'C', OrePrefixes.cableGt04.get(Materials.NaquadahAlloy), 'B', OrePrefixes.cableGt02.get(Materials.Naquadah),'K',ItemList.Circuit_Chip_HPIC});
- GT_ModHandler.addCraftingRecipe(ItemList.Transformer_MAX_UV.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_UV, 'C', OrePrefixes.wireGt01.get(Materials.SuperconductorUHV), 'B', OrePrefixes.cableGt04.get(Materials.NaquadahAlloy),'K',ItemList.Circuit_Chip_HPIC});
+ GT_ModHandler.addCraftingRecipe(ItemList.Transformer_ZPM_LuV.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_LuV, 'C', OrePrefixes.cableGt02.get(Materials.Naquadah), 'B', OrePrefixes.cableGt01.get(Materials.VanadiumGallium),'K',ItemList.Circuit_Chip_HPIC});
+ GT_ModHandler.addCraftingRecipe(ItemList.Transformer_UV_ZPM.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_ZPM, 'C', OrePrefixes.cableGt04.get(Materials.NaquadahAlloy), 'B', OrePrefixes.cableGt02.get(Materials.Naquadah),'K',ItemList.Circuit_Chip_UHPIC});
+ GT_ModHandler.addCraftingRecipe(ItemList.Transformer_MAX_UV.get(1L, new Object[0]), bitsd, new Object[]{"KBB", "CM ", "KBB", 'M', ItemList.Hull_UV, 'C', OrePrefixes.wireGt01.get(Materials.SuperconductorUHV), 'B', OrePrefixes.cableGt04.get(Materials.NaquadahAlloy),'K',ItemList.Circuit_Chip_NPIC});
ItemList.Hatch_Dynamo_ULV.set(new GT_MetaTileEntity_Hatch_Dynamo(30, "hatch.dynamo.tier.00", "ULV Dynamo Hatch", 0).getStackForm(1L));
ItemList.Hatch_Dynamo_LV.set(new GT_MetaTileEntity_Hatch_Dynamo(31, "hatch.dynamo.tier.01", "LV Dynamo Hatch", 1).getStackForm(1L));
@@ -239,16 +239,9 @@ public class GT_Loader_MetaTileEntities implements Runnable {//TODO CHECK CIRCUI
ItemList.Hatch_Energy_UV.set(new GT_MetaTileEntity_Hatch_Energy(48, "hatch.energy.tier.08", "UV Energy Hatch", 8).getStackForm(1L));
ItemList.Hatch_Energy_MAX.set(new GT_MetaTileEntity_Hatch_Energy(49, "hatch.energy.tier.09", "UHV Energy Hatch", 9).getStackForm(1L));
- GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_ULV.get(1L, new Object[0]), bitsd, new Object[]{"CM ", 'M', ItemList.Hull_ULV, 'C', OrePrefixes.cableGt01.get(Materials.Lead)});
- GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_LV.get(1L, new Object[0]), bitsd, new Object[]{"CM ", 'M', ItemList.Hull_LV, 'C', OrePrefixes.cableGt01.get(Materials.Tin)});
- GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_MV.get(1L, new Object[0]), bitsd, new Object[]{"CM ", 'M', ItemList.Hull_MV, 'C', OrePrefixes.cableGt01.get(Materials.AnyCopper)});
- GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_HV.get(1L, new Object[0]), bitsd, new Object[]{"CM ", 'M', ItemList.Hull_HV, 'C', OrePrefixes.cableGt01.get(Materials.Gold)});
- GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_EV.get(1L, new Object[0]), bitsd, new Object[]{"CM ", 'M', ItemList.Hull_EV, 'C', OrePrefixes.cableGt01.get(Materials.Aluminium)});
- GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_IV.get(1L, new Object[0]), bitsd, new Object[]{"CM ", 'M', ItemList.Hull_IV, 'C', OrePrefixes.cableGt01.get(Materials.Tungsten)});
- GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_LuV.get(1L, new Object[0]), bitsd, new Object[]{"CM ", 'M', ItemList.Hull_LuV, 'C', OrePrefixes.cableGt01.get(Materials.VanadiumGallium)});
- GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_ZPM.get(1L, new Object[0]), bitsd, new Object[]{"CM ", 'M', ItemList.Hull_ZPM, 'C', OrePrefixes.cableGt02.get(Materials.Naquadah)});
- GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_UV.get(1L, new Object[0]), bitsd, new Object[]{"CM ", 'M', ItemList.Hull_UV, 'C', OrePrefixes.cableGt04.get(Materials.NaquadahAlloy)});
- GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_MAX.get(1L, new Object[0]), bitsd, new Object[]{"CM ", 'M', ItemList.Hull_MAX, 'C', OrePrefixes.wireGt01.get(Materials.SuperconductorUHV)});
+ GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_ULV.get(1L, new Object[0]), bitsd, new Object[]{"XOL", "CMP", "XOL", 'M', ItemList.Hull_ULV, 'C', OrePrefixes.cableGt01.get(Materials.Lead), 'X', OrePrefixes.circuit.get(Materials.Primitive), 'O', ItemList.ULV_Coil, 'L', OrePrefixes.cell.get(Materials.Lubricant), 'P', OrePrefixes.rotor.get(Materials.Lead)});
+ GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_LV.get(1L, new Object[0]), bitsd, new Object[]{"XOL", "CMP", "XOL", 'M', ItemList.Hull_LV, 'C', OrePrefixes.cableGt01.get(Materials.Tin), 'X', OrePrefixes.circuit.get(Materials.Basic), 'O', ItemList.LV_Coil, 'L', OrePrefixes.cell.get(Materials.Lubricant), 'P', ItemList.Electric_Pump_LV});
+ GT_ModHandler.addCraftingRecipe(ItemList.Hatch_Energy_MV.get(1L, new Object[0]), bitsd, new Object[]{"XOL", "CMP", "XOL", 'M', ItemList.Hull_MV, 'C', OrePrefixes.cableGt01.get(Materials.Copper), 'X', ItemList.Circuit_Chip_ULPIC, 'O', ItemList.MV_Coil, 'L', OrePrefixes.cell.get(Materials.Lubricant), 'P', ItemList.Electric_Pump_MV});
ItemList.Hatch_Input_ULV.set(new GT_MetaTileEntity_Hatch_Input(50, "hatch.input.tier.00", "Input Hatch (ULV)", 0).getStackForm(1L));
ItemList.Hatch_Input_LV.set(new GT_MetaTileEntity_Hatch_Input(51, "hatch.input.tier.01", "Input Hatch (LV)", 1).getStackForm(1L));
@@ -1417,12 +1410,14 @@ public class GT_Loader_MetaTileEntities implements Runnable {//TODO CHECK CIRCUI
makeWires(Materials.Vanadiumtriindinid, 2260, bEC ? 1L : 128L, bEC ? 2L : 256L, 2L, gregtech.api.enums.GT_Values.V[5], true, aBoolConst_0);
makeWires(Materials.Tetraindiumditindibariumtitaniumheptacoppertetrakaidekaoxid, 2280, 2L, 2L, 4L, gregtech.api.enums.GT_Values.V[6], true, aBoolConst_0);
makeWires(Materials.Tetranaquadahdiindiumhexaplatiumosminid, 2300, 2L, 2L, 4L, gregtech.api.enums.GT_Values.V[7], true, aBoolConst_0);
+ makeWires(Materials.Longasssuperconductornameforuvwire, 2500, 2L, 2L, 4L, gregtech.api.enums.GT_Values.V[8], true, aBoolConst_0);
makeWires(Materials.SuperconductorMV, 2320, 0L, 0L, 2L, gregtech.api.enums.GT_Values.V[2], aBoolConst_0, true);
makeWires(Materials.SuperconductorHV, 2340, 0L, 0L, 2L, gregtech.api.enums.GT_Values.V[3], aBoolConst_0, true);
makeWires(Materials.SuperconductorEV, 2360, 0L, 0L, 4L, gregtech.api.enums.GT_Values.V[4], aBoolConst_0, true);
makeWires(Materials.SuperconductorIV, 2380, 0L, 0L, 4L, gregtech.api.enums.GT_Values.V[5], aBoolConst_0, true);
makeWires(Materials.SuperconductorLuV, 2400, 0L, 0L, 8L, gregtech.api.enums.GT_Values.V[6], aBoolConst_0, true);
makeWires(Materials.SuperconductorZPM, 2420, 0L, 0L, 8L, gregtech.api.enums.GT_Values.V[7], aBoolConst_0, true);
+ makeWires(Materials.SuperconductorUV, 2440, 0L, 0L, 16L, gregtech.api.enums.GT_Values.V[8], aBoolConst_0, true);
if (!GT_Mod.gregtechproxy.mDisableIC2Cables) {
GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("copperCableItem", 2L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"xP", 'P', OrePrefixes.plate.get(Materials.AnyCopper)});
diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang
index 0e0a8313e4..398712b06a 100644
--- a/src/main/resources/assets/gregtech/lang/en_US.lang
+++ b/src/main/resources/assets/gregtech/lang/en_US.lang
@@ -662,6 +662,8 @@ achievement.gt.metaitem.01.32608=Electric Motor UV tier
achievement.gt.metaitem.01.32608.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32596=Electric Motor UHV tier
achievement.gt.metaitem.01.32596.desc=Pickup this item to see the recipe in NEI
+achievement.gt.metaitem.01.32595=Electric Motor UEV tier
+achievement.gt.metaitem.01.32595.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32615=Electric Pump LuV tier
achievement.gt.metaitem.01.32615.desc=Pickup this item to see the recipe in NEI
@@ -671,6 +673,8 @@ achievement.gt.metaitem.01.32617=Electric Pump UV tier
achievement.gt.metaitem.01.32617.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32618=Electric Pump UHV tier
achievement.gt.metaitem.01.32618.desc=Pickup this item to see the recipe in NEI
+achievement.gt.metaitem.01.32619=Electric Pump UEV tier
+achievement.gt.metaitem.01.32619.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32635=Conveyor Module LuV tier
achievement.gt.metaitem.01.32635.desc=Pickup this item to see the recipe in NEI
@@ -680,6 +684,8 @@ achievement.gt.metaitem.01.32637=Conveyor Module UV tier
achievement.gt.metaitem.01.32637.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32638=Conveyor Module UHV tier
achievement.gt.metaitem.01.32638.desc=Pickup this item to see the recipe in NEI
+achievement.gt.metaitem.01.32639=Conveyor Module UEV tier
+achievement.gt.metaitem.01.32639.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32645=Electric Piston LuV tier
achievement.gt.metaitem.01.32645.desc=Pickup this item to see the recipe in NEI
@@ -689,6 +695,8 @@ achievement.gt.metaitem.01.32647=Electric Piston UV tier
achievement.gt.metaitem.01.32647.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32648=Electric Piston UHV tier
achievement.gt.metaitem.01.32648.desc=Pickup this item to see the recipe in NEI
+achievement.gt.metaitem.01.32649=Electric Piston UEV tier
+achievement.gt.metaitem.01.32649.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32655=Robot Arm LuV tier
achievement.gt.metaitem.01.32655.desc=Pickup this item to see the recipe in NEI
@@ -698,6 +706,8 @@ achievement.gt.metaitem.01.32657=Robot Arm UV tier
achievement.gt.metaitem.01.32657.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32658=Robot Arm UHV tier
achievement.gt.metaitem.01.32658.desc=Pickup this item to see the recipe in NEI
+achievement.gt.metaitem.01.32659=Robot Arm UEV tier
+achievement.gt.metaitem.01.32659.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32675=Field Generator tier VI
achievement.gt.metaitem.01.32675.desc=Pickup this item to see the recipe in NEI
@@ -707,6 +717,8 @@ achievement.gt.metaitem.01.32677=Field Generator tier VIII
achievement.gt.metaitem.01.32677.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32678=Field Generator tier IX
achievement.gt.metaitem.01.32678.desc=Pickup this item to see the recipe in NEI
+achievement.gt.metaitem.01.32679=Field Generator tier X
+achievement.gt.metaitem.01.32679.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32685=Emitter LuV tier
achievement.gt.metaitem.01.32685.desc=Pickup this item to see the recipe in NEI
@@ -716,6 +728,8 @@ achievement.gt.metaitem.01.32687=Emitter UV tier
achievement.gt.metaitem.01.32687.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32688=Emitter UHV tier
achievement.gt.metaitem.01.32688.desc=Pickup this item to see the recipe in NEI
+achievement.gt.metaitem.01.32689=Emitter UEV tier
+achievement.gt.metaitem.01.32689.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32695=Sensor LuV tier
achievement.gt.metaitem.01.32695.desc=Pickup this item to see the recipe in NEI
@@ -725,6 +739,17 @@ achievement.gt.metaitem.01.32697=Sensor UV tier
achievement.gt.metaitem.01.32697.desc=Pickup this item to see the recipe in NEI
achievement.gt.metaitem.01.32698=Sensor UHV tier
achievement.gt.metaitem.01.32698.desc=Pickup this item to see the recipe in NEI
+achievement.gt.metaitem.01.32699=Sensor UEV tier
+achievement.gt.metaitem.01.32699.desc=Pickup this item to see the recipe in NEI
+
+achievement.gt.blockmachines.hatch.energy.tier.06=LuV Energy Hatch
+achievement.gt.blockmachines.hatch.energy.tier.06.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.hatch.energy.tier.07=ZPM Energy Hatch
+achievement.gt.blockmachines.hatch.energy.tier.07.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.hatch.energy.tier.08=UV Energy Hatch
+achievement.gt.blockmachines.hatch.energy.tier.08.desc=Pickup this item to see the recipe in NEI
+achievement.gt.blockmachines.hatch.energy.tier.09=UHV Energy Hatch
+achievement.gt.blockmachines.hatch.energy.tier.09.desc=Pickup this item to see the recipe in NEI
achievement.gt.blockmachines.fusioncomputer.tier.06=Fusion Computer Mark I
achievement.gt.blockmachines.fusioncomputer.tier.06.desc=Pickup this item to see the recipe in NEI
@@ -812,14 +837,48 @@ for.bees.species.peat=Peat
for.bees.species.stickyresin=Stickyresin
for.bees.species.coal=Coal
for.bees.species.oil=Oil
+for.bees.species.apatite=Apatite
+for.bees.species.ash=Ash
+for.bees.species.fertilizer=Fertilizer
+for.bees.species.coolant=Coolant
+for.bees.species.energy=Energy
+for.bees.species.pyrotheum=Pyrotheum
+for.bees.species.cryotheum=Cryotheum
+for.bees.species.lapotron=Lapotron
+for.bees.species.redalloy=Red Alloy
+for.bees.species.redstonealloy=Redstone Alloy
+for.bees.species.conductiveiron=Conductive Iron
+for.bees.species.vibrantalloy=Vibrant Alloy
+for.bees.species.energeticalloy=Energetic Alloy
+for.bees.species.electricalsteel=Electrical Steel
+for.bees.species.darksteel=Dark Steel
+for.bees.species.pulsatingiron=Pulsating Iron
+for.bees.species.stainlesssteel=Stainless Steel
+for.bees.species.enderium=Enderium
+for.bees.species.thaumiumdust=Thaumium Dust
+for.bees.species.thaumiumshard=Thaumic Shards
+for.bees.species.amber=Amber
+for.bees.species.quicksilver=Quicksilver
+for.bees.species.salismundus=Salis Mundus
+for.bees.species.tainted=Tainted
+for.bees.species.mithril=Mithril
+for.bees.species.astralsilver=Astral Silver
+for.bees.species.thauminite=Thauminite
+for.bees.species.shadowmetal=Shadow Metal
+for.bees.species.divided=Unstable
+for.bees.species.sparkeling=Wither
for.bees.species.redstone=Redstone
-for.bees.species.lapis=Lapis
for.bees.species.certus=Certus
+for.bees.species.fluix=Fluix
for.bees.species.ruby=Ruby
+for.bees.species.lapis=Lapis
for.bees.species.sapphire=Sapphire
for.bees.species.diamond=Diamond
for.bees.species.olivine=Olivine
for.bees.species.emerald=Emerald
+for.bees.species.redgarnet=Red Garnet
+for.bees.species.yellowgarnet=Yellow Garnet
+for.bees.species.firestone=Firestone
for.bees.species.copper=Copper
for.bees.species.tin=Tin
for.bees.species.lead=Lead
@@ -829,6 +888,10 @@ for.bees.species.nickel=Nickel
for.bees.species.zinc=Zinc
for.bees.species.silver=Silver
for.bees.species.gold=Gold
+for.bees.species.sulfur=Sulfur
+for.bees.species.gallium=Gallium
+for.bees.species.arsenic=Arsenic
+for.bees.species.bauxite=Bauxite
for.bees.species.aluminium=Aluminium
for.bees.species.titanium=Titanium
for.bees.species.chrome=Chrome
@@ -836,8 +899,74 @@ for.bees.species.manganese=Manganese
for.bees.species.tungsten=Tungsten
for.bees.species.platinum=Platinum
for.bees.species.iridium=Iridium
+for.bees.species.osmium=Osmium
+for.bees.species.lithium=Lithium
+for.bees.species.salty=Salt
+for.bees.species.electrotine=Electrotine
for.bees.species.uranium=Uranium
for.bees.species.plutonium=Plutonium
for.bees.species.naquadah=Naquadah
+for.bees.species.naquadria=Naquadria
+for.bees.species.dob=D-O-B
+for.bees.species.thorium=Thorium
+for.bees.species.lutetium=Lutetium
+for.bees.species.americium=Americium
+for.bees.species.neutronium=Neutronium
+for.bees.species.naga=Naga
+for.bees.species.lich=Lich
+for.bees.species.hydra=Hydra
+for.bees.species.urghast=Ur Ghast
+for.bees.species.snowqueen=Snowqueen
+for.bees.species.space=Space
+for.bees.species.meteoriciron=Meteoric Iron
+for.bees.species.desh=Desh
+for.bees.species.ledox=Ledox
+for.bees.species.callistoice=Callisto Ice
+for.bees.species.mytryl=Mytryl
+for.bees.species.quantium=Quantium
+for.bees.species.oriharukon=Oriharukon
+for.bees.species.mysteriouscrystal=Mysterious Crystal
+for.bees.species.blackplutonium=Black Plutonium
+for.bees.species.trinium=Trinium
+for.bees.species.mercury=Mercury
+for.bees.species.venus=Venus
+for.bees.species.moon=Moon
+for.bees.species.mars=Mars
+for.bees.species.phobos=Phobos
+for.bees.species.deimos=Deimos
+for.bees.species.ceres=Ceres
+for.bees.species.jupiter=Jupiter
+for.bees.species.io=Io
+for.bees.species.europa=Europa
+for.bees.species.ganymede=Ganymed
+for.bees.species.callisto=Callisto
+for.bees.species.saturn=Saturn
+for.bees.species.enceladus=Enceladus
+for.bees.species.titan=Titan
+for.bees.species.uranus=Uranus
+for.bees.species.miranda=Miranda
+for.bees.species.oberon=Oberon
+for.bees.species.neptune=Neptune
+for.bees.species.proteus=Proteus
+for.bees.species.triton=Triton
+for.bees.species.pluto=Pluto
+for.bees.species.haumea=Haume
+for.bees.species.makemake=MakeMake
+for.bees.species.centauri=Centauri
+for.bees.species.acentauri=aCentauri
+for.bees.species.tceti=TCeti
+for.bees.species.tcetie=TCetiE
+for.bees.species.barnarda=Barnarda
+for.bees.species.barnardac=BarnardaC
+for.bees.species.barnardae=BarnardaE
+for.bees.species.barnardaf=BarnardaF
+for.bees.species.vega=Vega
+for.bees.species.vegab=VegaB
+for.bees.species.cosmicneutronium=Cosmic Neutronium
+for.bees.species.infinitycatalyst=Infinity Catalyst
+for.bees.species.infinity=Infinity
+
+for.mutation.condition.biomeid=Required Biome
+for.mutation.condition.dim=Required Dimension
itemGroup.GTtools=Prebuild Tools \ No newline at end of file
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/595.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/595.png
new file mode 100644
index 0000000000..72b0694ac9
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/595.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/619.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/619.png
new file mode 100644
index 0000000000..a8396ee2c8
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/619.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/639.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/639.png
new file mode 100644
index 0000000000..170df57eba
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/639.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/649.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/649.png
new file mode 100644
index 0000000000..33902261ed
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/649.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/659.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/659.png
new file mode 100644
index 0000000000..5e010b144a
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/659.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/679.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/679.png
new file mode 100644
index 0000000000..13679b1c24
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/679.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/689.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/689.png
new file mode 100644
index 0000000000..23a5518540
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/689.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/699.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/699.png
new file mode 100644
index 0000000000..4529793d67
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/699.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/140.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/140.png
new file mode 100644
index 0000000000..693a70b544
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/140.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/141.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/141.png
new file mode 100644
index 0000000000..931c7fb4af
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/141.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/142.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/142.png
new file mode 100644
index 0000000000..70cea830a2
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/142.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/143.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/143.png
new file mode 100644
index 0000000000..f43bced983
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/143.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/144.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/144.png
new file mode 100644
index 0000000000..2b48fc9d20
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/144.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/145.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/145.png
new file mode 100644
index 0000000000..f213f83db0
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/145.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/146.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/146.png
new file mode 100644
index 0000000000..37b064afcf
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/146.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/147.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/147.png
new file mode 100644
index 0000000000..96483e97b1
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/147.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/148.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/148.png
new file mode 100644
index 0000000000..85b5d912ef
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/148.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/149.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/149.png
new file mode 100644
index 0000000000..f030991aee
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/149.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/150.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/150.png
new file mode 100644
index 0000000000..4ef851a476
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/150.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/151.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/151.png
new file mode 100644
index 0000000000..0d5a574cd5
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/151.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/152.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/152.png
new file mode 100644
index 0000000000..316c03a760
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/152.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/153.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/153.png
new file mode 100644
index 0000000000..272ced3b3c
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/153.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/160.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/160.png
new file mode 100644
index 0000000000..420c8c9b32
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/160.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/161.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/161.png
new file mode 100644
index 0000000000..15ec128741
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/161.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/162.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/162.png
new file mode 100644
index 0000000000..14ca7821d5
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/162.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/163.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/163.png
new file mode 100644
index 0000000000..45d2111075
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/163.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/164.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/164.png
new file mode 100644
index 0000000000..42732207da
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/164.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/165.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/165.png
new file mode 100644
index 0000000000..4080403ff2
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/165.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/50.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/50.png
index 0ccd45871b..df4434d72e 100644
--- a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/50.png
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/50.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/51.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/51.png
index 8a91f91e74..967943a273 100644
--- a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/51.png
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/51.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/52.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/52.png
index cf0360a77c..776233d003 100644
--- a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/52.png
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/52.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/53.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/53.png
index 4d146a95c5..95fe208307 100644
--- a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/53.png
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/53.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/58.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/58.png
index d74a351f47..91414817f8 100644
--- a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/58.png
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/58.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/59.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/59.png
index b05e1570b6..f8e9fa8b59 100644
--- a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/59.png
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/59.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/60.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/60.png
index 16640c03dc..57185d40bf 100644
--- a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/60.png
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/60.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/62.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/62.png
new file mode 100644
index 0000000000..0ccd45871b
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/62.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/63.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/63.png
new file mode 100644
index 0000000000..8a91f91e74
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/63.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/64.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/64.png
new file mode 100644
index 0000000000..cf0360a77c
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/64.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/65.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/65.png
new file mode 100644
index 0000000000..4d146a95c5
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.03/65.png
Binary files differ