aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2022-01-20 17:17:04 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2022-01-20 17:17:04 +0000
commitbfbd1eb3123fefeb5dc66f29eb3b8ae18af6bb88 (patch)
tree76bf3e2f76be046a1f2a52f23111af73aab3ff91 /src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity
parent185f91e25a64c3832f8287cf70a3c3a01a1dd90c (diff)
downloadGT5-Unofficial-bfbd1eb3123fefeb5dc66f29eb3b8ae18af6bb88.tar.gz
GT5-Unofficial-bfbd1eb3123fefeb5dc66f29eb3b8ae18af6bb88.tar.bz2
GT5-Unofficial-bfbd1eb3123fefeb5dc66f29eb3b8ae18af6bb88.zip
Fixed Industrial Forge Hammer structure check.
Fixed Creative Energy Buffer some more. Fixed Redstone Circuit Block output. Did a little work on breaker boxes.
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java17
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java36
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_TieredMachineBlock.java1
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/MetaTileEntityCustomPower.java19
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBreaker.java70
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/CustomMetaTileBase.java36
6 files changed, 117 insertions, 62 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java
index 6967c8eb33..5ccbd8cb2d 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java
@@ -15,6 +15,7 @@ import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
+import gtPlusPlus.xmod.gregtech.api.interfaces.IBaseCustomMetaTileEntity;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import gtPlusPlus.xmod.gregtech.common.StaticFields59;
import ic2.api.Direction;
@@ -22,7 +23,7 @@ import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
-public class BaseCustomTileEntity extends BaseMetaTileEntity {
+public class BaseCustomTileEntity extends BaseMetaTileEntity implements IBaseCustomMetaTileEntity {
protected NBTTagCompound mRecipeStuff2;
private static final Field ENTITY_ITEM_HEALTH_FIELD_2;
@@ -49,6 +50,10 @@ public class BaseCustomTileEntity extends BaseMetaTileEntity {
super();
Logger.MACHINE_INFO("Created new BaseCustomTileEntity");
}
+
+ public boolean doesExplode() {
+ return true;
+ }
public void writeToNBT(NBTTagCompound aNBT) {
try {
@@ -70,6 +75,10 @@ public class BaseCustomTileEntity extends BaseMetaTileEntity {
}
public void doEnergyExplosion() {
+ if (!doesExplode()) {
+ Logger.INFO("Machine tried to explode, let's stop that. xo [doEnergyExplosion]");
+ return;
+ }
if (this.getUniversalEnergyCapacity() > 0L
&& this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() / 5L) {
this.doExplosion(
@@ -83,6 +92,12 @@ public class BaseCustomTileEntity extends BaseMetaTileEntity {
}
public void doExplosion(long aAmount) {
+
+ if (!doesExplode()) {
+ Logger.INFO("Machine tried to explode, let's stop that. xo [doExplosion]");
+ return;
+ }
+
if (this.canAccessData()) {
if (GregTech_API.sMachineWireFire && this.mMetaTileEntity.isElectric()) {
try {
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java
index a4440114e8..d600d0baca 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java
@@ -10,34 +10,38 @@ public class BaseCustomPower_MTE extends BaseCustomTileEntity {
public BaseCustomPower_MTE() {
super();
- Logger.MACHINE_INFO("Created new BaseCustomPower_MTE");
+ Logger.INFO("Created new BaseCustomPower_MTE");
+ }
+
+ public boolean doesExplode() {
+ return false;
}
public long injectEnergyUnits(byte aSide, long aVoltage, long aAmperage) {
if (mMetaTileEntity == null) {
- Logger.MACHINE_INFO("Bad Tile");
+ Logger.INFO("Bad Tile");
}
if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.inputEnergyFrom(aSide) && aAmperage > 0L
&& aVoltage > 0L && this.getStoredEU() < this.getEUCapacity()
&& this.mMetaTileEntity.maxAmperesIn() >= this.getInputAmperage()) {
- Logger.MACHINE_INFO("Injecting Energy Units");
+ Logger.INFO("Injecting Energy Units");
return super.injectEnergyUnits(aSide, aVoltage, aAmperage);
} else {
- Logger.MACHINE_INFO("canAccessData(): "+canAccessData());
- Logger.MACHINE_INFO("isElectric(): "+this.mMetaTileEntity.isElectric());
- Logger.MACHINE_INFO("InputEnergyFromSide("+aSide+"): "+this.inputEnergyFrom(aSide));
- Logger.MACHINE_INFO("aAmperage: "+aAmperage);
- Logger.MACHINE_INFO("aVoltage: "+aVoltage);
- Logger.MACHINE_INFO("this.getStoredEU() < this.getEUCapacity(): "+(this.getStoredEU() < this.getEUCapacity()));
- Logger.MACHINE_INFO("this.mMetaTileEntity.maxAmperesIn() >= this.mAcceptedAmperes: "+(this.mMetaTileEntity.maxAmperesIn() >= this.getInputAmperage()));
- Logger.MACHINE_INFO("this.mMetaTileEntity.maxAmperesIn(): "+(this.mMetaTileEntity.maxAmperesIn()));
- Logger.MACHINE_INFO("this.mAcceptedAmperes: "+(this.getInputAmperage()));
+ Logger.INFO("canAccessData(): "+canAccessData());
+ Logger.INFO("isElectric(): "+this.mMetaTileEntity.isElectric());
+ Logger.INFO("InputEnergyFromSide("+aSide+"): "+this.inputEnergyFrom(aSide));
+ Logger.INFO("aAmperage: "+aAmperage);
+ Logger.INFO("aVoltage: "+aVoltage);
+ Logger.INFO("this.getStoredEU() < this.getEUCapacity(): "+(this.getStoredEU() < this.getEUCapacity()));
+ Logger.INFO("this.mMetaTileEntity.maxAmperesIn() >= this.mAcceptedAmperes: "+(this.mMetaTileEntity.maxAmperesIn() >= this.getInputAmperage()));
+ Logger.INFO("this.mMetaTileEntity.maxAmperesIn(): "+(this.mMetaTileEntity.maxAmperesIn()));
+ Logger.INFO("this.mAcceptedAmperes: "+(this.getInputAmperage()));
return 0L;
}
}
public boolean drainEnergyUnits(byte aSide, long aVoltage, long aAmperage) {
- Logger.MACHINE_INFO("Draining Energy Units 4");
+ Logger.INFO("Draining Energy Units 4");
if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.outputsEnergyTo(aSide)
&& this.getStoredEU() - aVoltage * aAmperage >= this.mMetaTileEntity.getMinimumStoredEU()) {
if (this.decreaseStoredEU(aVoltage * aAmperage, false)) {
@@ -54,7 +58,7 @@ public class BaseCustomPower_MTE extends BaseCustomTileEntity {
@Override
public boolean decreaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooLessEnergy) {
- Logger.MACHINE_INFO("Draining Energy Units 3");
+ Logger.INFO("Draining Energy Units 3");
// TODO Auto-generated method stub
return super.decreaseStoredEnergyUnits(aEnergy, aIgnoreTooLessEnergy);
}
@@ -73,7 +77,7 @@ public class BaseCustomPower_MTE extends BaseCustomTileEntity {
@Override
public boolean outputsEnergyTo(byte aSide) {
- Logger.MACHINE_INFO("Draining Energy Units 2");
+ Logger.INFO("Draining Energy Units 2");
// TODO Auto-generated method stub
return super.outputsEnergyTo(aSide);
}
@@ -134,7 +138,7 @@ public class BaseCustomPower_MTE extends BaseCustomTileEntity {
@Override
public boolean decreaseStoredEU(long aEnergy, boolean aIgnoreTooLessEnergy) {
- Logger.MACHINE_INFO("Draining Energy Units 1");
+ Logger.INFO("Draining Energy Units 1");
// TODO Auto-generated method stub
return super.decreaseStoredEU(aEnergy, aIgnoreTooLessEnergy);
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_TieredMachineBlock.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_TieredMachineBlock.java
index 785c4698db..8110037c46 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_TieredMachineBlock.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_TieredMachineBlock.java
@@ -79,7 +79,6 @@ public abstract class GTPP_MTE_TieredMachineBlock extends MetaTileEntityCustomPo
@Override
public String[] getDescription() {
-
AutoMap<String> aTooltip = new AutoMap<String>();
String []s1 = null;
s1 = new String[aTooltip.size()];
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/MetaTileEntityCustomPower.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/MetaTileEntityCustomPower.java
index 8b7ccc202a..31d24ff343 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/MetaTileEntityCustomPower.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/MetaTileEntityCustomPower.java
@@ -4,7 +4,6 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.CustomMetaTileBase;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import net.minecraft.entity.Entity;
@@ -16,6 +15,7 @@ public abstract class MetaTileEntityCustomPower extends CustomMetaTileBase {
public MetaTileEntityCustomPower(int aID, String aBasicName, String aRegionalName, int aInvSlotCount) {
super(aID, aBasicName, aRegionalName, aInvSlotCount);
this.setBaseMetaTileEntity(Meta_GT_Proxy.constructBaseMetaTileEntityCustomPower());
+ this.getBaseMetaTileEntity().setMetaTileID((short) aID);
}
public MetaTileEntityCustomPower(String aStack, int aInvSlotCount) {
@@ -25,11 +25,17 @@ public abstract class MetaTileEntityCustomPower extends CustomMetaTileBase {
public long getMinimumStoredEU() {
return 0L;
}
+
+ public boolean doesExplode() {
+ return this.getBaseCustomMetaTileEntity().doesExplode();
+ }
+
+
public void doExplosion(long aExplosionPower) {
- if (MathUtils.randInt(1, 10) > 0) {
- //Logger.INFO("Machine tried to explode, let's stop that. xo");
+ if (!doesExplode()) {
+ Logger.INFO("Machine tried to explode, let's stop that. xo [doExplosion]");
return;
}
@@ -68,12 +74,10 @@ public abstract class MetaTileEntityCustomPower extends CustomMetaTileBase {
@Override
public void onExplosion() {
-
- if (MathUtils.randInt(1, 10) > 0) {
- //Logger.INFO("Machine tried to explode, let's stop that. xo");
+ if (!doesExplode()) {
+ Logger.INFO("Machine tried to explode, let's stop that. xo [onExplosion]");
return;
}
- // TODO Auto-generated method stub
super.onExplosion();
}
@@ -84,7 +88,6 @@ public abstract class MetaTileEntityCustomPower extends CustomMetaTileBase {
@Override
public long getEUVar() {
- // TODO Auto-generated method stub
return super.getEUVar();
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBreaker.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBreaker.java
index e6bf4b8486..3821b2a95c 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBreaker.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBreaker.java
@@ -9,8 +9,6 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.items.GT_MetaBase_Item;
import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.api.metatileentity.custom.power.GTPP_MTE_TieredMachineBlock;
import ic2.api.item.ElectricItem;
@@ -19,9 +17,10 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
public class GT_MetaTileEntity_BasicBreaker extends GTPP_MTE_TieredMachineBlock {
-
+
public boolean mCharge = false;
public boolean mDecharge = false;
public int mBatteryCount = 0;
@@ -30,53 +29,50 @@ public class GT_MetaTileEntity_BasicBreaker extends GTPP_MTE_TieredMachineBlock
private long mStored = 0L;
private long mMax = 0L;
- public GT_MetaTileEntity_BasicBreaker(int aID, String aName, String aNameRegional, int aTier,
- String aDescription, int aSlotCount) {
+ public GT_MetaTileEntity_BasicBreaker(int aID, String aName, String aNameRegional, int aTier, String aDescription, int aSlotCount) {
super(aID, aName, aNameRegional, aTier, aSlotCount, aDescription, new ITexture[0]);
}
- public GT_MetaTileEntity_BasicBreaker(String aName, int aTier, String aDescription, ITexture[][][] aTextures,
- int aSlotCount) {
+ public GT_MetaTileEntity_BasicBreaker(String aName, int aTier, String aDescription, ITexture[][][] aTextures, int aSlotCount) {
super(aName, aTier, aSlotCount, aDescription, aTextures);
}
- public GT_MetaTileEntity_BasicBreaker(String aName, int aTier, String[] aDescription,
- ITexture[][][] aTextures, int aSlotCount) {
+ public GT_MetaTileEntity_BasicBreaker(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, int aSlotCount) {
super(aName, aTier, aSlotCount, aDescription, aTextures);
}
public String[] getDescription() {
- String []s1 = super.getDescription();
- s1 = new String[0];
- return s1;
+ final String[] desc = new String[6];
+ int tTier = this.mTier;
+ desc[0] = "" + EnumChatFormatting.BOLD + "16 Fuse Slots";
+ desc[1] = "Per each fuse, you may insert " + EnumChatFormatting.YELLOW + (GT_Values.V[tTier]) + EnumChatFormatting.GRAY + " EU/t";
+ desc[2] = "However this " + EnumChatFormatting.ITALIC + EnumChatFormatting.RED + "MUST" + EnumChatFormatting.GRAY + " be in a single Amp";
+ desc[3] = "This machine can accept upto a single amp of " + GT_Values.VN[Math.min(tTier + 2, 15)] + " as a result";
+ desc[4] = "Breaker Loss: " + EnumChatFormatting.RED + "" + (GT_Values.V[tTier] / 16) + EnumChatFormatting.GRAY + " EU/t";
+ desc[5] = CORE.GT_Tooltip;
+ return desc;
}
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
ITexture[][][] rTextures = new ITexture[2][17][];
for (byte i = -1; i < 16; ++i) {
- rTextures[0][i + 1] = new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][i + 1],
- this.mInventory.length > 4
- ? BlockIcons.OVERLAYS_ENERGY_IN_MULTI[Math.min(12, mTier)]
- : BlockIcons.OVERLAYS_ENERGY_IN[Math.min(12, mTier)]};
-
- rTextures[1][i + 1] = new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][i + 1],
- this.mInventory.length > 4
- ? BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier]
- : BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
+ rTextures[0][i + 1] = new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][i
+ + 1], this.mInventory.length > 4 ? BlockIcons.OVERLAYS_ENERGY_IN_MULTI[Math.min(12, mTier)] : BlockIcons.OVERLAYS_ENERGY_IN[Math.min(12, mTier)]};
+
+ rTextures[1][i + 1] = new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][i
+ + 1], this.mInventory.length > 4 ? BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[this.mTier] : BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
}
return rTextures;
}
- public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex,
- boolean aActive, boolean aRedstone) {
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
return this.mTextures[aSide == aFacing ? 1 : 0][aColorIndex + 1];
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_BasicBreaker(this.mName, this.mTier, this.mDescriptionArray, this.mTextures,
- this.mInventory.length);
+ return new GT_MetaTileEntity_BasicBreaker(this.mName, this.mTier, this.mDescriptionArray, this.mTextures, this.mInventory.length);
}
public boolean isSimpleMachine() {
@@ -132,11 +128,11 @@ public class GT_MetaTileEntity_BasicBreaker extends GTPP_MTE_TieredMachineBlock
}
public long maxAmperesIn() {
- return (long) (1);
+ return 16;
}
public long maxAmperesOut() {
- return (long) 16;
+ return 16;
}
public int rechargerSlotStartIndex() {
@@ -176,7 +172,8 @@ public class GT_MetaTileEntity_BasicBreaker extends GTPP_MTE_TieredMachineBlock
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
if (aBaseMetaTileEntity.isClientSide()) {
return true;
- } else {
+ }
+ else {
aBaseMetaTileEntity.openGUI(aPlayer);
return true;
}
@@ -199,14 +196,14 @@ public class GT_MetaTileEntity_BasicBreaker extends GTPP_MTE_TieredMachineBlock
this.mChargeableCount = 0;
ItemStack[] arg3 = this.mInventory;
int arg4 = arg3.length;
-
+
for (int arg5 = 0; arg5 < arg4; ++arg5) {
ItemStack tStack = arg3[arg5];
if (GT_ModHandler.isElectricItem(tStack, this.mTier)) {
if (GT_ModHandler.isChargerItem(tStack)) {
++this.mBatteryCount;
}
-
+
++this.mChargeableCount;
}
}*/
@@ -254,7 +251,8 @@ public class GT_MetaTileEntity_BasicBreaker extends GTPP_MTE_TieredMachineBlock
tStored += tStep;
}
- } else if (aStack.getItem() instanceof IElectricItem) {
+ }
+ else if (aStack.getItem() instanceof IElectricItem) {
tStored += (long) ElectricItem.manager.getCharge(aStack);
tScale += (long) ((IElectricItem) aStack.getItem()).getMaxCharge(aStack);
}
@@ -273,11 +271,15 @@ public class GT_MetaTileEntity_BasicBreaker extends GTPP_MTE_TieredMachineBlock
return new long[]{tStored, tScale};
}
- public String[] getInfoData() {
- return new String[]{};
+ public String[] getInfoData() {
+ return new String[]{"Tile Type: " + this.getTileEntityBaseType()};
}
public boolean isGivingInformation() {
return true;
}
-} \ No newline at end of file
+
+ public boolean doesExplode() {
+ return true;
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/CustomMetaTileBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/CustomMetaTileBase.java
index 422837fa46..fdc8a7777b 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/CustomMetaTileBase.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/CustomMetaTileBase.java
@@ -2,20 +2,52 @@ package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base;
import java.util.Locale;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.util.GT_LanguageManager;
-import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.xmod.gregtech.api.interfaces.IBaseCustomMetaTileEntity;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import net.minecraft.item.ItemStack;
public abstract class CustomMetaTileBase extends MetaTileEntity {
+
+ private IBaseCustomMetaTileEntity mBaseCustomMetaTileEntity2;
+
+ /**
+ * accessibility to this Field is no longer given, see below
+ */
+ private IGregTechTileEntity mBaseCustomMetaTileEntity;
+
public CustomMetaTileBase(int aID, String aBasicName, String aRegionalName, int aInvSlotCount) {
super(aID, aBasicName, aRegionalName, aInvSlotCount);
GT_LanguageManager.addStringLocalization("gtpp.blockmachines." + aBasicName.replaceAll(" ", "_").toLowerCase(Locale.ENGLISH) + ".name", aRegionalName);
this.setBaseMetaTileEntity(Meta_GT_Proxy.constructBaseMetaTileEntity());
- this.getBaseMetaTileEntity().setMetaTileID((short) aID);
+ this.getBaseMetaTileEntity().setMetaTileID((short) aID);
+ mBaseCustomMetaTileEntity2 = (IBaseCustomMetaTileEntity) getBaseMetaTileEntity();
}
+
+ @Override
+ public IGregTechTileEntity getBaseMetaTileEntity() {
+ return mBaseCustomMetaTileEntity;
+ }
+
+ public IBaseCustomMetaTileEntity getBaseCustomMetaTileEntity() {
+ return mBaseCustomMetaTileEntity2;
+ }
+
+ @Override
+ public void setBaseMetaTileEntity(IGregTechTileEntity aBaseMetaTileEntity) {
+ super.setBaseMetaTileEntity(aBaseMetaTileEntity);
+ if (mBaseCustomMetaTileEntity != null && aBaseMetaTileEntity == null) {
+ mBaseCustomMetaTileEntity.getMetaTileEntity().inValidate();
+ mBaseCustomMetaTileEntity.setMetaTileEntity(null);
+ }
+ mBaseCustomMetaTileEntity = aBaseMetaTileEntity;
+ if (mBaseCustomMetaTileEntity != null) {
+ mBaseCustomMetaTileEntity.setMetaTileEntity(this);
+ }
+ }
public CustomMetaTileBase(String aName, int aInvSlotCount) {
super(aName, aInvSlotCount);