aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/multitileentity/multiblock/casing
diff options
context:
space:
mode:
authorBlueWeabo <ilia.iliev2005@gmail.com>2023-04-01 17:06:06 +0300
committerGitHub <noreply@github.com>2023-04-01 16:06:06 +0200
commit655cc902d3df19a1ac2bfaa38cc928ed629d0171 (patch)
tree25e34b45705b8473e20af3f9b92af25cc87a1e0d /src/main/java/gregtech/api/multitileentity/multiblock/casing
parenta01d019ed97101936210f16c7a362d852f081f09 (diff)
downloadGT5-Unofficial-655cc902d3df19a1ac2bfaa38cc928ed629d0171.tar.gz
GT5-Unofficial-655cc902d3df19a1ac2bfaa38cc928ed629d0171.tar.bz2
GT5-Unofficial-655cc902d3df19a1ac2bfaa38cc928ed629d0171.zip
Implement Power Logic, Pollution Logic and Processing Logic for MuTEs and many other things (#1823)
* update bs 2 * fuel consumption and energy implementation. clean up * don't register XD * some clean up * coke oven work * semi-working coke oven somehow i broke the activating of the multiblock * power logic * PowerLogic * clean up, saving loading nbt * small cleanup and pollution * pollution working :P * Energy mostly working, wallsharing * processing logic * fix npe and deregister * review requests * missed one * remove extra 0
Diffstat (limited to 'src/main/java/gregtech/api/multitileentity/multiblock/casing')
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/casing/FunctionalCasing.java27
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/casing/InventoryUpgrade.java94
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/casing/UpgradeCasing.java (renamed from src/main/java/gregtech/api/multitileentity/multiblock/casing/AdvancedCasing.java)15
3 files changed, 32 insertions, 104 deletions
diff --git a/src/main/java/gregtech/api/multitileentity/multiblock/casing/FunctionalCasing.java b/src/main/java/gregtech/api/multitileentity/multiblock/casing/FunctionalCasing.java
new file mode 100644
index 0000000000..718e159d7a
--- /dev/null
+++ b/src/main/java/gregtech/api/multitileentity/multiblock/casing/FunctionalCasing.java
@@ -0,0 +1,27 @@
+package gregtech.api.multitileentity.multiblock.casing;
+
+import net.minecraft.nbt.NBTTagCompound;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.multitileentity.multiblock.base.MultiBlockPart;
+
+public abstract class FunctionalCasing extends MultiBlockPart {
+
+ private int tier = 0;
+
+ @Override
+ public int getPartTier() {
+ return tier;
+ }
+
+ @Override
+ public void readMultiTileNBT(NBTTagCompound nbt) {
+ super.readMultiTileNBT(nbt);
+ tier = nbt.getInteger(GT_Values.NBT.TIER);
+ }
+
+ @Override
+ public void writeMultiTileNBT(NBTTagCompound nbt) {
+ super.writeMultiTileNBT(nbt);
+ }
+}
diff --git a/src/main/java/gregtech/api/multitileentity/multiblock/casing/InventoryUpgrade.java b/src/main/java/gregtech/api/multitileentity/multiblock/casing/InventoryUpgrade.java
deleted file mode 100644
index a0043bdf39..0000000000
--- a/src/main/java/gregtech/api/multitileentity/multiblock/casing/InventoryUpgrade.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package gregtech.api.multitileentity.multiblock.casing;
-
-import java.util.UUID;
-
-import net.minecraft.nbt.NBTTagCompound;
-
-import com.gtnewhorizons.modularui.api.screen.ModularWindow.Builder;
-import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
-import com.gtnewhorizons.modularui.common.widget.textfield.TextFieldWidget;
-
-import gregtech.api.enums.GT_Values.NBT;
-import gregtech.api.multitileentity.interfaces.IMultiBlockController;
-
-public class InventoryUpgrade extends AdvancedCasing {
-
- public UUID mInventoryID;
- public static final int INPUT = 0;
- public static final int OUTPUT = 1;
- public static final int BOTH = 2;
- private String mInventoryName = "inventory";
- private int mInventorySize;
- private int mType = BOTH;
-
- public String getInventoryName() {
- return mInventoryName;
- }
-
- public void setInventoryName(String aInventoryName) {
- mInventoryName = aInventoryName;
- }
-
- @Override
- protected void customWork(IMultiBlockController aTarget) {
- int tInvSize = mInventorySize;
- if (mType == BOTH) {
- tInvSize /= 2;
- }
- aTarget.registerInventory(mInventoryName, mInventoryID.toString(), tInvSize, mType);
- }
-
- @Override
- public String getTileEntityName() {
- return "gt.multitileentity.multiblock.inventory";
- }
-
- @Override
- public void readMultiTileNBT(NBTTagCompound aNBT) {
- super.readMultiTileNBT(aNBT);
- if (aNBT.hasKey(NBT.UPGRADE_INVENTORY_UUID)) {
- mInventoryID = UUID.fromString(aNBT.getString(NBT.UPGRADE_INVENTORY_UUID));
- } else {
- mInventoryID = UUID.randomUUID();
- }
- mInventorySize = aNBT.getInteger(NBT.UPGRADE_INVENTORY_SIZE);
- mInventoryName = aNBT.getString(NBT.UPGRADE_INVENTORY_NAME);
-
- }
-
- @Override
- public void writeMultiTileNBT(NBTTagCompound aNBT) {
- super.writeMultiTileNBT(aNBT);
- aNBT.setString(NBT.UPGRADE_INVENTORY_UUID, mInventoryID.toString());
- aNBT.setString(NBT.UPGRADE_INVENTORY_NAME, mInventoryName);
- }
-
- @Override
- protected void onBaseTEDestroyed() {
- super.onBaseTEDestroyed();
- unregisterInventories();
- }
-
- private void unregisterInventories() {
- final IMultiBlockController controller = getTarget(false);
- if (controller != null) {
- controller.unregisterInventory(mInventoryName, mInventoryID.toString(), mType);
- }
- }
-
- @Override
- public boolean hasGui(byte aSide) {
- return true;
- }
-
- @Override
- public void addUIWidgets(Builder builder, UIBuildContext buildContext) {
- builder.widget(new TextFieldWidget().setGetter(() -> mInventoryName).setSetter((val) -> {
- mInventoryName = val;
- final IMultiBlockController controller = getTarget(false);
- if (controller != null) {
- controller.changeInventoryName(mInventoryName, mInventoryID.toString(), mType);
- }
- }).setSize(100, 25).setPos(50, 30));
- }
-}
diff --git a/src/main/java/gregtech/api/multitileentity/multiblock/casing/AdvancedCasing.java b/src/main/java/gregtech/api/multitileentity/multiblock/casing/UpgradeCasing.java
index 704cf9eb45..e3230eac02 100644
--- a/src/main/java/gregtech/api/multitileentity/multiblock/casing/AdvancedCasing.java
+++ b/src/main/java/gregtech/api/multitileentity/multiblock/casing/UpgradeCasing.java
@@ -6,30 +6,25 @@ import gregtech.api.enums.GT_Values;
import gregtech.api.multitileentity.interfaces.IMultiBlockController;
import gregtech.api.multitileentity.multiblock.base.MultiBlockPart;
-public abstract class AdvancedCasing extends MultiBlockPart {
+public abstract class UpgradeCasing extends MultiBlockPart {
- protected int mTier = 0;
+ protected int tier = 0;
@Override
public int getPartTier() {
- return mTier;
+ return tier;
}
@Override
public void setTarget(IMultiBlockController aTarget, int aAllowedModes) {
super.setTarget(aTarget, aAllowedModes);
- if (mTarget != null) customWork(mTarget);
+ if (target != null) customWork(target);
}
@Override
public void readMultiTileNBT(NBTTagCompound aNBT) {
super.readMultiTileNBT(aNBT);
- mTier = aNBT.getInteger(GT_Values.NBT.TIER);
- }
-
- @Override
- public void writeMultiTileNBT(NBTTagCompound aNBT) {
- super.writeMultiTileNBT(aNBT);
+ tier = aNBT.getInteger(GT_Values.NBT.TIER);
}
protected abstract void customWork(IMultiBlockController aTarget);