Fix broken Language file, Fix the dirt chests giving users unlimited supplies of written books and ensure DataWalkers get ran on every Tile Entity. Closes #166

This commit is contained in:
alexbegt 2019-02-08 00:14:03 -05:00
parent 3b0fd8231d
commit ac93ebbd55
17 changed files with 190 additions and 33 deletions

View File

@ -10,15 +10,26 @@
******************************************************************************/
package cpw.mods.ironchest;
import java.util.Properties;
import cpw.mods.ironchest.common.CommonProxy;
import cpw.mods.ironchest.common.config.Config;
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.TileEntityCopperChest;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityCrystalChest;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityDiamondChest;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityDirtChest;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityGoldChest;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityObsidianChest;
import cpw.mods.ironchest.common.tileentity.chest.TileEntitySilverChest;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityCopperShulkerBox;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityCrystalShulkerBox;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityDiamondShulkerBox;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityGoldShulkerBox;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityObsidianShulkerBox;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntitySilverShulkerBox;
import cpw.mods.ironchest.common.util.MissingMappingsHandler;
import cpw.mods.ironchest.common.util.OcelotsSitOnChestsHandler;
import net.minecraftforge.common.MinecraftForge;
@ -34,6 +45,8 @@ import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.relauncher.Side;
import java.util.Properties;
@Mod(modid = IronChest.MOD_ID, name = "Iron Chests", dependencies = "required-after:forge@[14.21.0.2359,)", acceptedMinecraftVersions = "[1.12, 1.13)")
public class IronChest
{
@ -90,6 +103,20 @@ public class IronChest
CompoundDataFixer dataFixer = FMLCommonHandler.instance().getDataFixer();
TileEntityIronChest.registerFixesChest(dataFixer);
TileEntityGoldChest.registerFixesChest(dataFixer);
TileEntityDiamondChest.registerFixesChest(dataFixer);
TileEntityCrystalChest.registerFixesChest(dataFixer);
TileEntitySilverChest.registerFixesChest(dataFixer);
TileEntityCopperChest.registerFixesChest(dataFixer);
TileEntityObsidianChest.registerFixesChest(dataFixer);
TileEntityDirtChest.registerFixesChest(dataFixer);
TileEntityIronShulkerBox.registerFixesShulkerBox(dataFixer);
TileEntityGoldShulkerBox.registerFixesShulkerBox(dataFixer);
TileEntityDiamondShulkerBox.registerFixesShulkerBox(dataFixer);
TileEntityCrystalShulkerBox.registerFixesShulkerBox(dataFixer);
TileEntitySilverShulkerBox.registerFixesShulkerBox(dataFixer);
TileEntityCopperShulkerBox.registerFixesShulkerBox(dataFixer);
TileEntityObsidianShulkerBox.registerFixesShulkerBox(dataFixer);
}
}

View File

