diff options
Diffstat (limited to 'src/main/java/gregtech/api/util')
3 files changed, 15 insertions, 2 deletions
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 |