diff options
author | Glease <4586901+Glease@users.noreply.github.com> | 2023-04-09 18:48:11 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-09 12:48:11 +0200 |
commit | 4acb4677a6d546ca4b5f3b4e05eaa3da08776d15 (patch) | |
tree | e2d37ef1587c3983ca98686b484228133be722c5 /src/main/java/gregtech/api/metatileentity | |
parent | 667b74d0e4b7b05d4e41627915e262c9c302f933 (diff) | |
download | GT5-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.java | 13 | ||||
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java | 1 |
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]; |