@ -49,14 +49,14 @@ public class TileEntityIronShulkerBoxRenderer extends TileEntitySpecialRenderer<
}
@Override
public void render(TileEntityIronShulkerBox te, double x, double y, double z, float partialTicks, int destroyStage, float partial)
public void render(TileEntityIronShulkerBox te, double x, double y, double z, float partialTicks, int destroyStage, float alpha)
{
if (te == null || te.isInvalid())
{
return;
}
EnumFacing facing = EnumFacing.UP;
EnumFacing enumfacing = EnumFacing.UP;
IronShulkerBoxType type = te.getType();
if (te.hasWorld())
@ -65,7 +65,7 @@ public class TileEntityIronShulkerBoxRenderer extends TileEntitySpecialRenderer<
if (iblockstate.getBlock() instanceof BlockIronShulkerBox)
{
facing = te.getFacing();
enumfacing = te.getFacing();
type = iblockstate.getValue(BlockIronShulkerBox.VARIANT_PROP);
}
}
@ -86,9 +86,7 @@ public class TileEntityIronShulkerBoxRenderer extends TileEntitySpecialRenderer<
}
else
{
//@formatter:off
ResourceLocation rs = new ResourceLocation("ironchest", "textures/model/shulker/" + te.getColor().getName() + "/shulker_" + te.getColor().getName() + type.modelTexture);
//@formatter:on
this.bindTexture(rs);
}
@ -98,7 +96,7 @@ public class TileEntityIronShulkerBoxRenderer extends TileEntitySpecialRenderer<
if (destroyStage < 0)
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
GlStateManager.color(1.0F, 1.0F, 1.0F, alpha);
}
GlStateManager.translate((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
@ -107,7 +105,7 @@ public class TileEntityIronShulkerBoxRenderer extends TileEntitySpecialRenderer<
GlStateManager.scale(0.9995F, 0.9995F, 0.9995F);
GlStateManager.translate(0.0F, -1.0F, 0.0F);
switch (facing)
switch (enumfacing)
{
case DOWN:
GlStateManager.translate(0.0F, 2.0F, 0.0F);

View File

@ -10,8 +10,6 @@
******************************************************************************/
package cpw.mods.ironchest.common.blocks.chest;
import javax.annotation.Nullable;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.common.core.IronChestCreativeTabs;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest;
@ -25,9 +23,12 @@ import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagByte;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
@ -43,6 +44,9 @@ import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import javax.annotation.Nullable;
import java.util.Random;
public class BlockIronChest extends Block
{
public static final PropertyEnum<IronChestType> VARIANT_PROP = PropertyEnum.create("variant", IronChestType.class);
@ -205,6 +209,9 @@ public class BlockIronChest extends Block
tileentity.removeAdornments();
InventoryHelper.dropInventoryItems(worldIn, pos, tileentity);
worldIn.updateComparatorOutputLevel(pos, this);
worldIn.removeTileEntity(pos);
}
super.breakBlock(worldIn, pos, state);
@ -282,4 +289,25 @@ public class BlockIronChest extends Block
return tileentity != null && tileentity.receiveClientEvent(id, param);
}
@Override
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
{
Random rand = world instanceof World ? ((World) world).rand : RANDOM;
int count = quantityDropped(state, fortune, rand);
for (int i = 0; i < count; i++)
{
Item item = this.getItemDropped(state, rand, fortune);
if (item != Items.AIR)
{
ItemStack stack = new ItemStack(item, 1, this.damageDropped(state));
if (state.getValue(VARIANT_PROP) == IronChestType.DIRTCHEST9000)
{
stack.setTagInfo("dirtchest", new NBTTagByte((byte) 1));
}
drops.add(stack);
}
}
}
}

View File

@ -11,6 +11,9 @@
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntityCopperChest extends TileEntityIronChest
{
@ -18,4 +21,9 @@ public class TileEntityCopperChest extends TileEntityIronChest
{
super(IronChestType.COPPER);
}
public static void registerFixesChest(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityCopperChest.class, new String[] { "Items" }));
}
}

View File

@ -11,6 +11,9 @@
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntityCrystalChest extends TileEntityIronChest
{
@ -18,4 +21,9 @@ public class TileEntityCrystalChest extends TileEntityIronChest
{
super(IronChestType.CRYSTAL);
}
public static void registerFixesChest(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityCrystalChest.class, new String[] { "Items" }));
}
}

View File

@ -11,6 +11,9 @@
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntityDiamondChest extends TileEntityIronChest
{
@ -18,4 +21,9 @@ public class TileEntityDiamondChest extends TileEntityIronChest
{
super(IronChestType.DIAMOND);
}
public static void registerFixesChest(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityDiamondChest.class, new String[] { "Items" }));
}
}

View File

@ -6,6 +6,9 @@ import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.nbt.NBTTagString;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
import net.minecraft.util.text.translation.I18n;
@SuppressWarnings("deprecation")
@ -48,4 +51,9 @@ public class TileEntityDirtChest extends TileEntityIronChest
this.getItems().set(0, ItemStack.EMPTY);
}
}
public static void registerFixesChest(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityDirtChest.class, new String[] { "Items" }));
}
}

View File

@ -11,6 +11,9 @@
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntityGoldChest extends TileEntityIronChest
{
@ -18,4 +21,9 @@ public class TileEntityGoldChest extends TileEntityIronChest
{
super(IronChestType.GOLD);
}
public static void registerFixesChest(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityGoldChest.class, new String[] { "Items" }));
}
}

View File

@ -1,6 +1,9 @@
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntityObsidianChest extends TileEntityIronChest
{
@ -8,4 +11,9 @@ public class TileEntityObsidianChest extends TileEntityIronChest
{
super(IronChestType.OBSIDIAN);
}
public static void registerFixesChest(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityObsidianChest.class, new String[] { "Items" }));
}
}

View File

@ -11,6 +11,9 @@
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntitySilverChest extends TileEntityIronChest
{
@ -18,4 +21,9 @@ public class TileEntitySilverChest extends TileEntityIronChest
{
super(IronChestType.SILVER);
}
public static void registerFixesChest(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntitySilverChest.class, new String[] { "Items" }));
}
}

View File

@ -14,6 +14,9 @@ import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntityCopperShulkerBox extends TileEntityIronShulkerBox
{
@ -26,4 +29,9 @@ public class TileEntityCopperShulkerBox extends TileEntityIronShulkerBox
{
super(colorIn, IronShulkerBoxType.COPPER);
}
public static void registerFixesShulkerBox(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityCopperShulkerBox.class, new String[] { "Items" }));
}
}

View File

