aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/GoodGenerator/Blocks
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/GoodGenerator/Blocks')
-rw-r--r--src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java78
-rw-r--r--src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java12
-rw-r--r--src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java12
3 files changed, 65 insertions, 37 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java b/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java
index 9ec679044a..93e6f0e6f9 100644
--- a/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java
+++ b/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java
@@ -5,13 +5,18 @@ import GoodGenerator.util.DescTextLocalization;
import GoodGenerator.util.MyRecipeAdder;
import com.github.bartimaeusnek.bartworks.util.Coords;
import com.github.bartimaeusnek.crossmod.tectech.TecTechEnabledMulti;
+import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.mechanics.constructable.IConstructable;
import com.github.technus.tectech.mechanics.structure.IStructureDefinition;
+import com.github.technus.tectech.mechanics.structure.IStructureElement;
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.HeatingCoilLevel;
import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.IHeatingCoil;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -21,6 +26,7 @@ import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+import gregtech.common.blocks.GT_Block_Casings5;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -41,6 +47,7 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple
private IStructureDefinition<FuelRefineFactory> multiDefinition = null;
private int Tier = -1;
+ private static final Block[] coils = new Block[]{Loaders.FRF_Coil_1,Loaders.FRF_Coil_2,Loaders.FRF_Coil_3};
private final HashSet<Coords> vis = new HashSet<>(64);
public FuelRefineFactory(String name){super(name);}
@@ -105,37 +112,53 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple
)
).addElement(
'C',
- ofBlockAnyMeta(
- Loaders.FRF_Casings
+ ofBlock(
+ Loaders.FRF_Casings,0
)
).addElement(
'G',
- ofBlockAnyMeta(
- Loaders.fieldRestrictingGlass
+ ofBlock(
+ Loaders.fieldRestrictingGlass,0
)
).addElement(
'F',
- ofChain(
- ofBlock(
- Loaders.FRF_Coil_1,0
- ),
- ofBlock(
- Loaders.FRF_Coil_2,0
- ),
- ofBlock(
- Loaders.FRF_Coil_3,0
- ),
- ofBlockHint(
- Loaders.FRF_Coil_1,0
- )
-
- )
+ ofFieldCoil()
)
.build();
}
return multiDefinition;
}
+ public static <T> IStructureElement<T> ofFieldCoil() {
+ return new IStructureElement<T>() {
+ @Override
+ public boolean check(T t, World world, int x, int y, int z) {
+ Block block = world.getBlock(x, y, z);
+ for (Block tBlock : coils) {
+ if (tBlock.equals(block)) return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) {
+ TecTech.proxy.hint_particle(world, x, y, z, coils[getIndex(trigger)], 0);
+ return true;
+ }
+
+ private int getIndex(ItemStack trigger) {
+ int s = trigger.stackSize;
+ if (s > 3 || s <= 0) s = 3;
+ return s - 1;
+ }
+
+ @Override
+ public boolean placeBlock(T t, World world, int x, int y, int z, ItemStack trigger) {
+ return world.setBlock(x, y, z, coils[getIndex(trigger)], 0, 3);
+ }
+ };
+ }
+
//In fact, this check method can't check structure correctly...
public boolean checkCoil(){
IGregTechTileEntity aTile = this.getBaseMetaTileEntity();
@@ -212,12 +235,6 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple
@Override
public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
- mWrench = true;
- mScrewdriver = true;
- mSoftHammer = true;
- mHardHammer = true;
- mSolderingTool = true;
- mCrowbar = true;
return structureCheck_EM(mName, 7,12,1) && checkCoil();
}
@@ -304,6 +321,17 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple
}
@Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ super.onPostTick(aBaseMetaTileEntity, aTick);
+ mWrench = true;
+ mScrewdriver = true;
+ mSoftHammer = true;
+ mHardHammer = true;
+ mSolderingTool = true;
+ mCrowbar = true;
+ }
+
+ @Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new FuelRefineFactory(this.mName);
}
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java
index fdbe5bcdd6..ee0fb9261f 100644
--- a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java
+++ b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java
@@ -111,22 +111,22 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem
)
).addElement(
'A',
- ofBlockAnyMeta(
+ ofBlock(
GregTech_API.sBlockCasings3, 12
)
).addElement(
'N',
- ofBlockAnyMeta(
- Loaders.radiationProtectionSteelFrame
+ ofBlock(
+ Loaders.radiationProtectionSteelFrame, 0
)
).addElement(
'C',
- ofBlockAnyMeta(
- Loaders.MAR_Casing
+ ofBlock(
+ Loaders.MAR_Casing, 0
)
).addElement(
'P',
- ofBlockAnyMeta(
+ ofBlock(
GregTech_API.sBlockCasings2,15
)
)
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java b/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java
index cc689e39e1..0a29bc16c2 100644
--- a/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java
+++ b/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java
@@ -113,7 +113,7 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas
})
).addElement(
'T',
- ofBlockAnyMeta(
+ ofBlock(
GregTech_API.sBlockCasings4, 2
)
).addElement(
@@ -142,22 +142,22 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas
)
).addElement(
'P',
- ofBlockAnyMeta(
+ ofBlock(
GregTech_API.sBlockCasings2, 14
)
).addElement(
'C',
- ofBlockAnyMeta(
- Loaders.titaniumPlatedCylinder
+ ofBlock(
+ Loaders.titaniumPlatedCylinder, 0
)
).addElement(
'G',
- ofBlockAnyMeta(
+ ofBlock(
GregTech_API.sBlockCasings2, 4
)
).addElement(
'I',
- ofBlockAnyMeta(
+ ofBlock(
GregTech_API.sBlockCasings4, 13
)
)