aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/block/ModBlocks.java3
-rw-r--r--src/Java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java65
-rw-r--r--src/Java/gtPlusPlus/core/common/CommonProxy.java18
-rw-r--r--src/Java/gtPlusPlus/core/config/ConfigHandler.java4
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java2
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java13
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java9
-rw-r--r--src/Java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java25
-rw-r--r--src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java49
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java17
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java9
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java451
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java113
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java1107
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java5
-rw-r--r--src/Java/gtPlusPlus/core/item/food/BaseItemMetaFood.java431
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java20
-rw-r--r--src/Java/gtPlusPlus/core/item/init/ItemsFoods.java43
-rw-r--r--src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java6
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java9
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java4
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java54
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java136
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java241
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java16
-rw-r--r--src/Java/gtPlusPlus/core/recipe/common/CI.java158
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java16
-rw-r--r--src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java4
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java26
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java18
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java105
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java9
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java8
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java12
-rw-r--r--src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java41
-rw-r--r--src/Java/gtPlusPlus/core/util/sys/GeoUtils.java9
-rw-r--r--src/Java/gtPlusPlus/core/util/sys/NetworkUtils.java2
37 files changed, 2338 insertions, 920 deletions
diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java
index db9ad2264c..a8536683b5 100644
--- a/src/Java/gtPlusPlus/core/block/ModBlocks.java
+++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java
@@ -29,7 +29,6 @@ import gtPlusPlus.core.block.machine.Machine_WorkbenchAdvanced;
import gtPlusPlus.core.block.machine.bedrock.Mining_Head_Fake;
import gtPlusPlus.core.block.machine.bedrock.Mining_Pipe_Fake;
import gtPlusPlus.core.fluids.FluidRegistryHandler;
-import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaTieredCasingBlocks1;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraftforge.fluids.Fluid;
@@ -56,7 +55,9 @@ public final class ModBlocks {
public static Block blockCasings2Misc;
public static Block blockCasings3Misc;
public static Block blockCasings4Misc;
+ public static Block blockCasings5Misc;
public static Block blockCasingsTieredGTPP;
+ public static Block blockSpecialMultiCasings;
public static Block blockMetaTileEntity;
public static Block blockHeliumGenerator;
diff --git a/src/Java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java b/src/Java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java
index 06b6f14822..903730f767 100644
--- a/src/Java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java
+++ b/src/Java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java
@@ -2,15 +2,22 @@ package gtPlusPlus.core.commands;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.preloader.CORE_Preloader;
import gtPlusPlus.preloader.asm.AsmConfig;
import net.minecraft.command.ICommand;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@@ -74,8 +81,8 @@ public class CommandEnableDebugWhileRunning implements ICommand
Logger.INFO("Toggling Debug Mode.");
final EntityPlayer P = CommandUtils.getPlayer(S);
if (PlayerUtils.isPlayerOP(P)) {
- CORE.DEBUG = Utils.invertBoolean(CORE.DEBUG);
- PlayerUtils.messagePlayer(P, "Toggled GT++ Debug Mode - Enabled: "+CORE.DEBUG);
+ CORE_Preloader.DEBUG_MODE = Utils.invertBoolean(CORE_Preloader.DEBUG_MODE);
+ PlayerUtils.messagePlayer(P, "Toggled GT++ Debug Mode - Enabled: "+CORE_Preloader.DEBUG_MODE);
}
}
else if (argString[0].toLowerCase().equals("logging")) {
@@ -84,6 +91,28 @@ public class CommandEnableDebugWhileRunning implements ICommand
AsmConfig.disableAllLogging = Utils.invertBoolean(AsmConfig.disableAllLogging);
PlayerUtils.messagePlayer(P, "Toggled GT++ Logging - Enabled: "+(!AsmConfig.disableAllLogging));
}
+ /* else if (argString[0].toLowerCase().equals("test")) {
+ ItemStack mSemiFluidgen = ItemUtils.simpleMetaStack("IC2:blockGenerator", 7, 1);
+ final EntityPlayer P = CommandUtils.getPlayer(S);
+ if(mSemiFluidgen != null) {
+ PlayerUtils.messagePlayer(P, ItemUtils.getItemName(mSemiFluidgen));
+ }
+ }*/
+ else if (argString[0].toLowerCase().equals("hand")) {
+ final EntityPlayer P = CommandUtils.getPlayer(S);
+ if (P != null) {
+ ItemStack aHeldItem = PlayerUtils.getItemStackInPlayersHand(P);
+ if (aHeldItem != null) {
+ String aItemDisplayName = ItemUtils.getItemName(aHeldItem);
+ String aItemUnlocalName = ItemUtils.getUnlocalizedItemName(aHeldItem);
+ String aNbtString = tryIterateNBTData(aHeldItem);
+ PlayerUtils.messagePlayer(P, "["+aItemUnlocalName+"]"+"["+aItemDisplayName+"] "+aNbtString);
+ }
+ else {
+ PlayerUtils.messagePlayer(P, "No item held.");
+ }
+ }
+ }
else {
final EntityPlayer P = CommandUtils.getPlayer(S);
PlayerUtils.messagePlayer(P, "Invalid command, use '?' as an argument for help.'");
@@ -117,5 +146,35 @@ public class CommandEnableDebugWhileRunning implements ICommand
public boolean playerUsesCommand(final World W, final EntityPlayer P, final int cost){
return true;
}
+
+ public static String tryIterateNBTData(ItemStack aStack) {
+ try {
+ AutoMap<String> aItemDataTags = new AutoMap<String>();
+ NBTTagCompound aNBT = NBTUtils.getNBT(aStack);
+ if (aNBT != null) {
+ if (!aNBT.hasNoTags()) {
+ Map<?, ?> mInternalMap = ReflectionUtils.getField(aNBT, "tagMap");
+ if (mInternalMap != null) {
+ for (Map.Entry<?, ?> e : mInternalMap.entrySet()) {
+ aItemDataTags.add(e.getKey().toString()+":"+e.getValue());
+ }
+ int a = 0;
+ String data = "";
+ for (String tag : aItemDataTags) {
+ data += (tag+",");
+ }
+ if (data.endsWith(",")) {
+ data = data.substring(0, data.length()-2);
+ }
+ return data;
+ } else {
+ Logger.INFO("Data map reflected from NBTTagCompound was not valid.");
+ return "Bad NBT";
+ }
+ }
+ }
+ } catch (Throwable t) {}
+ return "";
+ }
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/common/CommonProxy.java b/src/Java/gtPlusPlus/core/common/CommonProxy.java
index 71a7b37cfc..0aeff5ae16 100644
--- a/src/Java/gtPlusPlus/core/common/CommonProxy.java
+++ b/src/Java/gtPlusPlus/core/common/CommonProxy.java
@@ -1,7 +1,5 @@
package gtPlusPlus.core.common;
-import static gtPlusPlus.core.lib.CORE.DEBUG;
-
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLLoadCompleteEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
@@ -49,8 +47,10 @@ import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.player.PlayerCache;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.plugin.villagers.block.BlockGenericSpawner;
+import gtPlusPlus.preloader.CORE_Preloader;
import gtPlusPlus.xmod.eio.handler.HandlerTooltip_EIO;
import gtPlusPlus.xmod.galacticraft.handler.HandlerTooltip_GC;
+import gtPlusPlus.xmod.gregtech.HANDLER_GT;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.api.util.SpecialBehaviourTooltipHandler;
import net.minecraft.enchantment.Enchantment;
@@ -80,15 +80,19 @@ public class CommonProxy {
LoadedMods.checkLoaded();
Logger.INFO("Making sure we're ready to party!");
- if (!DEBUG) {
+ if (!CORE_Preloader.DEBUG_MODE) {
Logger.WARNING("Development mode not enabled.");
- } else if (DEBUG) {
+ } else if (CORE_Preloader.DEBUG_MODE) {
Logger.INFO("Development mode enabled.");
} else {
Logger.WARNING("Development mode not set.");
}
AddToCreativeTab.initialiseTabs();
+
+ if (LoadedMods.Gregtech) {
+ HANDLER_GT.addNewOrePrefixes();
+ }
// Moved from Init after Debug Loading.
// 29/01/18 - Alkalus
@@ -110,7 +114,7 @@ public class CommonProxy {
Logger.INFO("[Proxy] Calling Render registrator.");
registerRenderThings();
- if (!mFluidsGenerated && ItemList.valueOf("Cell_Empty").hasBeenSet()) {
+ if (!mFluidsGenerated && ItemList.Cell_Empty.hasBeenSet()) {
Material.generateQueuedFluids();
mFluidsGenerated = true;
}
@@ -119,14 +123,14 @@ public class CommonProxy {
public void init(final FMLInitializationEvent e) {
// Debug Loading
- if (CORE.DEBUG) {
+ if (CORE_Preloader.DEBUG_MODE) {
DEBUG_INIT.registerHandlers();
}
registerCustomItemsForMaterials();
ModBlocks.blockCustomMobSpawner = new BlockGenericSpawner();
- if (!mFluidsGenerated && ItemList.valueOf("Cell_Empty").hasBeenSet()) {
+ if (!mFluidsGenerated && ItemList.Cell_Empty.hasBeenSet()) {
Material.generateQueuedFluids();
mFluidsGenerated = true;
} else {
diff --git a/src/Java/gtPlusPlus/core/config/ConfigHandler.java b/src/Java/gtPlusPlus/core/config/ConfigHandler.java
index 61e7045192..0760dfc2cc 100644
--- a/src/Java/gtPlusPlus/core/config/ConfigHandler.java
+++ b/src/Java/gtPlusPlus/core/config/ConfigHandler.java
@@ -22,8 +22,8 @@ public class ConfigHandler {
"Stops mod checking for updates.");
// Debug
- DEBUG = config.getBoolean("debugMode", "debug", false,
- "Enables all sorts of debug logging. (Don't use unless told to, breaks other things.)");
+ /* DEBUG = config.getBoolean("debugMode", "debug", false,
+ "Enables all sorts of debug logging. (Don't use unless told to, breaks other things.)");*/
disableEnderIOIntegration = config.getBoolean("disableEnderIO", "debug", false,
"Disables EnderIO Integration.");
disableEnderIOIngotTooltips = config.getBoolean("disableEnderIOIngotTooltips", "debug", false,
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
index d7c971e71f..21f3e1d6cd 100644
--- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
+++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
@@ -83,6 +83,7 @@ import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialTreeFarm
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialWashPlant;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialWiremill;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIronBlastFurnace;
+import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIsaMill;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechLFTR;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechLargeTurbinesAndHeatExchanger;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechMiniRaFusion;
@@ -218,6 +219,7 @@ public class COMPAT_HANDLER {
GregtechFluidReactor.run();
GregtechAlgaeContent.run();
GregtechIndustrialAlloySmelter.run();
+ GregtechIsaMill.run();
//New Horizons Content
NewHorizonsAccelerator.run();
diff --git a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
index ee6c15fa67..b3738e6ea2 100644
--- a/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/events/BlockEventHandler.java
@@ -16,17 +16,28 @@ import net.minecraft.util.ChunkCoordinates;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.world.BlockEvent;
+import net.minecraftforge.oredict.OreDictionary;
+import thaumcraft.common.lib.FakeThaumcraftPlayer;
public class BlockEventHandler {
public static ArrayList<ItemStack> oreLimestone;
public static ArrayList<ItemStack> blockLimestone;
public static ItemStack fluoriteOre;
+
+ public static void init() {
+ //Set Variables for Fluorite Block handling
+ Logger.INFO("Setting some Variables for the block break event handler.");
+ BlockEventHandler.oreLimestone = OreDictionary.getOres("oreLimestone");
+ BlockEventHandler.blockLimestone = OreDictionary.getOres("limestone");
+ BlockEventHandler.fluoriteOre = FLUORIDES.FLUORITE.getOre(1);
+ }
@SubscribeEvent
public void onBlockLeftClicked(final PlayerInteractEvent event) {
@@ -90,7 +101,7 @@ public class BlockEventHandler {
ChunkCoordinates aChunkLocation = p.getPlayerCoordinates();
// Cache Fake Player
- if (p instanceof FakePlayer
+ if (p instanceof FakePlayer || p instanceof FakeThaumcraftPlayer
|| (event.harvester.getCommandSenderName() == null
|| event.harvester.getCommandSenderName().length() <= 0)
|| (p.isEntityInvulnerable() && !p.canCommandSenderUseCommand(0, "")
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 354107147b..fd2b98c7be 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -35,11 +35,13 @@ import gtPlusPlus.core.item.chemistry.AgriculturalChem;
import gtPlusPlus.core.item.chemistry.CoalTar;
import gtPlusPlus.core.item.chemistry.GenericChem;
import gtPlusPlus.core.item.chemistry.IonParticles;
+import gtPlusPlus.core.item.chemistry.MilledOreProcessing;
import gtPlusPlus.core.item.chemistry.NuclearChem;
import gtPlusPlus.core.item.chemistry.RocketFuels;
import gtPlusPlus.core.item.chemistry.StandardBaseParticles;
import gtPlusPlus.core.item.crafting.ItemDummyResearch;
import gtPlusPlus.core.item.effects.RarityUncommon;
+import gtPlusPlus.core.item.food.BaseItemMetaFood;
import gtPlusPlus.core.item.general.BaseItemGrindle;
import gtPlusPlus.core.item.general.BufferCore;
import gtPlusPlus.core.item.general.ItemAirFilter;
@@ -94,6 +96,7 @@ import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.everglades.GTplusplus_Everglades;
+import gtPlusPlus.preloader.CORE_Preloader;
import gtPlusPlus.xmod.cofh.HANDLER_COFH;
import gtPlusPlus.xmod.eio.material.MaterialEIO;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems;
@@ -367,6 +370,8 @@ public final class ModItems {
public static CoreItem itemExquisiteIndustrialDiamond;
+ public static BaseItemMetaFood itemMetaFood;
+
static {
Logger.INFO("Items!");
//Default item used when recipes fail, handy for debugging. Let's make sure they exist when this class is called upon.
@@ -384,7 +389,7 @@ public final class ModItems {
itemDummyResearch = new ItemDummyResearch();
//Debug Loading
- if (CORE.DEBUG){
+ if (CORE_Preloader.DEBUG_MODE){
DEBUG_INIT.registerItems();
}
@@ -996,6 +1001,8 @@ public final class ModItems {
//General Chemistry
new GenericChem();
+ // Milled Ore Processing
+ new MilledOreProcessing();
//Bombs
itemBombCasing = new CoreItem("itemBombCasing", "Bomb Casing", tabMisc);
diff --git a/src/Java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java b/src/Java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java
new file mode 100644
index 0000000000..4edf4ae75d
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java
@@ -0,0 +1,25 @@
+package gtPlusPlus.core.item.base.ore;
+
+import gregtech.api.enums.Materials;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import net.minecraft.item.Item;
+
+public class BaseItemMilledOre extends BaseOreComponent{
+
+ public BaseItemMilledOre(final Material material, int aMaterialEU) {
+ super(material, BaseOreComponent.ComponentTypes.MILLED);
+ CORE.RA.addMillingRecipe(material, aMaterialEU);
+ }
+
+ public static Item generate(Materials aMat, int aMaterialEU) {
+ return generate(MaterialUtils.generateMaterialFromGtENUM(aMat), aMaterialEU);
+ }
+
+ public static Item generate(Material aMat, int aMaterialEU) {
+ return new BaseItemMilledOre(aMat, aMaterialEU);
+ }
+
+
+}
diff --git a/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java b/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
index c5b7191ddd..356fdac24e 100644
--- a/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
+++ b/src/Java/gtPlusPlus/core/item/base/ore/BaseOreComponent.java
@@ -18,6 +18,7 @@ import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.EntityUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.CustomOrePrefix;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
@@ -48,7 +49,6 @@ public class BaseOreComponent extends Item{
this.setCreativeTab(AddToCreativeTab.tabMisc);
this.setUnlocalizedName(this.unlocalName);
this.setMaxStackSize(64);
- //this.setTextureName(this.getCorrectTextures());
this.componentColour = material.getRgbAsHex();
GameRegistry.registerItem(this, this.unlocalName);
registerComponent();
@@ -59,9 +59,9 @@ public class BaseOreComponent extends Item{
//ThaumcraftUtils.addAspectToItem(ItemUtils.getSimpleStack(this), TC_Aspect_Wrapper.generate(TC_Aspects.RADIO.mAspect), componentMaterial.vRadiationLevel);
}
}
-
+
}
-
+
public boolean registerComponent() {
Logger.MATERIALS("Attempting to register "+this.getUnlocalizedName()+".");
if (this.componentMaterial == null) {
@@ -92,7 +92,10 @@ public class BaseOreComponent extends Item{
else if (componentType == ComponentTypes.DUSTPURE) {
aKey = OrePrefixes.dustPure.name();
}
-
+ else if (componentType == ComponentTypes.MILLED) {
+ aKey = CustomOrePrefix.milled.get().name();
+ }
+
ItemStack x = aMap.get(aKey);
if (x == null) {
aMap.put(aKey, ItemUtils.getSimpleStack(this));
@@ -107,13 +110,6 @@ public class BaseOreComponent extends Item{
}
}
- public String getCorrectTextures(){
- if (!CORE.ConfigSwitches.useGregtechTextures){
- return CORE.MODID + ":" + "item"+this.componentType.COMPONENT_NAME;
- }
- return "gregtech" + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME;
- }
-
/*@Override
public String getItemStackDisplayName(final ItemStack p_77653_1_) {
return (this.componentType.getPrefix()+this.componentMaterial.getLocalizedName()+this.componentType.DISPLAY_NAME);
@@ -181,7 +177,13 @@ public class BaseOreComponent extends Item{
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(final IIconRegister par1IconRegister){
- if (CORE.ConfigSwitches.useGregtechTextures){
+ if (this.componentType == ComponentTypes.MILLED) {
+ this.base = par1IconRegister.registerIcon(CORE.MODID + ":" + "processing/MilledOre/"+this.componentType.getComponent());
+ if (this.componentType.hasOverlay()){
+ this.overlay = par1IconRegister.registerIcon(CORE.MODID + ":" + "processing/MilledOre/"+this.componentType.getComponent()+"_Overlay");
+ }
+ }
+ else if (CORE.ConfigSwitches.useGregtechTextures){
//Logger.MATERIALS(this.componentType.getPrefix()+this.componentMaterial.getLocalizedName()+this.componentType.DISPLAY_NAME+" is using `"+"gregtech" + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME+"' as the layer 0 texture path.");
this.base = par1IconRegister.registerIcon("gregtech" + ":" + "materialicons/METALLIC/" + this.componentType.COMPONENT_NAME);
if (this.componentType.hasOverlay()){
@@ -199,13 +201,21 @@ public class BaseOreComponent extends Item{
@Override
public int getColorFromItemStack(final ItemStack stack, final int renderPass) {
- if (renderPass == 0 && !CORE.ConfigSwitches.useGregtechTextures){
+ if (this.componentType == ComponentTypes.MILLED) {
+ if (renderPass == 1){
+ return Utils.rgbtoHexValue(230, 230, 230);
+ }
return this.componentColour;
}
- if (renderPass == 1 && CORE.ConfigSwitches.useGregtechTextures){
- return Utils.rgbtoHexValue(230, 230, 230);
- }
- return this.componentColour;
+ else {
+ if (renderPass == 0 && !CORE.ConfigSwitches.useGregtechTextures){
+ return this.componentColour;
+ }
+ if (renderPass == 1 && CORE.ConfigSwitches.useGregtechTextures){
+ return Utils.rgbtoHexValue(230, 230, 230);
+ }
+ return this.componentColour;
+ }
}
@@ -226,7 +236,8 @@ public class BaseOreComponent extends Item{
DUSTPURE("dustPure", "Purified ", " Dust", true),
CRUSHED("crushed", "Crushed ", " Ore", true),
CRUSHEDCENTRIFUGED("crushedCentrifuged", "Centrifuged Crushed "," Ore", true),
- CRUSHEDPURIFIED("crushedPurified", "Purified Crushed ", " Ore", true);
+ CRUSHEDPURIFIED("crushedPurified", "Purified Crushed ", " Ore", true),
+ MILLED("milled", "Milled ", " Ore", true);
private String COMPONENT_NAME;
private String PREFIX;
@@ -252,7 +263,7 @@ public class BaseOreComponent extends Item{
public boolean hasOverlay(){
return this.HAS_OVERLAY;
}
-
+
public String getPrefix(){
return this.PREFIX;
}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java b/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
index 0e23e9a845..3f02ca898d 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java
@@ -12,6 +12,7 @@ import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.minecraft.ItemPackage;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
@@ -556,6 +557,22 @@ public class AgriculturalChem extends ItemPackage {
CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(ManureSlurry, 1000), 24);
CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(FertileManureSlurry, 1000), 32);
+ // Red Slurry / Tailings Processing
+ GT_Values.RA.addCentrifugeRecipe(
+ CI.getNumberedBioCircuit(10),
+ GT_Values.NI,
+ FluidUtils.getFluidStack(AgriculturalChem.RedMud, 1000),
+ FluidUtils.getWater(500),
+ ELEMENT.getInstance().IRON.getSmallDust(1),
+ ELEMENT.getInstance().COPPER.getSmallDust(1),
+ ELEMENT.getInstance().TIN.getSmallDust(1),
+ ELEMENT.getInstance().SULFUR.getSmallDust(1),
+ ELEMENT.getInstance().NICKEL.getTinyDust(1),
+ ELEMENT.getInstance().LEAD.getTinyDust(1),
+ new int[] { 3000, 3000, 2000, 2000, 1000, 1000 },
+ 30 * 20,
+ 30);
+
}
@Override
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
index 981bfed479..37428b18d6 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
@@ -189,20 +189,20 @@ public class CoalTar extends ItemPackage {
GT_Values.RA.addDistilleryRecipe(
CI.getNumberedCircuit(5), //Circuit
FluidUtils.getFluidStack("fluid.coaltar", 1500), //aInput
- FluidUtils.getFluidStack("fluid.kerosene", 400), //aOutput
+ FluidUtils.getFluidStack("fluid.kerosene", 600), //aOutput
300, //aDuration
64,//aEUt
false //Hidden?
);
GT_Values.RA.addDistillationTowerRecipe(
- FluidUtils.getFluidStack("fluid.coaltar", 1000),
+ FluidUtils.getFluidStack("fluid.coaltar", 1200),
new FluidStack[]{
FluidUtils.getFluidStack("fluid.coaltaroil", 500), //aOutput
FluidUtils.getFluidStack("liquid_naphtha", 100), //aOutput
FluidUtils.getFluidStack("fluid.ethylbenzene", 150), //aOutput
FluidUtils.getFluidStack("fluid.anthracene", 50), //aOutput
- FluidUtils.getFluidStack("fluid.kerosene", 200), //aOutput
+ FluidUtils.getFluidStack("fluid.kerosene", 400), //aOutput
},
null,
900,
@@ -314,9 +314,6 @@ public class CoalTar extends ItemPackage {
@Override
public void fluids() {
-
- //Special Compatibility for Coke
- ItemUtils.addItemToOreDictionary(ItemUtils.getSimpleStack(ModItems.itemCoalCoke, 1), "fuelCoke");
//Create Coal Gas
Coal_Gas = FluidUtils.generateFluidNonMolten("CoalGas", "Coal Gas", 500, new short[]{48, 48, 48, 100}, null, null);
//Ethanol
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
index 49d3303688..ff55326031 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
@@ -1,12 +1,15 @@
package gtPlusPlus.core.item.chemistry;
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.TextureSet;
-import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.minecraft.ItemPackage;
import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.MISC_MATERIALS;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.MaterialStack;
@@ -16,8 +19,9 @@ import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
-import gtPlusPlus.plugin.agrichem.item.algae.ItemAgrichemBase;
-import net.minecraft.block.Block;
+import gtPlusPlus.plugin.agrichem.BioRecipes;
+import gtPlusPlus.plugin.agrichem.block.AgrichemFluids;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -28,14 +32,21 @@ import net.minecraftforge.fluids.FluidStack;
public class GenericChem extends ItemPackage {
/**
+ * Switches
+ */
+
+ private static boolean usingGregtechNitricOxide = false;
+ private static boolean usingGregtechNitrogenDioxide = false;
+
+ /**
* Materials
*/
-
+
public static final Material BAKELITE = new Material("Bakelite", MaterialState.SOLID, TextureSet.SET_DULL, new short[]{90, 140, 140}, 120, 240, 23, 24, true, null, 0);//Not a GT Inherited Material
public static final Material NYLON = new Material("Nylon", MaterialState.SOLID, TextureSet.SET_SHINY, new short[]{45, 45, 45}, 300, 600, 44, 48, true, null, 0);//Not a GT Inherited Material
public static final Material CARBYNE = new Material("Carbyne", MaterialState.SOLID, TextureSet.SET_DULL, new short[]{25, 25, 25}, 2500, 5000, 63, 52, true, null, 0);//Not a GT Inherited Material
-
-
+
+
//Refined PTFE
public static final Material TEFLON = new Material(
"Teflon",
@@ -52,34 +63,37 @@ public class GenericChem extends ItemPackage {
new MaterialStack(NONMATERIAL.PLASTIC, 15),
new MaterialStack(ELEMENT.getInstance().CARBON, 5),
new MaterialStack(ELEMENT.getInstance().SODIUM, 5)
- });// Not a GT
- // Inherited
- // Material
+ });// Not a GT
+ // Inherited
+ // Material
//public static final Material HYPOGEN = new Material("Hypogen", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{220, 120, 75}, 12255, 19377, 240, 251, true, "Hy⚶", 0);//Not a GT Inherited Material
//public static final Material HYPOGEN = new Material("Hypogen", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{220, 120, 75}, 12255, 19377, 240, 251, true, "Hy⚶", 0);//Not a GT Inherited Material
//public static final Material Nylon = new Material();
-
+
/**
* Fluids
*/
- public Fluid Benzene;
- public Fluid NitroBenzene;
- public Fluid Aniline;
- public Fluid Polyurethane;
- public Fluid Phenol; //https://en.wikipedia.org/wiki/Phenol#Uses
- public Fluid Cyclohexane; //https://en.wikipedia.org/wiki/Cyclohexane
- public Fluid Cyclohexanone; //https://en.wikipedia.org/wiki/Cyclohexanone
-
- public Fluid Cadaverine; //https://en.wikipedia.org/wiki/Cadaverine
- public Fluid Putrescine; //https://en.wikipedia.org/wiki/Putrescine
-
+ public static Fluid Benzene;
+ public static Fluid NitroBenzene;
+ public static Fluid Aniline;
+ public static Fluid Polyurethane;
+ public static Fluid Phenol; //https://en.wikipedia.org/wiki/Phenol#Uses
+ public static Fluid Cyclohexane; //https://en.wikipedia.org/wiki/Cyclohexane
+ public static Fluid Cyclohexanone; //https://en.wikipedia.org/wiki/Cyclohexanone
+ public static Fluid Cadaverine; //https://en.wikipedia.org/wiki/Cadaverine
+ public static Fluid Putrescine; //https://en.wikipedia.org/wiki/Putrescine
+ public static Fluid BoricAcid;
+ public static Fluid HydrochloricAcid;
+
public static Fluid Ethylanthraquinone2;
public static Fluid Ethylanthrahydroquinone2;
public static Fluid Hydrogen_Peroxide;
public static Fluid Lithium_Peroxide;
+ public static Fluid Nitric_Oxide;
+ public static Fluid Nitrogen_Dioxide;
/**
* Items
@@ -89,6 +103,19 @@ public class GenericChem extends ItemPackage {
public Item PhenolicResins; //https://en.wikipedia.org/wiki/Phenol_formaldehyde_resin
public static ItemGenericChemBase mGenericChemItem1;
+ private ItemStack mCatalystCarrier;
+
+ public static ItemStack mRedCatalyst;
+ public static ItemStack mYellowCatalyst;
+ public static ItemStack mBlueCatalyst;
+ public static ItemStack mOrangeCatalyst;
+ public static ItemStack mPurpleCatalyst;
+ public static ItemStack mBrownCatalyst;
+ public static ItemStack mPinkCatalyst;
+
+ public static ItemStack mMillingBallAlumina;
+ public static ItemStack mMillingBallSoapstone;
+
@Override
@@ -99,26 +126,20 @@ public class GenericChem extends ItemPackage {
MaterialGenerator.generate(TEFLON, false);
mGenericChemItem1 = new ItemGenericChemBase();
-
+
registerItemStacks();
registerOreDict();
+
+ GregtechItemList.Milling_Ball_Alumina.set(mMillingBallAlumina);
+ GregtechItemList.Milling_Ball_Soapstone.set(mMillingBallSoapstone);
+
}
- private ItemStack mCatalystCarrier;
-
- public static ItemStack mRedCatalyst;
- public static ItemStack mYellowCatalyst;
- public static ItemStack mBlueCatalyst;
- public static ItemStack mOrangeCatalyst;
- public static ItemStack mPurpleCatalyst;
- public static ItemStack mBrownCatalyst;
- public static ItemStack mPinkCatalyst;
-
-
+
public void registerItemStacks() {
mCatalystCarrier = ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 13, 1);
-
+
mRedCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 0, 1);
mYellowCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 1, 1);
mBlueCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 2, 1);
@@ -126,9 +147,11 @@ public class GenericChem extends ItemPackage {
mPurpleCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 4, 1);
mBrownCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 5, 1);
mPinkCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 6, 1);
-
+ mMillingBallAlumina = ItemUtils.simpleMetaStack(mGenericChemItem1, 7, 1);
+ mMillingBallSoapstone = ItemUtils.simpleMetaStack(mGenericChemItem1, 8, 1);
+
}
-
+
public void registerOreDict() {
ItemUtils.addItemToOreDictionary(mRedCatalyst, "catalystIronCopper");
@@ -138,7 +161,9 @@ public class GenericChem extends ItemPackage {
ItemUtils.addItemToOreDictionary(mPurpleCatalyst, "catalystIridiumRuthenium");
ItemUtils.addItemToOreDictionary(mBrownCatalyst, "catalystNickelAluminium");
ItemUtils.addItemToOreDictionary(mPinkCatalyst, "catalystPlatinumRhodium");
-
+ ItemUtils.addItemToOreDictionary(mMillingBallAlumina, "millingballAlumina");
+ ItemUtils.addItemToOreDictionary(mMillingBallSoapstone, "millingballSoapstone");
+
}
@Override
@@ -146,33 +171,43 @@ public class GenericChem extends ItemPackage {
@Override
public void fluids() {
-
+
if (!FluidRegistry.isFluidRegistered("benzene")) {
Benzene = FluidUtils.generateFluidNoPrefix("benzene", "Benzene", 278, new short[] { 100, 70, 30, 100 }, true);
}
else {
Benzene = FluidRegistry.getFluid("benzene");
}
-
+
NitroBenzene = FluidUtils.generateFluidNoPrefix("nitrobenzene", "NitroBenzene", 278, new short[] { 70, 50, 40, 100 }, true);
-
+
Aniline = FluidUtils.generateFluidNoPrefix("aniline", "Aniline", 266, new short[] { 100, 100, 30, 100 }, true);
-
+
+ BoricAcid = FluidUtils.generateFluidNoPrefix("boricacid", "Boric Acid", 278, new short[] { 90, 30, 120, 100 }, true);
+
Polyurethane = FluidUtils.generateFluidNoPrefix("polyurethane", "Polyurethane", 350, new short[] { 100, 70, 100, 100 }, true);
-
+
if (!FluidRegistry.isFluidRegistered("phenol")) {
Phenol = FluidUtils.generateFluidNoPrefix("phenol", "Phenol", 313, new short[] { 100, 70, 30, 100 }, true);
}
else {
Phenol = FluidRegistry.getFluid("phenol");
- }
-
+ }
+
+ // Use GT's if it exists, else make our own.
+ if (FluidRegistry.isFluidRegistered("hydrochloricacid_gt5u")) {
+ HydrochloricAcid = FluidRegistry.getFluid("hydrochloricacid_gt5u");
+ }
+ else {
+ HydrochloricAcid = FluidUtils.generateFluidNoPrefix("hydrochloricacid", "Hydrochloric Acid", 285, new short[] { 183, 200, 196, 100 }, true);
+ }
+
Cyclohexane = FluidUtils.generateFluidNoPrefix("cyclohexane", "Cyclohexane", 32 + 175, new short[] { 100, 70, 30, 100 }, true);
Cyclohexanone = FluidUtils.generateFluidNoPrefix("cyclohexanone", "Cyclohexanone", 32 + 175, new short[] { 100, 70, 30, 100 }, true);
-
+
Cadaverine = FluidUtils.generateFluidNoPrefix("cadaverine", "Cadaverine", 32 + 175, new short[] { 100, 70, 30, 100 }, true);
Putrescine = FluidUtils.generateFluidNoPrefix("putrescine", "Putrescine", 32 + 175, new short[] { 100, 70, 30, 100 }, true);
-
+
//Create 2-Ethylanthraquinone
//2-Ethylanthraquinone is prepared from the reaction of phthalic anhydride and ethylbenzene
Ethylanthraquinone2 = FluidUtils.generateFluidNonMolten("2Ethylanthraquinone", "2-Ethylanthraquinone", 415, new short[]{227, 255, 159, 100}, null, null);
@@ -183,6 +218,21 @@ public class GenericChem extends ItemPackage {
//Compressed Air(1500) + Ethylanthrahydroquinone(500) + Anthracene(5) = 450 Ethylanthraquinone && 200 Peroxide
Hydrogen_Peroxide = FluidUtils.generateFluidNonMolten("HydrogenPeroxide", "Hydrogen Peroxide", 150, new short[]{210, 255, 255, 100}, null, null);
+ if (FluidRegistry.isFluidRegistered("nitricoxide")) {
+ Nitric_Oxide = FluidRegistry.getFluid("nitricoxide");
+ usingGregtechNitricOxide = true;
+ }
+ else {
+ Nitric_Oxide = FluidUtils.generateFluidNoPrefix("nitricoxide", "Nitric Oxide", 200, new short[] {125, 200, 240, 100});
+ }
+ if (FluidRegistry.isFluidRegistered("nitrogendioxide")) {
+ Nitrogen_Dioxide = FluidRegistry.getFluid("nitrogendioxide");
+ usingGregtechNitrogenDioxide = true;
+ }
+ else {
+ Nitrogen_Dioxide = FluidUtils.generateFluidNoPrefix("nitrogendioxide", "Nitrogen Dioxide", 200, new short[] {100, 175, 255, 100});
+ }
+
//Lithium Hydroperoxide - LiOH + H2O2 → LiOOH + 2 H2O
@@ -191,8 +241,8 @@ public class GenericChem extends ItemPackage {
//Lithium Peroxide - 2 LiOOH → Li2O2 + H2O2 + 2 H2O
Lithium_Peroxide = FluidUtils.generateFluidNonMolten("LithiumPeroxide", "Lithium Peroxide", 446, new short[]{135, 135, 135, 100}, null, null);
-
-
+
+
}
@Override
@@ -202,7 +252,7 @@ public class GenericChem extends ItemPackage {
@Override
public boolean generateRecipes() {
-
+
recipeCatalystRed();
recipeCatalystYellow();
recipeCatalystBlue();
@@ -210,24 +260,165 @@ public class GenericChem extends ItemPackage {
recipeCatalystPurple();
recipeCatalystBrown();
recipeCatalystPink();
-
+
+ recipeGrindingBallAlumina();
+ recipeGrindingBallSoapstone();
+
recipeNitroBenzene();
recipeAniline();
recipeCadaverineAndPutrescine();
recipeCyclohexane();
recipeCyclohexanone();
-
+
recipe2Ethylanthraquinone();
recipe2Ethylanthrahydroquinone();
recipeHydrogenPeroxide();
recipeLithiumHydroperoxide();
- recipeLithiumPeroxide();
-
+ recipeLithiumPeroxide();
+ if (!usingGregtechNitricOxide) {
+ recipeNitricOxide();
+ }
+ if (!usingGregtechNitrogenDioxide) {
+ recipeNitrogenDioxide();
+ }
+
+ // Add recipes if we are not using GT's fluid.
+ if (!FluidRegistry.isFluidRegistered("hydrochloricacid_gt5u")) {
+ recipeHydrochloricAcid();
+ }
+ registerFuels();
+
return true;
+ }
+
+
+ private static void registerFuels() {
+
+ // Burnables
+
+ // Gas Fuels
+ GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellNitroBenzene", 1), null, 1250, 1);
+
+ }
+
+ private void recipeGrindingBallAlumina() {
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ CI.getNumberedCircuit(10),
+ ItemUtils.getSimpleStack(AgriculturalChem.mAlumina, 64)
+ },
+ FluidUtils.getFluidStack(GenericChem.Aniline, 4000),
+ ItemUtils.getSimpleStack(mMillingBallAlumina, 8),
+ 180 * 20,
+ 480);
+ }
+ private void recipeGrindingBallSoapstone() {
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ CI.getNumberedCircuit(10),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSoapstone", 32)
+ },
+ FluidUtils.getFluidStack(AgrichemFluids.mLiquidResin, 2500),
+ ItemUtils.getSimpleStack(mMillingBallSoapstone, 8),
+ 120 * 20,
+ 480);
+ }
+
+ private void recipeNitrogenDioxide() {
+ ItemStack aNitricOxideCell = ItemUtils.getItemStackOfAmountFromOreDict("cellNitricOxide", 1);
+ ItemStack aNitrogenDioxideCell = ItemUtils.getItemStackOfAmountFromOreDict("cellNitrogenDioxide", 1);
+ GT_Values.RA.addChemicalRecipe( ItemUtils.getSimpleStack(aNitricOxideCell, 2), GT_Utility.getIntegratedCircuit(1), ELEMENT.getInstance().OXYGEN.getFluid(1000), FluidUtils.getFluidStack(Nitrogen_Dioxide, 3000), CI.emptyCells(2), 160);
+ GT_Values.RA.addChemicalRecipe( ELEMENT.getInstance().OXYGEN.getCell(1), GT_Utility.getIntegratedCircuit(1), FluidUtils.getFluidStack(Nitric_Oxide, 2000), FluidUtils.getFluidStack(Nitrogen_Dioxide, 3000), CI.emptyCells(1), 160);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(ItemUtils.getSimpleStack(aNitricOxideCell, 2), CI.emptyCells(1), ELEMENT.getInstance().OXYGEN.getFluid(1000), GT_Values.NF, ItemUtils.getSimpleStack(aNitrogenDioxideCell, 3), GT_Values.NI, 160, 30);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(ELEMENT.getInstance().OXYGEN.getCell(1), CI.emptyCells(2), FluidUtils.getFluidStack(Nitric_Oxide, 2000), GT_Values.NF, ItemUtils.getSimpleStack(aNitrogenDioxideCell, 3), GT_Values.NI, 160, 30);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(ItemUtils.getSimpleStack(aNitricOxideCell, 2), ELEMENT.getInstance().OXYGEN.getCell(1), GT_Values.NF, GT_Values.NF, ItemUtils.getSimpleStack(aNitrogenDioxideCell, 3), GT_Values.NI, 160, 30);
+ }
+
+
+ private void recipeNitricOxide() {
+ ItemStack aWaterCell = ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 1);
+ ItemStack aNitricOxideCell = ItemUtils.getItemStackOfAmountFromOreDict("cellNitricOxide", 1);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(MISC_MATERIALS.AMMONIA.getCell(8), CI.emptyCells(1), ELEMENT.getInstance().OXYGEN.getFluid(5000), FluidUtils.getFluidStack(Nitric_Oxide, 4000), ItemUtils.getSimpleStack(aWaterCell, 9), GT_Values.NI, 160, 30);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(ELEMENT.getInstance().OXYGEN.getCell(5), CI.emptyCells(4), MISC_MATERIALS.AMMONIA.getFluid(8000), FluidUtils.getFluidStack(Nitric_Oxide, 4000), ItemUtils.getSimpleStack(aWaterCell, 9), GT_Values.NI, 160, 30);
+ GT_Values.RA.addChemicalRecipe( MISC_MATERIALS.AMMONIA.getCell(8), GT_Utility.getIntegratedCircuit(11), ELEMENT.getInstance().OXYGEN.getFluid(5000), FluidUtils.getWater(9000), ItemUtils.getSimpleStack(aNitricOxideCell, 4), CI.emptyCells(4), 160);
+ GT_Values.RA.addChemicalRecipe( ELEMENT.getInstance().OXYGEN.getCell(5), GT_Utility.getIntegratedCircuit(11), MISC_MATERIALS.AMMONIA.getFluid(8000), FluidUtils.getWater(9000), ItemUtils.getSimpleStack(aNitricOxideCell, 4), CI.emptyCells(1), 160);
+ GT_Values.RA.addChemicalRecipe( MISC_MATERIALS.AMMONIA.getCell(8), GT_Utility.getIntegratedCircuit(2), ELEMENT.getInstance().OXYGEN.getFluid(5000), FluidUtils.getFluidStack(Nitric_Oxide, 4000), CI.emptyCells(8), 320);
+ GT_Values.RA.addChemicalRecipe( ELEMENT.getInstance().OXYGEN.getCell(5), GT_Utility.getIntegratedCircuit(2), MISC_MATERIALS.AMMONIA.getFluid(8000), FluidUtils.getFluidStack(Nitric_Oxide, 4000), CI.emptyCells(5), 320);
+ GT_Values.RA.addChemicalRecipe( MISC_MATERIALS.AMMONIA.getCell(8), GT_Utility.getIntegratedCircuit(12), ELEMENT.getInstance().OXYGEN.getFluid(5000), GT_Values.NF, ItemUtils.getSimpleStack(aNitricOxideCell, 4), CI.emptyCells(4), 160);
+ GT_Values.RA.addChemicalRecipe( ELEMENT.getInstance().OXYGEN.getCell(5), GT_Utility.getIntegratedCircuit(12), MISC_MATERIALS.AMMONIA.getFluid(8000), GT_Values.NF, ItemUtils.getSimpleStack(aNitricOxideCell, 4), CI.emptyCells(1), 160);
+ GT_Values.RA.addChemicalRecipeForBasicMachineOnly(MISC_MATERIALS.AMMONIA.getCell(8), ELEMENT.getInstance().OXYGEN.getCell(5), GT_Values.NF, GT_Values.NF, ItemUtils.getSimpleStack(aNitricOxideCell, 4), ItemUtils.getSimpleStack(aWaterCell, 9), 160, 30);
+ GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(1)}, new FluidStack[]{MISC_MATERIALS.AMMONIA.getFluid(8000), ELEMENT.getInstance().OXYGEN.getFluid(5000)}, new FluidStack[]{FluidUtils.getFluidStack(Nitric_Oxide, 4000), FluidUtils.getWater(9000)}, null, 160, 30);
+ }
+
+
+ private void recipeHydrochloricAcid() {
+
+ ItemStack aAcidCell = ItemUtils.getItemStackOfAmountFromOreDict("cellHydrochloricAcid", 1);
+
+ CORE.RA.addChemicalRecipe(
+ ELEMENT.getInstance().CHLORINE.getCell(1),
+ GT_Utility.getIntegratedCircuit(1),
+ ELEMENT.getInstance().HYDROGEN.getFluid(1000),
+ FluidUtils.getFluidStack(HydrochloricAcid, 2000),
+ CI.emptyCells(1),
+ 60,
+ 8);
+
+ CORE.RA.addChemicalRecipe(
+ ELEMENT.getInstance().HYDROGEN.getCell(1),
+ GT_Utility.getIntegratedCircuit(1),
+ ELEMENT.getInstance().CHLORINE.getFluid(1000),
+ FluidUtils.getFluidStack(HydrochloricAcid, 2000),
+ CI.emptyCells(1),
+ 60,
+ 8);
+
+ GT_Values.RA.addElectrolyzerRecipe(
+ CI.emptyCells(1),
+ GT_Utility.getIntegratedCircuit(1),
+ FluidUtils.getFluidStack(HydrochloricAcid, 2000),
+ ELEMENT.getInstance().CHLORINE.getFluid(1000),
+ ELEMENT.getInstance().HYDROGEN.getCell(1),
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ null,
+ 720,
+ 30);
+
+ GT_Values.RA.addElectrolyzerRecipe(
+ CI.emptyCells(1),
+ GT_Utility.getIntegratedCircuit(11),
+ FluidUtils.getFluidStack(HydrochloricAcid, 2000),
+ ELEMENT.getInstance().HYDROGEN.getFluid(1000),
+ ELEMENT.getInstance().CHLORINE.getCell(1),
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ null,
+ 720,
+ 30);
+
+ GT_Values.RA.addElectrolyzerRecipe(
+ ItemUtils.getSimpleStack(aAcidCell, 2),
+ GT_Values.NI,
+ GT_Values.NF,
+ GT_Values.NF,
+ ELEMENT.getInstance().HYDROGEN.getCell(1),
+ ELEMENT.getInstance().CHLORINE.getCell(1),
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ GT_Values.NI,
+ null,
+ 720,
+ 30);
}
private void recipeCyclohexane() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierTwoChip(),
@@ -238,7 +429,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("hydrogen", 10000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Cyclohexane, 1000),
@@ -246,11 +437,11 @@ public class GenericChem extends ItemPackage {
20 * 120,
120,
2);
-
+
}
private void recipeCyclohexanone() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierTwoChip(),
@@ -261,7 +452,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("air", 10000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Cyclohexanone, 2000),
@@ -269,7 +460,7 @@ public class GenericChem extends ItemPackage {
20 * 120,
120,
2);
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierTwoChip(),
@@ -279,7 +470,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("oxygen", 5000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Cyclohexanone, 2000),
@@ -287,10 +478,10 @@ public class GenericChem extends ItemPackage {
20 * 120,
120,
2);
-
-
-
-
+
+
+
+
}
private void recipeCatalystRed() {
@@ -305,7 +496,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mRedCatalyst, 10),
20 * 20,
30);
-
+
}
private void recipeCatalystYellow() {
@@ -320,7 +511,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mYellowCatalyst, 10),
60 * 20,
2000);
-
+
}
private void recipeCatalystBlue() {
@@ -335,7 +526,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mBlueCatalyst, 10),
40 * 20,
500);
-
+
}
private void recipeCatalystOrange() {
@@ -350,7 +541,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mOrangeCatalyst, 10),
40 * 20,
500);
-
+
}
private void recipeCatalystPurple() {
@@ -365,7 +556,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mPurpleCatalyst, 10),
120 * 20,
8000);
-
+
}
private void recipeCatalystBrown() {
@@ -380,7 +571,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mBrownCatalyst, 10),
15 * 20,
30);
-
+
}
private void recipeCatalystPink() {
@@ -395,11 +586,11 @@ public class GenericChem extends ItemPackage {
ItemUtils.getSimpleStack(mPinkCatalyst, 10),
30 * 20,
2000);
-
+
}
private void recipeCadaverineAndPutrescine() {
-
+
// Basic Recipe
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
@@ -410,7 +601,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getHotWater(2000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Cadaverine, 250),
@@ -431,7 +622,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getHotWater(3000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Cadaverine, 750),
@@ -440,11 +631,11 @@ public class GenericChem extends ItemPackage {
20 * 120,
240,
2);
-
+
}
private void recipeAniline() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierThreeChip(),
@@ -455,7 +646,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("hydrogen", 10000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Aniline, 2000),
@@ -463,11 +654,11 @@ public class GenericChem extends ItemPackage {
20 * 30,
500,
3);
-
+
}
private void recipeNitroBenzene() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierThreeChip(),
@@ -479,7 +670,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getDistilledWater(10000)
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack("dilutedsulfuricacid", 3000),
@@ -488,11 +679,11 @@ public class GenericChem extends ItemPackage {
20 * 30,
500,
3);
-
+
}
private void recipe2Ethylanthraquinone() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
@@ -502,7 +693,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack(CoalTar.Ethylbenzene, 2000),
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Ethylanthraquinone2, 2000+(144*4)),
@@ -510,7 +701,7 @@ public class GenericChem extends ItemPackage {
20 * 15,
120,
1);
-
+
/*GT_Values.RA.addChemicalRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 4),
ItemUtils.getItemStackOfAmountFromOreDict("cellEthylbenzene", 2),
@@ -518,11 +709,11 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("fluid.2ethylanthraquinone", 2000+(144*4)),
ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2),
20*16);*/
-
+
}
private void recipe2Ethylanthrahydroquinone() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
@@ -533,7 +724,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("hydrogen", 2000),
},
new ItemStack[] {
-
+
},
new FluidStack[] {
FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 5000),
@@ -541,7 +732,7 @@ public class GenericChem extends ItemPackage {
20 * 40,
120,
1);
-
+
/*GT_Values.RA.addChemicalRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("platePalladium", 0),
ItemUtils.getItemStackOfAmountFromOreDict("cell2Ethylanthraquinone", 1),
@@ -549,7 +740,7 @@ public class GenericChem extends ItemPackage {
FluidUtils.getFluidStack("fluid.2ethylanthrahydroquinone", 1200),
ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1),
20*40);*/
-
+
}
private void recipeLithiumPeroxide() {
@@ -571,7 +762,7 @@ public class GenericChem extends ItemPackage {
}
private void recipeLithiumHydroperoxide() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
@@ -584,14 +775,14 @@ public class GenericChem extends ItemPackage {
ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroperoxide", 14),
},
new FluidStack[] {
-
+
},
20 * 30,
240,
1);
-
-
-
+
+
+
/*CORE.RA.addChemicalRecipe(
ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 7),
ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogenPeroxide", 1),
@@ -605,7 +796,7 @@ public class GenericChem extends ItemPackage {
}
private void recipeHydrogenPeroxide() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
@@ -624,7 +815,7 @@ public class GenericChem extends ItemPackage {
20 * 30,
240,
1);
-
+
/* CORE.RA.addChemicalRecipe(
GT_ModHandler.getAirCell(15),
ItemUtils.getItemStackOfAmountFromOreDict("cell2Ethylanthrahydroquinone", 5),
@@ -635,38 +826,38 @@ public class GenericChem extends ItemPackage {
CI.emptyCells(18),
20*30,
240);*/
-
+
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
private static final ItemStack getTierOneChip() {
return CI.getNumberedBioCircuit(4);
}
@@ -679,7 +870,7 @@ public class GenericChem extends ItemPackage {
private static final ItemStack getTierFourChip() {
return CI.getNumberedBioCircuit(16);
}
-
-
-
+
+
+
}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java b/src/Java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java
new file mode 100644
index 0000000000..426f48ecf9
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java
@@ -0,0 +1,113 @@
+package gtPlusPlus.core.item.chemistry;
+
+import gregtech.api.enums.Materials;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.minecraft.ItemPackage;
+import gtPlusPlus.core.item.base.ore.BaseItemMilledOre;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import net.minecraft.item.Item;
+import net.minecraftforge.fluids.Fluid;
+
+public class MilledOreProcessing extends ItemPackage {
+
+ /**
+ * Fluids
+ */
+
+ public static Fluid ZincFlotationFroth;
+ public static Fluid CopperFlotationFroth;
+ public static Fluid NickelFlotationFroth;
+ public static Fluid PlatinumFlotationFroth;
+ public static Fluid PentlanditeFlotationFroth;
+
+
+ /**
+ * Items
+ */
+
+ // Zinc, Iron, Indium, Germanium
+ public static Item milledSphalerite;
+
+ // Copper, Iron, Cadmium, Indium
+ public static Item milledChalcopyrite;
+
+ // Nickel, Cobalt, Rhodium, Ruthenium
+ public static Item milledNickel;
+
+ // Platinum, Rhodium, Selenium, Tellurium
+ public static Item milledPlatinum;
+
+ // Iron, Nickel, Promethium, Hafnium
+ public static Item milledPentlandite;
+
+
+ @Override
+ public void items() {
+
+ milledSphalerite = BaseItemMilledOre.generate(Materials.Sphalerite, MaterialUtils.getVoltageForTier(5));
+ milledChalcopyrite = BaseItemMilledOre.generate(Materials.Chalcopyrite, MaterialUtils.getVoltageForTier(4));
+ milledNickel = BaseItemMilledOre.generate(Materials.Nickel, MaterialUtils.getVoltageForTier(4));
+ milledPlatinum = BaseItemMilledOre.generate(Materials.Platinum, MaterialUtils.getVoltageForTier(5));
+ milledPentlandite = BaseItemMilledOre.generate(Materials.Pentlandite, MaterialUtils.getVoltageForTier(5));
+
+ }
+
+ @Override
+ public void blocks() {
+ // None yet
+ }
+
+ @Override
+ public void fluids() {
+
+ short[] aZincFrothRGB = Materials.Sphalerite.mRGBa;
+ ZincFlotationFroth = FluidUtils.generateFluidNoPrefix("froth.zincflotation", "Zinc Froth", 32 + 175, new short[] { aZincFrothRGB[0], aZincFrothRGB[1], aZincFrothRGB[2], 100 }, true);
+ short[] aCopperFrothRGB = Materials.Chalcopyrite.mRGBa;
+ CopperFlotationFroth = FluidUtils.generateFluidNoPrefix("froth.copperflotation", "Copper Froth", 32 + 175, new short[] { aCopperFrothRGB[0], aCopperFrothRGB[1], aCopperFrothRGB[2], 100 }, true);
+ short[] aNickelFrothRGB = Materials.Nickel.mRGBa;
+ NickelFlotationFroth = FluidUtils.generateFluidNoPrefix("froth.nickelflotation", "Nickel Froth", 32 + 175, new short[] { aNickelFrothRGB[0], aNickelFrothRGB[1], aNickelFrothRGB[2], 100 }, true);
+ short[] aPlatinumFrothRGB = Materials.Platinum.mRGBa;
+ PlatinumFlotationFroth = FluidUtils.generateFluidNoPrefix("froth.platinumflotation", "Platinum Froth", 32 + 175, new short[] { aPlatinumFrothRGB[0], aPlatinumFrothRGB[1], aPlatinumFrothRGB[2], 100 }, true);
+ short[] aPentlanditeFrothRGB = Materials.Pentlandite.mRGBa;
+ PentlanditeFlotationFroth = FluidUtils.generateFluidNoPrefix("froth.pentlanditeflotation", "Pentlandite Froth", 32 + 175, new short[] { aPentlanditeFrothRGB[0], aPentlanditeFrothRGB[1], aPentlanditeFrothRGB[2], 100 }, true);
+
+ }
+
+
+
+ public MilledOreProcessing() {
+ super();
+ Logger.INFO("Adding Ore Milling content");
+ }
+
+ private static void addMiscRecipes() {
+
+ /*GT_Values.RA.addCentrifugeRecipe(
+ CI.getNumberedBioCircuit(10),
+ GT_Values.NI,
+ FluidUtils.getFluidStack(MilledOreProcessing.ZincFlotationFroth, 1000),
+ FluidUtils.getWater(500),
+ ELEMENT.getInstance().IRON.getSmallDust(1),
+ ELEMENT.getInstance().COPPER.getSmallDust(1),
+ ELEMENT.getInstance().TIN.getSmallDust(1),
+ ELEMENT.getInstance().SULFUR.getSmallDust(1),
+ ELEMENT.getInstance().NICKEL.getTinyDust(1),
+ ELEMENT.getInstance().LEAD.getTinyDust(1),
+ new int[] { 3000, 3000, 2000, 2000, 1000, 1000 },
+ 30 * 20,
+ 30);*/
+
+ }
+
+ @Override
+ public String errorMessage() {
+ return "Failed to generate recipes for OreMillingProc.";
+ }
+
+ @Override
+ public boolean generateRecipes() {
+ addMiscRecipes();
+ return true;
+ }
+}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
index e6426dd6df..459acb31b9 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
@@ -6,19 +6,21 @@ import java.util.LinkedHashMap;
import cpw.mods.fml.common.event.FMLLoadCompleteEvent;
import gregtech.api.enums.GT_Values;
-import gregtech.api.enums.Materials;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gregtech.api.util.GT_Utility;
import gregtech.api.util.Recipe_GT;
-import gtPlusPlus.api.helpers.MaterialHelper;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.api.objects.minecraft.ItemPackage;
import gtPlusPlus.core.item.base.BaseItemComponent;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.xmod.gregtech.common.StaticFields59;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
@@ -53,36 +55,36 @@ public class RocketFuels extends ItemPackage {
public static Item Ammonium_Nitrate_Dust;
public static Item Formaldehyde_Catalyst;
+ public static ItemStack Formaldehyde_Catalyst_Stack;
+
+ public RocketFuels() {
+ super(true);
+ }
public static void createKerosene(){
-
-
- FluidStack fuelA = FluidUtils.getFluidStack("diesel", 300);
- FluidStack fuelB = FluidUtils.getFluidStack("fuel", 300);
-
-
+ FluidStack fuelA = FluidUtils.getFluidStack("diesel", 3000);
+ FluidStack fuelB = FluidUtils.getFluidStack("fuel", 3000);
if (fuelA != null){
//GT_Values.RA.addDistilleryRecipe(23, fuelA, FluidUtils.getFluidStack(Kerosene, 50), 200, 64, false);
- GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelA, FluidUtils.getFluidStack(Kerosene, 100), 200, 64, false);
+ GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelA, FluidUtils.getFluidStack(Kerosene, 1800), 200, 64, false);
}
if (fuelA == null && fuelB != null){
//GT_Values.RA.addDistilleryRecipe(23, fuelB, FluidUtils.getFluidStack(Kerosene, 50), 200, 64, false);
- GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelB, FluidUtils.getFluidStack(Kerosene, 100), 200, 64, false);
+ GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelB, FluidUtils.getFluidStack(Kerosene, 1800), 200, 64, false);
}
}
public static void createRP1(){
- FluidStack fuelA = FluidUtils.getFluidStack(Kerosene, 100);
+ FluidStack fuelA = FluidUtils.getFluidStack(Kerosene, 1000);
if (fuelA != null){
- //GT_Values.RA.addDistilleryRecipe(23, fuelA, FluidUtils.getFluidStack(RP1, 25), 400, 120, false);
- GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelA, FluidUtils.getFluidStack(RP1, 50), 400, 120, false);
+ GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelA, FluidUtils.getFluidStack(RP1, 750), 20 * 40, 120, false);
}
}
public static void createNitrogenTetroxide(){
- CORE.RA.addDehydratorRecipe(
+ /*CORE.RA.addDehydratorRecipe(
new ItemStack[]{
ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 4)
},
@@ -94,42 +96,78 @@ public class RocketFuels extends ItemPackage {
},
new int[]{100, 50},
20*16,
- 500);
+ 500);*/
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 16),
+ ItemUtils.getSimpleStack(GenericChem.mOrangeCatalyst, 0),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("nitricacid", 4000)
+ },
+ new ItemStack[]{
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallAsh", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Nitrogen_Tetroxide, 3000),
+ },
+ new int[]{100, 100, 50, 50},
+ 20*30,
+ MaterialUtils.getVoltageForTier(3),
+ 2);
+
+
}
- public static void createHydrazine(){
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 2),
- CI.getNumberedCircuit(23),
- FluidUtils.getFluidStack("fluid.hydrogenperoxide", 2000),
- FluidUtils.getFluidStack(Hydrazine, 2000),
- ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2),
- 20*32);
-
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogenPeroxide", 2),
- CI.getNumberedCircuit(23),
- FluidUtils.getFluidStack("ammonia", 2000),
- FluidUtils.getFluidStack(Hydrazine, 2000),
- ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2),
- 20*32);
+ public static void createHydrazine(){
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(21)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("fluid.hydrogenperoxide", 2000),
+ FluidUtils.getFluidStack("ammonia", 2000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Hydrazine, 4000),
+
+ },
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(2),
+ 1);
+
}
public static void createMonomethylhydrazine(){
- CORE.RA.addDehydratorRecipe(
+
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrazine", 2),
+ CI.getNumberedCircuit(21),
ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 2)
},
- FluidUtils.getFluidStack("hydrogen", 2000),
- FluidUtils.getFluidStack(Monomethylhydrazine, 3000),
+ new FluidStack[] {
+ FluidUtils.getFluidStack("hydrogen", 2000),
+ FluidUtils.getFluidStack(Hydrazine, 2000),
+ },
new ItemStack[] {
- CI.emptyCells(2)
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Monomethylhydrazine, 4000),
+
},
- new int[] {10000},
- 20*48,
- 240);
+ 20 * 48,
+ 240,
+ 2);
}
@@ -143,14 +181,26 @@ public class RocketFuels extends ItemPackage {
CORE.RA.addAdvancedFreezerRecipe(new ItemStack[] {}, new FluidStack[] {FluidUtils.getFluidStack("hydrogen", 300)}, new FluidStack[] {FluidUtils.getFluidStack(Liquid_Hydrogen, 300)}, new ItemStack[] {}, new int[] {}, 20*4, 540, 0);
}
- private static void createHydratedAmmoniumNitrateSlurry() {
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 8),
- ItemUtils.getItemStackOfAmountFromOreDict("cellNitricAcid", 8),
- null,
- FluidUtils.getFluidStack(Hydrated_Ammonium_Nitrate_Slurry, 22*144),
- null,
- 48*16);
+ private static void createHydratedAmmoniumNitrateSlurry() {
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedBioCircuit(21),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("ammonia", 4000),
+ FluidUtils.getFluidStack("nitricacid", 4000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Hydrated_Ammonium_Nitrate_Slurry, 8000),
+
+ },
+ 20 * 60,
+ 120,
+ 1);
}
@@ -162,22 +212,32 @@ public class RocketFuels extends ItemPackage {
new ItemStack[] {ItemUtils.getSimpleStack(Ammonium_Nitrate_Dust, 8)},
new int[] {10000},
90*20,
- 500);
+ 480);
}
- private static void createFormaldehyde() {
- CORE.RA.addDehydratorRecipe(
+ private static void createFormaldehyde() {
+
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
- ItemUtils.getSimpleStack(Formaldehyde_Catalyst, 1),
- ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 16)
+ CI.getNumberedBioCircuit(21),
+ ItemUtils.getSimpleStack(Formaldehyde_Catalyst, 0),
},
- FluidUtils.getFluidStack("methanol", 32000),
- FluidUtils.getFluidStack(Formaldehyde, 8000),
- new ItemStack[] {ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 16)},
- new int[] {10000},
- 90*20,
- 120);
+ new FluidStack[] {
+ FluidUtils.getFluidStack("oxygen", 16000),
+ FluidUtils.getFluidStack("methanol", 32000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Formaldehyde, 8000),
+
+ },
+ 20 * 90,
+ 120,
+ 1);
+
}
private static void createFormaldehydeCatalyst() {
@@ -194,15 +254,29 @@ public class RocketFuels extends ItemPackage {
}
- private static void createUnsymmetricalDimethylhydrazine() {
- CORE.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrazine", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("cellFormaldehyde", 2),
- FluidUtils.getFluidStack("hydrogen", 4000),
- FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 1000),
- ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2),
- 20*60);
+ private static void createUnsymmetricalDimethylhydrazine() {
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedBioCircuit(21),
+ ItemUtils.getSimpleStack(Formaldehyde_Catalyst, 0),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("fluid.hydrazine", 2000),
+ FluidUtils.getFluidStack(Formaldehyde, 2000),
+ FluidUtils.getFluidStack("hydrogen", 4000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000),
+ FluidUtils.getWater(2000)
+
+ },
+ 20 * 60,
+ 120,
+ 2);
}
@@ -275,152 +349,93 @@ public class RocketFuels extends ItemPackage {
private static void createRocketFuels() {
- //Done
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellLiquidOxygen", 2),
- FluidUtils.getFluidStack(RP1, 500),
- FluidUtils.getFluidStack(RP1_Plus_Liquid_Oxygen, 100),
- CI.emptyCells(2),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*32,
- 480);
-
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellRP1", 1),
- FluidUtils.getFluidStack(Liquid_Oxygen, 4000),
- FluidUtils.getFluidStack(RP1_Plus_Liquid_Oxygen, 200),
- CI.emptyCells(1),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*64,
- 480);
-
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellNitrogenTetroxide", 2),
- FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000),
- FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 1750),
- CI.emptyCells(2),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*48,
- 480);
-
- ItemStack aCell11dimethylhydrazine = ItemUtils.getItemStackOfAmountFromOreDict("cell1,1Dimethylhydrazine", 2);
- if (ItemUtils.checkForInvalidItems(aCell11dimethylhydrazine)) {
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- aCell11dimethylhydrazine,
- FluidUtils.getFluidStack(Nitrogen_Tetroxide, 2000),
- FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 1750),
- CI.emptyCells(2),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*48,
- 480);
- }
- else {
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellUnsymmetricalDimethylhydrazine", 2),
- FluidUtils.getFluidStack(Nitrogen_Tetroxide, 2000),
- FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 1750),
- CI.emptyCells(2),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*48,
- 480);
- }
+ // RP1_Plus_Liquid_Oxygen
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Liquid_Oxygen, 2000),
+ FluidUtils.getFluidStack(RP1, 500),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(RP1_Plus_Liquid_Oxygen, 1500),
+ },
+ 20 * 15,
+ 240,
+ 3);
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrazine", 4),
- FluidUtils.getFluidStack("methanol", 6000),
- FluidUtils.getFluidStack(Dense_Hydrazine_Mix, 10000),
- CI.emptyCells(4),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*100,
- 240);
-
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellMethanol", 6),
- FluidUtils.getFluidStack(Hydrazine, 4000),
- FluidUtils.getFluidStack(Dense_Hydrazine_Mix, 10000),
- CI.emptyCells(6),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*100,
- 240);
-
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellNitricAcid", 1),
- FluidUtils.getFluidStack(Monomethylhydrazine, 1000),
- FluidUtils.getFluidStack(Monomethylhydrazine_Plus_Nitric_Acid, 2000),
- CI.emptyCells(1),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*32,
- 240);
-
- GT_Values.RA.addCentrifugeRecipe(
- CI.getNumberedCircuit(23),
- ItemUtils.getItemStackOfAmountFromOreDict("cellMonomethylhydrazine", 1),
- FluidUtils.getFluidStack("nitricacid", 1000),
- FluidUtils.getFluidStack(Monomethylhydrazine_Plus_Nitric_Acid, 2000),
- CI.emptyCells(1),
- null,
- null,
- null,
- null,
- null,
- new int[] {10000},
- 20*32,
- 240);
+
+ // Dense_Hydrazine_Mix
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(2),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Hydrazine, 4000),
+ FluidUtils.getFluidStack("methanol", 6000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Dense_Hydrazine_Mix, 10000),
+
+ },
+ 20 * 30,
+ 240,
+ 3);
+
+
+ // Monomethylhydrazine_Plus_Nitric_Acid
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(3),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Monomethylhydrazine, 1000),
+ FluidUtils.getFluidStack("nitricacid", 1000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Monomethylhydrazine_Plus_Nitric_Acid, 3000),
+
+ },
+ 20 * 45,
+ 480,
+ 3);
+
+
+ // Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(4),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000),
+ FluidUtils.getFluidStack(Nitrogen_Tetroxide, 2000),
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 4000),
+
+ },
+ 20 * 60,
+ 480,
+ 3);
}
@Override
public String errorMessage() {
- // TODO Auto-generated method stub
return "Bad Rocket Fuel Science!";
}
@@ -451,218 +466,9 @@ public class RocketFuels extends ItemPackage {
}
@Override
- public boolean onLoadComplete(FMLLoadCompleteEvent event) {
-
-
- if (MathUtils.randInt(1, 2) > 0) {
- return false;
- }
-
-
- Materials aMaterial_Chloramine = MaterialUtils.getMaterial("Chloramine");
- Materials aMaterial_Dimethylamine = MaterialUtils.getMaterial("Dimethylamine");
- Materials aMaterial_DilutedHydrochloricAcid = MaterialUtils.getMaterial("DilutedHydrochloricAcid");
- Materials aMaterial_NitrogenDioxide = MaterialUtils.getMaterial("NitrogenDioxide");
- Materials aMaterial_DinitrogenTetroxide = MaterialUtils.getMaterial("DinitrogenTetroxide");
- Materials aMaterial_Dimethylhydrazine = MaterialUtils.getMaterial("Dimethylhydrazine");
-
- Materials aMaterial_Oxygen = Materials.Oxygen;
- Materials aMaterial_Water = Materials.Water;
- Materials aMaterial_HypochlorousAcid = MaterialUtils.getMaterial("HypochlorousAcid");
- Materials aMaterial_Ammonia = MaterialUtils.getMaterial("Ammonia");
- Materials aMaterial_Methanol = MaterialUtils.getMaterial("Methanol");
-
- if (aMaterial_Chloramine == null || aMaterial_Dimethylamine == null || aMaterial_DilutedHydrochloricAcid == null
- || aMaterial_Dimethylhydrazine == null || aMaterial_NitrogenDioxide == null || aMaterial_DinitrogenTetroxide == null
- || aMaterial_HypochlorousAcid == null || aMaterial_Ammonia == null || aMaterial_Methanol == null) {
- return false;
- }
-
-
- MaterialHelper.getCells(aMaterial_Water, 1);
-
- ItemStack aCellEmpty = CI.emptyCells(1);
- ItemStack aCellWater = MaterialHelper.getCells(aMaterial_Water, 1);
- ItemStack aCellOxygen = MaterialHelper.getCells(aMaterial_Oxygen, 1);
- ItemStack aCellChloramine = MaterialHelper.getCells(aMaterial_Chloramine, 1);
- ItemStack aCellDimethylamine = MaterialHelper.getCells(aMaterial_Dimethylamine, 1);
- ItemStack aCellDilutedHydrochloricAcid = MaterialHelper.getCells(aMaterial_DilutedHydrochloricAcid, 1);
- ItemStack aCellNitrogenDioxide = MaterialHelper.getCells(aMaterial_NitrogenDioxide, 1);
- ItemStack aCellDinitrogenTetroxide = MaterialHelper.getCells(aMaterial_DinitrogenTetroxide, 1);
- ItemStack aCellDimethylhydrazine = MaterialHelper.getCells(aMaterial_Dimethylhydrazine, 1);
-
-
-
-
-
-
- GT_Recipe aChemReactor_1 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
- GT_Recipe aChemReactor_2 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
-
-
-
- GT_Recipe aChemReactor_Basic_1 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
- GT_Recipe aChemReactor_Basic_2 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
- GT_Recipe aChemReactor_Basic_3 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
- GT_Recipe aChemReactor_Basic_4 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
-
-
-
-
-
-
-
-
-
-
-
-
- GT_Recipe aChemReactor_Adv_1 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
- GT_Recipe aChemReactor_Adv_2 = new Recipe_GT(
- true, //Optimise
- new ItemStack[] {}, //I
- new ItemStack[] {}, //O
- null, //Special
- new int[] {}, //Chance
- new FluidStack[] {}, //I
- new FluidStack[] {}, //O
- 0, //Dura
- 0, //Eu
- 0); //Special
-
-
-
-
- //RecipeUtils.removeGtRecipe(aChemReactor_Basic_1, GT_Recipe.GT_Recipe_Map.sChemicalRecipes);
- //RecipeUtils.removeGtRecipe(aChemReactor_Basic_1, GT_Recipe.GT_Recipe_Map.sChemicalRecipes);
- //RecipeUtils.removeGtRecipe(aChemReactor_Basic_1, GT_Recipe.GT_Recipe_Map.sChemicalRecipes);
- //RecipeUtils.removeGtRecipe(aChemReactor_Basic_1, GT_Recipe.GT_Recipe_Map.sChemicalRecipes);
-
-
-
-
-
-
- /* GT_Values.RA.addChemicalRecipe( Materials.Chloramine.getCells(2), GT_Utility.getIntegratedCircuit(1), Materials.Dimethylamine.getGas(5000), Materials.Dimethylhydrazine.getFluid(6000), Materials.DilutedHydrochloricAcid.getCells(1), Materials.Empty.getCells(1), 960, 480);
- GT_Values.RA.addChemicalRecipe( Materials.Dimethylamine.getCells(5), GT_Utility.getIntegratedCircuit(1), Materials.Chloramine.getFluid(2000), Materials.Dimethylhydrazine.getFluid(6000), Materials.DilutedHydrochloricAcid.getCells(1), Materials.Empty.getCells(4), 960, 480);
- GT_Values.RA.addChemicalRecipeForBasicMachineOnly(Materials.Chloramine.getCells(2), Materials.Empty.getCells(4), Materials.Dimethylamine.getGas(5000), Materials.DilutedHydrochloricAcid.getFluid(1000), Materials.Dimethylhydrazine.getCells(6), GT_Values.NI, 960, 480);
- GT_Values.RA.addChemicalRecipeForBasicMachineOnly(Materials.Dimethylamine.getCells(5), Materials.Empty.getCells(1), Materials.Chloramine.getFluid(2000), Materials.DilutedHydrochloricAcid.getFluid(1000), Materials.Dimethylhydrazine.getCells(6), GT_Values.NI, 960, 480);
- GT_Values.RA.addChemicalRecipeForBasicMachineOnly(Materials.Dimethylamine.getCells(5), Materials.Chloramine.getCells(2), Materials.Chloramine.getFluid(2000), Materials.DilutedHydrochloricAcid.getFluid(1000), Materials.Dimethylhydrazine.getCells(6), Materials.DilutedHydrochloricAcid.getCells(1), 960, 480);
- GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(24)}, new FluidStack[]{Materials.HypochlorousAcid.getFluid(3000), Materials.Ammonia.getGas(8000), Materials.Methanol.getFluid(12000)}, new FluidStack[]{Materials.Dimethylhydrazine.getFluid(12000), Materials.DilutedHydrochloricAcid.getFluid(2000), Materials.Water.getFluid(9000)}, null, 1040, 480);
-
- GT_Values.RA.addChemicalRecipe(GT_Utility.getIntegratedCircuit(2), GT_Values.NI, Materials.NitrogenDioxide.getGas(1000), Materials.DinitrogenTetroxide.getGas(1000), GT_Values.NI, 640);
- GT_Values.RA.addChemicalRecipe(Materials.NitrogenDioxide.getCells(1), GT_Utility.getIntegratedCircuit(2), GT_Values.NF, Materials.DinitrogenTetroxide.getGas(1000), Materials.Empty.getCells(1), 640);
- GT_Values.RA.addChemicalRecipe(Materials.NitrogenDioxide.getCells(1), GT_Utility.getIntegratedCircuit(12), GT_Values.NF, GT_Values.NF, Materials.DinitrogenTetroxide.getCells(1), 640);
- GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(23)}, new FluidStack[]{Materials.Ammonia.getGas(8000), Materials.Oxygen.getGas(7000)}, new FluidStack[]{Materials.DinitrogenTetroxide.getGas(6000), Materials.Water.getFluid(9000)}, null, 480, 30);
- GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{GT_Utility.getIntegratedCircuit(23)}, new FluidStack[]{Materials.Nitrogen.getGas(2000), Materials.Hydrogen.getGas(6000), Materials.Oxygen.getGas(7000)}, new FluidStack[]{Materials.DinitrogenTetroxide.getGas(6000), Materials.Water.getFluid(9000)}, null, 1100, 480);
-
- GT_Values.RA.addMixerRecipe(Materials.Dimethylhydrazine.getCells(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, Materials.DinitrogenTetroxide.getGas(1000), new FluidStack(ItemList.sRocketFuel, 2000), Materials.Empty.getCells(1), 60, 16);
- GT_Values.RA.addMixerRecipe(Materials.DinitrogenTetroxide.getCells(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, Materials.Dimethylhydrazine.getFluid(1000), new FluidStack(ItemList.sRocketFuel, 2000), Materials.Empty.getCells(1), 60, 16);
- GT_Values.RA.addMixerRecipe(Materials.Dimethylhydrazine.getCells(2), GT_Values.NI, GT_Values.NI, GT_Values.NI, Materials.Oxygen.getGas(1000), new FluidStack(ItemList.sRocketFuel, 3000), Materials.Empty.getCells(2), 60, 16);
- GT_Values.RA.addMixerRecipe(Materials.Oxygen.getCells(1), GT_Values.NI, GT_Values.NI, GT_Values.NI, Materials.Dimethylhydrazine.getFluid(2000), new FluidStack(ItemList.sRocketFuel, 3000), Materials.Empty.getCells(1), 60, 16);
-
-
- */
-
-
-
-
-
-
-
-
-
- //Get Rocket Fuel
-
- //Find recipes using default values
-
- //Remove
-
- //Rebake map
-
- return true;
- };
-
- @Override
public void items() {
Formaldehyde_Catalyst = ItemUtils.generateSpecialUseDusts("FormaldehydeCatalyst", "Formaldehyde Catalyst", "Fe16V1", Utils.rgbtoHexValue(25, 5, 25))[0];
+ Formaldehyde_Catalyst_Stack = ItemUtils.getSimpleStack(Formaldehyde_Catalyst);
}
@Override
@@ -674,7 +480,7 @@ public class RocketFuels extends ItemPackage {
//Register default fluids
Diesel = MaterialUtils.getMaterial("Fuel", "Diesel").getFluid(1).getFluid();
-
+
// 5.08 Compat
if (!FluidUtils.doesFluidExist("liquid_heavy_oil")){
Oil_Heavy = FluidUtils.generateFluidNoPrefix("liquid_heavy_oil", "Heavy Oil", 200, new short[]{10, 10, 10, 100});
@@ -763,7 +569,7 @@ public class RocketFuels extends ItemPackage {
}
}
- Formaldehyde = FluidUtils.generateFluidNonMolten("Formaldehyde", "Formaldehyde", -92, new short[]{150, 75, 150, 100}, null, null);
+ Formaldehyde = FluidUtils.generateFluidNonMolten("Formaldehyde", "Formaldehyde", 185, new short[]{150, 75, 150, 100}, null, null);
Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide = FluidUtils.generateFluidNonMolten("RocketFuelMixA", "H8N4C2O4 Rocket Fuel", -185, new short[]{50, 220, 50, 100}, null, null);
RP1_Plus_Liquid_Oxygen = FluidUtils.generateFluidNonMolten("RocketFuelMixB", "Rp-1 Rocket Fuel", -250, new short[]{250, 50, 50, 100}, null, null);
@@ -773,6 +579,469 @@ public class RocketFuels extends ItemPackage {
}
+ @Override
+ public boolean onLoadComplete(FMLLoadCompleteEvent event) {
+
+ Logger.INFO("Trying to remove GT recipes for '1,1dimethylhydrazine' && 'rocket_fuel' if they exist.");
+ /*if (FluidRegistry.isFluidRegistered("1,1dimethylhydrazine")) {
+
+ // Try Remove recipes for GT/EIO Rocket Fuel Cells
+ if (FluidRegistry.isFluidRegistered("rocket_fuel")) {
+
+ // Old Recipe
+ if (MaterialUtils.doesMaterialExist("NitrogenDioxide")) {
+ GT_Recipe aOldRecipe = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellNitrogenDioxide", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 3),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("air", 500)
+ },
+ 388);
+ boolean aDidRemove = removeRecipe(aOldRecipe, GT_Recipe_Map.sChemicalRecipes);
+ Logger.INFO("Removed Old Recipe for Rocket Fuel: "+aDidRemove);
+ }
+
+ // Simple Recipes
+ if (MaterialUtils.doesMaterialExist("Ammonia") && MaterialUtils.doesMaterialExist("Methanol")) {
+
+ GT_Recipe aSimpleRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellMethanol", 4),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chlorine", 1000)
+ },
+ 480);
+ GT_Recipe aSimpleRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChlorine", 1),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellMethanol", 4),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("ammonia", 3000)
+ },
+ 480);
+ GT_Recipe aSimpleRecipe3 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellAmmonia", 3),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChlorine", 1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("methanol", 4000)
+ },
+ 480);
+
+ boolean aDidRemove1 = removeRecipe(aSimpleRecipe1, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove2 = removeRecipe(aSimpleRecipe2, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove3 = removeRecipe(aSimpleRecipe3, GT_Recipe_Map.sChemicalRecipes);
+ Logger.INFO("Removed Simple Recipe 1 for Rocket Fuel: "+aDidRemove1);
+ Logger.INFO("Removed Simple Recipe 2 for Rocket Fuel: "+aDidRemove2);
+ Logger.INFO("Removed Simple Recipe 3 for Rocket Fuel: "+aDidRemove3);
+ }
+
+
+ // Complex Recipes I
+ if (MaterialUtils.doesMaterialExist("Dimethylhydrazine") && MaterialUtils.doesMaterialExist("DinitrogenTetroxide")) {
+
+ GT_Recipe aAdvRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylhydrazine", 1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dinitrogentetroxide", 1000)
+ },
+ 16);
+ GT_Recipe aAdvRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDinitrogenTetroxide", 1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylhydrazine", 1000)
+ },
+ 16);
+
+ GT_Recipe aAdvRecipe3 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylhydrazine", 2),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("oxygen", 1000)
+ },
+ 16);
+ GT_Recipe aAdvRecipe4 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylhydrazine", 2000)
+ },
+ 16);
+
+ boolean aDidRemove1 = removeRecipe(aAdvRecipe1, GT_Recipe_Map.sMixerRecipes);
+ boolean aDidRemove2 = removeRecipe(aAdvRecipe2, GT_Recipe_Map.sMixerRecipes);
+ boolean aDidRemove3 = removeRecipe(aAdvRecipe3, GT_Recipe_Map.sMixerRecipes);
+ boolean aDidRemove4 = removeRecipe(aAdvRecipe4, GT_Recipe_Map.sMixerRecipes);
+ Logger.INFO("Removed Complex Recipe 1 for Rocket Fuel: "+aDidRemove1);
+ Logger.INFO("Removed Complex Recipe 2 for Rocket Fuel: "+aDidRemove2);
+ Logger.INFO("Removed Complex Recipe 3 for Rocket Fuel: "+aDidRemove3);
+ Logger.INFO("Removed Complex Recipe 4 for Rocket Fuel: "+aDidRemove4);
+ }
+ }
+
+
+ // Complex Recipes II
+ if (MaterialUtils.doesMaterialExist("Dimethylhydrazine")) {
+
+ GT_Recipe aAdvRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylhydrazine", 2),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("oxygen", 1000)
+ },
+ 16);
+ GT_Recipe aAdvRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylhydrazine", 2000)
+ },
+ 16);
+
+ boolean aDidRemove1 = removeRecipe(aAdvRecipe1, GT_Recipe_Map.sMixerRecipes);
+ boolean aDidRemove2 = removeRecipe(aAdvRecipe2, GT_Recipe_Map.sMixerRecipes);
+ Logger.INFO("Removed Complex Recipe 5 for Rocket Fuel: "+aDidRemove1);
+ Logger.INFO("Removed Complex Recipe 6 for Rocket Fuel: "+aDidRemove2);
+ }
+
+ if (MaterialUtils.doesMaterialExist("Chloramine") && MaterialUtils.doesMaterialExist("Dimethylamine")) {
+ GT_Recipe aSimpleRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChloramine", 2),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylamine", 5000)
+ },
+ 480);
+ GT_Recipe aSimpleRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylamine", 5),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chloramine", 2000)
+ },
+ 16);
+
+
+
+ GT_Recipe aAdvRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChloramine", 2),
+ CI.emptyCells(4)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylamine", 5000)
+ },
+ 480);
+ GT_Recipe aAdvRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylamine", 5),
+ CI.emptyCells(1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chloramine", 2000)
+ },
+ 16);
+ GT_Recipe aAdvRecipe3 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChloramine", 2),
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylamine", 5),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chloramine", 2000)
+ },
+ 480);
+
+ boolean aDidRemove1 = removeRecipe(aSimpleRecipe1, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove2 = removeRecipe(aSimpleRecipe2, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove3 = removeRecipe(aAdvRecipe1, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove4 = removeRecipe(aAdvRecipe2, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove5 = removeRecipe(aAdvRecipe3, GT_Recipe_Map.sChemicalRecipes);
+ Logger.INFO("Removed Complex Recipe 1 for 1,1dimethylhydrazine: "+aDidRemove1);
+ Logger.INFO("Removed Complex Recipe 2 for 1,1dimethylhydrazine: "+aDidRemove2);
+ Logger.INFO("Removed Complex Recipe 3 for 1,1dimethylhydrazine: "+aDidRemove3);
+ Logger.INFO("Removed Complex Recipe 4 for 1,1dimethylhydrazine: "+aDidRemove4);
+ Logger.INFO("Removed Complex Recipe 5 for 1,1dimethylhydrazine: "+aDidRemove5);
+
+ }
+
+ if (MaterialUtils.doesMaterialExist("Chloramine") && MaterialUtils.doesMaterialExist("Dimethylamine")) {
+ GT_Recipe aSimpleRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChloramine", 1),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylamine", 1000)
+ },
+ 480);
+ GT_Recipe aSimpleRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylamine", 1),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chloramine", 1000)
+ },
+ 16);
+
+
+
+ GT_Recipe aAdvRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellChloramine", 1),
+ GT_Utility.getIntegratedCircuit(11)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("dimethylamine", 1000)
+ },
+ 480);
+ GT_Recipe aAdvRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("cellDimethylamine", 1),
+ GT_Utility.getIntegratedCircuit(11)
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("chloramine", 1000)
+ },
+ 16);
+
+ boolean aDidRemove1 = removeRecipe(aSimpleRecipe1, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove2 = removeRecipe(aSimpleRecipe2, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove3 = removeRecipe(aAdvRecipe1, GT_Recipe_Map.sChemicalRecipes);
+ boolean aDidRemove4 = removeRecipe(aAdvRecipe2, GT_Recipe_Map.sChemicalRecipes);
+ Logger.INFO("Removed Complex Recipe 5 for 1,1dimethylhydrazine: "+aDidRemove1);
+ Logger.INFO("Removed Complex Recipe 6 for 1,1dimethylhydrazine: "+aDidRemove2);
+ Logger.INFO("Removed Complex Recipe 7 for 1,1dimethylhydrazine: "+aDidRemove3);
+ Logger.INFO("Removed Complex Recipe 8 for 1,1dimethylhydrazine: "+aDidRemove4);
+
+ }
+
+ if (MaterialUtils.doesMaterialExist("HypochlorousAcid") && MaterialUtils.doesMaterialExist("Ammonia") && MaterialUtils.doesMaterialExist("Methanol")) {
+
+ GT_Recipe aAdvRecipe1 = getHalfBakedRecipe(
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(24),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("hypochlorousacid", 3000),
+ FluidUtils.getFluidStack("ammonia", 8000),
+ FluidUtils.getFluidStack("methanol", 12000)
+ },
+ 480);
+
+ GT_Recipe aAdvRecipe2 = getHalfBakedRecipe(
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(24),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("hypochlorousacid", 1000),
+ FluidUtils.getFluidStack("ammonia", 1000),
+ FluidUtils.getFluidStack("methanol", 2000)
+ },
+ 480);
+
+ boolean aDidRemove1 = removeRecipe(aAdvRecipe1, StaticFields59.getLargeChemicalReactorRecipeMap());
+ boolean aDidRemove2 = removeRecipe(aAdvRecipe2, StaticFields59.getLargeChemicalReactorRecipeMap());
+ Logger.INFO("Removed Complex Recipe 9 for 1,1dimethylhydrazine: "+aDidRemove1);
+ Logger.INFO("Removed Complex Recipe 10 for 1,1dimethylhydrazine: "+aDidRemove2);
+
+
+ }
+ }*/
+
+ // Try Butcher recipes manually
+
+ //1,1Dimethylhydrazine
+ if (FluidRegistry.isFluidRegistered("1,1dimethylhydrazine")) {
+ Logger.INFO("Making sure all Chemical Reactor recipes for 1,1dimethylhydrazine have been removed.");
+ AutoMap<GT_Recipe> aToRemoveSingle = new AutoMap<GT_Recipe>();
+ ItemStack aUnsymCell = ItemUtils.getItemStackOfAmountFromOreDict("cell1,1Dimethylhydrazine", 1);
+ FluidStack aUnsymFluid = FluidUtils.getFluidStack("1,1dimethylhydrazine", 1);
+ recipe : for (GT_Recipe aRecipeSingleBlock : GT_Recipe_Map.sChemicalRecipes.mRecipeList) {
+ if (aRecipeSingleBlock != null && aRecipeSingleBlock.mEnabled) {
+ if (aRecipeSingleBlock.mOutputs != null && aRecipeSingleBlock.mOutputs.length > 0) {
+ for (ItemStack aOutputItem : aRecipeSingleBlock.mOutputs) {
+ ItemStack aTemp = aOutputItem.copy();
+ aTemp.stackSize = 1;
+ if (GT_Utility.areStacksEqual(aTemp, aUnsymCell)) {
+ aToRemoveSingle.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ if (aRecipeSingleBlock.mFluidOutputs != null && aRecipeSingleBlock.mFluidOutputs.length > 0) {
+ for (FluidStack aOutput : aRecipeSingleBlock.mFluidOutputs) {
+ if (GT_Utility.areFluidsEqual(aOutput, aUnsymFluid)) {
+ aToRemoveSingle.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ }
+ }
+ // Handle Multi Also
+ AutoMap<GT_Recipe> aToRemoveMulti = new AutoMap<GT_Recipe>();
+ recipe : for (GT_Recipe aRecipeSingleBlock : StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList) {
+ if (aRecipeSingleBlock != null && aRecipeSingleBlock.mEnabled) {
+ if (aRecipeSingleBlock.mOutputs != null && aRecipeSingleBlock.mOutputs.length > 0) {
+ for (ItemStack aOutputItem : aRecipeSingleBlock.mOutputs) {
+ ItemStack aTemp = aOutputItem.copy();
+ aTemp.stackSize = 1;
+ if (GT_Utility.areStacksEqual(aTemp, aUnsymCell)) {
+ aToRemoveMulti.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ if (aRecipeSingleBlock.mFluidOutputs != null && aRecipeSingleBlock.mFluidOutputs.length > 0) {
+ for (FluidStack aOutput : aRecipeSingleBlock.mFluidOutputs) {
+ if (GT_Utility.areFluidsEqual(aOutput, aUnsymFluid)) {
+ aToRemoveMulti.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ }
+ }
+ if (!aToRemoveSingle.isEmpty()) {
+ Logger.INFO("Found "+aToRemoveSingle.size()+" single block recipes, removing by force.");
+ for (GT_Recipe remove : aToRemoveSingle) {
+ GT_Recipe_Map.sChemicalRecipes.mRecipeList.remove(remove);
+ }
+ }
+ if (!aToRemoveMulti.isEmpty()) {
+ Logger.INFO("Found "+aToRemoveSingle.size()+" multiblock recipes, removing by force.");
+ for (GT_Recipe remove : aToRemoveMulti) {
+ StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList.remove(remove);
+ }
+ }
+ }
+
+
+ if (FluidRegistry.isFluidRegistered("rocket_fuel")) {
+ Logger.INFO("Making sure all Mixer recipes for rocket_fuel have been removed.");
+ AutoMap<GT_Recipe> aToRemoveSingle = new AutoMap<GT_Recipe>();
+ FluidStack aRocketFluid = FluidUtils.getFluidStack("rocket_fuel", 1);
+ recipe : for (GT_Recipe aRecipeSingleBlock : GT_Recipe_Map.sMixerRecipes.mRecipeList) {
+ if (aRecipeSingleBlock != null && aRecipeSingleBlock.mEnabled) {
+ if (aRecipeSingleBlock.mFluidOutputs != null && aRecipeSingleBlock.mFluidOutputs.length > 0) {
+ for (FluidStack aOutput : aRecipeSingleBlock.mFluidOutputs) {
+ if (GT_Utility.areFluidsEqual(aOutput, aRocketFluid)) {
+ aToRemoveSingle.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ }
+ }
+ if (!aToRemoveSingle.isEmpty()) {
+ Logger.INFO("Found "+aToRemoveSingle.size()+" recipes, removing by force.");
+ for (GT_Recipe remove : aToRemoveSingle) {
+ GT_Recipe_Map.sMixerRecipes.mRecipeList.remove(remove);
+ }
+ aToRemoveSingle.clear();
+ }
+
+ Logger.INFO("Making sure all Chemical Reactor recipes for rocket_fuel have been removed.");
+ recipe : for (GT_Recipe aRecipeSingleBlock : GT_Recipe_Map.sChemicalRecipes.mRecipeList) {
+ if (aRecipeSingleBlock != null && aRecipeSingleBlock.mEnabled) {
+ if (aRecipeSingleBlock.mFluidOutputs != null && aRecipeSingleBlock.mFluidOutputs.length > 0) {
+ for (FluidStack aOutput : aRecipeSingleBlock.mFluidOutputs) {
+ if (GT_Utility.areFluidsEqual(aOutput, aRocketFluid)) {
+ aToRemoveSingle.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ }
+ }
+ // Handle Multi Also
+ AutoMap<GT_Recipe> aToRemoveMulti = new AutoMap<GT_Recipe>();
+ recipe : for (GT_Recipe aRecipeSingleBlock : StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList) {
+ if (aRecipeSingleBlock != null && aRecipeSingleBlock.mEnabled) {
+ if (aRecipeSingleBlock.mFluidOutputs != null && aRecipeSingleBlock.mFluidOutputs.length > 0) {
+ for (FluidStack aOutput : aRecipeSingleBlock.mFluidOutputs) {
+ if (GT_Utility.areFluidsEqual(aOutput, aRocketFluid)) {
+ aToRemoveMulti.add(aRecipeSingleBlock);
+ continue recipe;
+ }
+ }
+ }
+ }
+ }
+ if (!aToRemoveSingle.isEmpty()) {
+ Logger.INFO("Found "+aToRemoveSingle.size()+" single block recipes, removing by force.");
+ for (GT_Recipe remove : aToRemoveSingle) {
+ GT_Recipe_Map.sChemicalRecipes.mRecipeList.remove(remove);
+ }
+ }
+ if (!aToRemoveMulti.isEmpty()) {
+ Logger.INFO("Found "+aToRemoveSingle.size()+" multiblock recipes, removing by force.");
+ for (GT_Recipe remove : aToRemoveMulti) {
+ StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList.remove(remove);
+ }
+ }
+
+ }
+
+
+
+ Logger.INFO("Finished clean-up of GT Rocket Fuel Recipes.");
+ return true;
+ }
+
+ private static Recipe_GT getHalfBakedRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, int aEU) {
+ return new Recipe_GT(false, aInputs, null, null, null, aFluidInputs, null, 0, aEU, 0);
+
+ }
+
+ public static boolean removeRecipe(GT_Recipe aRecipe, GT_Recipe_Map aMap) {
+ if (aMap != GT_Recipe_Map.sChemicalRecipes) {
+ GT_Recipe aFoundRecipe = aMap.findRecipe(null, false, true, aRecipe.mEUt, aRecipe.mFluidInputs, aRecipe.mInputs);
+ boolean aSingle = false;
+ if (aFoundRecipe != null) {
+ Logger.INFO("Found Single Block Recipe, removing.");
+ aSingle = aMap.mRecipeList.remove(aFoundRecipe);
+ Logger.INFO("Success? "+aSingle);
+ }
+ return aSingle;
+ }
+ else {
+ GT_Recipe aFoundRecipe = aMap.findRecipe(null, false, true, aRecipe.mEUt, aRecipe.mFluidInputs, aRecipe.mInputs);
+ GT_Recipe aFoundRecipe2 = StaticFields59.getLargeChemicalReactorRecipeMap().findRecipe(null, false, true, aRecipe.mEUt, aRecipe.mFluidInputs, aRecipe.mInputs);
+ boolean aSingle = false;
+ boolean aMulti = false;
+ if (aFoundRecipe != null) {
+ Logger.INFO("Found Single Block Recipe, removing.");
+ aSingle = GT_Recipe_Map.sChemicalRecipes.mRecipeList.remove(aFoundRecipe);
+ Logger.INFO("Success? "+aSingle);
+ }
+ if (aFoundRecipe2 != null) {
+ Logger.INFO("Found Multiblock Recipe, removing.");
+ aMulti = StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList.remove(aFoundRecipe2);
+ Logger.INFO("Success? "+aSingle);
+ }
+ return aSingle && aMulti;
+ }
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java b/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java
index 208fecd57c..7fb5f207f6 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java
@@ -19,7 +19,7 @@ public class ItemGenericChemBase extends Item {
final protected IIcon base[];
- final private int aMetaSize = 7;
+ final private int aMetaSize = 9;
/*
* 0 - Red Metal Catalyst //FeCu
@@ -29,7 +29,8 @@ public class ItemGenericChemBase extends Item {
* 4 - Purple Metal Catalyst //IrIdium Ruthenium
* 5 - Brown Metal Catalyst //NiAl
* 6 - Pink Metal Catalyst //PtRh
- *
+ * 7 - Alumina Grinding Ball
+ * 8 - Soapstone Grinding Ball
*/
public ItemGenericChemBase() {
diff --git a/src/Java/gtPlusPlus/core/item/food/BaseItemMetaFood.java b/src/Java/gtPlusPlus/core/item/food/BaseItemMetaFood.java
new file mode 100644
index 0000000000..94d5a8e80f
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/food/BaseItemMetaFood.java
@@ -0,0 +1,431 @@
+package gtPlusPlus.core.item.food;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemFood;
+import net.minecraft.item.ItemStack;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+public class BaseItemMetaFood extends ItemFood {
+
+ private static final HashMap<Integer, IIcon> mIconMap = new HashMap<Integer, IIcon>();
+ private static int mTotalMetaItems = 0;
+
+ /*
+ * 0 - Raw Human Meat
+ * 1 - Cooked Human Meat
+ * 2 - Raw Horse Meat
+ * 3 - Cooked Horse Meat
+ * 4 - Raw Wolf Meat
+ * 5 - Cooked Wolf Meat
+ * 6 - Raw Ocelot Meat
+ * 7 - Cooked Ocelot Meat
+ * 8 - Blaze Flesh
+ */
+
+ //listAllmeatraw
+ //listAllmeatcooked
+
+ public static void registerMetaFoods() {
+ registerNewMetaFood(0, "I wouldn't eat this unless I was starving", 2, 0, 64, getPotionEffectPackage(new EffectWeaknessModerate(80), new EffectSlownessModerate(80)), getOreDictNamesAsArrayList("listAllmeatraw"));
+ registerNewMetaFood(1, "Doesn't look any better cooked", 4, 1, 64, getPotionEffectPackage(new EffectWeaknessBasic(50), new EffectSlownessBasic(50)), getOreDictNamesAsArrayList("listAllmeatcooked"));
+ registerNewMetaFood(2, "", 2, 0, 64, getPotionEffectPackage(new EffectWeaknessBasic(30), new EffectSlownessBasic(30)), getOreDictNamesAsArrayList("listAllmeatraw"));
+ registerNewMetaFood(3, "", 4, 1, 64, getOreDictNamesAsArrayList("listAllmeatcooked"));
+ registerNewMetaFood(4, "", 2, 0, 64, getPotionEffectPackage(new EffectWeaknessBasic(25), new EffectSlownessBasic(30)), getOreDictNamesAsArrayList("listAllmeatraw"));
+ registerNewMetaFood(5, "", 4, 1, 64, getOreDictNamesAsArrayList("listAllmeatcooked"));
+ registerNewMetaFood(6, "", 2, 0, 64, getPotionEffectPackage(new EffectWeaknessBasic(30), new EffectSlownessBasic(25)), getOreDictNamesAsArrayList("listAllmeatraw"));
+ registerNewMetaFood(7, "", 4, 1, 64, getOreDictNamesAsArrayList("listAllmeatcooked"));
+ registerNewMetaFood(8, "Warm to the touch", EnumRarity.uncommon, 4, 1, 64, new AutoMap<PotionEffectPackage>(), new setOnFire(), getOreDictNamesAsArrayList("listAllmeatcooked"));
+ }
+
+ private static final HashMap<Integer, Integer> mMaxStackSizeMap = new HashMap<Integer, Integer>();
+ private static final HashMap<Integer, String> mTooltipMap = new HashMap<Integer, String>();
+ private static final HashMap<Integer, EnumRarity> mRarityMap = new HashMap<Integer, EnumRarity>();
+ private static final HashMap<Integer, Integer> mHealAmountMap = new HashMap<Integer, Integer>();
+ private static final HashMap<Integer, Float> mSaturationAmountMap = new HashMap<Integer, Float>();
+ private static final HashMap<Integer, AutoMap<PotionEffectPackage>> mPotionEffectsMap = new HashMap<Integer, AutoMap<PotionEffectPackage>>();
+ private static final HashMap<Integer, Boolean> mHasSpecialBehaviourMap = new HashMap<Integer, Boolean>();
+ private static final HashMap<Integer, SpecialFoodBehaviour> mSpecialBehaviourMap = new HashMap<Integer, SpecialFoodBehaviour>();
+ private static final HashMap<Integer, ArrayList<String>> mOreDictNames = new HashMap<Integer, ArrayList<String>>();
+
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize) {
+ registerNewMetaFood(aMetaID, aTooltip, EnumRarity.common, aHealAmount, aSaturationModifier, aMaxStacksize, new AutoMap<PotionEffectPackage>(), null, new ArrayList<String>());
+ }
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, final ArrayList<String> aOreDictNames) {
+ registerNewMetaFood(aMetaID, aTooltip, EnumRarity.common, aHealAmount, aSaturationModifier, aMaxStacksize, new AutoMap<PotionEffectPackage>(), null, aOreDictNames);
+ }
+
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, final AutoMap<PotionEffectPackage> aPotionEffects) {
+ registerNewMetaFood(aMetaID, aTooltip, EnumRarity.common, aHealAmount, aSaturationModifier, aMaxStacksize, new AutoMap<PotionEffectPackage>(), null, new ArrayList<String>());
+ }
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, final AutoMap<PotionEffectPackage> aPotionEffects, final ArrayList<String> aOreDictNames) {
+ registerNewMetaFood(aMetaID, aTooltip, EnumRarity.common, aHealAmount, aSaturationModifier, aMaxStacksize, aPotionEffects, null, aOreDictNames);
+ }
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, EnumRarity aRarity, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, final AutoMap<PotionEffectPackage> aPotionEffects, final SpecialFoodBehaviour aSpecialBehaviour) {
+ registerNewMetaFood(aMetaID, aTooltip, EnumRarity.common, aHealAmount, aSaturationModifier, aMaxStacksize, aPotionEffects, null, new ArrayList<String>());
+ }
+
+ public static void registerNewMetaFood(final int aMetaID, String aTooltip, EnumRarity aRarity, final int aHealAmount, final float aSaturationModifier, final int aMaxStacksize, final AutoMap<PotionEffectPackage> aPotionEffects, final SpecialFoodBehaviour aSpecialBehaviour, final ArrayList<String> aOreDictNames) {
+ mTotalMetaItems++;
+ mMaxStackSizeMap.put(aMetaID, aMaxStacksize);
+ mTooltipMap.put(aMetaID, aTooltip);
+ mRarityMap.put(aMetaID, aRarity);
+ mHealAmountMap.put(aMetaID, aHealAmount);
+ mSaturationAmountMap.put(aMetaID, aSaturationModifier);
+ mPotionEffectsMap.put(aMetaID, aPotionEffects);
+ mHasSpecialBehaviourMap.put(aMetaID, (aSpecialBehaviour != null));
+ if (aSpecialBehaviour != null) {
+ mSpecialBehaviourMap.put(aMetaID, aSpecialBehaviour);
+ }
+ mOreDictNames.put(aMetaID, aOreDictNames);
+ }
+
+ public static void registerFoodsToOreDict() {
+ for (int aMetaID=0; aMetaID < mTotalMetaItems; aMetaID++) {
+ ArrayList<String> aOreDictNames = mOreDictNames.get(aMetaID);
+ if (aOreDictNames != null && !aOreDictNames.isEmpty()) {
+ ItemStack aFoodStack = ItemUtils.simpleMetaStack(ModItems.itemMetaFood, aMetaID, 1);
+ for (String aOreName : aOreDictNames) {
+ ItemUtils.addItemToOreDictionary(aFoodStack, aOreName);
+ }
+ }
+ }
+ }
+
+
+ public BaseItemMetaFood() {
+ super(0, 0, false);
+ this.setHasSubtypes(true);
+ this.setNoRepair();
+ this.setMaxStackSize(64);
+ this.setMaxDamage(0);
+ this.setUnlocalizedName("BasicMetaFood");
+ this.setCreativeTab(AddToCreativeTab.tabMisc);
+ GameRegistry.registerItem(this, this.getUnlocalizedName());
+ BaseItemMetaFood.registerMetaFoods();
+ }
+
+ private static final int getMetaKey(ItemStack aStack) {
+ return aStack.getItemDamage();
+ }
+
+ // Heal Amount
+ public int func_150905_g(ItemStack aStack) {
+ return mHealAmountMap.get(getMetaKey(aStack));
+ }
+
+ // Saturation Amount
+ public float func_150906_h(ItemStack aStack) {
+ return mSaturationAmountMap.get(getMetaKey(aStack));
+ }
+
+ // Whether wolves like this food, sadly doesn't support meta items
+ public boolean isWolfsFavoriteMeat() {
+ return false;
+ }
+
+ @Override
+ protected void onFoodEaten(final ItemStack aStack, final World aWorld, final EntityPlayer aPlayer) {
+ //super.onFoodEaten(stack, world, player);
+ AutoMap<PotionEffectPackage> aPotionEffects = mPotionEffectsMap.get(getMetaKey(aStack));
+ if (!aWorld.isRemote && aPotionEffects != null && aPotionEffects.size() > 0) {
+ for (PotionEffectPackage aFoodEffect : aPotionEffects) {
+ if (MathUtils.randInt(0, 100) <= aFoodEffect.getChance() || aFoodEffect.getChance() == 100) {
+ PotionEffect aEffect = aFoodEffect.getEffect();
+ if (aEffect != null && aEffect.getPotionID() > 0) {
+ aPlayer.addPotionEffect(new PotionEffect(aEffect.getPotionID(), aEffect.getDuration() * 20, aEffect.getAmplifier(), aEffect.getIsAmbient()));
+ }
+ }
+ }
+ }
+
+ boolean aHasEpcialBehaviour = mHasSpecialBehaviourMap.get(getMetaKey(aStack));
+ if (!aWorld.isRemote && aHasEpcialBehaviour) {
+ SpecialFoodBehaviour aBehaviour = mSpecialBehaviourMap.get(getMetaKey(aStack));
+ if (aBehaviour != null) {
+ aBehaviour.doBehaviour(aPlayer);
+ }
+ }
+ }
+
+ @Override
+ public ItemStack onEaten(ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
+ return super.onEaten(aStack, aWorld, aPlayer);
+ }
+
+
+ @Override
+ public int getItemStackLimit(ItemStack aStack) {
+ return mMaxStackSizeMap.get(getMetaKey(aStack));
+ }
+
+
+ @Override
+ public boolean isDamageable() {
+ return false;
+ }
+
+ @Override
+ public boolean shouldRotateAroundWhenRendering() {
+ return super.shouldRotateAroundWhenRendering();
+ }
+
+ @Override
+ public void onUpdate(ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, boolean p_77663_5_) {
+ super.onUpdate(p_77663_1_, p_77663_2_, p_77663_3_, p_77663_4_, p_77663_5_);
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack aStack) {
+ return super.getItemStackDisplayName(aStack);
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) {
+ try {
+ String aTooltip = mTooltipMap.get(getMetaKey(aStack));
+ if (aTooltip != null && aTooltip.length() > 0) {
+ aList.add(aTooltip);
+ }
+ }
+ catch (Throwable t) {
+ t.printStackTrace();
+ }
+ super.addInformation(aStack, p_77624_2_, aList, p_77624_4_);
+ }
+
+ @Override
+ public EnumRarity getRarity(ItemStack aStack) {
+ return mRarityMap.get(getMetaKey(aStack));
+ }
+
+ @Override
+ public boolean requiresMultipleRenderPasses() {
+ return false;
+ }
+
+ @Override
+ public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) {
+ for (int i=0;i<mIconMap.size();i++) {
+ aList.add(ItemUtils.simpleMetaStack(aItem, i, 1));
+ }
+ }
+
+ @Override
+ public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_) {
+ return false;
+ }
+
+ @Override
+ public boolean isRepairable() {
+ return false;
+ }
+
+ @Override
+ public boolean isBookEnchantable(ItemStack stack, ItemStack book) {
+ return false;
+ }
+
+ @Override
+ public int getDisplayDamage(ItemStack stack) {
+ return stack.getItemDamage();
+ }
+
+ @Override
+ public boolean showDurabilityBar(ItemStack stack) {
+ return false;
+ }
+
+ @Override
+ public int getItemEnchantability() {
+ return 0;
+ }
+
+ @Override
+ public int getItemEnchantability(ItemStack stack) {
+ return 0;
+ }
+
+ @Override
+ public void registerIcons(final IIconRegister u) {
+ for (int i=0;i<mTotalMetaItems;i++) {
+ String aPath = CORE.MODID + ":" + "food/MetaItem1/"+i;
+ mIconMap.put(i, u.registerIcon(aPath));
+ }
+ }
+
+ @Override
+ public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) {
+ return mIconMap.get(damage);
+ }
+
+ @Override
+ public IIcon getIconFromDamage(int damage) {
+ return mIconMap.get(damage);
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack aStack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
+ return mIconMap.get(getMetaKey(aStack));
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack aStack, int pass) {
+ return mIconMap.get(getMetaKey(aStack));
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack stack) {
+ return super.getUnlocalizedName() + "." + stack.getItemDamage();
+ }
+
+ private static class PotionEffectPackage {
+
+ private final PotionEffect mEffect;
+ private final int mChance;
+
+ private PotionEffectPackage(PotionEffect aEffect, int aChance) {
+ mEffect = aEffect;
+ mChance = aChance;
+ }
+
+ public PotionEffect getEffect() {
+ return this.mEffect;
+ }
+
+ public int getChance() {
+ return this.mChance;
+ }
+
+ }
+
+ private static AutoMap<PotionEffectPackage> getPotionEffectPackage(PotionEffectPackage... aEffects){
+ AutoMap<PotionEffectPackage> aPackage = new AutoMap<PotionEffectPackage>();
+ if (aEffects != null && aEffects.length > 0) {
+ for (PotionEffectPackage aEffect : aEffects) {
+ aPackage.put(aEffect);
+ }
+ }
+ return aPackage;
+ }
+
+ private static ArrayList<String> getOreDictNamesAsArrayList(String... aOreDictNames){
+ ArrayList<String> aPackage = new ArrayList<String>();
+ if (aOreDictNames != null && aOreDictNames.length > 0) {
+ for (String aEffect : aOreDictNames) {
+ aPackage.add(aEffect);
+ }
+ }
+ return aPackage;
+ }
+
+ private static class EffectWeaknessBasic extends PotionEffectPackage {
+
+ protected EffectWeaknessBasic(int aChance) {
+ super(new PotionEffect(Potion.weakness.getId(), 1, 20), aChance);
+ }
+
+ }
+
+ private static class EffectWeaknessModerate extends PotionEffectPackage {
+
+ protected EffectWeaknessModerate(int aChance) {
+ super(new PotionEffect(Potion.weakness.getId(), 2, 40), aChance);
+ }
+
+ }
+
+ private static class EffectWeaknessSevere extends PotionEffectPackage {
+
+ protected EffectWeaknessSevere(int aChance) {
+ super(new PotionEffect(Potion.weakness.getId(), 3, 60), aChance);
+ }
+
+ }
+
+ private static class EffectSlownessBasic extends PotionEffectPackage {
+
+ protected EffectSlownessBasic(int aChance) {
+ super(new PotionEffect(Potion.moveSlowdown.getId(), 1, 20), aChance);
+ }
+
+ }
+
+ private static class EffectSlownessModerate extends PotionEffectPackage {
+
+ protected EffectSlownessModerate(int aChance) {
+ super(new PotionEffect(Potion.moveSlowdown.getId(), 2, 40), aChance);
+ }
+
+ }
+
+ private static class EffectSlownessSevere extends PotionEffectPackage {
+
+ protected EffectSlownessSevere(int aChance) {
+ super(new PotionEffect(Potion.moveSlowdown.getId(), 3, 60), aChance);
+ }
+
+ }
+
+
+
+
+ private static abstract class SpecialFoodBehaviour {
+
+ protected final int mChance;
+
+ public SpecialFoodBehaviour(int aChance) {
+ mChance = aChance;
+ }
+
+ public final void doBehaviour(EntityPlayer aPlayer) {
+ if (aPlayer != null && !aPlayer.worldObj.isRemote) {
+ if (MathUtils.randInt(0, 100) < mChance || mChance == 100) {
+ behaviour(aPlayer);
+ }
+ }
+ }
+
+ protected abstract void behaviour(EntityPlayer aPlayer);
+
+ }
+
+
+ private static class setOnFire extends SpecialFoodBehaviour {
+
+ public setOnFire() {
+ super(100);
+ }
+
+ @Override
+ public void behaviour(EntityPlayer aPlayer) {
+ EntityUtils.setEntityOnFire(aPlayer, 5);
+ }
+
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java b/src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java
index 4abb84a33c..d98b27d163 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemGiantEgg.java
@@ -4,6 +4,14 @@ import static gtPlusPlus.core.lib.CORE.RANDOM;
import java.util.List;
+import gregtech.api.enums.ItemList;
+import gtPlusPlus.core.entity.item.ItemEntityGiantEgg;
+import gtPlusPlus.core.item.base.BaseItemBurnable;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.NBTUtils;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
@@ -14,16 +22,6 @@ import net.minecraft.util.MathHelper;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
-import gregtech.api.enums.ItemList;
-
-import gtPlusPlus.core.entity.item.ItemEntityGiantEgg;
-import gtPlusPlus.core.item.base.BaseItemBurnable;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.minecraft.ItemUtils;
-import gtPlusPlus.core.util.minecraft.NBTUtils;
-
public class ItemGiantEgg extends BaseItemBurnable {
public ItemGiantEgg(String unlocalizedName, String displayName, CreativeTabs creativeTab, int stackSize, int maxDmg,
@@ -138,7 +136,7 @@ public class ItemGiantEgg extends BaseItemBurnable {
if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && Utils.getGregtechSubVersion() > 28) {
- ItemList xl = Utils.getValueOfItemList("Circuit_Chip_Stemcell", ItemList.Circuit_Elite);
+ ItemList xl = ItemUtils.getValueOfItemList("Circuit_Chip_Stemcell", ItemList.Circuit_Elite);
if (xl != null && xl.hasBeenSet()) {
mCorrectStemCells = xl.get(1);
}
diff --git a/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java b/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
index 94ebb3ffcb..e5c403c503 100644
--- a/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
+++ b/src/Java/gtPlusPlus/core/item/init/ItemsFoods.java
@@ -1,15 +1,22 @@
package gtPlusPlus.core.item.init;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-
import gregtech.api.util.GT_OreDictUnificator;
-
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.item.base.foods.BaseItemFood;
import gtPlusPlus.core.item.base.foods.BaseItemHotFood;
+import gtPlusPlus.core.item.food.BaseItemMetaFood;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
+import net.minecraft.entity.monster.EntityBlaze;
+import net.minecraft.entity.passive.EntityHorse;
+import net.minecraft.entity.passive.EntityOcelot;
+import net.minecraft.entity.passive.EntityVillager;
+import net.minecraft.entity.passive.EntityWolf;
+import net.minecraft.item.ItemStack;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
public class ItemsFoods {
@@ -40,6 +47,34 @@ public class ItemsFoods {
ModItems.itemHotFoodCurriedSausages = new BaseItemHotFood("itemHotFoodCurriedSausages", 1, 0.5f, "Curried Sausages", 240, ModItems.itemFoodCurriedSausages);
GT_OreDictUnificator.registerOre("foodHotCurriedSausages", ItemUtils.getItemStackFromFQRN(CORE.MODID+":itemHotFoodCurriedSausages", 1));
+ ModItems.itemMetaFood = new BaseItemMetaFood();
+ BaseItemMetaFood.registerFoodsToOreDict();
+ addCookingRecipes();
+ addFoodDropsToMobs();
+
+ }
+
+ private static ItemStack getMetaFoodStack(int aID) {
+ return ItemUtils.simpleMetaStack(ModItems.itemMetaFood, aID, 1);
+ }
+
+ private static void addCookingRecipes() {
+
+ RecipeUtils.addSmeltingRecipe(getMetaFoodStack(0), getMetaFoodStack(1), 0.4F);
+ RecipeUtils.addSmeltingRecipe(getMetaFoodStack(2), getMetaFoodStack(3), 0.35F);
+ RecipeUtils.addSmeltingRecipe(getMetaFoodStack(4), getMetaFoodStack(5), 0.35F);
+ RecipeUtils.addSmeltingRecipe(getMetaFoodStack(6), getMetaFoodStack(7), 0.35F);
+
+ }
+
+ private static void addFoodDropsToMobs() {
+
+ EntityUtils.registerDropsForMob(EntityVillager.class, getMetaFoodStack(0), 2, 1500);
+ EntityUtils.registerDropsForMob(EntityHorse.class, getMetaFoodStack(2), 4, 4000);
+ EntityUtils.registerDropsForMob(EntityWolf.class, getMetaFoodStack(4), 2, 4000);
+ EntityUtils.registerDropsForMob(EntityOcelot.class, getMetaFoodStack(6), 2, 4000);
+ EntityUtils.registerDropsForMob(EntityBlaze.class, getMetaFoodStack(8), 1, 500);
+
}
}
diff --git a/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java b/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java
index a48573888e..e43dc8546b 100644
--- a/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java
+++ b/src/Java/gtPlusPlus/core/item/tool/misc/GregtechPump.java
@@ -19,7 +19,6 @@ import gregtech.api.interfaces.IItemBehaviour;
import gregtech.api.interfaces.IItemContainer;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
import gregtech.api.objects.ItemData;
import gregtech.api.util.GT_LanguageManager;
@@ -200,7 +199,7 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
if (aOffsetMeta <= 3) {
FluidStack f = getFluid(aStack);
- aList.add("Can also drain any other standard fluid container block");
+ aList.add("Cannot drain any other standard fluid container block");
aList.add("Cannot be emptied via RMB, use inside a tank with GUI");
aList.add(EnumChatFormatting.DARK_GRAY+"This is technically just a fancy fluid cell");
aList.add(EnumChatFormatting.BLUE + (f != null ? f.getLocalizedName() : "No Fluids Contained"));
@@ -973,7 +972,8 @@ public class GregtechPump extends Item implements ISpecialElectricItem, IElectri
}
//Try support Standard Fluid Tanks too (May disable if dupes appear again)
else if ((tTileEntity instanceof IFluidTank || tTileEntity instanceof IFluidHandler)) {
- return this.drainIFluidTank(tTileEntity, aStack, aWorld, aPlayer, aX, aY, aZ);
+ //return this.drainIFluidTank(tTileEntity, aStack, aWorld, aPlayer, aX, aY, aZ);
+ return false;
}
}
}
diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java
index 34d7475df3..9e29a381e2 100644
--- a/src/Java/gtPlusPlus/core/lib/CORE.java
+++ b/src/Java/gtPlusPlus/core/lib/CORE.java
@@ -46,7 +46,6 @@ public class CORE {
public static Configuration Config;
public static boolean DEVENV = false;
- public static boolean DEBUG = false;
public static boolean NBT_PERSISTENCY_PATCH_APPLIED = false;
//Only can be set in Dev, no config or setting elsewhere.
public static final boolean LOAD_ALL_CONTENT = false;;
@@ -55,7 +54,7 @@ public class CORE {
public static final String name = "GT++";
public static final String MODID = "miscutils";
- public static final String VERSION = "1.7.03.45";
+ public static final String VERSION = "1.7.05";
public static String MASTER_VERSION = NetworkUtils.getContentFromURL("https://raw.githubusercontent.com/draknyte1/GTplusplus/master/Recommended.txt").toLowerCase();
public static String USER_COUNTRY = GeoUtils.determineUsersCountry();
public static boolean isModUpToDate = Utils.isModUpToDate();
@@ -290,12 +289,18 @@ public class CORE {
public static final String VERSION = "0.1";
}
+
public static final void crash() {
+ crash("Generic Crash");
+ }
+
+ public static final void crash(String aReason) {
Logger.INFO("==========================================================");
Logger.INFO("[GT++ CRASH]");
Logger.INFO("==========================================================");
Logger.INFO("Oooops...");
Logger.INFO("This should only happy in a development environment or when something really bad happens.");
+ Logger.INFO("Reason: "+aReason);
Logger.INFO("==========================================================");
Logger.INFO("Called from: "+ReflectionUtils.getMethodName(0));
Logger.INFO(ReflectionUtils.getMethodName(1));
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index b5922dde53..7d49a8d635 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -24,6 +24,7 @@ import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.CustomOrePrefix;
import gtPlusPlus.xmod.thaumcraft.objects.wrapper.aspect.TC_Aspect_Wrapper;
import gtPlusPlus.xmod.tinkers.material.BaseTinkersMaterial;
import net.minecraft.block.Block;
@@ -890,6 +891,9 @@ public class Material {
public final ItemStack getDustImpure(final int stacksize){
return getComponentByPrefix(OrePrefixes.dustImpure, stacksize);
}
+ public final ItemStack getMilled(final int stacksize){
+ return getComponentByPrefix(CustomOrePrefix.milled.get(), stacksize);
+ }
public final boolean hasSolidForm() {
if (ItemUtils.checkForInvalidItems(new ItemStack[] {getDust(1), getBlock(1), getTinyDust(1), getSmallDust(1)})) {
diff --git a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
index d2e24b04a1..73751ac49d 100644
--- a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
+++ b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java
@@ -70,8 +70,60 @@ public final class NUCLIDE {
new MaterialStack(ELEMENT.getInstance().URANIUM235, 14)
});
+ // Secondary material is molten metal
+ public static final Material NAQ_FUEL_T1 = new Material(
+ "Naquadah Fuel",
+ MaterialState.PURE_LIQUID, //State
+ null, //Material Colour
+ -1, //Melting Point in C
+ -1, //Boiling Point in C
+ -1, //Protons
+ -1,
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ELEMENT.getInstance().NAQUADAH, 2),
+ new MaterialStack(ELEMENT.getInstance().TANTALUM, 3)
+ });
+
+ // Secondary material is a plasma
+ public static final Material NAQ_FUEL_T2 = new Material(
+ "Enriched Naquadah Fuel",
+ MaterialState.PURE_LIQUID, //State
+ null, //Material Colour
+ -1, //Melting Point in C
+ -1, //Boiling Point in C
+ -1, //Protons
+ -1,
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ELEMENT.getInstance().NAQUADAH_ENRICHED, 2),
+ new MaterialStack(ELEMENT.getInstance().TITANIUM, 3)
+ });
+
+ // Secondary material is a plasma
+ public static final Material NAQ_FUEL_T3 = new Material(
+ "Naquadria Fuel",
+ MaterialState.PURE_LIQUID, //State
+ null, //Material Colour
+ -1, //Melting Point in C
+ -1, //Boiling Point in C
+ -1, //Protons
+ -1,
+ false, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ELEMENT.getInstance().NAQUADRIA, 2),
+ new MaterialStack(ELEMENT.getInstance().AMERICIUM, 3)
+ });
+
+
private static final NUCLIDE INSTANCE = new NUCLIDE();
- public static NUCLIDE getInstance(){return INSTANCE;}
+
+ public static NUCLIDE getInstance(){
+ return INSTANCE;
+ }
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index c7bbe7c7cd..1561f4b475 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -11,7 +11,6 @@ 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.api.util.HotFuel;
import gregtech.api.util.ThermalFuel;
import gtPlusPlus.api.objects.Logger;
@@ -40,7 +39,6 @@ import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
import gtPlusPlus.everglades.dimension.Dimension_Everglades;
-import gtPlusPlus.plugin.agrichem.BioRecipes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -114,26 +112,99 @@ public class RECIPES_GREGTECH {
private static void chemplantRecipes() {
+ //This is subsequently absorbed in water to form nitric acid and nitric oxide.
+ //3 NO2 (g) + H2O (l) → 2 HNO3 (aq) + NO (g) (ΔH = −117 kJ/mol)
+ //The nitric oxide is cycled back for reoxidation. Alternatively, if the last step is carried out in air:
+ //4 NO2 (g) + O2 (g) + 2 H2O (l) → 4 HNO3 (aq)
+
// Advanced method for Nitric Acid Production
- /* CORE.RA.addChemicalPlantRecipe(
- new ItemStack[] {
- CI.getNumberedBioCircuit(17),
- CI.getPinkCatalyst(0),
- },
- new FluidStack[] {
- FluidUtils.getLava(10000),
- FluidUtils.getDistilledWater(5000)
- },
- new ItemStack[] {
-
- },
- new FluidStack[] {
- FluidUtils.getFluidStack("nitricacid", 2000),
- },
- 10 * 20,
- 480,
- 3);*/
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedBioCircuit(17),
+ CI.getPinkCatalyst(0),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(GenericChem.Nitrogen_Dioxide, 3000),
+ FluidUtils.getAir(7000)
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("nitricacid", 4000),
+ FluidUtils.getWater(2000),
+ },
+ 10 * 20,
+ 480,
+ 3);
+
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedBioCircuit(16),
+ CI.getPinkCatalyst(0),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(GenericChem.Nitrogen_Dioxide, 3000),
+ FluidUtils.getDistilledWater(5000)
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("nitricacid", 2000),
+ FluidUtils.getFluidStack(GenericChem.Nitric_Oxide, 1500),
+ },
+ 10 * 20,
+ 480,
+ 2);
+
+ // Produce Boric Acid
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(21),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustBorax", 4),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack(GenericChem.HydrochloricAcid, 2000)
+ },
+ new ItemStack[] {
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSalt", 5),
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("boricacid", 2000),
+ FluidUtils.getWater(5000)
+
+ },
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(3),
+ 2);
+ // Produce Th232
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(22),
+ ELEMENT.getInstance().THORIUM.getDust(16)
+ },
+ new FluidStack[] {
+ FluidUtils.getDistilledWater(2000),
+ FluidUtils.getFluidStack("boricacid", 1500)
+ },
+ new ItemStack[] {
+ ELEMENT.getInstance().THORIUM.getSmallDust(32),
+ ELEMENT.getInstance().THORIUM232.getDust(2),
+ ELEMENT.getInstance().THORIUM232.getSmallDust(2),
+ ELEMENT.getInstance().URANIUM232.getDust(1),
+ },
+ new FluidStack[] {
+
+ },
+ new int[] {
+ 0, 0, 1000, 250
+ },
+ 20 * 300,
+ MaterialUtils.getVoltageForTier(4),
+ 3);
+
}
private static void fluidheaterRecipes() {
@@ -587,6 +658,16 @@ public class RECIPES_GREGTECH {
20 * 60 * 5,
MaterialUtils.getVoltageForTier(5));
+ // Distillus Upgrade Chip
+ GT_Values.RA.addLaserEngraverRecipe(
+ GregtechItemList.Laser_Lens_WoodsGlass.get(0),
+ ItemUtils.simpleMetaStack(AgriculturalChem.mBioCircuit, 20, 1),
+ GregtechItemList.Distillus_Upgrade_Chip.get(1),
+ 20 * 60 * 5,
+ MaterialUtils.getVoltageForTier(5));
+
+
+
}
@@ -1482,10 +1563,10 @@ public class RECIPES_GREGTECH {
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {ItemUtils.getSimpleStack(Items.nether_star), ItemUtils.getItemStackOfAmountFromOreDict("plateTungstenSteel", 8), ItemUtils.getItemStackOfAmountFromOreDict("stickBlackSteel", 8)}, null, ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard, 32), 30*20, 500);
- ItemStack aFluidReg1 = Utils.getValueOfItemList("FluidRegulator_LV", ItemList.Pump_LV).get(1);
- ItemStack aFluidReg2 = Utils.getValueOfItemList("FluidRegulator_MV", ItemList.Pump_MV).get(1);
- ItemStack aFluidReg3 = Utils.getValueOfItemList("FluidRegulator_HV", ItemList.Pump_HV).get(1);
- ItemStack aFluidReg4 = Utils.getValueOfItemList("FluidRegulator_EV", ItemList.Pump_EV).get(1);
+ ItemStack aFluidReg1 = ItemUtils.getValueOfItemList("FluidRegulator_LV", ItemList.Pump_LV).get(1);
+ ItemStack aFluidReg2 = ItemUtils.getValueOfItemList("FluidRegulator_MV", ItemList.Pump_MV).get(1);
+ ItemStack aFluidReg3 = ItemUtils.getValueOfItemList("FluidRegulator_HV", ItemList.Pump_HV).get(1);
+ ItemStack aFluidReg4 = ItemUtils.getValueOfItemList("FluidRegulator_EV", ItemList.Pump_EV).get(1);
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
aFluidReg1,
@@ -1807,13 +1888,6 @@ public class RECIPES_GREGTECH {
private static void centrifugeRecipes() {
- GT_Values.RA.addCentrifugeRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustThorium", 8), GT_Values.NI,
- GT_Values.NF, GT_Values.NF, ELEMENT.getInstance().THORIUM232.getDust(2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSmallThorium", 20),
- ELEMENT.getInstance().URANIUM232.getDust(1), GT_Values.NI, GT_Values.NI, GT_Values.NI,
- new int[] { 0, 0, 10 }, 500 * 20, 2000);
-
-
//Process Used Fuel Rods for Krypton
//Uranium
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index 2165f27ec7..ebc2c07a63 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -2,9 +2,14 @@ package gtPlusPlus.core.recipe;
import static gtPlusPlus.core.lib.CORE.GTNH;
+import codechicken.nei.api.API;
import cpw.mods.fml.common.Loader;
-import gregtech.api.enums.*;
+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.common.items.GT_MetaGenerated_Tool_01;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.ModItems;
@@ -15,16 +20,17 @@ import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.recipe.common.CI;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.math.MathUtils;
-import gtPlusPlus.core.util.minecraft.*;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.core.util.minecraft.MaterialUtils;
+import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.everglades.dimension.Dimension_Everglades;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
-import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import gtPlusPlus.xmod.gregtech.common.covers.CoverManager;
import gtPlusPlus.xmod.gregtech.common.items.MetaCustomCoverItem;
+import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -241,29 +247,29 @@ public class RECIPES_Machines {
distillus();
algaeFarm();
chemPlant();
-
+
}
private static void chemPlant() {
-
+
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
- CI.getNumberedBioCircuit(19),
- CI.getTieredGTPPMachineCasing(1, 6),
- CI.getTieredComponentOfMaterial(Materials.Steel, OrePrefixes.gearGt, 6),
- CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.plate, 32),
- CI.getTieredComponentOfMaterial(Materials.CobaltBrass, OrePrefixes.dust, 16),
- CI.getTieredComponent(OrePrefixes.frameGt, 2, 4),
+ CI.getNumberedBioCircuit(19),
+ CI.getTieredGTPPMachineCasing(1, 6),
+ CI.getTieredComponentOfMaterial(Materials.Steel, OrePrefixes.gearGt, 6),
+ CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.plate, 32),
+ CI.getTieredComponentOfMaterial(Materials.CobaltBrass, OrePrefixes.dust, 16),
+ CI.getTieredComponent(OrePrefixes.frameGt, 2, 4),
},
ALLOY.STEEL.getFluid(2 * (144 * 4)),
GregtechItemList.ChemicalPlant_Controller.get(1),
120 * 20,
MaterialUtils.getVoltageForTier(2));
-
+
}
private static void algaeFarm() {
-
+
// Give the shitty algae a use :)
CORE.RA.addDistilleryRecipe(
ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 32),
@@ -273,26 +279,26 @@ public class RECIPES_Machines {
20 * 15,
16,
false);
-
+
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
- CI.getNumberedBioCircuit(21),
- CI.getTieredGTPPMachineCasing(0, 4),
- CI.getTieredComponentOfMaterial(Materials.Iron, OrePrefixes.rod, 12),
- CI.getTieredComponentOfMaterial(Materials.Wood, OrePrefixes.plate, 32),
- CI.getTieredComponentOfMaterial(Materials.Bronze, OrePrefixes.bolt, 16),
- CI.getTieredComponentOfMaterial(Materials.Redstone, OrePrefixes.dust, 32),
+ CI.getNumberedBioCircuit(21),
+ CI.getTieredGTPPMachineCasing(0, 4),
+ CI.getTieredComponentOfMaterial(Materials.Iron, OrePrefixes.rod, 12),
+ CI.getTieredComponentOfMaterial(Materials.Wood, OrePrefixes.plate, 32),
+ CI.getTieredComponentOfMaterial(Materials.Bronze, OrePrefixes.bolt, 16),
+ CI.getTieredComponentOfMaterial(Materials.Redstone, OrePrefixes.dust, 32),
},
ALLOY.POTIN.getFluid(2 * (144 * 4)),
GregtechItemList.AlgaeFarm_Controller.get(1),
60 * 20,
MaterialUtils.getVoltageForTier(1));
-
-
+
+
}
private static void distillus() {
-
+
CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedBioCircuit(19),
@@ -310,44 +316,44 @@ public class RECIPES_Machines {
GregtechItemList.Machine_Adv_DistillationTower.get(1)
},
new FluidStack[] {
-
+
},
20 * 600,
MaterialUtils.getVoltageForTier(6),
3);
-
+
}
private static void chunkloaders() {
-
+
ItemStack aOutputs[] = new ItemStack[] {
GregtechItemList.GT_Chunkloader_HV.get(1L),
GregtechItemList.GT_Chunkloader_IV.get(1L),
GregtechItemList.GT_Chunkloader_ZPM.get(1L),
};
-
+
int aIndex = 0;
-
+
for (int i=3;i<8;i++) {
if (i == 4 || i == 6) {
continue;
}
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
- CI.getNumberedBioCircuit(21),
- CI.getElectricPiston(i, 10),
- CI.getFieldGenerator(i + 1, 6),
- CI.getPlate(i, 16),
- CI.getTransmissionComponent(i - 1, 8),
- CI.getTieredComponent(OrePrefixes.cableGt08, i, 16)
+ CI.getNumberedBioCircuit(21),
+ CI.getElectricPiston(i, 10),
+ CI.getFieldGenerator(i + 1, 6),
+ CI.getPlate(i, 16),
+ CI.getTransmissionComponent(i - 1, 8),
+ CI.getTieredComponent(OrePrefixes.cableGt08, i, 16)
},
ALLOY.EGLIN_STEEL.getFluid(i * (144 * 4)),
aOutputs[aIndex++].copy(),
300 * 20,
MaterialUtils.getVoltageForTier(i));
}
-
-
+
+
}
private static void overflowValveCovers() {
@@ -359,25 +365,25 @@ public class RECIPES_Machines {
GregtechItemList.Cover_Overflow_EV.get(1L),
GregtechItemList.Cover_Overflow_IV.get(1L),
};
-
+
for (int i=0;i<6;i++) {
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
- CI.getNumberedBioCircuit(19),
- CI.getElectricPump(i, 2),
- CI.getElectricMotor(i, 2),
- CI.getPlate(i, 4)
+ CI.getNumberedBioCircuit(19),
+ CI.getElectricPump(i, 2),
+ CI.getElectricMotor(i, 2),
+ CI.getPlate(i, 4)
},
- FluidUtils.getWater(i * 1500),
+ FluidUtils.getWater((i+1) * 750),
aOutputs[i].copy(),
20 * 20,
MaterialUtils.getVoltageForTier(i));
}
-
+
}
private static void tieredMachineHulls() {
-
+
GregtechItemList[] aHulls = new GregtechItemList[] {
GregtechItemList.GTPP_Casing_ULV,
GregtechItemList.GTPP_Casing_LV,
@@ -390,7 +396,7 @@ public class RECIPES_Machines {
GregtechItemList.GTPP_Casing_UV,
GregtechItemList.GTPP_Casing_MAX
};
-
+
for (int i=0;i<10;i++) {
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
@@ -401,12 +407,12 @@ public class RECIPES_Machines {
CI.getTieredComponent(OrePrefixes.cableGt02, i, 4),
CI.getTieredComponent(OrePrefixes.circuit, i, 2)
},
- CI.getAlternativeTieredFluid(i, 144 * i * 2),
+ CI.getAlternativeTieredFluid(i, 144 * (i+1) * 2),
aHulls[i].get(1),
20 * 20,
MaterialUtils.getVoltageForTier(i));
}
-
+
}
private static void initModItems(){
@@ -443,7 +449,7 @@ public class RECIPES_Machines {
EV_MACHINE_Wiremill= ItemList.Machine_IV_Wiremill.get(1);
HV_MACHINE_Macerator= ItemList.Machine_EV_Macerator.get(1);
EV_MACHINE_Macerator= ItemList.Machine_IV_Macerator.get(1);
- EV_MACHINE_MassFabricator= CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? gtPlusPlus.core.util.Utils.getValueOfItemList("Machine_LuV_Massfab", ItemList.Machine_IV_Massfab).get(1) : ItemList.Machine_IV_Massfab.get(1);
+ EV_MACHINE_MassFabricator= CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? ItemUtils.getValueOfItemList("Machine_LuV_Massfab", ItemList.Machine_IV_Massfab).get(1) : ItemList.Machine_IV_Massfab.get(1);
EV_MACHINE_Centrifuge= ItemList.Machine_IV_Centrifuge.get(1);
EV_MACHINE_Cutter = ItemList.Machine_IV_Cutter.get(1);
EV_MACHINE_Extruder = ItemList.Machine_IV_Extruder.get(1);
@@ -541,9 +547,9 @@ public class RECIPES_Machines {
20 * 30,
30);
- ItemStack aFluidRegulator1 = ItemUtils.getItemListObject("FluidRegulator_MV", "Pump_HV", GTNH ? 4 : 2);
- ItemStack aFluidRegulator2 = ItemUtils.getItemListObject("FluidRegulator_IV", "Pump_LuV", GTNH ? 4 : 2);
-
+ ItemStack aFluidRegulator1 = ItemUtils.getValueOfItemList("FluidRegulator_MV",GTNH ? 4 : 2, ItemList.Electric_Pump_HV);
+ ItemStack aFluidRegulator2 = ItemUtils.getValueOfItemList("FluidRegulator_IV", GTNH ? 4 : 2, ItemUtils.getValueOfItemList("Electric_Pump_LuV", GTNH ? 8 : 4, ItemList.Electric_Pump_IV));
+
//Poo Collector
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
@@ -605,7 +611,7 @@ public class RECIPES_Machines {
plateEnergeticAlloy, pipeLargeCopper, plateEnergeticAlloy,
RECIPE_SteamCondenser);
}
-
+
//Steam Condenser
if (LoadedMods.CoFHCore && CORE.ConfigSwitches.enableMachine_RF_Convetor){
@@ -900,25 +906,47 @@ public class RECIPES_Machines {
}
//TODO
- //Semi-Fluid Generators
- ItemStack mSemiFluidgen = ItemUtils.getItemStackFromFQRN("IC2:blockGenerator:7", 1);
- mSemiFluidgen.setItemDamage(7);
+ //Semi-Fluid Generators
+ ItemStack[][] aSemiFluidInputs = new ItemStack[3][6];
+ aSemiFluidInputs[0] = new ItemStack[]{
+ CI.getNumberedBioCircuit(14),
+ CI.getTieredMachineHull(1, 1),
+ CI.getElectricPiston(1, GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.circuit, 1, GTNH ? 4 : 2),
+ CI.getPlate(1, GTNH ? 8 : 4),
+ CI.getGear(1, GTNH ? 4 : 2)
+ };
+ aSemiFluidInputs[1] = new ItemStack[]{
+ CI.getNumberedBioCircuit(14),
+ CI.getTieredMachineHull(2, 1),
+ CI.getElectricPiston(2, GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.circuit, 2, GTNH ? 4 : 2),
+ CI.getPlate(2, GTNH ? 8 : 4),
+ CI.getGear(2, GTNH ? 4 : 2)
+ };
+ aSemiFluidInputs[2] = new ItemStack[]{
+ CI.getNumberedBioCircuit(14),
+ CI.getTieredMachineHull(3, 1),
+ CI.getElectricPiston(3, GTNH ? 4 : 2),
+ CI.getTieredComponent(OrePrefixes.circuit, 3, GTNH ? 4 : 2),
+ CI.getPlate(3, GTNH ? 8 : 4),
+ CI.getGear(3, GTNH ? 4 : 2)
+ };
+ FluidStack[] aSemiFluidFluidInputs = new FluidStack[] {
+ ALLOY.BRONZE.getFluid(144 * 8),
+ ALLOY.STEEL.getFluid(144 * 8),
+ ELEMENT.getInstance().ALUMINIUM.getFluid(144 * 8),
+ };
+
//ItemUtils.simpleMetaStack("IC2:blockGenerator:7", 7, 1);
- ItemStack[] aSemifluids = new ItemStack[] {mSemiFluidgen, GregtechItemList.Generator_SemiFluid_LV.get(1), GregtechItemList.Generator_SemiFluid_MV.get(1), GregtechItemList.Generator_SemiFluid_HV.get(1)};
- for (int o=1;o<4;o++) {
+ ItemStack[] aSemifluids = new ItemStack[] {GregtechItemList.Generator_SemiFluid_LV.get(1), GregtechItemList.Generator_SemiFluid_MV.get(1), GregtechItemList.Generator_SemiFluid_HV.get(1)};
+ for (int o=0;o<3;o++) {
CORE.RA.addSixSlotAssemblingRecipe(
- new ItemStack[] {
- aSemifluids[o-1],
- CI.getElectricPiston(o, GTNH ? 4 : 2),
- CI.getElectricMotor(o, GTNH ? 2 : 1),
- CI.getTieredComponent(OrePrefixes.circuit, o, GTNH ? 4 : 2),
- CI.getPlate(o, GTNH ? 8 : 4),
- CI.getGear(o-1, GTNH ? 4 : 2)
- },
- CI.getAlternativeTieredFluid(o, 144 * 4),
+ aSemiFluidInputs[o],
+ aSemiFluidFluidInputs[o],
aSemifluids[o],
20 * 30,
- (int) GT_Values.V[o]);
+ MaterialUtils.getVoltageForTier(o+1));
}
if (CORE.ConfigSwitches.enableMultiblock_AlloyBlastSmelter){
@@ -955,9 +983,9 @@ public class RECIPES_Machines {
//Matter Fabricator CPU
RecipeUtils.addShapedGregtechRecipe(
- "plateDoubleQuantum", CI.circuitTier5, "plateDoubleQuantum",
+ CI.getDoublePlate(8, 1), CI.circuitTier5, CI.getPlate(8, 1),
cableTier8, CI.machineCasing_LuV, cableTier8,
- "plateDoubleQuantum", CI.circuitTier5, "plateDoubleQuantum",
+ CI.getPlate(8, 1), CI.circuitTier5, CI.getPlate(8, 1),
RECIPE_IndustrialMatterFabController);
//Matter Fabricator Frame Casing
RecipeUtils.addShapedGregtechRecipe(
@@ -967,9 +995,9 @@ public class RECIPES_Machines {
RECIPE_IndustrialMatterFabFrame);
//Matter Fabricator Coil
RecipeUtils.addShapedGregtechRecipe(
- "plateQuantum", "plateQuantum", "plateQuantum",
+ CI.getPlate(6, 1), CI.getPlate(7, 1), CI.getPlate(6, 1),
"frameGtStellite", CI.machineCasing_UV, "frameGtStellite",
- "plateQuantum", "plateQuantum", "plateQuantum",
+ CI.getPlate(6, 1), CI.getPlate(7, 1), CI.getPlate(6, 1),
RECIPE_IndustrialMatterFabCoil);
}
@@ -1120,12 +1148,6 @@ public class RECIPES_Machines {
aSimpleWasherTier += 2;
aSlot++;
}
-
-
-
-
-
-
}
if (CORE.ConfigSwitches.enableMachine_Pollution && PollutionUtils.isPollutionEnabled()){
@@ -1149,20 +1171,6 @@ public class RECIPES_Machines {
CI.getTieredCircuit(1), CI.machineHull_LV, CI.getTieredCircuit(0),
GregtechItemList.Pollution_Detector.get(1));
- //Air Intake Hatch
-
-
-
- ItemList FluidRegulator_IV = Utils.getValueOfItemList("FluidRegulator_IV", ItemList.Pump_IV);
- ItemStack aTieredFluidRegulator = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? FluidRegulator_IV.get(1) : ItemList.Pump_IV.get(1);
-
-
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[6], ItemList.Casing_Grate.get(1), CI.component_Plate[6],
- CI.component_Plate[6], aTieredFluidRegulator, CI.component_Plate[6],
- CI.getTieredCircuit(4), ItemList.Hatch_Input_IV.get(1), CI.getTieredCircuit(4),
- GregtechItemList.Hatch_Air_Intake.get(1));
-
//ULV
RecipeUtils.addShapedGregtechRecipe(
CI.component_Plate[0], ItemUtils.simpleMetaStack(ModItems.itemAirFilter, 0, 1), CI.component_Plate[0],
@@ -1267,6 +1275,15 @@ public class RECIPES_Machines {
);
}
+ //Air Intake Hatch
+ ItemList FluidRegulator_IV = ItemUtils.getValueOfItemList("FluidRegulator_IV", ItemList.Pump_IV);
+ ItemStack aTieredFluidRegulator = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? FluidRegulator_IV.get(1) : ItemList.Pump_IV.get(1);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[6], ItemList.Casing_Grate.get(1), CI.component_Plate[6],
+ CI.component_Plate[6], aTieredFluidRegulator, CI.component_Plate[6],
+ CI.getTieredCircuit(4), ItemList.Hatch_Input_IV.get(1), CI.getTieredCircuit(4),
+ GregtechItemList.Hatch_Air_Intake.get(1));
+
if (CORE.ConfigSwitches.enableMultiblock_LiquidFluorideThoriumReactor){
//Thorium Reactor
@@ -1342,15 +1359,6 @@ public class RECIPES_Machines {
CI.craftingToolHammer_Hard, "frameGtHastelloyC276", CI.craftingToolWrench,
CI.component_Plate[5], CI.getTieredMachineCasing(4), "ringInconel792",
GregtechItemList.Casing_Refinery_Structural.get(Casing_Amount));
-
-
-
-
-
-
-
-
-
}
//Shelves
@@ -1419,15 +1427,25 @@ public class RECIPES_Machines {
RECIPE_CyclotronController,
60 * 20 * 5,
MaterialUtils.getVoltageForTier(5));
+ }
+ // Mazut
+ GT_ModHandler.addCraftingRecipe(
+ GregtechItemList.Controller_LargeSemifluidGenerator.get(1L),
+ CI.bitsd,
+ new Object[]{
+ "PCP",
+ "EME",
+ "GWG",
+ 'M', ItemList.Hull_EV,
+ 'P', ItemList.Electric_Piston_EV,
+ 'E', ItemList.Electric_Pump_EV,
+ 'C', OrePrefixes.circuit.get(Materials.Data),
+ 'W', OrePrefixes.cableGt08.get(Materials.Electrum),
+ 'G', ALLOY.INCONEL_792.getGear(1)
+ });
-
-
-
-
- }
-
if (CORE.ConfigSwitches.enableMultiblock_PowerSubstation){
RecipeUtils.recipeBuilder(
"screwTitanium", "plateIncoloy020", "screwTitanium",
@@ -1475,8 +1493,7 @@ public class RECIPES_Machines {
if (CORE.ConfigSwitches.enableMultiblock_LargeAutoCrafter) {
ItemStack aCoreBlock = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK
- ? ItemList.valueOf("Block_IridiumTungstensteel").get(1,
- ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1))
+ ? ItemUtils.getValueOfItemList("Block_IridiumTungstensteel", 1, ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1))
: ItemUtils.getItemStackOfAmountFromOreDict("blockOsmiridium", 1);
aCoreBlock.stackSize = GTNH ? 2 : 1;
@@ -1622,7 +1639,7 @@ public class RECIPES_Machines {
cell1 = CI.conveyorModule_EV;
cell2 = CI.electricMotor_IV;
ItemStack casingAmazon = GregtechItemList.Casing_AmazonWarehouse.get(1);
- ItemStack aTieredUnboxinator = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? ItemList.valueOf("Machine_LuV_Unboxinator").get(1, ItemList.Machine_IV_Unboxinator.get(1)) : ItemList.Machine_IV_Unboxinator.get(1);
+ ItemStack aTieredUnboxinator = CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK ? ItemUtils.getValueOfItemList("Machine_LuV_Unboxinator", 1, ItemList.Machine_IV_Unboxinator.get(1)) : ItemList.Machine_IV_Unboxinator.get(1);
RecipeUtils.recipeBuilder(
@@ -1768,7 +1785,7 @@ public class RECIPES_Machines {
- ItemStack aDrillController = Utils.getValueOfItemList("OreDrill4", ItemList.Hull_UV).get(1);
+ ItemStack aDrillController = ItemUtils.getValueOfItemList("OreDrill4", ItemList.Hull_UV).get(1);
//Drilling Platform
CORE.RA.addSixSlotAssemblingRecipe(
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java
index 98ea687747..3ed2f5f168 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Old_Circuits.java
@@ -1,24 +1,24 @@
package gtPlusPlus.core.recipe;
import cpw.mods.fml.common.Loader;
-
-import net.minecraft.item.ItemStack;
-
-import gregtech.api.enums.*;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OreDictNames;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
import gregtech.api.interfaces.IOreRecipeRegistrator;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
-
-import codechicken.nei.api.API;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import net.minecraft.item.ItemStack;
public class RECIPES_Old_Circuits implements IOreRecipeRegistrator {
public RECIPES_Old_Circuits() {
@@ -445,7 +445,7 @@ public class RECIPES_Old_Circuits implements IOreRecipeRegistrator {
for (String component : CircuitToHide){
try {
- API.hideItem(Utils.getValueOfItemList(component, null).get(1L, new Object[0]));
+ ItemUtils.hideItemFromNEI(ItemUtils.getValueOfItemList(component, null).get(1L, new Object[0]));
} catch (IllegalArgumentException I){
Logger.INFO("Could not find "+component+" in the Gregtech item list.");
Logger.INFO("This is NOT an error, simply a notification.");
diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java
index 1d3d386da3..d67a372572 100644
--- a/src/Java/gtPlusPlus/core/recipe/common/CI.java
+++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java
@@ -9,7 +9,6 @@ import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.chemistry.AgriculturalChem;
import gtPlusPlus.core.item.chemistry.GenericChem;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.Material;
@@ -17,7 +16,6 @@ import gtPlusPlus.core.recipe.LOADER_Machine_Components;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
-import gtPlusPlus.xmod.eio.material.MaterialEIO;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import gtPlusPlus.xmod.gregtech.common.StaticFields59;
import ic2.core.Ic2Items;
@@ -184,7 +182,7 @@ public class CI {
public static ItemStack explosiveITNT;
public static void preInit(){
-
+
//Tiered Components
component_Plate = new String[]{
getTieredComponent(OrePrefixes.plate, 0),
@@ -402,7 +400,7 @@ public class CI {
return ItemList.Tool_DataOrb.get(1);
}
}
-
+
public static ItemStack getDataStick(){
if (CORE.ConfigSwitches.enableOldGTcircuits && CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK && !CORE.GTNH){
return GregtechItemList.Old_Tool_DataStick.get(1);
@@ -489,17 +487,7 @@ public class CI {
public static void init() {
//Set Explosives
- try {
- ItemList PowerderBarrel = Utils.getValueOfItemList("Block_Powderbarrel", null);
- if (PowerderBarrel != null){
- explosivePowderKeg = PowerderBarrel.get(1).copy();
- }
- else {
- explosivePowderKeg = ItemUtils.getSimpleStack(Items.gunpowder).copy();
- }
- } catch (java.lang.IllegalArgumentException Y) {
- explosivePowderKeg = ItemUtils.getSimpleStack(Items.gunpowder).copy();
- }
+ explosivePowderKeg = ItemUtils.getValueOfItemList("Block_Powderbarrel", 1, ItemUtils.getSimpleStack(Items.gunpowder, 16));
explosiveTNT = ItemUtils.getSimpleStack(Blocks.tnt).copy();
explosiveITNT = Ic2Items.industrialTnt.copy();
@@ -540,13 +528,13 @@ public class CI {
public static ItemStack emptyCells(int i) {
return ItemUtils.getEmptyCell(i);
}
-
-
-
+
+
+
/*
*
*/
-
+
private static final Material[] aMaterial_Main = new Material[] {
ALLOY.POTIN,
ALLOY.TUMBAGA,
@@ -561,7 +549,7 @@ public class CI {
ALLOY.QUANTUM,
ELEMENT.STANDALONE.HYPOGEN
};
-
+
private static final Material[] aMaterial_Secondary = new Material[] {
ALLOY.STEEL,
ALLOY.SILICON_CARBIDE,
@@ -576,7 +564,7 @@ public class CI {
ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN,
ELEMENT.STANDALONE.HYPOGEN
};
-
+
private static final Material[] aMaterial_Tertiary = new Material[] {
ELEMENT.getInstance().LEAD,
ELEMENT.getInstance().ALUMINIUM,
@@ -591,21 +579,21 @@ public class CI {
ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN,
ELEMENT.STANDALONE.HYPOGEN
};
-
+
private static final Materials[] aMaterial_Cables = new Materials[] {
!CORE.GTNH ? Materials.Lead : Materials.Tin,
- Materials.Cobalt,
- Materials.AnnealedCopper,
- Materials.Gold,
- Materials.Titanium,
- Materials.Nichrome,
- Materials.Platinum,
- Materials.YttriumBariumCuprate,
- Materials.Naquadah,
- Materials.Duranium,
- Materials.Superconductor,
+ Materials.Cobalt,
+ Materials.AnnealedCopper,
+ Materials.Gold,
+ Materials.Titanium,
+ Materials.Nichrome,
+ Materials.Platinum,
+ Materials.YttriumBariumCuprate,
+ Materials.Naquadah,
+ Materials.Duranium,
+ Materials.Superconductor,
};
-
+
private static final Materials[] aMaterial_Circuits = new Materials[] {
Materials.Primitive,
Materials.Basic,
@@ -619,18 +607,18 @@ public class CI {
Materials.Superconductor,
Materials.Infinite,
};
-
+
private static final Material[][] aMaster = new Material[][] {aMaterial_Main, aMaterial_Secondary, aMaterial_Tertiary};
-
-
+
+
public static FluidStack getTieredFluid(int aTier, int aAmount) {
return getTieredFluid(aTier, aAmount, 0);
}
-
+
public static FluidStack getAlternativeTieredFluid(int aTier, int aAmount) {
return getTieredFluid(aTier, aAmount, 1);
}
-
+
public static FluidStack getTertiaryTieredFluid(int aTier, int aAmount) {
return getTieredFluid(aTier, aAmount, 2);
}
@@ -642,7 +630,7 @@ public class CI {
if (a == null) {
a = aMaster[aType][aTier].getFluid(aAmount);
}*/
-
+
// Modern Handling
FluidStack a = aMaster[aType][aTier].getFluid(aAmount);
if (a == null) {
@@ -654,7 +642,7 @@ public class CI {
}
return a;
}
-
+
public static ItemStack getEnergyCore(int aTier, int aAmount) {
ItemStack[] aOutput = new ItemStack[] {
ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore"+"1", 1),
@@ -670,39 +658,43 @@ public class CI {
};
return ItemUtils.getSimpleStack(aOutput[MathUtils.balance(aTier, 0, 9)], aAmount);
}
-
+
public static ItemStack getPlate(int aTier, int aAmount) {
return getTieredComponent(OrePrefixes.plate, aTier, aAmount);
}
-
+
+ public static ItemStack getDoublePlate(int aTier, int aAmount) {
+ return getTieredComponent(OrePrefixes.plateDouble, aTier, aAmount);
+ }
+
public static ItemStack getGear(int aTier, int aAmount) {
return getTieredComponent(OrePrefixes.gearGt, aTier, aAmount);
}
-
+
public static ItemStack getIngot(int aTier, int aAmount) {
return getTieredComponent(OrePrefixes.ingot, aTier, aAmount);
}
-
+
public static ItemStack getBolt(int aTier, int aAmount) {
return getTieredComponent(OrePrefixes.bolt, aTier, aAmount);
}
-
+
public static ItemStack getTieredComponent(OrePrefixes aPrefix, int aTier, int aAmount) {
aTier = Math.max(0, aTier);
-
+
Material m = null;
-
-
-
-
-
-
+
+
+
+
+
+
if (aPrefix == OrePrefixes.liquid) {
int aMatID = (aTier == 0 || aTier == 2 || aTier == 5 || aTier == 8 ? 0 : (aTier == 1 || aTier == 3 || aTier == 6 || aTier == 9 ? 1 : 2));
ItemStack aCell = aMaster[aMatID][aTier].getCell(aAmount);
return aCell;
}
-
+
if (aPrefix == OrePrefixes.circuit) {
if (aTier == 4) {
return ItemUtils.getSimpleStack(CI.getDataStick(), aAmount);
@@ -736,19 +728,19 @@ public class CI {
else {
return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount);
}
-
-
+
+
}
if (aPrefix == OrePrefixes.wireGt01 || aPrefix == OrePrefixes.wireGt02 || aPrefix == OrePrefixes.wireGt04 || aPrefix == OrePrefixes.wireGt08 || aPrefix == OrePrefixes.wireGt12 || aPrefix == OrePrefixes.wireGt16) {
return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount);
}
if (aPrefix == OrePrefixes.pipeTiny || aPrefix == OrePrefixes.pipeSmall || aPrefix == OrePrefixes.pipe || aPrefix == OrePrefixes.pipeMedium || aPrefix == OrePrefixes.pipeLarge || aPrefix == OrePrefixes.pipeHuge) {
-
+
if (aPrefix == OrePrefixes.pipe) {
aPrefix = OrePrefixes.pipeMedium;
}
-
+
if (aTier == 0) {
return ItemUtils.getOrePrefixStack(aPrefix, Materials.Lead, aAmount);
}
@@ -787,12 +779,10 @@ public class CI {
}
}
- ItemStack aTempStack = null;
-
if (aPrefix == OrePrefixes.rod) {
aPrefix = OrePrefixes.stick;
}
-
+
if (aPrefix == OrePrefixes.gear || aPrefix == OrePrefixes.gearGt) {
m = aMaster[0][aTier];
}
@@ -832,24 +822,24 @@ public class CI {
else {
m = aMaterial_Main[aTier];
}
-
+
ItemStack aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
-
+
//If Invalid, Try First Material
if (!ItemUtils.checkForInvalidItems(aReturn)) {
m = aMaster[0][aTier];
aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
-
+
//If Invalid, Try Second Material
if (!ItemUtils.checkForInvalidItems(aReturn)) {
m = aMaster[1][aTier];
aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
-
+
//If Invalid, Try Third Material
if (!ItemUtils.checkForInvalidItems(aReturn)) {
m = aMaster[2][aTier];
aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
-
+
//All Invalid? Ok, shit.
//Let's add a special error ingot.
if (!ItemUtils.checkForInvalidItems(aReturn)) {
@@ -858,12 +848,12 @@ public class CI {
}
}
}
-
+
return aReturn;
-
+
}
-
+
public static ItemStack getElectricMotor(int aTier, int aSize) {
ItemStack aType;
int aLazyTier = 0;
@@ -902,7 +892,7 @@ public class CI {
}
return ItemUtils.getSimpleStack(aType, aSize);
}
-
+
public static ItemStack getElectricPiston(int aTier, int aSize) {
ItemStack aType;
int aLazyTier = 0;
@@ -941,7 +931,7 @@ public class CI {
}
return ItemUtils.getSimpleStack(aType, aSize);
}
-
+
public static ItemStack getElectricPump(int aTier, int aSize) {
ItemStack aType;
int aLazyTier = 0;
@@ -980,7 +970,7 @@ public class CI {
}
return ItemUtils.getSimpleStack(aType, aSize);
}
-
+
public static ItemStack getRobotArm(int aTier, int aSize) {
ItemStack aType;
int aLazyTier = 0;
@@ -1019,7 +1009,7 @@ public class CI {
}
return ItemUtils.getSimpleStack(aType, aSize);
}
-
+
public static ItemStack getConveyor(int aTier, int aSize) {
ItemStack aType;
int aLazyTier = 0;
@@ -1058,7 +1048,7 @@ public class CI {
}
return ItemUtils.getSimpleStack(aType, aSize);
}
-
+
public static ItemStack getEmitter(int aTier, int aSize) {
ItemStack aType;
int aLazyTier = 0;
@@ -1097,7 +1087,7 @@ public class CI {
}
return ItemUtils.getSimpleStack(aType, aSize);
}
-
+
public static ItemStack getSensor(int aTier, int aSize) {
ItemStack aType;
int aLazyTier = 0;
@@ -1136,7 +1126,7 @@ public class CI {
}
return ItemUtils.getSimpleStack(aType, aSize);
}
-
+
public static ItemStack getFieldGenerator(int aTier, int aSize) {
ItemStack aType;
int aLazyTier = 0;
@@ -1175,9 +1165,9 @@ public class CI {
}
return ItemUtils.getSimpleStack(aType, aSize);
}
-
-
+
+
public static ItemStack getTieredMachineHull(int aTier, int aSize) {
ItemStack aType;
int aLazyTier = 0;
@@ -1293,7 +1283,7 @@ public class CI {
public static ItemStack getGreenCatalyst(int aAmount) {
return ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 14, aAmount);
}
-
+
/**
* Iron + Copper Catalyst
* @param aAmount - Stacksize
@@ -1302,7 +1292,7 @@ public class CI {
public static ItemStack getRedCatalyst(int aAmount) {
return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 0, aAmount);
}
-
+
/**
* Tungsten + Nickel Catalyst
* @param aAmount - Stacksize
@@ -1311,7 +1301,7 @@ public class CI {
public static ItemStack getYellowCatalyst(int aAmount) {
return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 1, aAmount);
}
-
+
/**
* Cobalt + Titanium Catalyst
* @param aAmount - Stacksize
@@ -1320,7 +1310,7 @@ public class CI {
public static ItemStack getBlueCatalyst(int aAmount) {
return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 2, aAmount);
}
-
+
/**
* Vanadium + Palladium Catalyst
* @param aAmount - Stacksize
@@ -1329,7 +1319,7 @@ public class CI {
public static ItemStack getOrangeCatalyst(int aAmount) {
return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 3, aAmount);
}
-
+
/**
* Iridium + Ruthenium Catalyst
* @param aAmount - Stacksize
@@ -1338,7 +1328,7 @@ public class CI {
public static ItemStack getPurpleCatalyst(int aAmount) {
return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 4, aAmount);
}
-
+
/**
* Aluminium + Nickel Catalyst
* @param aAmount - Stacksize
@@ -1347,7 +1337,7 @@ public class CI {
public static ItemStack getBrownCatalyst(int aAmount) {
return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 5, aAmount);
}
-
+
/**
* Platinum + Rhodium Catalyst
* @param aAmount - Stacksize
diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java
index 234b54d2d2..72b13b3067 100644
--- a/src/Java/gtPlusPlus/core/util/Utils.java
+++ b/src/Java/gtPlusPlus/core/util/Utils.java
@@ -935,22 +935,6 @@ public class Utils {
return false;
}
- public static ItemList getValueOfItemList(String string, ItemList aOther) {
- ItemList[] aListValues = ItemList.class.getEnumConstants();
- for (ItemList aItem : aListValues) {
- if (aItem != null) {
- if (aItem.name().equals(string) || aItem.name().toLowerCase().equals(string.toLowerCase())) {
- return aItem;
- }
- }
- }
- Logger.INFO("Tried to obtain '"+string+"' from the GT ItemList, however it does not exist.");
- if (aOther != null) {
- Logger.INFO("Using fallback option instead - "+aOther.name());
- }
- return aOther;
- }
-
public static long getMillisSince(long aStartTime, long aCurrentTime) {
return (aCurrentTime - aStartTime);
}
diff --git a/src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java b/src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java
index b1cd1697f5..f8fc15c778 100644
--- a/src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java
+++ b/src/Java/gtPlusPlus/core/util/debug/DEBUG_INIT.java
@@ -1,12 +1,12 @@
package gtPlusPlus.core.util.debug;
-import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.preloader.CORE_Preloader;
public class DEBUG_INIT {
public static void registerBlocks(){
//Debug Loading
- if (CORE.DEBUG){
+ if (CORE_Preloader.DEBUG_MODE){
}
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java
index 49aa3a1306..66f9e2453d 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/EntityUtils.java
@@ -29,8 +29,23 @@ import net.minecraft.world.biome.BiomeGenBase;
public class EntityUtils {
- public static void setEntityOnFire(final Entity entity, final int length){
- entity.setFire(length);
+ public static void setEntityOnFire(final Entity aEntity, final int length){
+ if (!isEntityImmuneToFire(aEntity)) {
+ aEntity.setFire(length);
+ }
+ }
+
+ public static boolean isEntityOnFire(final Entity aEntity) {
+ Field aIsOnFire = ReflectionUtils.getField(Entity.class, "fire");
+ if (aIsOnFire != null) {
+ int aFireTime = (int) ReflectionUtils.getFieldValue(aIsOnFire, aEntity);
+ return aFireTime > 0;
+ }
+ return false;
+ }
+
+ public static boolean isEntityImmuneToFire(Entity aEntity) {
+ return aEntity.isImmuneToFire();
}
public static int getFacingDirection(final Entity entity){
@@ -59,6 +74,13 @@ public class EntityUtils {
final int blockZ = MathHelper.floor_double(parEntity.posZ);
return new BlockPos(blockX, blockY, blockZ, parEntity.worldObj);
}
+
+ public static BlockPos findBlockPosOfEntity(final Entity parEntity){
+ final int blockX = MathHelper.floor_double(parEntity.posX);
+ final int blockY = MathHelper.floor_double(parEntity.boundingBox.minY);
+ final int blockZ = MathHelper.floor_double(parEntity.posZ);
+ return new BlockPos(blockX, blockY, blockZ, parEntity.worldObj);
+ }
//TODO
public static void registerEntityToBiomeSpawns(final Class<EntityLiving> classy, final EnumCreatureType EntityType, final BiomeGenBase baseBiomeGen){
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
index d7b6bc0a30..758ec8bab0 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
@@ -1,14 +1,9 @@
package gtPlusPlus.core.util.minecraft;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-
import gregtech.api.enums.Dyes;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_LanguageManager;
-
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.minecraft.FluidGT6;
import gtPlusPlus.core.item.base.BaseItemComponent;
@@ -19,7 +14,14 @@ import gtPlusPlus.core.material.MaterialStack;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
-import net.minecraftforge.fluids.*;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidContainerRegistry;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidContainerItem;
public class FluidUtils {
@@ -611,5 +613,9 @@ public class FluidUtils {
}
}
+ public static FluidStack getAir(int aAmount) {
+ return FluidUtils.getFluidStack("air", aAmount);
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
index d7d611a1e4..725799a43d 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
@@ -27,6 +27,7 @@ import gtPlusPlus.core.item.base.dusts.decimal.BaseItemDecidust;
import gtPlusPlus.core.item.base.plates.BaseItemPlate_OLD;
import gtPlusPlus.core.item.chemistry.AgriculturalChem;
import gtPlusPlus.core.item.chemistry.GenericChem;
+import gtPlusPlus.core.item.chemistry.RocketFuels;
import gtPlusPlus.core.item.tool.staballoy.MultiPickaxeBase;
import gtPlusPlus.core.item.tool.staballoy.MultiSpadeBase;
import gtPlusPlus.core.lib.CORE;
@@ -36,13 +37,13 @@ import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.preloader.CORE_Preloader;
import gtPlusPlus.xmod.gregtech.api.items.Gregtech_MetaTool;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools;
import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_DustGeneration;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentData;
-import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
@@ -354,7 +355,7 @@ public class ItemUtils {
}
public static ItemStack getItemStackOfAmountFromOreDictNoBroken(String oredictName, final int amount) {
- if (CORE.DEBUG) {
+ if (CORE_Preloader.DEBUG_MODE) {
Logger.WARNING("Looking up: " + oredictName + " - from method: " + ReflectionUtils.getMethodName(1));
Logger.WARNING("Looking up: " + oredictName + " - from method: " + ReflectionUtils.getMethodName(2));
Logger.WARNING("Looking up: " + oredictName + " - from method: " + ReflectionUtils.getMethodName(3));
@@ -1220,7 +1221,6 @@ public class ItemUtils {
return GT_Values.NI;
}
-
public static ItemStack depleteStack(ItemStack aStack) {
return depleteStack(aStack, 1);
}
@@ -1235,41 +1235,6 @@ public class ItemUtils {
}
return getNullStack();
}
-
- public static ItemStack getItemListObject(String aObjectFromExperimentalName, String aReplacementName, int aAmount) {
- ItemList aItemListObject = getItemListObject(aObjectFromExperimentalName, aReplacementName);
- if (aItemListObject == ItemList.NULL || aItemListObject == null) {
- return null;
- }
- else {
- return aItemListObject.get(aAmount);
- }
- }
-
- public static ItemStack getItemListObject(ItemList aItemListObject, int aAmount) {
- if (aItemListObject == ItemList.NULL || aItemListObject == null) {
- return null;
- }
- else {
- return aItemListObject.get(aAmount);
- }
- }
-
- public static ItemList getItemListObject(String aObjectFromExperimentalName, String aReplacementName) {
- ItemList aVal = ItemList.valueOf(aObjectFromExperimentalName);
- if (aVal != null) {
- return aVal;
- }
- else {
- aVal = ItemList.valueOf(aReplacementName);
- if (aVal != null) {
- return aVal;
- }
- else {
- return ItemList.NULL;
- }
- }
- }
public static boolean isControlCircuit(ItemStack aStack) {
if (aStack != null) {
@@ -1282,7 +1247,9 @@ public class ItemUtils {
}
public static boolean isCatalyst(ItemStack aStack) {
-
+ if (GT_Utility.areStacksEqual(aStack, RocketFuels.Formaldehyde_Catalyst_Stack, true)) {
+ return true;
+ }
if (GT_Utility.areStacksEqual(aStack, GenericChem.mBlueCatalyst, true)) {
return true;
}
@@ -1309,9 +1276,69 @@ public class ItemUtils {
}
return false;
}
+
+ public static boolean isMillingBall(ItemStack aStack) {
+ if (GT_Utility.areStacksEqual(aStack, GenericChem.mMillingBallAlumina, true)) {
+ return true;
+ }
+ if (GT_Utility.areStacksEqual(aStack, GenericChem.mMillingBallSoapstone, true)) {
+ return true;
+ }
+ return false;
+ }
public static String getLocalizedNameOfBlock(Block aBlock, int aMeta) {
return LangUtils.getLocalizedNameOfBlock(aBlock, aMeta);
}
+
+
+
+ public static boolean doesItemListEntryExist(String string) {
+ ItemList[] aListValues = ItemList.class.getEnumConstants();
+ for (ItemList aItem : aListValues) {
+ if (aItem != null) {
+ if (aItem.name().equals(string) || aItem.name().toLowerCase().equals(string.toLowerCase())) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public static ItemList getValueOfItemList(String string, ItemList aOther) {
+ ItemList[] aListValues = ItemList.class.getEnumConstants();
+ for (ItemList aItem : aListValues) {
+ if (aItem != null) {
+ if (aItem.name().equals(string) || aItem.name().toLowerCase().equals(string.toLowerCase())) {
+ return aItem;
+ }
+ }
+ }
+ Logger.INFO("Tried to obtain '"+string+"' from the GT ItemList, however it does not exist.");
+ if (aOther != null) {
+ Logger.INFO("Using fallback option instead - "+aOther.name());
+ }
+ return aOther;
+ }
+
+ public static ItemStack getValueOfItemList(String string, int aAmount, ItemList aOther) {
+ return getValueOfItemList(string, aOther).get(aAmount);
+ }
+
+ public static ItemStack getValueOfItemList(String string, int aAmount, ItemStack aOther) {
+ ItemList[] aListValues = ItemList.class.getEnumConstants();
+ for (ItemList aItem : aListValues) {
+ if (aItem != null) {
+ if (aItem.name().equals(string) || aItem.name().toLowerCase().equals(string.toLowerCase())) {
+ return aItem.get(aAmount);
+ }
+ }
+ }
+ Logger.INFO("Tried to obtain '"+string+"' from the GT ItemList, however it does not exist.");
+ if (aOther != null) {
+ Logger.INFO("Using fallback option instead - "+ItemUtils.getItemName(aOther));
+ }
+ return aOther;
+ }
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
index 2108087542..64a6c9e820 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
@@ -501,5 +501,14 @@ public class MaterialUtils {
}
+ public static boolean doesMaterialExist(String aMatName) {
+ for (Materials m : Materials.values()) {
+ if (m.name().toLowerCase().equals(aMatName.toLowerCase())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
index 9a8a8e691c..e64414b493 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
@@ -188,4 +188,12 @@ public class PlayerUtils {
Utils.sendServerMessage(string);
}
+ public static boolean isCreative(EntityPlayer aPlayer) {
+ return aPlayer.capabilities.isCreativeMode;
+ }
+
+ public static boolean canTakeDamage(EntityPlayer aPlayer) {
+ return !aPlayer.capabilities.disableDamage;
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
index 13bc0c9382..56772f0dc7 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
@@ -20,6 +20,7 @@ import gtPlusPlus.api.objects.minecraft.ShapedRecipe;
import gtPlusPlus.core.handler.COMPAT_HANDLER;
import gtPlusPlus.core.handler.Recipes.LateRegistrationHandler;
import gtPlusPlus.core.handler.Recipes.RegistrationHandler;
+import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import net.minecraft.item.Item;
@@ -632,5 +633,16 @@ public static int mInvalidID = 1;
}
+ public static void addSmeltingRecipe(ItemStack aStackInput, ItemStack aStackOutput) {
+ addSmeltingRecipe(aStackInput, aStackOutput, 0f);
+ }
+
+ public static void addSmeltingRecipe(ItemStack aStackInput, ItemStack aStackOutput, float aXpGained) {
+
+ GameRegistry.addSmelting(aStackInput, aStackOutput, aXpGained);
+
+ }
+
+
}
diff --git a/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java b/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
index 4d8a02d800..e45d27b926 100644
--- a/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
+++ b/src/Java/gtPlusPlus/core/util/reflect/ReflectionUtils.java
@@ -365,7 +365,13 @@ public class ReflectionUtils {
public static boolean setField(final Object object, final String fieldName, final Object fieldValue) {
- Class<?> clazz = object.getClass();
+ Class<?> clazz;
+ if (object instanceof Class) {
+ clazz = (Class<?>) object;
+ }
+ else {
+ clazz = object.getClass();
+ }
while (clazz != null) {
try {
final Field field = getField(clazz, fieldName);
@@ -387,7 +393,13 @@ public class ReflectionUtils {
}
public static boolean setField(final Object object, final Field field, final Object fieldValue) {
- Class<?> clazz = object.getClass();
+ Class<?> clazz;
+ if (object instanceof Class) {
+ clazz = (Class<?>) object;
+ }
+ else {
+ clazz = object.getClass();
+ }
while (clazz != null) {
try {
final Field field2 = getField(clazz, field.getName());
@@ -522,6 +534,25 @@ public class ReflectionUtils {
return false;
}
+
+ public static Object invokeNonBool(Object objectInstance, Method method, Object[] values){
+ if (objectInstance == null || method == null || values == null){
+ return false;
+ }
+ String methodName = method.getName();
+ Class<?> mLocalClass = (objectInstance instanceof Class ? (Class<?>) objectInstance : objectInstance.getClass());
+ Logger.REFLECTION("Trying to invoke "+methodName+" on an instance of "+mLocalClass.getCanonicalName()+".");
+ try {
+ return method.invoke(objectInstance, values);
+ }
+ catch (SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+ Logger.REFLECTION("Failed to Dynamically invoke "+methodName+" on an object of type: "+mLocalClass.getName());
+ }
+
+ Logger.REFLECTION("Invoke failed or did something wrong.");
+ return null;
+ }
+
public static Object invokeNonBool(Object objectInstance, String methodName, Class[] parameters, Object[] values){
if (objectInstance == null || methodName == null || parameters == null || values == null){
return false;
@@ -973,9 +1004,9 @@ public class ReflectionUtils {
*/
private static void makeModifiable(Field nameField) throws Exception {
nameField.setAccessible(true);
- Field modifiers = getField(Field.class, "modifiers");
- modifiers.setAccessible(true);
- modifiers.setInt(nameField, nameField.getModifiers() & ~Modifier.FINAL);
+ Field modifiers = getField(Field.class, "modifiers");
+ modifiers.setAccessible(true);
+ modifiers.setInt(nameField, nameField.getModifiers() & ~Modifier.FINAL);
}
diff --git a/src/Java/gtPlusPlus/core/util/sys/GeoUtils.java b/src/Java/gtPlusPlus/core/util/sys/GeoUtils.java
index 6ec6662a44..0e5a33b948 100644
--- a/src/Java/gtPlusPlus/core/util/sys/GeoUtils.java
+++ b/src/Java/gtPlusPlus/core/util/sys/GeoUtils.java
@@ -3,17 +3,22 @@ package gtPlusPlus.core.util.sys;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import java.net.*;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.URLConnection;
import org.apache.http.client.utils.URIBuilder;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.preloader.CORE_Preloader;
public class GeoUtils {
public static String determineUsersCountry(){
- if (!CORE.DEBUG && !CORE.DEVENV) {
+ if (!CORE_Preloader.DEBUG_MODE && !CORE.DEVENV) {
try {
if (NetworkUtils.checkNetworkIsAvailableWithValidInterface()){
return getUsersCountry();
diff --git a/src/Java/gtPlusPlus/core/util/sys/NetworkUtils.java b/src/Java/gtPlusPlus/core/util/sys/NetworkUtils.java
index f1417e8a2d..b883391a86 100644
--- a/src/Java/gtPlusPlus/core/util/sys/NetworkUtils.java
+++ b/src/Java/gtPlusPlus/core/util/sys/NetworkUtils.java
@@ -121,7 +121,7 @@ public class NetworkUtils {
private static boolean checkAddressWithTimeout(String URL, int timeout) {
try {
- InetAddress.getByName(URL).isReachable(3000); //Replace with your name
+ InetAddress.getByName(URL).isReachable(timeout); //Replace with your name
return true;
} catch (Exception e) {
return false;