@ -14,6 +14,9 @@ import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntityCrystalShulkerBox extends TileEntityIronShulkerBox
{
@ -26,4 +29,9 @@ public class TileEntityCrystalShulkerBox extends TileEntityIronShulkerBox
{
super(colorIn, IronShulkerBoxType.CRYSTAL);
}
public static void registerFixesShulkerBox(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityCrystalShulkerBox.class, new String[] { "Items" }));
}
}

View File

@ -14,6 +14,9 @@ import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntityDiamondShulkerBox extends TileEntityIronShulkerBox
{
@ -26,4 +29,9 @@ public class TileEntityDiamondShulkerBox extends TileEntityIronShulkerBox
{
super(colorIn, IronShulkerBoxType.DIAMOND);
}
public static void registerFixesShulkerBox(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityDiamondShulkerBox.class, new String[] { "Items" }));
}
}

View File

@ -14,6 +14,9 @@ import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntityGoldShulkerBox extends TileEntityIronShulkerBox
{
@ -26,4 +29,9 @@ public class TileEntityGoldShulkerBox extends TileEntityIronShulkerBox
{
super(colorIn, IronShulkerBoxType.GOLD);
}
public static void registerFixesShulkerBox(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityGoldShulkerBox.class, new String[] { "Items" }));
}
}

View File

@ -14,6 +14,9 @@ import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntityObsidianShulkerBox extends TileEntityIronShulkerBox
{
@ -26,4 +29,9 @@ public class TileEntityObsidianShulkerBox extends TileEntityIronShulkerBox
{
super(colorIn, IronShulkerBoxType.OBSIDIAN);
}
public static void registerFixesShulkerBox(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityObsidianShulkerBox.class, new String[] { "Items" }));
}
}

View File

@ -14,6 +14,9 @@ import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.datafix.FixTypes;
import net.minecraft.util.datafix.walkers.ItemStackDataLists;
public class TileEntitySilverShulkerBox extends TileEntityIronShulkerBox
{
@ -26,4 +29,9 @@ public class TileEntitySilverShulkerBox extends TileEntityIronShulkerBox
{
super(colorIn, IronShulkerBoxType.SILVER);
}
public static void registerFixesShulkerBox(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntitySilverShulkerBox.class, new String[] { "Items" }));
}
}

View File

