Skip to content
This repository has been archived by the owner on May 25, 2024. It is now read-only.

Commit

Permalink
add recipe for XHE, SC turbine and new pipes
Browse files Browse the repository at this point in the history
  • Loading branch information
GlodBlock committed Jan 26, 2022
1 parent e667ccc commit 112b14f
Show file tree
Hide file tree
Showing 7 changed files with 189 additions and 6 deletions.
13 changes: 13 additions & 0 deletions src/main/java/goodgenerator/blocks/regularBlock/ITextureBlock.java
Original file line number Diff line number Diff line change
@@ -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);

}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
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;
Expand Down Expand Up @@ -47,12 +47,14 @@ public ITexture[] getTurbineCasing(int iconIndex, boolean active, boolean hasTur
};
}

@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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

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;
Expand Down Expand Up @@ -36,8 +36,8 @@ public void renderInventoryBlock(Block aBlock, int metadata, int modelId, Render
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();
Expand Down Expand Up @@ -77,10 +77,10 @@ public void renderInventoryBlock(Block aBlock, int metadata, int modelId, Render
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);
Expand Down
41 changes: 41 additions & 0 deletions src/main/java/goodgenerator/items/MyMaterial.java
Original file line number Diff line number Diff line change
Expand Up @@ -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() { }
}
3 changes: 3 additions & 0 deletions src/main/java/goodgenerator/loader/Loaders.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@
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;
Expand Down Expand Up @@ -116,6 +118,7 @@ public static void GTMetaTileRegister(){
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() {
Expand Down
101 changes: 101 additions & 0 deletions src/main/java/goodgenerator/loader/RecipeLoader_02.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
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;
Expand Down Expand Up @@ -40,6 +41,8 @@ public static void RecipeLoad(){
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[] {
Expand Down Expand Up @@ -904,6 +907,104 @@ public static void RecipeLoad(){
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() {
Expand Down
23 changes: 23 additions & 0 deletions src/main/java/goodgenerator/util/CrackRecipeAdder.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@

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;
Expand Down Expand Up @@ -75,4 +78,24 @@ public static FluidStack copyFluidWithAmount(FluidStack fluid, int amount) {
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);
}
}

0 comments on commit 112b14f

Please sign in to comment.