aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addon.gradle8
-rw-r--r--src/main/java/gregtech/GT_Mod.java13
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java13
-rw-r--r--src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java1
4 files changed, 31 insertions, 4 deletions
diff --git a/addon.gradle b/addon.gradle
index 4e8d2eb148..93e57c24d9 100644
--- a/addon.gradle
+++ b/addon.gradle
@@ -7,3 +7,11 @@ test {
events "passed", "skipped", "failed"
}
}
+
+minecraft {
+ String version = project.version
+ def (five,major,minor,patch)= version.split("[.-]", 5)
+ injectedTags.put 'VERSION_MAJOR', 500 + major.toInteger()
+ injectedTags.put 'VERSION_MINOR', minor.toInteger()
+ injectedTags.put 'VERSION_PATCH', patch.toInteger()
+}
diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java
index be0f1c2a4c..f09bf563e8 100644
--- a/src/main/java/gregtech/GT_Mod.java
+++ b/src/main/java/gregtech/GT_Mod.java
@@ -1,5 +1,8 @@
package gregtech;
+import static gregtech.GT_Version.VERSION_MAJOR;
+import static gregtech.GT_Version.VERSION_MINOR;
+import static gregtech.GT_Version.VERSION_PATCH;
import static gregtech.api.GregTech_API.registerCircuitProgrammer;
import static gregtech.api.enums.Mods.Forestry;
@@ -137,11 +140,11 @@ import ic2.api.recipe.RecipeOutput;
public class GT_Mod implements IGT_Mod {
@Deprecated // Keep for use in BaseMetaTileEntity
- public static final int VERSION = 509, SUBVERSION = 42;
+ public static final int VERSION = VERSION_MAJOR, SUBVERSION = VERSION_MINOR;
- @SuppressWarnings("DeprecatedIsStillUsed") // Need initialization until it is deleted
@Deprecated
public static final int TOTAL_VERSION = calculateTotalGTVersion(VERSION, SUBVERSION);
+ public static final int NBT_VERSION = calculateTotalGTVersion(VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH);
@Deprecated
public static final int REQUIRED_IC2 = 624;
@@ -203,7 +206,11 @@ public class GT_Mod implements IGT_Mod {
}
public static int calculateTotalGTVersion(int majorVersion, int minorVersion) {
- return majorVersion * 1000 + minorVersion;
+ return calculateTotalGTVersion(majorVersion, minorVersion, 0);
+ }
+
+ public static int calculateTotalGTVersion(int majorVersion, int minorVersion, int patchVersion) {
+ return majorVersion * 1000000 + minorVersion * 1000 + patchVersion;
}
@Mod.EventHandler
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];