@ -40,7 +40,7 @@ tile.ironchest.shulker_box.iron.yellow.name=Yellow Iron Shulker Box
tile.ironchest.shulker_box.iron.lime.name=Lime Iron Shulker Box
tile.ironchest.shulker_box.iron.pink.name=Pink Iron Shulker Box
tile.ironchest.shulker_box.iron.gray.name=Gray Iron Shulker Box
tile.ironchest.shulker_box.iron.silver.name=Silver Iron Shulker Box
tile.ironchest.shulker_box.iron.silver.name=Light Gray Iron Shulker Box
tile.ironchest.shulker_box.iron.cyan.name=Cyan Iron Shulker Box
tile.ironchest.shulker_box.iron.purple.name=Purple Iron Shulker Box
tile.ironchest.shulker_box.iron.blue.name=Blue Iron Shulker Box
@ -100,22 +100,22 @@ tile.ironchest.shulker_box.copper.green.name=Green Copper Shulker Box
tile.ironchest.shulker_box.copper.red.name=Red Copper Shulker Box
tile.ironchest.shulker_box.copper.black.name=Black Copper Shulker Box
tile.ironchest.shulker_box.silver.white.name=White Light Gray Shulker Box
tile.ironchest.shulker_box.silver.orange.name=Orange Light Gray Shulker Box
tile.ironchest.shulker_box.silver.magenta.name=Magenta Light Gray Shulker Box
tile.ironchest.shulker_box.silver.light_blue.name=Light Blue Light Gray Shulker Box
tile.ironchest.shulker_box.silver.yellow.name=Yellow Light Gray Shulker Box
tile.ironchest.shulker_box.silver.lime.name=Lime Light Gray Shulker Box
tile.ironchest.shulker_box.silver.pink.name=Pink Light Gray Shulker Box
tile.ironchest.shulker_box.silver.gray.name=Gray Light Gray Shulker Box
tile.ironchest.shulker_box.silver.silver.name=Light Gray Light Gray Shulker Box
tile.ironchest.shulker_box.silver.cyan.name=Cyan Light Gray Shulker Box
tile.ironchest.shulker_box.silver.purple.name=Purple Light Gray Shulker Box
tile.ironchest.shulker_box.silver.blue.name=Blue Light Gray Shulker Box
tile.ironchest.shulker_box.silver.brown.name=Brown Light Gray Shulker Box
tile.ironchest.shulker_box.silver.green.name=Green Light Gray Shulker Box
tile.ironchest.shulker_box.silver.red.name=Red Light Gray Shulker Box
tile.ironchest.shulker_box.silver.black.name=Black Light Gray Shulker Box
tile.ironchest.shulker_box.silver.white.name=White Silver Shulker Box
tile.ironchest.shulker_box.silver.orange.name=Orange Silver Shulker Box
tile.ironchest.shulker_box.silver.magenta.name=Magenta Silver Shulker Box
tile.ironchest.shulker_box.silver.light_blue.name=Light Blue Silver Shulker Box
tile.ironchest.shulker_box.silver.yellow.name=Yellow Silver Shulker Box
tile.ironchest.shulker_box.silver.lime.name=Lime Silver Shulker Box
tile.ironchest.shulker_box.silver.pink.name=Pink Silver Shulker Box
tile.ironchest.shulker_box.silver.gray.name=Gray Silver Shulker Box
tile.ironchest.shulker_box.silver.silver.name=Light Gray Silver Shulker Box
tile.ironchest.shulker_box.silver.cyan.name=Cyan Silver Shulker Box
tile.ironchest.shulker_box.silver.purple.name=Purple Silver Shulker Box
tile.ironchest.shulker_box.silver.blue.name=Blue Silver Shulker Box
tile.ironchest.shulker_box.silver.brown.name=Brown Silver Shulker Box
tile.ironchest.shulker_box.silver.green.name=Green Silver Shulker Box
tile.ironchest.shulker_box.silver.red.name=Red Silver Shulker Box
tile.ironchest.shulker_box.silver.black.name=Black Silver Shulker Box
tile.ironchest.shulker_box.crystal.white.name=White Crystal Shulker Box
tile.ironchest.shulker_box.crystal.orange.name=Orange Crystal Shulker Box
@ -126,7 +126,7 @@ tile.ironchest.shulker_box.crystal.lime.name=Lime Crystal Shulker Box
tile.ironchest.shulker_box.crystal.pink.name=Pink Crystal Shulker Box
tile.ironchest.shulker_box.crystal.gray.name=Gray Crystal Shulker Box
tile.ironchest.shulker_box.crystal.silver.name=Light Gray Crystal Shulker Box
tile.ironchest.shulker_box.crystal.cyan.name=Cyan CrystaLight Gray er Box
tile.ironchest.shulker_box.crystal.cyan.name=Cyan Crystal Shulker Box
tile.ironchest.shulker_box.crystal.purple.name=Purple Crystal Shulker Box
tile.ironchest.shulker_box.crystal.blue.name=Blue Crystal Shulker Box
tile.ironchest.shulker_box.crystal.brown.name=Brown Crystal Shulker Box
@ -155,10 +155,10 @@ item.ironchest.shulker_box.iron_gold.name=Iron to Gold Shulker Box Upgrade
item.ironchest.shulker_box.iron_gold.tooltip=Used to upgrade a Iron Shulker Box to a Gold Shulker Box\nThe color of the Shulker Box will stay the same.
item.ironchest.shulker_box.gold_diamond.name=Gold to Diamond Shulker Box Upgrade
item.ironchest.shulker_box.gold_diamond.tooltip=Used to upgrade a Gold Shulker Box to a Diamond Shulker Box\nThe color of the Shulker Box will stay the same.
item.ironchest.shulker_box.copper_silver.name=Copper to Light Gray Shulker Box Upgrade
item.ironchest.shulker_box.copper_silver.tooltip=Used to upgrade a Copper Shulker Box to a Light Gray Shulker Box\nThe color of the Shulker Box will stay the same.
item.ironchest.shulker_box.silver_gold.name=Light Gray to Gold Shulker Box Upgrade
item.ironchest.shulker_box.silver_gold.tooltip=Used to upgrade a Light Gray Shulker Box to a Gold Shulker Box\nThe color of the Shulker Box will stay the same.
item.ironchest.shulker_box.copper_silver.name=Copper to Silver Shulker Box Upgrade
item.ironchest.shulker_box.copper_silver.tooltip=Used to upgrade a Copper Shulker Box to a Silver Shulker Box\nThe color of the Shulker Box will stay the same.
item.ironchest.shulker_box.silver_gold.name=Silver to Gold Shulker Box Upgrade
item.ironchest.shulker_box.silver_gold.tooltip=Used to upgrade a Silver Shulker Box to a Gold Shulker Box\nThe color of the Shulker Box will stay the same.
item.ironchest.shulker_box.copper_iron.name=Copper to Iron Shulker Box Upgrade
item.ironchest.shulker_box.copper_iron.tooltip=Used to upgrade a Copper Shulker Box to a Iron Shulker Box\nThe color of the Shulker Box will stay the same.
item.ironchest.shulker_box.diamond_crystal.name=Diamond to Crystal Shulker Box Upgrade