diff options
Diffstat (limited to 'src/main/java/gregtech/api')
4 files changed, 26 insertions, 3 deletions
diff --git a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java index d29dc96316..cfebfef7fc 100644 --- a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java +++ b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java @@ -595,6 +595,8 @@ public interface IGT_RecipeAdder { */ boolean addWiremillRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); + boolean addWiremillRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput, int aDuration, int aEUt); + /** * Adds a Polariser Recipe * diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 911c1cabcb..76a6d3237e 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -2270,13 +2270,15 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity * @param nbtVersion The GregTech version in which the original Inventory Index was saved. * @return The corrected Inventory index */ - private int migrateInventoryIndex(int slotIndex, int nbtVersion) { + @Override + protected int migrateInventoryIndex(int slotIndex, int nbtVersion) { final int oldInputSize; final int newInputSize; final int oldOutputSize; final int newOutputSize; final int chemistryUpdateVersion = GT_Mod.calculateTotalGTVersion(509, 31); final int configCircuitAdditionVersion = GT_Mod.calculateTotalGTVersion(509, 40); + final int wireAdditionVersion = GT_Mod.calculateTotalGTVersion(509, 41); // 4 is old GT_MetaTileEntity_BasicMachine.OTHER_SLOT_COUNT if (nbtVersion < configCircuitAdditionVersion && getMetaTileEntity() instanceof GT_MetaTileEntity_BasicMachine @@ -2320,6 +2322,16 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity newInputSize = 6; newOutputSize = 1; + } else if (mID >= 351 && mID <= 355 || mID >= 11050 && mID <= 11056) { // wire mill + if (nbtVersion < wireAdditionVersion) { + oldInputSize = 1; + oldOutputSize = 1; + } else { + return slotIndex; + } + newInputSize = 2; + newOutputSize = 1; + } else { return slotIndex; } diff --git a/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java index 7e35f2e2c1..bf835b51bb 100644 --- a/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/CommonMetaTileEntity.java @@ -59,11 +59,12 @@ public abstract class CommonMetaTileEntity extends CoverableTileEntity implement } protected void loadMetaTileNBT(NBTTagCompound aNBT) { + final int nbtVersion = aNBT.getInteger("nbtVersion"); if (mID != 0 && createNewMetatileEntity(mID)) { final NBTTagList tItemList = aNBT.getTagList("Inventory", 10); for (int i = 0; i < tItemList.tagCount(); i++) { final NBTTagCompound tTag = tItemList.getCompoundTagAt(i); - final int tSlot = tTag.getInteger("IntSlot"); + final int tSlot = migrateInventoryIndex(tTag.getInteger("IntSlot"), nbtVersion); if (tSlot >= 0 && tSlot < getMetaTileEntity().getRealInventory().length) { getMetaTileEntity().getRealInventory()[tSlot] = GT_Utility.loadItem(tTag); } @@ -78,6 +79,14 @@ public abstract class CommonMetaTileEntity extends CoverableTileEntity implement } } + /** + * Shifts the machine Inventory index according to the change in Input/Output Slots. + * Default implementation does not do anything to the slotIndex. + */ + protected int migrateInventoryIndex(int slotIndex, int nbtVersion) { + return slotIndex; + } + @Override public void markDirty() { super.markDirty(); diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index 5ec8ad16a2..09549a52c8 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -1712,7 +1712,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> { "Wiremill", null, RES_PATH_GUI + "basicmachines/Wiremill", - 1, + 2, 1, 1, 0, |