diff options
Diffstat (limited to 'src/main/java/gregtech/api')
4 files changed, 18 insertions, 4 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java index bff79743be..fc5fa64d91 100644 --- a/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java +++ b/src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java @@ -176,9 +176,10 @@ public class BaseMetaPipeEntity extends BaseTileEntity implements IGregTechTileE GT_CoverBehaviorBase<?> tBehavior = getCoverBehaviorAtSideNew(i); if (tBehavior == null) continue; - mCoverData[i] = tBehavior.createDataObject(); if (aNBT.hasKey(COVER_DATA_NBT_KEYS[i])) - mCoverData[i].loadDataFromNBT(aNBT.getTag(COVER_DATA_NBT_KEYS[i])); + mCoverData[i] = tBehavior.createDataObject(aNBT.getTag(COVER_DATA_NBT_KEYS[i])); + else + mCoverData[i] = tBehavior.createDataObject(); } } if (mSidedRedstone.length != 6) mSidedRedstone = new byte[]{0, 0, 0, 0, 0, 0}; diff --git a/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java b/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java index 50ef2632d9..c0fcc0708f 100644 --- a/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java +++ b/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java @@ -8,6 +8,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagInt; import net.minecraft.world.World; import net.minecraftforge.fluids.Fluid; @@ -31,7 +32,12 @@ public abstract class GT_CoverBehaviorBase<T extends ISerializableObject> { public abstract T createDataObject(); - public T createDataObject(NBTBase aNBT) { + public final T createDataObject(NBTBase aNBT) { + // Handle legacy data (migrating from GT_CoverBehavior to GT_CoverBehaviorBase) + if (aNBT instanceof NBTTagInt) { + return createDataObject(((NBTTagInt) aNBT).func_150287_d()); + } + T ret = createDataObject(); ret.loadDataFromNBT(aNBT); return ret; diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java index 767c830f79..9121e41c33 100644 --- a/src/main/java/gregtech/api/util/GT_LanguageManager.java +++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java @@ -337,6 +337,8 @@ public class GT_LanguageManager { addStringLocalization("Interaction_DESCRIPTION_Index_218", "Transfer size mode. Add exactly this many items in destination input slots as long as there is room."); addStringLocalization("Interaction_DESCRIPTION_Index_219", "Single recipe locking enabled. Will lock to next recipe."); addStringLocalization("Interaction_DESCRIPTION_Index_220", "Single recipe locking disabled."); + addStringLocalization("Interaction_DESCRIPTION_Index_221", "Item threshold"); + addStringLocalization("Interaction_DESCRIPTION_Index_222", "Fluid threshold"); addStringLocalization("Interaction_DESCRIPTION_Index_500", "Fitting: Loose - More Flow"); addStringLocalization("Interaction_DESCRIPTION_Index_501", "Fitting: Tight - More Efficiency"); diff --git a/src/main/java/gregtech/api/util/ISerializableObject.java b/src/main/java/gregtech/api/util/ISerializableObject.java index 51fa40e55a..b31abaa843 100644 --- a/src/main/java/gregtech/api/util/ISerializableObject.java +++ b/src/main/java/gregtech/api/util/ISerializableObject.java @@ -24,6 +24,11 @@ public interface ISerializableObject { @Nonnull ISerializableObject copy(); + /** + * If you are overriding this, you must <b>NOT</b> return {@link NBTTagInt} here! That return + * type is how we tell that we are loading legacy data, and only {@link LegacyCoverData} is + * allowed to return it. You probably want to return {@link NBTTagCompound} anyway. + */ @Nonnull NBTBase saveDataToNBT(); @@ -109,7 +114,7 @@ public interface ISerializableObject { @Override public void loadDataFromNBT(NBTBase aNBT) { - mData = aNBT instanceof NBTBase.NBTPrimitive ? ((NBTBase.NBTPrimitive) aNBT).func_150287_d() : 0; + mData = aNBT instanceof NBTTagInt ? ((NBTTagInt) aNBT).func_150287_d() : 0; } @Override |