aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorGlodBlock <1356392126@qq.com>2021-06-24 10:50:27 +0800
committerGlodBlock <1356392126@qq.com>2021-06-24 10:50:27 +0800
commit843ba1d3d9dbb18de2e30485a26d1c5223fd260b (patch)
tree2b59542122406f4695473e9943baf0f0ab69116b /src/main/java
parentf68168c820e67b5f5ae4f0bb2e74b01bca3fc69e (diff)
downloadGT5-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.java143
-rw-r--r--src/main/java/GoodGenerator/Loader/Loaders.java3
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(){