diff options
author | GlodBlock <1356392126@qq.com> | 2021-06-24 10:50:27 +0800 |
---|---|---|
committer | GlodBlock <1356392126@qq.com> | 2021-06-24 10:50:27 +0800 |
commit | 843ba1d3d9dbb18de2e30485a26d1c5223fd260b (patch) | |
tree | 2b59542122406f4695473e9943baf0f0ab69116b /src/main/java | |
parent | f68168c820e67b5f5ae4f0bb2e74b01bca3fc69e (diff) | |
download | GT5-Unofficial-843ba1d3d9dbb18de2e30485a26d1c5223fd260b.tar.gz GT5-Unofficial-843ba1d3d9dbb18de2e30485a26d1c5223fd260b.tar.bz2 GT5-Unofficial-843ba1d3d9dbb18de2e30485a26d1c5223fd260b.zip |
update Structure check for UniversalChemicalFuelEngine
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java | 143 | ||||
-rw-r--r-- | src/main/java/GoodGenerator/Loader/Loaders.java | 3 |
2 files changed, 140 insertions, 6 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java b/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java index 62b544d97e..405acd20f0 100644 --- a/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java +++ b/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java @@ -1,5 +1,6 @@ package GoodGenerator.Blocks.TEs; +import GoodGenerator.Loader.Loaders; import com.github.bartimaeusnek.crossmod.tectech.TecTechEnabledMulti; import com.github.technus.tectech.mechanics.constructable.IConstructable; import com.github.technus.tectech.mechanics.structure.IStructureDefinition; @@ -7,15 +8,22 @@ import com.github.technus.tectech.mechanics.structure.StructureDefinition; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyTunnel; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; +import gregtech.api.GregTech_API; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy; +import gregtech.api.metatileentity.implementations.*; +import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.render.TextureFactory; import net.minecraft.item.ItemStack; import java.util.ArrayList; import java.util.List; -import static com.github.technus.tectech.mechanics.structure.StructureUtility.transpose; +import static com.github.technus.tectech.mechanics.structure.StructureUtility.*; +import static gregtech.api.enums.Textures.BlockIcons.*; public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBase_EM implements TecTechEnabledMulti, IConstructable { @@ -27,6 +35,58 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas super(id,name,nameRegional); } + public final boolean addMaintenance(IGregTechTileEntity aTileEntity, int aBaseCasingIndex){ + if (aTileEntity == null) { + return false; + } else { + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance){ + ((GT_MetaTileEntity_Hatch)aMetaTileEntity).updateTexture(aBaseCasingIndex); + return this.mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance)aMetaTileEntity); + } + } + return false; + } + + public final boolean addMuffler(IGregTechTileEntity aTileEntity, int aBaseCasingIndex){ + if (aTileEntity == null) { + return false; + } else { + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler){ + ((GT_MetaTileEntity_Hatch)aMetaTileEntity).updateTexture(aBaseCasingIndex); + return this.mMufflerHatches.add((GT_MetaTileEntity_Hatch_Muffler)aMetaTileEntity); + } + } + return false; + } + + public final boolean addInputHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex){ + if (aTileEntity == null) { + return false; + } else { + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input){ + ((GT_MetaTileEntity_Hatch)aMetaTileEntity).updateTexture(aBaseCasingIndex); + return this.mInputHatches.add((GT_MetaTileEntity_Hatch_Input)aMetaTileEntity); + } + } + return false; + } + + public final boolean addDynamoHatch(IGregTechTileEntity aTileEntity, int aBaseCasingIndex){ + if (aTileEntity == null) { + return false; + } else { + IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Dynamo){ + ((GT_MetaTileEntity_Hatch)aMetaTileEntity).updateTexture(aBaseCasingIndex); + return this.mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo)aMetaTileEntity); + } + } + return false; + } + @Override public IStructureDefinition<UniversalChemicalFuelEngine> getStructure_EM(){ if (multiDefinition == null){ @@ -35,10 +95,59 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas .addShape(mName, transpose(new String[][]{ {"TTTTT","TTMMT","TTMMT","TTMMT","TTMMT","TTMMT","TTMMT","TTMMT","TTTTT"}, - {"TTTTT","SPCCI","SPCCI","SPCCI","SPCCI","SPCCI","SPCCI","SPCCI","TTTTT"}, - {"TT~TT","SPGGI","SPGGI","SPGGI","SPGGI","SPGGI","SPGGI","SPGGI","TTETT"}, + {"TTTTT","SPCCI-","SPCCI-","SPCCI-","SPCCI-","SPCCI-","SPCCI-","SPCCI-","TTTTT"}, + {"TT~TT","SPGGI-","SPGGI-","SPGGI-","SPGGI-","SPGGI-","SPGGI-","SPGGI-","TTETT"}, {"TTWTT","TTTTT","TTTTT","TTTTT","TTTTT","TTTTT","TTTTT","TTTTT","TTTTT"} }) + ).addElement( + 'T', + ofBlockAnyMeta( + GregTech_API.sBlockCasings4, 2 + ) + ).addElement( + 'W', + ofHatchAdder( + UniversalChemicalFuelEngine::addMaintenance, 50, + 1 + ) + ).addElement( + 'M', + ofHatchAdder( + UniversalChemicalFuelEngine::addMuffler, 50, + 2 + ) + ).addElement( + 'S', + ofHatchAdder( + UniversalChemicalFuelEngine::addInputHatch, 50, + 3 + ) + ).addElement( + 'E', + ofHatchAdder( + UniversalChemicalFuelEngine::addDynamoHatch, 50, + 4 + ) + ).addElement( + 'P', + ofBlockAnyMeta( + GregTech_API.sBlockCasings2, 14 + ) + ).addElement( + 'C', + ofBlockAnyMeta( + Loaders.titaniumPlatedCylinder + ) + ).addElement( + 'G', + ofBlockAnyMeta( + GregTech_API.sBlockCasings2, 4 + ) + ).addElement( + 'I', + ofBlockAnyMeta( + GregTech_API.sBlockCasings4, 13 + ) ) .build(); } @@ -46,8 +155,13 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas } @Override - public void construct(ItemStack itemStack, boolean b) { + public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { + return structureCheck_EM(mName, 2, 2, 0); + } + @Override + public void construct(ItemStack itemStack, boolean b) { + structureBuild_EM(mName, 2, 2, 0, b, itemStack); } @Override @@ -61,6 +175,23 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas } @Override + public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone){ + if(aSide == aFacing){ + if(aActive) return new ITexture[]{ + casingTexturePages[0][50], + TextureFactory.of(OVERLAY_FRONT_DIESEL_ENGINE_ACTIVE), + TextureFactory.builder().addIcon(OVERLAY_FRONT_DIESEL_ENGINE_ACTIVE_GLOW).glow().build() + }; + return new ITexture[]{ + casingTexturePages[0][50], + TextureFactory.of(OVERLAY_FRONT_DIESEL_ENGINE), + TextureFactory.builder().addIcon(OVERLAY_FRONT_DIESEL_ENGINE_GLOW).glow().build() + }; + } + return new ITexture[]{casingTexturePages[0][50]}; + } + + @Override public List<GT_MetaTileEntity_Hatch_Energy> getVanillaEnergyHatches() { return this.mEnergyHatches; } @@ -77,6 +208,6 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { - return new MultiNqGenerator(this.mName); + return new UniversalChemicalFuelEngine(this.mName); } } diff --git a/src/main/java/GoodGenerator/Loader/Loaders.java b/src/main/java/GoodGenerator/Loader/Loaders.java index aceb6c08e0..66020a1d12 100644 --- a/src/main/java/GoodGenerator/Loader/Loaders.java +++ b/src/main/java/GoodGenerator/Loader/Loaders.java @@ -4,6 +4,7 @@ import GoodGenerator.Blocks.RegularBlock.Casing; import GoodGenerator.Blocks.RegularBlock.Frame; import GoodGenerator.Blocks.TEs.FuelRefineFactory; import GoodGenerator.Blocks.TEs.MultiNqGenerator; +import GoodGenerator.Blocks.TEs.UniversalChemicalFuelEngine; import GoodGenerator.Items.MyItemBlocks; import GoodGenerator.Items.MyItems; import GoodGenerator.Main.GoodGenerator; @@ -39,6 +40,7 @@ public class Loaders { public static ItemStack MAR; public static ItemStack FRF; + public static ItemStack UCFE; public static void Register(){ GameRegistry.registerBlock(MAR_Casing, MyItemBlocks.class,"MAR_Casing"); @@ -63,6 +65,7 @@ public class Loaders { GameRegistry.registerItem(advancedRadiationProtectionPlate,"advancedRadiationProtectionPlate",GoodGenerator.MOD_ID); Loaders.MAR = new MultiNqGenerator(12732,"NaG","Large Naquadah Reactor").getStackForm(1L); Loaders.FRF = new FuelRefineFactory(16999,"FRF","Naquadah Fuel Refine Factory").getStackForm(1L); + Loaders.UCFE = new UniversalChemicalFuelEngine(15500,"UniversalChemicalFuelEngine","Universal Chemical Fuel Engine").getStackForm(1L); } public static void addOreDic(){ |