From 5a9c3d77df80b52a00a0c52d3a7d91fd5734ef98 Mon Sep 17 00:00:00 2001 From: alexbegt Date: Sat, 17 Feb 2018 12:38:11 -0500 Subject: [PATCH] Run DataFixer on the Chest's and Shulker Boxes, and fix the conflicting recipes reguarding the shulker upgrades. Closes #115, #117 --- src/main/java/cpw/mods/ironchest/IronChest.java | 13 +++++++++++++ .../tileentity/chest/TileEntityIronChest.java | 8 ++++++++ .../shulker/TileEntityIronShulkerBox.java | 14 ++++++++++++-- .../shulker/copper_iron_shulker_upgrade.json | 4 ++-- .../shulker/copper_silver_shulker_upgrade.json | 2 +- .../shulker/diamond_crystal_shulker_upgrade.json | 2 +- .../shulker/diamond_obsidian_shulker_upgrade.json | 2 +- .../shulker/gold_diamond_shulker_upgrade.json | 6 +++--- .../upgrade/shulker/iron_gold_shulker_upgrade.json | 2 +- .../shulker/silver_gold_shulker_upgrade.json | 4 ++-- 10 files changed, 44 insertions(+), 13 deletions(-) diff --git a/src/main/java/cpw/mods/ironchest/IronChest.java b/src/main/java/cpw/mods/ironchest/IronChest.java index 45f0de2..1d28502 100755 --- a/src/main/java/cpw/mods/ironchest/IronChest.java +++ b/src/main/java/cpw/mods/ironchest/IronChest.java @@ -16,9 +16,13 @@ import cpw.mods.ironchest.common.CommonProxy; import cpw.mods.ironchest.common.lib.BlockLists; import cpw.mods.ironchest.common.network.MessageCrystalChestSync; import cpw.mods.ironchest.common.network.MessageCrystalShulkerSync; +import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest; +import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox; import cpw.mods.ironchest.common.util.MissingMappingsHandler; import cpw.mods.ironchest.common.util.OcelotsSitOnChestsHandler; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.util.CompoundDataFixer; +import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; @@ -74,6 +78,15 @@ public class IronChest packetHandler.registerMessage(MessageCrystalShulkerSync.Handler.class, MessageCrystalShulkerSync.class, messageId++, Side.CLIENT); BlockLists.createShulkerItemList(); + + registerDataFixes(); } + public void registerDataFixes() + { + CompoundDataFixer dataFixer = FMLCommonHandler.instance().getDataFixer(); + + TileEntityIronChest.registerFixesChest(dataFixer); + TileEntityIronShulkerBox.registerFixesShulkerBox(dataFixer); + } } diff --git a/src/main/java/cpw/mods/ironchest/common/tileentity/chest/TileEntityIronChest.java b/src/main/java/cpw/mods/ironchest/common/tileentity/chest/TileEntityIronChest.java index 8248417..fa88db3 100755 --- a/src/main/java/cpw/mods/ironchest/common/tileentity/chest/TileEntityIronChest.java +++ b/src/main/java/cpw/mods/ironchest/common/tileentity/chest/TileEntityIronChest.java @@ -35,6 +35,9 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.ITickable; import net.minecraft.util.NonNullList; import net.minecraft.util.SoundCategory; +import net.minecraft.util.datafix.DataFixer; +import net.minecraft.util.datafix.FixTypes; +import net.minecraft.util.datafix.walkers.ItemStackDataLists; import net.minecraft.util.math.AxisAlignedBB; import net.minecraftforge.common.util.Constants; import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; @@ -630,4 +633,9 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick { this.topStacks = topStacks; } + + public static void registerFixesChest(DataFixer fixer) + { + fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityIronChest.class, new String[] { "Items" })); + } } diff --git a/src/main/java/cpw/mods/ironchest/common/tileentity/shulker/TileEntityIronShulkerBox.java b/src/main/java/cpw/mods/ironchest/common/tileentity/shulker/TileEntityIronShulkerBox.java index e324664..4cba0f7 100644 --- a/src/main/java/cpw/mods/ironchest/common/tileentity/shulker/TileEntityIronShulkerBox.java +++ b/src/main/java/cpw/mods/ironchest/common/tileentity/shulker/TileEntityIronShulkerBox.java @@ -43,6 +43,9 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.ITickable; import net.minecraft.util.NonNullList; import net.minecraft.util.SoundCategory; +import net.minecraft.util.datafix.DataFixer; +import net.minecraft.util.datafix.FixTypes; +import net.minecraft.util.datafix.walkers.ItemStackDataLists; import net.minecraft.util.math.AxisAlignedBB; import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraftforge.fml.relauncher.Side; @@ -185,7 +188,8 @@ public class TileEntityIronShulkerBox extends TileEntityLockableLoot implements int compressedIdx = 0; - mainLoop: for (int i = 0; i < this.getSizeInventory(); i++) + mainLoop: + for (int i = 0; i < this.getSizeInventory(); i++) { ItemStack itemStack = this.getItems().get(i); @@ -228,7 +232,8 @@ public class TileEntityIronShulkerBox extends TileEntityLockableLoot implements this.hadStuff = true; - Collections.sort(tempCopy, new Comparator() { + Collections.sort(tempCopy, new Comparator() + { @Override public int compare(ItemStack stack1, ItemStack stack2) { @@ -792,4 +797,9 @@ public class TileEntityIronShulkerBox extends TileEntityLockableLoot implements { CLOSED, OPENING, OPENED, CLOSING; } + + public static void registerFixesShulkerBox(DataFixer fixer) + { + fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityIronShulkerBox.class, new String[] { "Items" })); + } } diff --git a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/copper_iron_shulker_upgrade.json b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/copper_iron_shulker_upgrade.json index cfe9f79..4bb6610 100644 --- a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/copper_iron_shulker_upgrade.json +++ b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/copper_iron_shulker_upgrade.json @@ -7,8 +7,8 @@ ], "type": "forge:ore_shaped", "pattern": [ - "MGM", - "GSG", + "GG", + "MSM", "MGM" ], "key": { diff --git a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/copper_silver_shulker_upgrade.json b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/copper_silver_shulker_upgrade.json index 44d5953..f912e62 100644 --- a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/copper_silver_shulker_upgrade.json +++ b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/copper_silver_shulker_upgrade.json @@ -11,8 +11,8 @@ ], "type": "forge:ore_shaped", "pattern": [ - "MMM", "MSM", + "MMM", "MMM" ], "key": { diff --git a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/diamond_crystal_shulker_upgrade.json b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/diamond_crystal_shulker_upgrade.json index efa5d33..9958547 100644 --- a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/diamond_crystal_shulker_upgrade.json +++ b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/diamond_crystal_shulker_upgrade.json @@ -1,8 +1,8 @@ { "type": "forge:ore_shaped", "pattern": [ - "GGG", "GSG", + "GGG", "GGG" ], "key": { diff --git a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/diamond_obsidian_shulker_upgrade.json b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/diamond_obsidian_shulker_upgrade.json index 5421bc9..4672c89 100644 --- a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/diamond_obsidian_shulker_upgrade.json +++ b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/diamond_obsidian_shulker_upgrade.json @@ -1,8 +1,8 @@ { "type": "forge:ore_shaped", "pattern": [ - "MMM", "MGM", + "MMM", "MMM" ], "key": { diff --git a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/gold_diamond_shulker_upgrade.json b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/gold_diamond_shulker_upgrade.json index c4453f5..a42cd1b 100644 --- a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/gold_diamond_shulker_upgrade.json +++ b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/gold_diamond_shulker_upgrade.json @@ -1,9 +1,9 @@ { "type": "forge:ore_shaped", "pattern": [ - "GGG", - "MSM", - "GGG" + "GMG", + "GSG", + "GMG" ], "key": { "M": { diff --git a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/iron_gold_shulker_upgrade.json b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/iron_gold_shulker_upgrade.json index f2922b6..fdc9193 100644 --- a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/iron_gold_shulker_upgrade.json +++ b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/iron_gold_shulker_upgrade.json @@ -1,8 +1,8 @@ { "type": "forge:ore_shaped", "pattern": [ - "MMM", "MSM", + "MMM", "MMM" ], "key": { diff --git a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/silver_gold_shulker_upgrade.json b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/silver_gold_shulker_upgrade.json index bd41562..0f0579e 100644 --- a/src/main/resources/assets/ironchest/recipes/upgrade/shulker/silver_gold_shulker_upgrade.json +++ b/src/main/resources/assets/ironchest/recipes/upgrade/shulker/silver_gold_shulker_upgrade.json @@ -7,8 +7,8 @@ ], "type": "forge:ore_shaped", "pattern": [ - "MGM", - "GSG", + "MSM", + "GGG", "MGM" ], "key": {