aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/goodgenerator')
-rw-r--r--src/main/java/goodgenerator/blocks/regularBlock/ITextureBlock.java13
-rw-r--r--src/main/java/goodgenerator/blocks/regularBlock/TurbineCasing.java4
-rw-r--r--src/main/java/goodgenerator/client/render/BlockRenderHandler.java10
-rw-r--r--src/main/java/goodgenerator/items/MyMaterial.java41
-rw-r--r--src/main/java/goodgenerator/loader/Loaders.java3
-rw-r--r--src/main/java/goodgenerator/loader/RecipeLoader_02.java101
-rw-r--r--src/main/java/goodgenerator/util/CrackRecipeAdder.java23
7 files changed, 189 insertions, 6 deletions
diff --git a/src/main/java/goodgenerator/blocks/regularBlock/ITextureBlock.java b/src/main/java/goodgenerator/blocks/regularBlock/ITextureBlock.java
new file mode 100644
index 0000000000..d889c0f69c
--- /dev/null
+++ b/src/main/java/goodgenerator/blocks/regularBlock/ITextureBlock.java
@@ -0,0 +1,13 @@
+package goodgenerator.blocks.regularBlock;
+
+import gregtech.api.interfaces.ITexture;
+import net.minecraft.block.Block;
+import net.minecraft.world.IBlockAccess;
+
+public interface ITextureBlock {
+
+ ITexture[] getTexture(Block aBlock, byte aSide);
+
+ ITexture[] getTexture(Block aBlock, byte aSide, IBlockAccess aWorld, int xCoord, int yCoord, int zCoord);
+
+}
diff --git a/src/main/java/goodgenerator/blocks/regularBlock/TurbineCasing.java b/src/main/java/goodgenerator/blocks/regularBlock/TurbineCasing.java
index 8387662298..f0fc14f28f 100644
--- a/src/main/java/goodgenerator/blocks/regularBlock/TurbineCasing.java
+++ b/src/main/java/goodgenerator/blocks/regularBlock/TurbineCasing.java
@@ -12,7 +12,7 @@ import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;
-public class TurbineCasing extends Casing {
+public class TurbineCasing extends Casing implements ITextureBlock{
public static IIconContainer[][] turbineShape = new IIconContainer[3][9];
public IIconContainer base;
@@ -47,12 +47,14 @@ public class TurbineCasing extends Casing {
};
}
+ @Override
public ITexture[] getTexture(Block aBlock, byte aSide) {
return new ITexture[] {
TextureFactory.of(base)
};
}
+ @Override
public ITexture[] getTexture(Block aBlock, byte aSide, IBlockAccess aWorld, int xCoord, int yCoord, int zCoord) {
int tInvertLeftRightMod = aSide % 2 * 2 - 1;
switch (aSide / 2) {
diff --git a/src/main/java/goodgenerator/client/render/BlockRenderHandler.java b/src/main/java/goodgenerator/client/render/BlockRenderHandler.java
index 3d705baae6..d8f903cd07 100644
--- a/src/main/java/goodgenerator/client/render/BlockRenderHandler.java
+++ b/src/main/java/goodgenerator/client/render/BlockRenderHandler.java
@@ -2,7 +2,7 @@ package goodgenerator.client.render;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
-import goodgenerator.blocks.regularBlock.TurbineCasing;
+import goodgenerator.blocks.regularBlock.ITextureBlock;
import gregtech.GT_Mod;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
@@ -36,8 +36,8 @@ public class BlockRenderHandler implements ISimpleBlockRenderingHandler {
GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- if (aBlock instanceof TurbineCasing) {
- TurbineCasing tc = (TurbineCasing) aBlock;
+ if (aBlock instanceof ITextureBlock) {
+ ITextureBlock tc = (ITextureBlock) aBlock;
aBlock.setBlockBoundsForItemRender();
aRenderer.setRenderBoundsFromBlock(aBlock);
Tessellator.instance.startDrawingQuads();
@@ -77,10 +77,10 @@ public class BlockRenderHandler implements ISimpleBlockRenderingHandler {
public boolean renderWorldBlock(IBlockAccess aWorld, int aX, int aY, int aZ, Block aBlock, int aModelID, RenderBlocks aRenderer) {
aRenderer.enableAO = Minecraft.isAmbientOcclusionEnabled() && GT_Mod.gregtechproxy.mRenderTileAmbientOcclusion;
aRenderer.useInventoryTint = false;
- if (aBlock instanceof TurbineCasing) {
+ if (aBlock instanceof ITextureBlock) {
aBlock.setBlockBounds(blockMin, blockMin, blockMin, blockMax, blockMax, blockMax);
aRenderer.setRenderBoundsFromBlock(aBlock);
- TurbineCasing tc = (TurbineCasing) aBlock;
+ ITextureBlock tc = (ITextureBlock) aBlock;
renderNegativeYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tc.getTexture(aBlock, (byte) DOWN.ordinal(), aWorld, aX, aY, aZ), true);
renderPositiveYFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tc.getTexture(aBlock, (byte) UP.ordinal(), aWorld, aX, aY, aZ), true);
renderNegativeZFacing(aWorld, aRenderer, aBlock, aX, aY, aZ, tc.getTexture(aBlock, (byte) NORTH.ordinal(), aWorld, aX, aY, aZ), true);
diff --git a/src/main/java/goodgenerator/items/MyMaterial.java b/src/main/java/goodgenerator/items/MyMaterial.java
index 13dd19a2bb..f73247dd18 100644
--- a/src/main/java/goodgenerator/items/MyMaterial.java
+++ b/src/main/java/goodgenerator/items/MyMaterial.java
@@ -1114,6 +1114,47 @@ public class MyMaterial implements Runnable {
TextureSet.SET_FLUID
);
+ public static final Werkstoff marM200 = new Werkstoff(
+ new short[]{0x51,0x51,0x51},
+ "MAR-M200 Steel",
+ new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(5000),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust().addMolten().addMetalItems().addCraftingMetalWorkingItems().addSimpleMetalWorkingItems().addMultipleIngotMetalWorkingItems().addMixerRecipes((short) 7),
+ OffsetID + 95,
+ TextureSet.SET_SHINY,
+ new Pair<>(Niobium, 2),
+ new Pair<>(Chrome, 9),
+ new Pair<>(Aluminium, 5),
+ new Pair<>(Titanium, 2),
+ new Pair<>(Cobalt, 10),
+ new Pair<>(Tungsten, 13),
+ new Pair<>(Nickel, 18)
+ );
+
+ public static final Werkstoff marCeM200 = new Werkstoff(
+ new short[]{0x38,0x30,0x30},
+ "MAR-Ce-M200 Steel",
+ new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(5000).setMass(1200).setProtons(1000).setSpeedOverride(150F).setDurOverride(204800),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust().addMolten().addMetalItems().addCraftingMetalWorkingItems().addSimpleMetalWorkingItems().addMultipleIngotMetalWorkingItems(),
+ OffsetID + 96,
+ TextureSet.SET_METALLIC,
+ new Pair<>(marM200, 18),
+ new Pair<>(Cerium, 1)
+ );
+
+ public static final Werkstoff lithiumChloride = new Werkstoff(
+ new short[]{0xb7,0xe2,0xce},
+ "Lithium Chloride",
+ new Werkstoff.Stats(),
+ Werkstoff.Types.MIXTURE,
+ new Werkstoff.GenerationFeatures().onlyDust().addMolten().addMetalItems().enforceUnification(),
+ OffsetID + 97,
+ TextureSet.SET_DULL,
+ new Pair<>(Lithium, 1),
+ new Pair<>(Chlorine, 1)
+ );
+
@Override
public void run() { }
}
diff --git a/src/main/java/goodgenerator/loader/Loaders.java b/src/main/java/goodgenerator/loader/Loaders.java
index 92ea70a554..f88cfdd4cf 100644
--- a/src/main/java/goodgenerator/loader/Loaders.java
+++ b/src/main/java/goodgenerator/loader/Loaders.java
@@ -14,10 +14,12 @@ import goodgenerator.crossmod.nei.NEI_Config;
import goodgenerator.crossmod.thaumcraft.LargeEssentiaEnergyData;
import goodgenerator.items.MyItemBlocks;
import goodgenerator.items.MyItems;
+import goodgenerator.items.MyMaterial;
import goodgenerator.items.RadioactiveItem;
import goodgenerator.main.GoodGenerator;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.registry.GameRegistry;
+import goodgenerator.util.CrackRecipeAdder;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
@@ -116,6 +118,7 @@ public class Loaders {
Loaders.XHE = new ExtremeHeatExchanger(IDOffset + 16, "ExtremeHeatExchanger", "Extreme Heat Exchanger").getStackForm(1L);
Loaders.Generator_Diesel[0] = new DieselGenerator(1113, "basicgenerator.diesel.tier.04", "Turbo Supercharging Combustion Generator", 4).getStackForm(1L);
Loaders.Generator_Diesel[1] = new DieselGenerator(1114, "basicgenerator.diesel.tier.05", "Ultimate Chemical Energy Releaser", 5).getStackForm(1L);
+ CrackRecipeAdder.registerPipe(30995, MyMaterial.incoloy903, 15000, 8000, true);
}
public static void Register() {
diff --git a/src/main/java/goodgenerator/loader/RecipeLoader_02.java b/src/main/java/goodgenerator/loader/RecipeLoader_02.java
index 3a46f5ee69..18adc9d157 100644
--- a/src/main/java/goodgenerator/loader/RecipeLoader_02.java
+++ b/src/main/java/goodgenerator/loader/RecipeLoader_02.java
@@ -11,6 +11,7 @@ import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.*;
+import ic2.core.Ic2Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
@@ -40,6 +41,8 @@ public class RecipeLoader_02 {
CrackRecipeAdder.reAddBlastRecipe(MyMaterial.zircaloy4, 513, 480, 2800, false);
CrackRecipeAdder.reAddBlastRecipe(MyMaterial.incoloy903, 2400, 1920, 3700, true);
CrackRecipeAdder.reAddBlastRecipe(MyMaterial.adamantiumAlloy, 2500, 1920, 5500, true);
+ CrackRecipeAdder.reAddBlastRecipe(MyMaterial.marM200, 200, 7680, 5000, true);
+ CrackRecipeAdder.reAddBlastRecipe(MyMaterial.marM200, 220, 7680, 5000, false);
GT_Values.RA.addAssemblerRecipe(
new ItemStack[] {
@@ -904,6 +907,104 @@ public class RecipeLoader_02 {
FluidRegistry.getFluidStack("supercriticalsteam", 32000),
8000
);
+
+ GT_Values.RA.addChemicalBathRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Lepidolite, 1),
+ Materials.HydrochloricAcid.getFluid(1000),
+ Materials.RockSalt.getDust(1),
+ MyMaterial.lithiumChloride.get(OrePrefixes.dust, 3),
+ Materials.Cryolite.getDust(4),
+ new int[]{8000, 8000, 8000},
+ 140,
+ 120
+ );
+
+ GT_Values.RA.addBlastRecipe(
+ MyMaterial.marM200.get(OrePrefixes.ingot, 18),
+ Materials.Cerium.getIngots(1),
+ MyMaterial.lithiumChloride.getMolten(144),
+ null,
+ MyMaterial.marCeM200.get(OrePrefixes.ingotHot, 19),
+ null,
+ 5700,
+ 1920,
+ 4500
+ );
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemRefer.SC_Turbine_Casing.get(1),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.REVERSIBLE,
+ new Object[] {
+ "PhP","GCG","PwP",
+ 'G', MyMaterial.marM200.get(OrePrefixes.gearGt, 1),
+ 'C', ItemList.Casing_Turbine.get(1),
+ 'P', MyMaterial.marCeM200.get(OrePrefixes.plate, 1),
+ }
+ );
+
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] {
+ MyMaterial.marM200.get(OrePrefixes.gearGt, 2),
+ MyMaterial.marCeM200.get(OrePrefixes.plate, 4),
+ ItemList.Casing_Turbine.get(1)
+ },
+ null,
+ ItemRefer.SC_Turbine_Casing.get(1),
+ 300,
+ 480
+ );
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemRefer.SC_Fluid_Turbine.get(1),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.REVERSIBLE,
+ new Object[] {
+ "NPN","GHG","IPI",
+ 'N', "circuitMaster",
+ 'P', MyMaterial.marM200.get(OrePrefixes.plate, 1),
+ 'H', ItemList.Hull_IV.get(1),
+ 'G', MyMaterial.marCeM200.get(OrePrefixes.gearGt, 1),
+ 'I', MyMaterial.incoloy903.get(OrePrefixes.pipeLarge, 1)
+ }
+ );
+
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] {
+ MyMaterial.marM200.get(OrePrefixes.plate, 2),
+ MyMaterial.marCeM200.get(OrePrefixes.gearGt, 2),
+ MyMaterial.incoloy903.get(OrePrefixes.pipeLarge, 2),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2),
+ ItemList.Hull_IV.get(1)
+ },
+ null,
+ ItemRefer.SC_Fluid_Turbine.get(1),
+ 300,
+ 480
+ );
+
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] {
+ MyMaterial.incoloy903.get(OrePrefixes.plate, 4),
+ MyMaterial.marCeM200.get(OrePrefixes.plate, 4),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NiobiumTitanium, 1),
+ GT_Utility.getIntegratedCircuit(8)
+ },
+ null,
+ ItemRefer.Pressure_Resistant_Wall.get(1),
+ 1000,
+ 480
+ );
+
+ GT_ModHandler.addCraftingRecipe(
+ ItemRefer.Extreme_Heat_Exchanger.get(1),
+ GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.REVERSIBLE,
+ new Object[] {
+ "EPE","PHP","SPS",
+ 'P', GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.TungstenSteel, 1),
+ 'H', ItemList.Hull_IV.get(1),
+ 'S', MyMaterial.marM200.get(OrePrefixes.plate, 1),
+ 'E', Ic2Items.reactorHeatSwitchDiamond
+ }
+ );
}
public static void InitLoadRecipe() {
diff --git a/src/main/java/goodgenerator/util/CrackRecipeAdder.java b/src/main/java/goodgenerator/util/CrackRecipeAdder.java
index dacae721e9..bae288af32 100644
--- a/src/main/java/goodgenerator/util/CrackRecipeAdder.java
+++ b/src/main/java/goodgenerator/util/CrackRecipeAdder.java
@@ -2,8 +2,11 @@ package goodgenerator.util;
import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Fluid;
+import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
@@ -75,4 +78,24 @@ public class CrackRecipeAdder {
if (fluid == null || amount <= 0) return null;
return new FluidStack(fluid.getFluid(), amount);
}
+
+ public static void registerPipe(int ID, Werkstoff material, int flow, int temp, boolean gas) {
+ String unName = material.getDefaultName().replace(" ", "_");
+ String Name = material.getDefaultName();
+ GT_OreDictUnificator.registerOre(OrePrefixes.pipeTiny.get(material.getBridgeMaterial()), new GT_MetaPipeEntity_Fluid(ID, "GT_Pipe_" + unName + "_Tiny", "Tiny " + Name + " Fluid Pipe", 0.25F, material.getBridgeMaterial(), flow / 6, temp, gas).getStackForm(1L));
+ GT_OreDictUnificator.registerOre(OrePrefixes.pipeSmall.get(material.getBridgeMaterial()), new GT_MetaPipeEntity_Fluid(ID + 1, "GT_Pipe_" + unName + "_Small", "Small " + Name + " Fluid Pipe", 0.375F, material.getBridgeMaterial(), flow / 3, temp, gas).getStackForm(1L));
+ GT_OreDictUnificator.registerOre(OrePrefixes.pipeMedium.get(material.getBridgeMaterial()), new GT_MetaPipeEntity_Fluid(ID + 2, "GT_Pipe_" + unName, Name + " Fluid Pipe", 0.5F, material.getBridgeMaterial(), flow, temp, gas).getStackForm(1L));
+ GT_OreDictUnificator.registerOre(OrePrefixes.pipeLarge.get(material.getBridgeMaterial()), new GT_MetaPipeEntity_Fluid(ID + 3, "GT_Pipe_" + unName + "_Large", "Large " + Name + " Fluid Pipe", 0.75F, material.getBridgeMaterial(), flow * 2, temp, gas).getStackForm(1L));
+ GT_OreDictUnificator.registerOre(OrePrefixes.pipeHuge.get(material.getBridgeMaterial()), new GT_MetaPipeEntity_Fluid(ID + 4, "GT_Pipe_" + unName + "_Huge", "Huge " + Name + " Fluid Pipe", 0.875F, material.getBridgeMaterial(), flow * 4, temp, gas).getStackForm(1L));
+ GT_Values.RA.addExtruderRecipe(material.get(OrePrefixes.ingot, 1), ItemList.Shape_Extruder_Pipe_Tiny.get(0), material.get(OrePrefixes.pipeTiny, 2), (int) material.getStats().getMass(), 120);
+ GT_Values.RA.addExtruderRecipe(material.get(OrePrefixes.ingot, 1), ItemList.Shape_Extruder_Pipe_Small.get(0), material.get(OrePrefixes.pipeSmall, 1), (int) material.getStats().getMass() * 2, 120);
+ GT_Values.RA.addExtruderRecipe(material.get(OrePrefixes.ingot, 3), ItemList.Shape_Extruder_Pipe_Medium.get(0), material.get(OrePrefixes.pipeMedium, 1), (int) material.getStats().getMass() * 6, 120);
+ GT_Values.RA.addExtruderRecipe(material.get(OrePrefixes.ingot, 6), ItemList.Shape_Extruder_Pipe_Large.get(0), material.get(OrePrefixes.pipeLarge, 1), (int) material.getStats().getMass() * 12, 120);
+ GT_Values.RA.addExtruderRecipe(material.get(OrePrefixes.ingot, 12), ItemList.Shape_Extruder_Pipe_Huge.get(0), material.get(OrePrefixes.pipeHuge, 1), (int) material.getStats().getMass() * 24, 120);
+ GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Pipe_Tiny.get(0), material.getMolten(72), material.get(OrePrefixes.pipeTiny, 1), (int) material.getStats().getMass(), 30);
+ GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Pipe_Small.get(0), material.getMolten(144), material.get(OrePrefixes.pipeSmall, 1), (int) material.getStats().getMass() * 2, 30);
+ GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Pipe_Medium.get(0), material.getMolten(432), material.get(OrePrefixes.pipeMedium, 1), (int) material.getStats().getMass() * 6, 30);
+ GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Pipe_Large.get(0), material.getMolten(864), material.get(OrePrefixes.pipeLarge, 1), (int) material.getStats().getMass() * 12, 30);
+ GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Pipe_Huge.get(0), material.getMolten(1728), material.get(OrePrefixes.pipeHuge, 1), (int) material.getStats().getMass() * 24, 30);
+ }
}