aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/implementations
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_CubicMultiBlockBase.java7
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java48
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java2
3 files changed, 49 insertions, 8 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_CubicMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_CubicMultiBlockBase.java
index e9e2e8f575..3e3433e52c 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_CubicMultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_CubicMultiBlockBase.java
@@ -8,15 +8,14 @@ import static gregtech.api.enums.GT_HatchElement.*;
import com.google.common.collect.ImmutableList;
import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable;
-import com.gtnewhorizon.structurelib.structure.IItemSource;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.IStructureElement;
+import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import gregtech.api.interfaces.IHatchElement;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.util.GT_StructureUtility;
import java.util.List;
-import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
/**
@@ -90,9 +89,9 @@ public abstract class GT_MetaTileEntity_CubicMultiBlockBase<T extends GT_MetaTil
}
@Override
- public int survivalConstruct(ItemStack stackSize, int elementBudget, IItemSource source, EntityPlayerMP actor) {
+ public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) {
if (mMachine) return -1;
- return survivialBuildPiece(STRUCTURE_PIECE_MAIN, stackSize, 1, 1, 0, elementBudget, source, actor, false, true);
+ return survivialBuildPiece(STRUCTURE_PIECE_MAIN, stackSize, 1, 1, 0, elementBudget, env, false, true);
}
@Override
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java
index 76787fcd32..1f4b6dccc3 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_EnhancedMultiBlockBase.java
@@ -10,6 +10,7 @@ import com.gtnewhorizon.structurelib.alignment.enumerable.Flip;
import com.gtnewhorizon.structurelib.alignment.enumerable.Rotation;
import com.gtnewhorizon.structurelib.structure.IItemSource;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
+import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import cpw.mods.fml.common.network.NetworkRegistry;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
@@ -205,6 +206,26 @@ public abstract class GT_MetaTileEntity_EnhancedMultiBlockBase<T extends GT_Meta
IItemSource source,
EntityPlayerMP actor,
boolean check) {
+ return survivialBuildPiece(
+ piece,
+ trigger,
+ horizontalOffset,
+ verticalOffset,
+ depthOffset,
+ elementsBudget,
+ ISurvivalBuildEnvironment.create(source, actor),
+ check);
+ }
+
+ protected final int survivialBuildPiece(
+ String piece,
+ ItemStack trigger,
+ int horizontalOffset,
+ int verticalOffset,
+ int depthOffset,
+ int elementsBudget,
+ ISurvivalBuildEnvironment env,
+ boolean check) {
final IGregTechTileEntity tTile = getBaseMetaTileEntity();
return getCastedStructureDefinition()
.survivalBuild(
@@ -220,8 +241,7 @@ public abstract class GT_MetaTileEntity_EnhancedMultiBlockBase<T extends GT_Meta
verticalOffset,
depthOffset,
elementsBudget,
- source,
- actor,
+ env,
check);
}
@@ -236,8 +256,30 @@ public abstract class GT_MetaTileEntity_EnhancedMultiBlockBase<T extends GT_Meta
EntityPlayerMP actor,
boolean check,
boolean checkIfPlaced) {
+ return survivialBuildPiece(
+ piece,
+ trigger,
+ horizontalOffset,
+ verticalOffset,
+ depthOffset,
+ elementsBudget,
+ ISurvivalBuildEnvironment.create(source, actor),
+ check,
+ checkIfPlaced);
+ }
+
+ protected final int survivialBuildPiece(
+ String piece,
+ ItemStack trigger,
+ int horizontalOffset,
+ int verticalOffset,
+ int depthOffset,
+ int elementsBudget,
+ ISurvivalBuildEnvironment env,
+ boolean check,
+ boolean checkIfPlaced) {
int built = survivialBuildPiece(
- piece, trigger, horizontalOffset, verticalOffset, depthOffset, elementsBudget, source, actor, check);
+ piece, trigger, horizontalOffset, verticalOffset, depthOffset, elementsBudget, env, check);
if (checkIfPlaced && built > 0) checkStructure(true, getBaseMetaTileEntity());
return built;
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java
index a92849a6d2..94721d2096 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java
@@ -72,9 +72,9 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan
byte aColorIndex,
boolean aActive,
boolean aRedstone) {
- int textureIndex = actualTexture | (mTexturePage << 7); // Shift seven since one page is 128 textures!
int texturePointer =
(byte) (actualTexture & 0x7F); // just to be sure, from my testing the 8th bit cannot be set clientside
+ int textureIndex = texturePointer | (mTexturePage << 7); // Shift seven since one page is 128 textures!
try {
if (aSide != aFacing) {
if (textureIndex > 0)