aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity
diff options
context:
space:
mode:
authorGlease <4586901+Glease@users.noreply.github.com>2023-04-09 18:48:11 +0800
committerGitHub <noreply@github.com>2023-04-09 12:48:11 +0200
commit4acb4677a6d546ca4b5f3b4e05eaa3da08776d15 (patch)
treee2d37ef1587c3983ca98686b484228133be722c5 /src/main/java/gregtech/api/metatileentity
parent667b74d0e4b7b05d4e41627915e262c9c302f933 (diff)
downloadGT5-Unofficial-4acb4677a6d546ca4b5f3b4e05eaa3da08776d15.tar.gz
GT5-Unofficial-4acb4677a6d546ca4b5f3b4e05eaa3da08776d15.tar.bz2
GT5-Unofficial-4acb4677a6d546ca4b5f3b4e05eaa3da08776d15.zip
add slot migration to disassembler (#1860)
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity')
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java13
-rw-r--r--src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java1
2 files changed, 13 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
index 0f908bdaa3..c6d74a1b35 100644
--- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
@@ -141,7 +141,6 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity implements IGregTec
aNBT.setBoolean("mInputDisabled", mInputDisabled);
aNBT.setBoolean("mOutputDisabled", mOutputDisabled);
aNBT.setTag("GT.CraftingComponents", mRecipeStuff);
- aNBT.setInteger("nbtVersion", GT_Mod.TOTAL_VERSION);
} catch (Throwable e) {
GT_FML_LOGGER.error("Encountered CRITICAL ERROR while saving MetaTileEntity.", e);
}
@@ -2268,6 +2267,8 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity implements IGregTec
final int chemistryUpdateVersion = GT_Mod.calculateTotalGTVersion(509, 31);
final int configCircuitAdditionVersion = GT_Mod.calculateTotalGTVersion(509, 40);
final int wireAdditionVersion = GT_Mod.calculateTotalGTVersion(509, 41);
+ final int disassemblerRemoveVersion = GT_Mod.calculateTotalGTVersion(509, 42, 44);
+ if (nbtVersion < 1000000) nbtVersion *= 1000;
// 4 is old GT_MetaTileEntity_BasicMachine.OTHER_SLOT_COUNT
if (nbtVersion < configCircuitAdditionVersion && getMetaTileEntity() instanceof GT_MetaTileEntity_BasicMachine
&& slotIndex >= 4)
@@ -2321,6 +2322,16 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity implements IGregTec
newInputSize = 2;
newOutputSize = 1;
+ } else if (mID >= 654 && mID <= 655 || mID >= 11070 && mID <= 11076) { // arc furnace
+ if (nbtVersion < disassemblerRemoveVersion) {
+ oldInputSize = 1;
+ oldOutputSize = 4;
+ } else {
+ return slotIndex;
+ }
+ newInputSize = 1;
+ newOutputSize = 9;
+
} else {
return slotIndex;
}
diff --git a/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java
index 853dd3699a..9bbc853963 100644
--- a/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java
@@ -46,6 +46,7 @@ public abstract class CommonMetaTileEntity extends CoverableTileEntity implement
protected void saveMetaTileNBT(NBTTagCompound aNBT) {
try {
if (hasValidMetaTileEntity()) {
+ aNBT.setInteger("nbtVersion", GT_Mod.NBT_VERSION);
final NBTTagList tItemList = new NBTTagList();
for (int i = 0; i < getMetaTileEntity().getRealInventory().length; i++) {
final ItemStack tStack = getMetaTileEntity().getRealInventory()[i];