Delete old source to start on 1.13

This commit is contained in:
alexbegt 2018-12-22 15:12:58 -05:00
parent 2db43e58c6
commit e3130b3e32
466 changed files with 0 additions and 15774 deletions

View File

@ -1,41 +0,0 @@
package invtweaks.api.container;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* A marker for containers that have a chest-like persistent storage component. Enables the Inventory Tweaks sorting
* buttons for this container.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface ChestContainer
{
// Set to true if the Inventory Tweaks sorting buttons should be shown for this container.
boolean showButtons() default true;
// Size of a chest row
int rowSize() default 9;
// Uses 'large chest' mode for sorting buttons
// (Renders buttons vertically down the right side of the GUI)
boolean isLargeChest() default false;
// Annotation for method to get size of a chest row if it is not a fixed size for this container class
// Signature int func()
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface RowSizeCallback
{
}
// Annotation for method to get size of a chest row if it is not a fixed size for this container class
// Signature boolean func()
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface IsLargeCallback
{
}
}

View File

@ -1,95 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
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.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;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.relauncher.Side;
@Mod(modid = IronChest.MOD_ID, name = "Iron Chests", dependencies = "required-after:forge@[14.21.0.2359,)", acceptedMinecraftVersions = "[1.12, 1.13)")
public class IronChest
{
public static final String MOD_ID = "ironchest";
@Instance(IronChest.MOD_ID)
public static IronChest instance;
@SidedProxy(clientSide = "cpw.mods.ironchest.client.ClientProxy", serverSide = "cpw.mods.ironchest.common.CommonProxy")
public static CommonProxy proxy;
public static final SimpleNetworkWrapper packetHandler = NetworkRegistry.INSTANCE.newSimpleChannel(MOD_ID);
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
Properties properties = event.getVersionProperties();
if (properties != null)
{
String major = properties.getProperty("IronChest.build.major.number");
String minor = properties.getProperty("IronChest.build.minor.number");
String rev = properties.getProperty("IronChest.build.revision.number");
String build = properties.getProperty("IronChest.build.number");
event.getModMetadata().version = String.format("%s.%s.%s build %s", major, minor, rev, build);
}
Config.load(event);
proxy.preInit();
NetworkRegistry.INSTANCE.registerGuiHandler(instance, proxy);
MinecraftForge.EVENT_BUS.register(new OcelotsSitOnChestsHandler());
MinecraftForge.EVENT_BUS.register(new MissingMappingsHandler());
}
@EventHandler
public void init(FMLInitializationEvent event)
{
int messageId = 0;
packetHandler.registerMessage(MessageCrystalChestSync.Handler.class, MessageCrystalChestSync.class, messageId++, Side.CLIENT);
packetHandler.registerMessage(MessageCrystalShulkerSync.Handler.class, MessageCrystalShulkerSync.class, messageId++, Side.CLIENT);
BlockLists.createShulkerItemList();
this.registerDataFixes();
}
public void registerDataFixes()
{
CompoundDataFixer dataFixer = FMLCommonHandler.instance().getDataFixer();
TileEntityIronChest.registerFixesChest(dataFixer);
TileEntityIronShulkerBox.registerFixesShulkerBox(dataFixer);
}
}

View File

@ -1,74 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.client;
import cpw.mods.ironchest.client.gui.chest.GUIChest;
import cpw.mods.ironchest.client.gui.shulker.GUIShulkerChest;
import cpw.mods.ironchest.client.renderer.chest.TileEntityIronChestRenderer;
import cpw.mods.ironchest.client.renderer.shulker.TileEntityIronShulkerBoxRenderer;
import cpw.mods.ironchest.common.CommonProxy;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ClientProxy extends CommonProxy
{
@Override
public void preInit()
{
for (IronChestType type : IronChestType.values())
{
if (type.clazz != null)
ClientRegistry.bindTileEntitySpecialRenderer(type.clazz, new TileEntityIronChestRenderer());
}
for (IronShulkerBoxType type : IronShulkerBoxType.values())
{
if (type.clazz != null)
ClientRegistry.bindTileEntitySpecialRenderer(type.clazz, new TileEntityIronShulkerBoxRenderer());
}
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
TileEntity te = world.getTileEntity(new BlockPos(x, y, z));
if (te != null && te instanceof TileEntityIronChest)
{
return GUIChest.GUI.buildGUI(IronChestType.values()[ID], player.inventory, (TileEntityIronChest) te);
}
else if (te != null && te instanceof TileEntityIronShulkerBox)
{
return GUIShulkerChest.GUI.buildGUI(IronShulkerBoxType.values()[ID], player.inventory, (TileEntityIronShulkerBox) te);
}
else
{
return null;
}
}
@Override
public World getClientWorld()
{
return Minecraft.getMinecraft().world;
}
}

View File

@ -1,119 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.client.gui.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import cpw.mods.ironchest.common.gui.chest.ContainerIronChest;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.util.ResourceLocation;
public class GUIChest extends GuiContainer
{
public enum ResourceList
{
//@formatter:off
IRON(new ResourceLocation("ironchest", "textures/gui/iron_container.png")),
COPPER(new ResourceLocation("ironchest", "textures/gui/copper_container.png")),
SILVER(new ResourceLocation("ironchest", "textures/gui/silver_container.png")),
GOLD(new ResourceLocation("ironchest", "textures/gui/gold_container.png")),
DIAMOND(new ResourceLocation("ironchest", "textures/gui/diamond_container.png")),
DIRT(new ResourceLocation("ironchest", "textures/gui/dirt_container.png"));
//@formatter:on
public final ResourceLocation location;
ResourceList(ResourceLocation loc)
{
this.location = loc;
}
}
public enum GUI
{
//@formatter:off
IRON(184, 202, ResourceList.IRON, IronChestType.IRON),
GOLD(184, 256, ResourceList.GOLD, IronChestType.GOLD),
DIAMOND(238, 256, ResourceList.DIAMOND, IronChestType.DIAMOND),
COPPER(184, 184, ResourceList.COPPER, IronChestType.COPPER),
SILVER(184, 238, ResourceList.SILVER, IronChestType.SILVER),
CRYSTAL(238, 256, ResourceList.DIAMOND, IronChestType.CRYSTAL),
OBSIDIAN(238, 256, ResourceList.DIAMOND,IronChestType.OBSIDIAN),
DIRTCHEST9000(184, 184, ResourceList.DIRT, IronChestType.DIRTCHEST9000);
//@formatter:on
private int xSize;
private int ySize;
private ResourceList guiResourceList;
private IronChestType mainType;
GUI(int xSize, int ySize, ResourceList guiResourceList, IronChestType mainType)
{
this.xSize = xSize;
this.ySize = ySize;
this.guiResourceList = guiResourceList;
this.mainType = mainType;
}
protected Container makeContainer(IInventory player, IInventory chest)
{
return new ContainerIronChest(player, chest, this.mainType, this.xSize, this.ySize);
}
public static GUIChest buildGUI(IronChestType type, IInventory playerInventory, TileEntityIronChest chestInventory)
{
return new GUIChest(values()[chestInventory.getType().ordinal()], playerInventory, chestInventory);
}
}
private GUI type;
private GUIChest(GUI type, IInventory player, IInventory chest)
{
super(type.makeContainer(player, chest));
this.type = type;
this.xSize = type.xSize;
this.ySize = type.ySize;
this.allowUserInput = false;
}
/**
* Draws the screen and all the components in it.
*/
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks)
{
this.drawDefaultBackground();
super.drawScreen(mouseX, mouseY, partialTicks);
this.renderHoveredToolTip(mouseX, mouseY);
}
/**
* Draws the background layer of this container (behind the items).
*/
@Override
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.getTextureManager().bindTexture(this.type.guiResourceList.location);
int x = (this.width - this.xSize) / 2;
int y = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
}
}

View File

@ -1,119 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.client.gui.shulker;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import cpw.mods.ironchest.common.gui.shulker.ContainerIronShulkerBox;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.util.ResourceLocation;
public class GUIShulkerChest extends GuiContainer
{
public enum ResourceList
{
//@formatter:off
IRON(new ResourceLocation("ironchest", "textures/gui/iron_container.png")),
COPPER(new ResourceLocation("ironchest", "textures/gui/copper_container.png")),
SILVER(new ResourceLocation("ironchest", "textures/gui/silver_container.png")),
GOLD(new ResourceLocation("ironchest", "textures/gui/gold_container.png")),
DIAMOND(new ResourceLocation("ironchest", "textures/gui/diamond_container.png"));
//@formatter:on
public final ResourceLocation location;
ResourceList(ResourceLocation loc)
{
this.location = loc;
}
}
public enum GUI
{
//@formatter:off
IRON(184, 202, ResourceList.IRON, IronShulkerBoxType.IRON),
GOLD(184, 256, ResourceList.GOLD, IronShulkerBoxType.GOLD),
DIAMOND(238, 256, ResourceList.DIAMOND, IronShulkerBoxType.DIAMOND),
COPPER(184, 184, ResourceList.COPPER, IronShulkerBoxType.COPPER),
SILVER(184, 238, ResourceList.SILVER, IronShulkerBoxType.SILVER),
CRYSTAL(238, 256, ResourceList.DIAMOND, IronShulkerBoxType.CRYSTAL),
OBSIDIAN(238, 256, ResourceList.DIAMOND,IronShulkerBoxType.OBSIDIAN);
//@formatter:on
private int xSize;
private int ySize;
private ResourceList guiResourceList;
private IronShulkerBoxType mainType;
GUI(int xSize, int ySize, ResourceList guiResourceList, IronShulkerBoxType mainType)
{
this.xSize = xSize;
this.ySize = ySize;
this.guiResourceList = guiResourceList;
this.mainType = mainType;
}
protected Container makeContainer(IInventory player, IInventory shulker)
{
return new ContainerIronShulkerBox(player, shulker, this.mainType, this.xSize, this.ySize);
}
public static GUIShulkerChest buildGUI(IronShulkerBoxType type, IInventory playerInventory, TileEntityIronShulkerBox shulkerInventory)
{
return new GUIShulkerChest(values()[shulkerInventory.getType().ordinal()], playerInventory, shulkerInventory);
}
}
private GUI type;
private GUIShulkerChest(GUI type, IInventory player, IInventory shulker)
{
super(type.makeContainer(player, shulker));
this.type = type;
this.xSize = type.xSize;
this.ySize = type.ySize;
this.allowUserInput = false;
}
/**
* Draws the screen and all the components in it.
*/
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks)
{
this.drawDefaultBackground();
super.drawScreen(mouseX, mouseY, partialTicks);
this.renderHoveredToolTip(mouseX, mouseY);
}
/**
* Draws the background layer of this container (behind the items).
*/
@Override
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.getTextureManager().bindTexture(this.type.guiResourceList.location);
int x = (this.width - this.xSize) / 2;
int y = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
}
}

View File

@ -1,247 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.client.renderer.chest;
import java.util.Random;
import com.google.common.primitives.SignedBytes;
import cpw.mods.ironchest.common.blocks.chest.BlockIronChest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import cpw.mods.ironchest.common.core.IronChestBlocks;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelChest;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.entity.RenderEntityItem;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileEntityIronChest>
{
private Random random;
private RenderEntityItem itemRenderer;
private ModelChest model;
//@formatter:off
private static float[][] shifts = {
{ 0.3F, 0.45F, 0.3F },
{ 0.7F, 0.45F, 0.3F },
{ 0.3F, 0.45F, 0.7F },
{ 0.7F, 0.45F, 0.7F },
{ 0.3F, 0.1F, 0.3F },
{ 0.7F, 0.1F, 0.3F },
{ 0.3F, 0.1F, 0.7F },
{ 0.7F, 0.1F, 0.7F },
{ 0.5F, 0.32F, 0.5F } };
//@formatter:on
private static EntityItem customitem = new EntityItem(null);
private static float halfPI = (float) (Math.PI / 2D);
public TileEntityIronChestRenderer()
{
this.model = new ModelChest();
this.random = new Random();
}
@Override
public void render(TileEntityIronChest te, double x, double y, double z, float partialTicks, int destroyStage, float partial)
{
if (te == null || te.isInvalid())
{
return;
}
EnumFacing facing = EnumFacing.SOUTH;
IronChestType type = te.getType();
if (te.hasWorld() && te.getWorld().getBlockState(te.getPos()).getBlock() == IronChestBlocks.ironChestBlock)
{
facing = te.getFacing();
IBlockState state = te.getWorld().getBlockState(te.getPos());
type = state.getValue(BlockIronChest.VARIANT_PROP);
}
if (destroyStage >= 0)
{
this.bindTexture(DESTROY_STAGES[destroyStage]);
GlStateManager.matrixMode(5890);
GlStateManager.pushMatrix();
GlStateManager.scale(4F, 4F, 1F);
GlStateManager.translate(0.0625F, 0.0625F, 0.0625F);
GlStateManager.matrixMode(5888);
}
else
{
this.bindTexture(type.modelTexture);
}
GlStateManager.pushMatrix();
if (type == IronChestType.CRYSTAL)
{
GlStateManager.disableCull();
}
GlStateManager.color(1F, 1F, 1F, 1F);
GlStateManager.translate((float) x, (float) y + 1F, (float) z + 1F);
GlStateManager.scale(1F, -1F, -1F);
GlStateManager.translate(0.5F, 0.5F, 0.5F);
switch (facing)
{
case NORTH:
{
GlStateManager.rotate(180F, 0F, 1F, 0F);
break;
}
case SOUTH:
{
GlStateManager.rotate(0F, 0F, 1F, 0F);
break;
}
case WEST:
{
GlStateManager.rotate(90F, 0F, 1F, 0F);
break;
}
case EAST:
{
GlStateManager.rotate(270F, 0F, 1F, 0F);
break;
}
default:
{
GlStateManager.rotate(0F, 0F, 1F, 0F);
break;
}
}
GlStateManager.translate(-0.5F, -0.5F, -0.5F);
float lidangle = te.prevLidAngle + (te.lidAngle - te.prevLidAngle) * partialTicks;
lidangle = 1F - lidangle;
lidangle = 1F - lidangle * lidangle * lidangle;
if (type.isTransparent())
{
GlStateManager.scale(1F, 0.99F, 1F);
}
this.model.chestLid.rotateAngleX = -lidangle * halfPI;
// Render the chest itself
this.model.renderAll();
if (destroyStage >= 0)
{
GlStateManager.matrixMode(5890);
GlStateManager.popMatrix();
GlStateManager.matrixMode(5888);
}
if (type == IronChestType.CRYSTAL)
{
GlStateManager.enableCull();
}
GlStateManager.popMatrix();
GlStateManager.color(1F, 1F, 1F, 1F);
if (type.isTransparent() && te.getDistanceSq(this.rendererDispatcher.entityX, this.rendererDispatcher.entityY, this.rendererDispatcher.entityZ) < 128d)
{
this.random.setSeed(254L);
float shiftX;
float shiftY;
float shiftZ;
int shift = 0;
float blockScale = 0.70F;
float timeD = (float) (360D * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL) - partialTicks;
if (te.getTopItems().get(1).isEmpty())
{
shift = 8;
blockScale = 0.85F;
}
GlStateManager.pushMatrix();
GlStateManager.translate((float) x, (float) y, (float) z);
customitem.setWorld(this.getWorld());
customitem.hoverStart = 0F;
for (ItemStack item : te.getTopItems())
{
if (shift > shifts.length || shift > 8)
{
break;
}
if (item.isEmpty())
{
shift++;
continue;
}
shiftX = shifts[shift][0];
shiftY = shifts[shift][1];
shiftZ = shifts[shift][2];
shift++;
GlStateManager.pushMatrix();
GlStateManager.translate(shiftX, shiftY, shiftZ);
GlStateManager.rotate(timeD, 0F, 1F, 0F);
GlStateManager.scale(blockScale, blockScale, blockScale);
customitem.setItem(item);
if (this.itemRenderer == null)
{
this.itemRenderer = new RenderEntityItem(Minecraft.getMinecraft().getRenderManager(), Minecraft.getMinecraft().getRenderItem())
{
@Override
public int getModelCount(ItemStack stack)
{
return SignedBytes.saturatedCast(Math.min(stack.getCount() / 32, 15) + 1);
}
@Override
public boolean shouldBob()
{
return false;
}
@Override
public boolean shouldSpreadItems()
{
return true;
}
};
}
this.itemRenderer.doRender(customitem, 0D, 0D, 0D, 0F, partialTicks);
GlStateManager.popMatrix();
}
GlStateManager.popMatrix();
}
}
}

View File

@ -1,239 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.client.renderer.shulker;
import java.util.Random;
import com.google.common.primitives.SignedBytes;
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelShulker;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.entity.RenderEntityItem;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ResourceLocation;
public class TileEntityIronShulkerBoxRenderer extends TileEntitySpecialRenderer<TileEntityIronShulkerBox>
{
private Random random;
private RenderEntityItem itemRenderer;
private final ModelShulker model;
//@formatter:off
private static float[][] shifts = { { 0.3F, 0.45F, 0.3F }, { 0.7F, 0.45F, 0.3F }, { 0.3F, 0.45F, 0.7F }, { 0.7F, 0.45F, 0.7F }, { 0.3F, 0.1F, 0.3F }, { 0.7F, 0.1F, 0.3F }, { 0.3F, 0.1F, 0.7F }, { 0.7F, 0.1F, 0.7F }, { 0.5F, 0.32F, 0.5F } };
//@formatter:on
private static EntityItem customitem = new EntityItem(null);
public TileEntityIronShulkerBoxRenderer()
{
this.model = new ModelShulker();
this.random = new Random();
}
@Override
public void render(TileEntityIronShulkerBox te, double x, double y, double z, float partialTicks, int destroyStage, float partial)
{
if (te == null || te.isInvalid())
{
return;
}
EnumFacing facing = EnumFacing.UP;
IronShulkerBoxType type = te.getType();
if (te.hasWorld())
{
IBlockState iblockstate = this.getWorld().getBlockState(te.getPos());
if (iblockstate.getBlock() instanceof BlockIronShulkerBox)
{
facing = te.getFacing();
type = iblockstate.getValue(BlockIronShulkerBox.VARIANT_PROP);
}
}
GlStateManager.enableDepth();
GlStateManager.depthFunc(515);
GlStateManager.depthMask(true);
GlStateManager.disableCull();
if (destroyStage >= 0)
{
this.bindTexture(DESTROY_STAGES[destroyStage]);
GlStateManager.matrixMode(5890);
GlStateManager.pushMatrix();
GlStateManager.scale(4.0F, 4.0F, 1.0F);
GlStateManager.translate(0.0625F, 0.0625F, 0.0625F);
GlStateManager.matrixMode(5888);
}
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);
}
GlStateManager.pushMatrix();
GlStateManager.enableRescaleNormal();
if (destroyStage < 0)
{
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
}
GlStateManager.translate((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
GlStateManager.scale(1.0F, -1.0F, -1.0F);
GlStateManager.translate(0.0F, 1.0F, 0.0F);
GlStateManager.scale(0.9995F, 0.9995F, 0.9995F);
GlStateManager.translate(0.0F, -1.0F, 0.0F);
switch (facing)
{
case DOWN:
GlStateManager.translate(0.0F, 2.0F, 0.0F);
GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F);
case UP:
default:
break;
case NORTH:
GlStateManager.translate(0.0F, 1.0F, 1.0F);
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F);
break;
case SOUTH:
GlStateManager.translate(0.0F, 1.0F, -1.0F);
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
break;
case WEST:
GlStateManager.translate(-1.0F, 1.0F, 0.0F);
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(-90.0F, 0.0F, 0.0F, 1.0F);
break;
case EAST:
GlStateManager.translate(1.0F, 1.0F, 0.0F);
GlStateManager.rotate(90.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(90.0F, 0.0F, 0.0F, 1.0F);
}
this.model.base.render(0.0625F);
GlStateManager.translate(0.0F, -te.getProgress(partialTicks) * 0.5F, 0.0F);
GlStateManager.rotate(270.0F * te.getProgress(partialTicks), 0.0F, 1.0F, 0.0F);
this.model.lid.render(0.0625F);
GlStateManager.enableCull();
GlStateManager.disableRescaleNormal();
GlStateManager.popMatrix();
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
if (destroyStage >= 0)
{
GlStateManager.matrixMode(5890);
GlStateManager.popMatrix();
GlStateManager.matrixMode(5888);
}
if (type == IronShulkerBoxType.CRYSTAL)
{
GlStateManager.enableCull();
}
if (type.isTransparent() && te.getDistanceSq(this.rendererDispatcher.entityX, this.rendererDispatcher.entityY, this.rendererDispatcher.entityZ) < 128d)
{
this.random.setSeed(254L);
float shiftX;
float shiftY;
float shiftZ;
int shift = 0;
float blockScale = 0.70F;
float timeD = (float) (360D * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL) - partialTicks;
if (te.getTopItems().get(1).isEmpty())
{
shift = 8;
blockScale = 0.85F;
}
GlStateManager.pushMatrix();
GlStateManager.translate((float) x, (float) y, (float) z);
customitem.setWorld(this.getWorld());
customitem.hoverStart = 0F;
for (ItemStack item : te.getTopItems())
{
if (shift > shifts.length || shift > 8)
{
break;
}
if (item.isEmpty())
{
shift++;
continue;
}
shiftX = shifts[shift][0];
shiftY = shifts[shift][1];
shiftZ = shifts[shift][2];
shift++;
GlStateManager.pushMatrix();
GlStateManager.translate(shiftX, shiftY, shiftZ);
GlStateManager.rotate(timeD, 0F, 1F, 0F);
GlStateManager.scale(blockScale, blockScale, blockScale);
customitem.setItem(item);
if (this.itemRenderer == null)
{
this.itemRenderer = new RenderEntityItem(Minecraft.getMinecraft().getRenderManager(), Minecraft.getMinecraft().getRenderItem())
{
@Override
public int getModelCount(ItemStack stack)
{
return SignedBytes.saturatedCast(Math.min(stack.getCount() / 32, 15) + 1);
}
@Override
public boolean shouldBob()
{
return false;
}
@Override
public boolean shouldSpreadItems()
{
return true;
}
};
}
this.itemRenderer.doRender(customitem, 0D, 0D, 0D, 0F, partialTicks);
GlStateManager.popMatrix();
}
GlStateManager.popMatrix();
}
}
}

View File

@ -1,63 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common;
import cpw.mods.ironchest.common.gui.chest.ContainerIronChest;
import cpw.mods.ironchest.common.gui.shulker.ContainerIronShulkerBox;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.network.IGuiHandler;
public class CommonProxy implements IGuiHandler
{
public void preInit()
{
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
return null;
}
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
TileEntity te = world.getTileEntity(new BlockPos(x, y, z));
if (te != null && te instanceof TileEntityIronChest)
{
TileEntityIronChest icte = (TileEntityIronChest) te;
return new ContainerIronChest(player.inventory, icte, icte.getType(), 0, 0);
}
else if (te != null && te instanceof TileEntityIronShulkerBox)
{
TileEntityIronShulkerBox icte = (TileEntityIronShulkerBox) te;
return new ContainerIronShulkerBox(player.inventory, icte, icte.getType(), 0, 0);
}
else
{
return null;
}
}
public World getClientWorld()
{
return null;
}
}

View File

@ -1,58 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.ai;
import cpw.mods.ironchest.common.core.IronChestBlocks;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.ai.EntityAIOcelotSit;
import net.minecraft.entity.passive.EntityOcelot;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class IronChestAIOcelotSit extends EntityAIOcelotSit
{
public IronChestAIOcelotSit(EntityOcelot ocelotIn, float speedIn)
{
super(ocelotIn, speedIn);
}
/**
* Return true to set given position as destination
*/
@Override
protected boolean shouldMoveTo(World worldIn, BlockPos pos)
{
if (!worldIn.isAirBlock(pos.up()))
{
return false;
}
else
{
IBlockState iblockstate = worldIn.getBlockState(pos);
Block block = iblockstate.getBlock();
if (block == IronChestBlocks.ironChestBlock)
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileEntityIronChest && ((TileEntityIronChest) tileentity).numPlayersUsing < 1)
{
return true;
}
}
return super.shouldMoveTo(worldIn, pos);
}
}
}

View File

@ -1,285 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
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;
import cpw.mods.ironchest.common.util.BlockNames;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.Explosion;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.ILockableContainer;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class BlockIronChest extends Block
{
public static final PropertyEnum<IronChestType> VARIANT_PROP = PropertyEnum.create("variant", IronChestType.class);
protected static final AxisAlignedBB IRON_CHEST_AABB = new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.875D, 0.9375D);
public BlockIronChest()
{
super(Material.IRON);
this.setRegistryName(new ResourceLocation(BlockNames.IRON_CHEST));
this.setDefaultState(this.blockState.getBaseState().withProperty(VARIANT_PROP, IronChestType.IRON));
this.setHardness(3.0F);
this.setUnlocalizedName("IronChest");
this.setCreativeTab(IronChestCreativeTabs.tabIronChests);
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos)
{
return IRON_CHEST_AABB;
}
@Override
public boolean isOpaqueCube(IBlockState state)
{
return false;
}
@Override
public boolean isFullCube(IBlockState state)
{
return false;
}
@Override
public EnumBlockRenderType getRenderType(IBlockState state)
{
return EnumBlockRenderType.ENTITYBLOCK_ANIMATED;
}
@Nullable
public ILockableContainer getLockableContainer(World worldIn, BlockPos pos)
{
return this.getContainer(worldIn, pos, false);
}
@Nullable
public ILockableContainer getContainer(World worldIn, BlockPos pos, boolean allowBlocking)
{
return null;
}
@Override
//@formatter:off
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing heldItem, float side, float hitX, float hitY)
//@formatter:on
{
TileEntity te = worldIn.getTileEntity(pos);
if (te == null || !(te instanceof TileEntityIronChest))
{
return true;
}
if (worldIn.isSideSolid(pos.add(0, 1, 0), EnumFacing.DOWN))
{
return true;
}
if (worldIn.isRemote)
{
return true;
}
playerIn.openGui(IronChest.instance, ((TileEntityIronChest) te).getType().ordinal(), worldIn, pos.getX(), pos.getY(), pos.getZ());
return true;
}
@Override
public boolean hasTileEntity(IBlockState state)
{
return true;
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return state.getValue(VARIANT_PROP).makeEntity();
}
@Override
@SideOnly(Side.CLIENT)
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list)
{
for (IronChestType type : IronChestType.VALUES)
{
if (type.isValidForCreativeMode())
{
list.add(new ItemStack(this, 1, type.ordinal()));
}
}
}
@Override
public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(VARIANT_PROP, IronChestType.VALUES[meta]);
}
@Override
public int getMetaFromState(IBlockState blockState)
{
return blockState.getValue(VARIANT_PROP).ordinal();
}
@Override
protected BlockStateContainer createBlockState()
{
return new BlockStateContainer(this, VARIANT_PROP);
}
@Override
public void onBlockAdded(World world, BlockPos pos, IBlockState state)
{
super.onBlockAdded(world, pos, state);
world.notifyBlockUpdate(pos, state, state, 3);
}
@Override
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
{
TileEntity te = worldIn.getTileEntity(pos);
if (te != null && te instanceof TileEntityIronChest)
{
TileEntityIronChest teic = (TileEntityIronChest) te;
teic.wasPlaced(placer, stack);
teic.setFacing(placer.getHorizontalFacing().getOpposite());
worldIn.notifyBlockUpdate(pos, state, state, 3);
}
}
@Override
public int damageDropped(IBlockState state)
{
return state.getValue(VARIANT_PROP).ordinal();
}
@Override
public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
{
TileEntityIronChest tileentity = (TileEntityIronChest) worldIn.getTileEntity(pos);
if (tileentity != null)
{
tileentity.removeAdornments();
InventoryHelper.dropInventoryItems(worldIn, pos, tileentity);
}
super.breakBlock(worldIn, pos, state);
}
@Override
public float getExplosionResistance(World world, BlockPos pos, Entity exploder, Explosion explosion)
{
TileEntity te = world.getTileEntity(pos);
if (te instanceof TileEntityIronChest)
{
TileEntityIronChest teic = (TileEntityIronChest) te;
if (teic.getType().isExplosionResistant())
{
return 10000F;
}
}
return super.getExplosionResistance(world, pos, exploder, explosion);
}
@Override
public boolean hasComparatorInputOverride(IBlockState state)
{
return true;
}
@Override
public int getComparatorInputOverride(IBlockState blockState, World worldIn, BlockPos pos)
{
return Container.calcRedstone(worldIn.getTileEntity(pos));
}
private static final EnumFacing[] validRotationAxes = new EnumFacing[] { EnumFacing.UP, EnumFacing.DOWN };
@Override
public EnumFacing[] getValidRotations(World worldObj, BlockPos pos)
{
return validRotationAxes;
}
@Override
public boolean rotateBlock(World worldObj, BlockPos pos, EnumFacing axis)
{
if (worldObj.isRemote)
{
return false;
}
if (axis == EnumFacing.UP || axis == EnumFacing.DOWN)
{
TileEntity tileEntity = worldObj.getTileEntity(pos);
if (tileEntity instanceof TileEntityIronChest)
{
TileEntityIronChest icte = (TileEntityIronChest) tileEntity;
icte.rotateAround();
}
return true;
}
return false;
}
@Override
@Deprecated
public boolean eventReceived(IBlockState state, World worldIn, BlockPos pos, int id, int param)
{
super.eventReceived(state, worldIn, pos, id, param);
TileEntity tileentity = worldIn.getTileEntity(pos);
return tileentity != null && tileentity.receiveClientEvent(id, param);
}
}

View File

@ -1,185 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.blocks.chest;
import cpw.mods.ironchest.common.gui.chest.slot.ValidatingChestSlot;
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 net.minecraft.init.Blocks;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagByte;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.ResourceLocation;
public enum IronChestType implements IStringSerializable
{
//@formatter:off
IRON(54, 9, true, "iron_chest.png", TileEntityIronChest.class, 184, 202),
GOLD(81, 9, true, "gold_chest.png", TileEntityGoldChest.class, 184, 256),
DIAMOND(108, 12, true, "diamond_chest.png", TileEntityDiamondChest.class, 184, 256),
COPPER(45, 9, false, "copper_chest.png", TileEntityCopperChest.class, 184, 184),
SILVER(72, 9, false, "silver_chest.png", TileEntitySilverChest.class, 184, 238),
CRYSTAL(108, 12, true, "crystal_chest.png", TileEntityCrystalChest.class, 238, 256),
OBSIDIAN(108, 12, false, "obsidian_chest.png", TileEntityObsidianChest.class, 238, 256),
DIRTCHEST9000(1, 1, false, "dirt_chest.png", TileEntityDirtChest.class, 184, 184),
WOOD(0, 0, false, "", null, 0, 0);
//@formatter:on
public static final IronChestType VALUES[] = values();
public final String name;
public final int size;
public final int rowLength;
public final boolean tieredChest;
public final ResourceLocation modelTexture;
private String breakTexture;
public final Class<? extends TileEntityIronChest> clazz;
public final int xSize;
public final int ySize;
//@formatter:off
IronChestType(int size, int rowLength, boolean tieredChest, String modelTexture, Class<? extends TileEntityIronChest> clazz, int xSize, int ySize)
//@formatter:on
{
this.name = this.name().toLowerCase();
this.size = size;
this.rowLength = rowLength;
this.tieredChest = tieredChest;
this.modelTexture = new ResourceLocation("ironchest", "textures/model/chest/" + modelTexture);
this.clazz = clazz;
this.xSize = xSize;
this.ySize = ySize;
}
public String getBreakTexture()
{
if (this.breakTexture == null)
{
switch (this)
{
case DIRTCHEST9000:
{
this.breakTexture = "minecraft:blocks/dirt";
break;
}
case OBSIDIAN:
{
this.breakTexture = "minecraft:blocks/obsidian";
break;
}
case WOOD:
{
this.breakTexture = "minecraft:blocks/planks_oak";
break;
}
default:
{
this.breakTexture = "ironchest:blocks/" + this.getName() + "break";
}
}
}
return this.breakTexture;
}
@Override
public String getName()
{
return this.name;
}
public int getRowCount()
{
return this.size / this.rowLength;
}
public boolean isTransparent()
{
return this == CRYSTAL;
}
public boolean isValidForCreativeMode()
{
return this != WOOD;
}
public boolean isExplosionResistant()
{
return this == OBSIDIAN;
}
public Slot makeSlot(IInventory chestInventory, int index, int x, int y)
{
return new ValidatingChestSlot(chestInventory, index, x, y, this);
}
private static final Item DIRT_ITEM = Item.getItemFromBlock(Blocks.DIRT);
public boolean acceptsStack(ItemStack itemstack)
{
if (this == DIRTCHEST9000)
{
return itemstack.isEmpty() || itemstack.getItem() == DIRT_ITEM;
}
return true;
}
public void adornItemDrop(ItemStack item)
{
if (this == DIRTCHEST9000)
{
item.setTagInfo("dirtchest", new NBTTagByte((byte) 1));
}
}
public TileEntityIronChest makeEntity()
{
switch (this)
{
case IRON:
return new TileEntityIronChest();
case GOLD:
return new TileEntityGoldChest();
case DIAMOND:
return new TileEntityDiamondChest();
case COPPER:
return new TileEntityCopperChest();
case SILVER:
return new TileEntitySilverChest();
case CRYSTAL:
return new TileEntityCrystalChest();
case OBSIDIAN:
return new TileEntityObsidianChest();
case DIRTCHEST9000:
return new TileEntityDirtChest();
default:
return null;
}
}
}

View File

@ -1,559 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.blocks.shulker;
import java.util.List;
import javax.annotation.Nullable;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.common.core.IronChestBlocks;
import cpw.mods.ironchest.common.core.IronChestCreativeTabs;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
import net.minecraft.block.Block;
import net.minecraft.block.material.EnumPushReaction;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.translation.I18n;
import net.minecraft.world.Explosion;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SuppressWarnings("deprecation")
public class BlockIronShulkerBox extends Block
{
public static final PropertyEnum<IronShulkerBoxType> VARIANT_PROP = PropertyEnum.create("variant", IronShulkerBoxType.class);
private final EnumDyeColor color;
private EnumFacing facingDirection;
public BlockIronShulkerBox(EnumDyeColor colorIn, String nameIn)
{
super(Material.IRON);
this.color = colorIn;
this.setRegistryName(nameIn);
this.setUnlocalizedName("IronShulkerBox" + colorIn.getName());
this.setDefaultState(this.blockState.getBaseState().withProperty(VARIANT_PROP, IronShulkerBoxType.IRON));
this.setHardness(3.0F);
this.setCreativeTab(IronChestCreativeTabs.tabIronChests);
}
/**
* Used to determine ambient occlusion and culling when rebuilding chunks for render
*/
@Override
public boolean isOpaqueCube(IBlockState state)
{
return false;
}
@Override
public boolean causesSuffocation(IBlockState state)
{
return true;
}
@Override
public boolean isFullCube(IBlockState state)
{
return false;
}
@Override
@SideOnly(Side.CLIENT)
public boolean hasCustomBreakingProgress(IBlockState state)
{
return true;
}
/**
* The type of render function called. MODEL for mixed tesr and static model, MODELBLOCK_ANIMATED for TESR-only, LIQUID for vanilla liquids, INVISIBLE to skip all rendering
*/
@Override
public EnumBlockRenderType getRenderType(IBlockState state)
{
return EnumBlockRenderType.ENTITYBLOCK_ANIMATED;
}
@Override
//@formatter:off
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing heldItem, float side, float hitX, float hitY)
//@formatter:on
{
if (worldIn.isRemote)
{
return true;
}
else if (playerIn.isSpectator())
{
return true;
}
else
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileEntityIronShulkerBox)
{
EnumFacing enumfacing = ((TileEntityIronShulkerBox) tileentity).getFacing();
boolean flag;
if (((TileEntityIronShulkerBox) tileentity).getAnimationStatus() == TileEntityIronShulkerBox.AnimationStatus.CLOSED)
{
//@formatter:off
AxisAlignedBB axisalignedbb = FULL_BLOCK_AABB.expand(0.5F * enumfacing.getFrontOffsetX(), 0.5F * enumfacing.getFrontOffsetY(), 0.5F * enumfacing.getFrontOffsetZ()).contract(enumfacing.getFrontOffsetX(), enumfacing.getFrontOffsetY(), enumfacing.getFrontOffsetZ());
//@formatter:on
flag = !worldIn.collidesWithAnyBlock(axisalignedbb.offset(pos.offset(enumfacing)));
}
else
{
flag = true;
}
if (flag)
{
//@formatter:off
playerIn.openGui(IronChest.instance, ((TileEntityIronShulkerBox) tileentity).getType().ordinal(), worldIn, pos.getX(), pos.getY(), pos.getZ());
//@formatter:on
}
return true;
}
else
{
return false;
}
}
}
@Override
public boolean hasTileEntity(IBlockState state)
{
return true;
}
@Override
public TileEntity createTileEntity(World world, IBlockState state)
{
return state.getValue(VARIANT_PROP).makeEntity(this.color);
}
@Override
@SideOnly(Side.CLIENT)
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list)
{
for (IronShulkerBoxType type : IronShulkerBoxType.VALUES)
{
if (type.isValidForCreativeMode())
{
list.add(new ItemStack(this, 1, type.ordinal()));
}
}
}
@Override
public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(VARIANT_PROP, IronShulkerBoxType.VALUES[meta]);
}
@Override
public int getMetaFromState(IBlockState blockState)
{
return blockState.getValue(VARIANT_PROP).ordinal();
}
@Override
protected BlockStateContainer createBlockState()
{
return new BlockStateContainer(this, VARIANT_PROP);
}
@Override
//@formatter:off
public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer)
//@formatter:on
{
this.facingDirection = facing;
return super.getStateForPlacement(worldIn, pos, facing, hitX, hitY, hitZ, meta, placer);
}
@Override
public void onBlockAdded(World world, BlockPos pos, IBlockState state)
{
super.onBlockAdded(world, pos, state);
world.notifyBlockUpdate(pos, state, state, 3);
}
/**
* Called by ItemBlocks after a block is set in the world, to allow post-place logic
*/
@Override
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
{
if (stack.hasDisplayName())
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileEntityIronShulkerBox)
{
((TileEntityIronShulkerBox) tileentity).setCustomName(stack.getDisplayName());
((TileEntityIronShulkerBox) tileentity).setFacing(facingDirection);
worldIn.notifyBlockUpdate(pos, state, state, 3);
}
}
else
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileEntityIronShulkerBox)
{
TileEntityIronShulkerBox teic = (TileEntityIronShulkerBox) tileentity;
teic.setFacing(facingDirection);
worldIn.notifyBlockUpdate(pos, state, state, 3);
}
}
}
@Override
public int damageDropped(IBlockState state)
{
return state.getValue(VARIANT_PROP).ordinal();
}
/**
* Called when a player removes a block. This is responsible for
* actually destroying the block, and the block is intact at time of call.
* This is called regardless of whether the player can harvest the block or
* not.
*
* Return true if the block is actually destroyed.
*
* Note: When used in multiplayer, this is called on both client and
* server sides!
*
* @param state The current state.
* @param world The current world
* @param player The player damaging the block, may be null
* @param pos Block position in world
* @param willHarvest True if Block.harvestBlock will be called after this, if the return in true.
* Can be useful to delay the destruction of tile entities till after harvestBlock
* @return True if the block is actually destroyed.
*/
@Override
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest)
{
return willHarvest || super.removedByPlayer(state, world, pos, player, false);
}
/**
* Spawns the block's drops in the world. By the time this is called the Block has possibly been set to air via
* Block.removedByPlayer
*/
@Override
public void harvestBlock(World worldIn, EntityPlayer player, BlockPos pos, IBlockState state, @Nullable TileEntity te, ItemStack stack)
{
super.harvestBlock(worldIn, player, pos, state, te, stack);
worldIn.setBlockToAir(pos);
}
@Override
public void onBlockHarvested(World worldIn, BlockPos pos, IBlockState state, EntityPlayer player)
{
TileEntityIronShulkerBox tileentityironshulkerbox = (TileEntityIronShulkerBox) worldIn.getTileEntity(pos);
tileentityironshulkerbox.setDestroyedByCreativePlayer(player.capabilities.isCreativeMode);
tileentityironshulkerbox.fillWithLoot(player);
}
/**
* This gets a complete list of items dropped from this block.
*
* @param drops add all items this block drops to this drops list
* @param world The current world
* @param pos Block position in world
* @param state Current state
* @param fortune Breakers fortune level
*/
@Override
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
{
TileEntity tileentity = world.getTileEntity(pos);
if (tileentity instanceof TileEntityIronShulkerBox)
{
ItemStack itemstack = ((TileEntityIronShulkerBox) tileentity).getDrop(state, false);
if (!itemstack.isEmpty())
{
drops.add(itemstack);
}
}
}
/**
* Called serverside after this block is replaced with another in Chunk, but before the Tile Entity is updated
*/
@Override
public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileEntityIronShulkerBox)
{
ItemStack itemstack = ((TileEntityIronShulkerBox) tileentity).getDrop(state, true);
if (!itemstack.isEmpty())
{
spawnAsEntity(worldIn, pos, itemstack);
}
worldIn.updateComparatorOutputLevel(pos, state.getBlock());
}
super.breakBlock(worldIn, pos, state);
}
@Override
public float getExplosionResistance(World world, BlockPos pos, Entity exploder, Explosion explosion)
{
TileEntity te = world.getTileEntity(pos);
if (te instanceof TileEntityIronShulkerBox)
{
TileEntityIronShulkerBox teic = (TileEntityIronShulkerBox) te;
if (teic.getType().isExplosionResistant())
{
return 10000F;
}
}
return super.getExplosionResistance(world, pos, exploder, explosion);
}
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag advanced)
{
super.addInformation(stack, worldIn, tooltip, advanced);
NBTTagCompound nbttagcompound = stack.getTagCompound();
if (nbttagcompound != null && nbttagcompound.hasKey("BlockEntityTag", 10))
{
NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("BlockEntityTag");
if (nbttagcompound1.hasKey("LootTable", 8))
{
tooltip.add("???????");
}
if (nbttagcompound1.hasKey("Items", 9))
{
if (nbttagcompound1.hasKey("ShulkerBoxSize", 3))
{
NonNullList<ItemStack> nonnulllist = NonNullList.<ItemStack> withSize(nbttagcompound1.getInteger("ShulkerBoxSize"), ItemStack.EMPTY);
ItemStackHelper.loadAllItems(nbttagcompound1, nonnulllist);
int i = 0;
int j = 0;
for (ItemStack itemstack : nonnulllist)
{
if (!itemstack.isEmpty())
{
++j;
if (i <= 4)
{
++i;
tooltip.add(String.format("%s x%d", new Object[] { itemstack.getDisplayName(), Integer.valueOf(itemstack.getCount()) }));
}
}
}
if (j - i > 0)
{
//@formatter:off
tooltip.add(String.format(TextFormatting.ITALIC + I18n.translateToLocal("container.shulkerBox.more"), new Object[] { Integer.valueOf(j - i) }));
//@formatter:on
}
}
else
{
NonNullList<ItemStack> nonnulllist = NonNullList.<ItemStack> withSize(27, ItemStack.EMPTY);
ItemStackHelper.loadAllItems(nbttagcompound1, nonnulllist);
int i = 0;
int j = 0;
for (ItemStack itemstack : nonnulllist)
{
if (!itemstack.isEmpty())
{
++j;
if (i <= 4)
{
++i;
tooltip.add(String.format("%s x%d", new Object[] { itemstack.getDisplayName(), Integer.valueOf(itemstack.getCount()) }));
}
}
}
if (j - i > 0)
{
//@formatter:off
tooltip.add(String.format(TextFormatting.ITALIC + I18n.translateToLocal("container.shulkerBox.more"), new Object[] { Integer.valueOf(j - i) }));
//@formatter:on
}
}
}
}
}
@Override
public EnumPushReaction getMobilityFlag(IBlockState state)
{
return EnumPushReaction.DESTROY;
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos)
{
TileEntity tileentity = source.getTileEntity(pos);
return tileentity instanceof TileEntityIronShulkerBox ? ((TileEntityIronShulkerBox) tileentity).getBoundingBox() : FULL_BLOCK_AABB;
}
@Override
public boolean hasComparatorInputOverride(IBlockState state)
{
return true;
}
@Override
public int getComparatorInputOverride(IBlockState blockState, World worldIn, BlockPos pos)
{
return Container.calcRedstoneFromInventory((IInventory) worldIn.getTileEntity(pos));
}
@Override
public ItemStack getItem(World worldIn, BlockPos pos, IBlockState state)
{
ItemStack itemstack = super.getItem(worldIn, pos, state);
TileEntityIronShulkerBox tileentityironshulkerbox = (TileEntityIronShulkerBox) worldIn.getTileEntity(pos);
NBTTagCompound nbttagcompound = tileentityironshulkerbox.saveToNbt(new NBTTagCompound());
if (!nbttagcompound.hasNoTags())
{
itemstack.setTagInfo("BlockEntityTag", nbttagcompound);
}
return itemstack;
}
public static Block getBlockByColor(EnumDyeColor colorIn)
{
switch (colorIn)
{
case WHITE:
return IronChestBlocks.ironShulkerBoxWhiteBlock;
case ORANGE:
return IronChestBlocks.ironShulkerBoxOrangeBlock;
case MAGENTA:
return IronChestBlocks.ironShulkerBoxMagentaBlock;
case LIGHT_BLUE:
return IronChestBlocks.ironShulkerBoxLightBlueBlock;
case YELLOW:
return IronChestBlocks.ironShulkerBoxYellowBlock;
case LIME:
return IronChestBlocks.ironShulkerBoxLimeBlock;
case PINK:
return IronChestBlocks.ironShulkerBoxPinkBlock;
case GRAY:
return IronChestBlocks.ironShulkerBoxGrayBlock;
case SILVER:
return IronChestBlocks.ironShulkerBoxSilverBlock;
case CYAN:
return IronChestBlocks.ironShulkerBoxCyanBlock;
case PURPLE:
default:
return IronChestBlocks.ironShulkerBoxPurpleBlock;
case BLUE:
return IronChestBlocks.ironShulkerBoxBlueBlock;
case BROWN:
return IronChestBlocks.ironShulkerBoxBrownBlock;
case GREEN:
return IronChestBlocks.ironShulkerBoxGreenBlock;
case RED:
return IronChestBlocks.ironShulkerBoxRedBlock;
case BLACK:
return IronChestBlocks.ironShulkerBoxBlackBlock;
}
}
public static ItemStack getColoredItemStack(EnumDyeColor colorIn, int damageIn)
{
return new ItemStack(getBlockByColor(colorIn), 1, damageIn);
}
@SideOnly(Side.CLIENT)
public static EnumDyeColor getColorFromBlock(Block blockIn)
{
return blockIn instanceof BlockIronShulkerBox ? ((BlockIronShulkerBox) blockIn).getColor() : EnumDyeColor.PURPLE;
}
@SideOnly(Side.CLIENT)
public EnumDyeColor getColor()
{
return this.color;
}
@Override
@Deprecated
public boolean eventReceived(IBlockState state, World worldIn, BlockPos pos, int id, int param)
{
super.eventReceived(state, worldIn, pos, id, param);
TileEntity tileentity = worldIn.getTileEntity(pos);
return tileentity != null && tileentity.receiveClientEvent(id, param);
}
}

View File

@ -1,152 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.blocks.shulker;
import cpw.mods.ironchest.common.gui.shulker.slot.ValidatingShulkerBoxSlot;
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 net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.util.IStringSerializable;
public enum IronShulkerBoxType implements IStringSerializable
{
//@formatter:off
IRON(54, 9, true, "_iron.png", TileEntityIronShulkerBox.class, 184, 202),
GOLD(81, 9, true, "_gold.png", TileEntityGoldShulkerBox.class, 184, 256),
DIAMOND(108, 12, true, "_diamond.png", TileEntityDiamondShulkerBox.class, 184, 256),
COPPER(45, 9, false, "_copper.png", TileEntityCopperShulkerBox.class, 184, 184),
SILVER(72, 9, false, "_silver.png", TileEntitySilverShulkerBox.class, 184, 238),
CRYSTAL(108, 12, true, "_crystal.png", TileEntityCrystalShulkerBox.class, 238, 256),
OBSIDIAN(108, 12, false, "_obsidian.png", TileEntityObsidianShulkerBox.class, 238, 256),
VANILLA(0, 0, false, "", null, 0, 0);
//@formatter:on
public static final IronShulkerBoxType VALUES[] = values();
public final String name;
public final int size;
public final int rowLength;
public final boolean tieredShulkerBox;
public final String modelTexture;
public final Class<? extends TileEntityIronShulkerBox> clazz;
public final int xSize;
public final int ySize;
private String breakTexture;
//@formatter:off
IronShulkerBoxType(int size, int rowLength, boolean tieredShulkerBox, String modelTexture, Class<? extends TileEntityIronShulkerBox> clazz, int xSize, int ySize)
//@formatter:on
{
this.name = this.name().toLowerCase();
this.size = size;
this.rowLength = rowLength;
this.tieredShulkerBox = tieredShulkerBox;
this.modelTexture = modelTexture;
this.clazz = clazz;
this.xSize = xSize;
this.ySize = ySize;
}
@Override
public String getName()
{
return this.name;
}
public String getBreakTexture()
{
if (this.breakTexture == null)
{
switch (this)
{
case OBSIDIAN:
{
this.breakTexture = "minecraft:blocks/obsidian";
break;
}
case VANILLA:
{
this.breakTexture = "minecraft:blocks/planks_oak";
break;
}
default:
{
this.breakTexture = "ironchest:blocks/" + this.getName() + "break";
}
}
}
return this.breakTexture;
}
public int getRowCount()
{
return this.size / this.rowLength;
}
public boolean isTransparent()
{
return this == CRYSTAL;
}
public boolean isValidForCreativeMode()
{
return this != VANILLA;
}
public boolean isExplosionResistant()
{
return this == OBSIDIAN;
}
public Slot makeSlot(IInventory chestInventory, int index, int x, int y)
{
return new ValidatingShulkerBoxSlot(chestInventory, index, x, y);
}
public TileEntityIronShulkerBox makeEntity(EnumDyeColor colorIn)
{
switch (this)
{
case IRON:
return new TileEntityIronShulkerBox(colorIn);
case GOLD:
return new TileEntityGoldShulkerBox(colorIn);
case DIAMOND:
return new TileEntityDiamondShulkerBox(colorIn);
case COPPER:
return new TileEntityCopperShulkerBox(colorIn);
case SILVER:
return new TileEntitySilverShulkerBox(colorIn);
case CRYSTAL:
return new TileEntityCrystalShulkerBox(colorIn);
case OBSIDIAN:
return new TileEntityObsidianShulkerBox(colorIn);
default:
return null;
}
}
}

View File

@ -1,53 +0,0 @@
package cpw.mods.ironchest.common.config;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import cpw.mods.ironchest.IronChest;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
public final class Config
{
public static Config instance = new Config();
public static Logger log = LogManager.getLogger(IronChest.MOD_ID + "-" + "Config");
private static final String ENABLE_DISABLE = "ENABLE-DISABLE";
private Config()
{
}
public static void load(FMLPreInitializationEvent event)
{
configFile = new Configuration(event.getSuggestedConfigurationFile(), "0.2", false);
configFile.load();
syncConfig();
}
public static boolean syncConfig()
{
enableShulkerBoxRecipes = configFile.get(ENABLE_DISABLE, "Enable Shulker Box Recipes", enableShulkerBoxRecipes).getBoolean(enableShulkerBoxRecipes);
addShulkerBoxesToCreative = configFile.get(ENABLE_DISABLE, "Add Shulker Boxes to Creative Menu", addShulkerBoxesToCreative).getBoolean(addShulkerBoxesToCreative);
// save changes if any
boolean changed = false;
if (configFile.hasChanged())
{
configFile.save();
changed = true;
}
return changed;
}
//@formatter:off
public static boolean enableShulkerBoxRecipes = true;
public static boolean addShulkerBoxesToCreative = true;
static Configuration configFile;
//@formatter:on
}

View File

@ -1,187 +0,0 @@
package cpw.mods.ironchest.common.core;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.common.blocks.chest.BlockIronChest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import cpw.mods.ironchest.common.items.chest.ItemIronChest;
import cpw.mods.ironchest.common.items.shulker.ItemIronShulkerBox;
import cpw.mods.ironchest.common.lib.BlockLists;
import cpw.mods.ironchest.common.util.BlockNames;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.event.RegistryEvent.Register;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder;
import net.minecraftforge.registries.IForgeRegistry;
public class IronChestBlocks
{
@ObjectHolder(BlockNames.IRON_CHEST)
public static BlockIronChest ironChestBlock;
@ObjectHolder(BlockNames.IRON_CHEST)
public static Item ironChestItemBlock;
//@formatter:off
@ObjectHolder(BlockNames.WHITE_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxWhiteBlock;
@ObjectHolder(BlockNames.ORANGE_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxOrangeBlock;
@ObjectHolder(BlockNames.MAGENTA_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxMagentaBlock;
@ObjectHolder(BlockNames.LIGHT_BLUE_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxLightBlueBlock;
@ObjectHolder(BlockNames.YELLOW_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxYellowBlock;
@ObjectHolder(BlockNames.LIME_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxLimeBlock;
@ObjectHolder(BlockNames.PINK_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxPinkBlock;
@ObjectHolder(BlockNames.GRAY_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxGrayBlock;
@ObjectHolder(BlockNames.SILVER_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxSilverBlock;
@ObjectHolder(BlockNames.CYAN_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxCyanBlock;
@ObjectHolder(BlockNames.PURPLE_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxPurpleBlock;
@ObjectHolder(BlockNames.BLUE_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxBlueBlock;
@ObjectHolder(BlockNames.BROWN_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxBrownBlock;
@ObjectHolder(BlockNames.GREEN_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxGreenBlock;
@ObjectHolder(BlockNames.RED_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxRedBlock;
@ObjectHolder(BlockNames.BLACK_SHULKER)
public static BlockIronShulkerBox ironShulkerBoxBlackBlock;
@ObjectHolder(BlockNames.WHITE_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxWhiteItemBlock;
@ObjectHolder(BlockNames.ORANGE_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxOrangeItemBlock;
@ObjectHolder(BlockNames.MAGENTA_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxMagentaItemBlock;
@ObjectHolder(BlockNames.LIGHT_BLUE_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxLightBlueItemBlock;
@ObjectHolder(BlockNames.YELLOW_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxYellowItemBlock;
@ObjectHolder(BlockNames.LIME_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxLimeItemBlock;
@ObjectHolder(BlockNames.PINK_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxPinkItemBlock;
@ObjectHolder(BlockNames.GRAY_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxGrayItemBlock;
@ObjectHolder(BlockNames.SILVER_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxSilverItemBlock;
@ObjectHolder(BlockNames.CYAN_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxCyanItemBlock;
@ObjectHolder(BlockNames.PURPLE_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxPurpleItemBlock;
@ObjectHolder(BlockNames.BLUE_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxBlueItemBlock;
@ObjectHolder(BlockNames.BROWN_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxBrownItemBlock;
@ObjectHolder(BlockNames.GREEN_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxGreenItemBlock;
@ObjectHolder(BlockNames.RED_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxRedItemBlock;
@ObjectHolder(BlockNames.BLACK_SHULKER)
public static ItemIronShulkerBox ironShulkerBoxBlackItemBlock;
//@formatter:on
@EventBusSubscriber(modid = IronChest.MOD_ID)
public static class Registration
{
@SubscribeEvent
public static void registerBlocks(Register<Block> event)
{
IForgeRegistry<Block> blockRegistry = event.getRegistry();
// Chest Start
blockRegistry.register(new BlockIronChest());
for (IronChestType typ : IronChestType.VALUES)
{
if (typ.clazz != null)
{
GameRegistry.registerTileEntity(typ.clazz, "IronChest." + typ.name());
}
}
// Chest End
// Shulker Start
for (EnumDyeColor color : EnumDyeColor.values())
{
blockRegistry.register(new BlockIronShulkerBox(color, BlockNames.SHULKER_NAMES[color.getMetadata()]));
}
for (IronShulkerBoxType typ : IronShulkerBoxType.VALUES)
{
if (typ.clazz != null)
{
GameRegistry.registerTileEntity(typ.clazz, "IronShulkerBox." + typ.name());
}
}
// Shulker End
}
@SubscribeEvent
public static void registerItems(Register<Item> event)
{
BlockLists.createIronShulkerBlockList();
IForgeRegistry<Item> itemRegistry = event.getRegistry();
// Chest Start
itemRegistry.register(new ItemIronChest(IronChestBlocks.ironChestBlock));
// Chest End
// Shulker Start
for (EnumDyeColor color : EnumDyeColor.values())
{
itemRegistry.register(new ItemIronShulkerBox(BlockLists.SHULKER_BLOCKS.get(color.getMetadata()), color));
}
// Shulker End
}
@SubscribeEvent
public static void registerModels(ModelRegistryEvent event)
{
// Chest Start
Item chestItem = Item.getItemFromBlock(IronChestBlocks.ironChestBlock);
for (IronChestType type : IronChestType.values())
{
if (type != IronChestType.WOOD)
{
ModelLoader.setCustomModelResourceLocation(chestItem, type.ordinal(), new ModelResourceLocation(chestItem.getRegistryName(), "variant=" + type.getName()));
}
}
// Chest End
// Shulker Start
for (Block shulker : BlockLists.SHULKER_BLOCKS)
{
Item shulkerBoxItem = Item.getItemFromBlock(shulker);
for (IronShulkerBoxType type : IronShulkerBoxType.values())
{
if (type != IronShulkerBoxType.VANILLA)
{
ModelLoader.setCustomModelResourceLocation(shulkerBoxItem, type.ordinal(), new ModelResourceLocation(shulkerBoxItem.getRegistryName(), "variant=" + type.getName()));
}
}
}
// Shulker End
}
}
}

View File

@ -1,37 +0,0 @@
package cpw.mods.ironchest.common.core;
import javax.annotation.Nonnull;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import cpw.mods.ironchest.common.util.CreativeTabItems;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public final class IronChestCreativeTabs
{
private IronChestCreativeTabs()
{
}
public static final CreativeTabs tabIronChests = new CreativeTabs("ironchest")
{
@Override
@Nonnull
@SideOnly(Side.CLIENT)
public ItemStack getTabIconItem()
{
return new ItemStack(Item.getItemFromBlock(IronChestBlocks.ironChestBlock), 1, IronChestType.IRON.ordinal());
}
@SideOnly(Side.CLIENT)
@Override
public void displayAllRelevantItems(NonNullList<ItemStack> listIn)
{
CreativeTabItems.getSubItems(listIn);
}
};
}

View File

@ -1,53 +0,0 @@
package cpw.mods.ironchest.common.core;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.common.items.ChestChangerType;
import cpw.mods.ironchest.common.items.ShulkerBoxChangerType;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.event.RegistryEvent.Register;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.registries.IForgeRegistry;
public class IronChestItems
{
@EventBusSubscriber(modid = IronChest.MOD_ID)
public static class Registration
{
@SubscribeEvent
public static void registerItems(Register<Item> event)
{
IForgeRegistry<Item> itemRegistry = event.getRegistry();
// Chest Start
ChestChangerType.buildItems(itemRegistry);
// Chest End
// Shulker Start
ShulkerBoxChangerType.buildItems(itemRegistry);
// Shulker End
}
@SubscribeEvent
public static void registerModels(ModelRegistryEvent event)
{
// Chest Start
for (ChestChangerType type : ChestChangerType.VALUES)
{
ModelLoader.setCustomModelResourceLocation(type.item, 0, new ModelResourceLocation(new ResourceLocation(IronChest.MOD_ID, "iron_chest_upgrades"), "variant=" + type.itemName.toLowerCase()));
}
// Chest End
// Shulker Start
for (ShulkerBoxChangerType type : ShulkerBoxChangerType.VALUES)
{
ModelLoader.setCustomModelResourceLocation(type.item, 0, new ModelResourceLocation(new ResourceLocation(IronChest.MOD_ID, "iron_shulker_box_upgrades"), "variant=" + type.itemName.toLowerCase()));
}
// Shulker End
}
}
}

View File

@ -1,27 +0,0 @@
package cpw.mods.ironchest.common.crafting.condition;
import java.util.function.BooleanSupplier;
import com.google.gson.JsonObject;
import cpw.mods.ironchest.common.config.Config;
import net.minecraft.util.JsonUtils;
import net.minecraftforge.common.crafting.IConditionFactory;
import net.minecraftforge.common.crafting.JsonContext;
public class IsConfigOptionEnabledConditionFactory implements IConditionFactory
{
@Override
public BooleanSupplier parse(JsonContext context, JsonObject json)
{
String configSetting = JsonUtils.getString(json, "config_setting", "");
switch (configSetting)
{
case "enableShulkerBoxRecipes":
return () -> Config.enableShulkerBoxRecipes;
default:
throw new RuntimeException(String.format("Invalid config setting: %s", configSetting));
}
}
}

View File

@ -1,156 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.crafting.recipe;
import com.google.gson.JsonObject;
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
import net.minecraft.block.Block;
import net.minecraft.init.Items;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.util.NonNullList;
import net.minecraft.world.World;
import net.minecraftforge.common.crafting.IRecipeFactory;
import net.minecraftforge.common.crafting.JsonContext;
import net.minecraftforge.registries.IForgeRegistryEntry.Impl;
public class ShulkerBoxColorRecipeFactory implements IRecipeFactory
{
@Override
public IRecipe parse(JsonContext context, JsonObject json)
{
return new ShulkerBoxColorRecipe();
}
public static class ShulkerBoxColorRecipe extends Impl<IRecipe> implements IRecipe
{
public ShulkerBoxColorRecipe()
{
}
/**
* Used to check if a recipe matches current crafting inventory
*/
@Override
public boolean matches(InventoryCrafting inv, World worldIn)
{
int i = 0;
int j = 0;
for (int k = 0; k < inv.getSizeInventory(); ++k)
{
ItemStack itemstack = inv.getStackInSlot(k);
if (!itemstack.isEmpty())
{
if (Block.getBlockFromItem(itemstack.getItem()) instanceof BlockIronShulkerBox)
{
++i;
}
else
{
if (itemstack.getItem() != Items.DYE)
{
return false;
}
++j;
}
if (j > 1 || i > 1)
{
return false;
}
}
}
return i == 1 && j == 1;
}
/**
* Returns an Item that is the result of this recipe
*/
@Override
public ItemStack getCraftingResult(InventoryCrafting inv)
{
ItemStack itemstack = ItemStack.EMPTY;
ItemStack itemstack1 = ItemStack.EMPTY;
for (int i = 0; i < inv.getSizeInventory(); ++i)
{
ItemStack itemstack2 = inv.getStackInSlot(i);
if (!itemstack2.isEmpty())
{
if (Block.getBlockFromItem(itemstack2.getItem()) instanceof BlockIronShulkerBox)
{
itemstack = itemstack2;
}
else if (itemstack2.getItem() == Items.DYE)
{
itemstack1 = itemstack2;
}
}
}
ItemStack itemstack3 = BlockIronShulkerBox.getColoredItemStack(EnumDyeColor.byDyeDamage(itemstack1.getMetadata()), itemstack.getMetadata());
if (itemstack.hasTagCompound())
{
itemstack3.setTagCompound(itemstack.getTagCompound().copy());
}
return itemstack3;
}
@Override
public ItemStack getRecipeOutput()
{
return ItemStack.EMPTY;
}
@Override
public NonNullList<ItemStack> getRemainingItems(InventoryCrafting inv)
{
NonNullList<ItemStack> nonnulllist = NonNullList.<ItemStack> withSize(inv.getSizeInventory(), ItemStack.EMPTY);
for (int i = 0; i < nonnulllist.size(); ++i)
{
ItemStack itemstack = inv.getStackInSlot(i);
if (itemstack.getItem().hasContainerItem(itemstack))
{
nonnulllist.set(i, new ItemStack(itemstack.getItem().getContainerItem()));
}
}
return nonnulllist;
}
@Override
public boolean isDynamic()
{
return true;
}
/**
* Used to determine if this recipe can fit in a grid of the given width/height
*/
@Override
public boolean canFit(int width, int height)
{
return width * height >= 2;
}
}
}

View File

@ -1,83 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.crafting.recipe;
import javax.annotation.Nonnull;
import com.google.gson.JsonObject;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
import net.minecraft.block.Block;
import net.minecraft.block.BlockShulkerBox;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.util.JsonUtils;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.crafting.CraftingHelper.ShapedPrimer;
import net.minecraftforge.common.crafting.IRecipeFactory;
import net.minecraftforge.common.crafting.JsonContext;
import net.minecraftforge.oredict.ShapedOreRecipe;
public class ShulkerBoxRecipeFactory implements IRecipeFactory
{
@Override
public IRecipe parse(JsonContext context, JsonObject json)
{
ShapedOreRecipe recipe = ShapedOreRecipe.factory(context, json);
ShapedPrimer primer = new ShapedPrimer();
primer.width = recipe.getRecipeWidth();
primer.height = recipe.getRecipeHeight();
primer.mirrored = JsonUtils.getBoolean(json, "mirrored", true);
primer.input = recipe.getIngredients();
return new ShulkerBoxRecipe(new ResourceLocation(IronChest.MOD_ID, "shulker_box_crafting"), recipe.getRecipeOutput(), primer);
}
public static class ShulkerBoxRecipe extends ShapedOreRecipe
{
public ShulkerBoxRecipe(ResourceLocation group, ItemStack result, ShapedPrimer primer)
{
super(group, result, primer);
}
@Override
@Nonnull
public ItemStack getCraftingResult(@Nonnull InventoryCrafting var1)
{
ItemStack newOutput = this.output.copy();
ItemStack itemstack = ItemStack.EMPTY;
for (int i = 0; i < var1.getSizeInventory(); ++i)
{
ItemStack stack = var1.getStackInSlot(i);
if (!stack.isEmpty())
{
if (Block.getBlockFromItem(stack.getItem()) instanceof BlockIronShulkerBox || Block.getBlockFromItem(stack.getItem()) instanceof BlockShulkerBox)
{
itemstack = stack;
}
}
}
if (itemstack.hasTagCompound())
{
newOutput.setTagCompound(itemstack.getTagCompound().copy());
}
return newOutput;
}
}
}

View File

@ -1,139 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.gui.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import invtweaks.api.container.ChestContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
@ChestContainer(isLargeChest = true)
public class ContainerIronChest extends Container
{
private IronChestType type;
private EntityPlayer player;
private IInventory chest;
public ContainerIronChest(IInventory playerInventory, IInventory chestInventory, IronChestType type, int xSize, int ySize)
{
this.chest = chestInventory;
this.player = ((InventoryPlayer) playerInventory).player;
this.type = type;
chestInventory.openInventory(this.player);
this.layoutContainer(playerInventory, chestInventory, type, xSize, ySize);
}
@Override
public boolean canInteractWith(EntityPlayer playerIn)
{
return this.chest.isUsableByPlayer(playerIn);
}
@Override
public ItemStack transferStackInSlot(EntityPlayer playerIn, int index)
{
ItemStack itemstack = ItemStack.EMPTY;
Slot slot = this.inventorySlots.get(index);
if (slot != null && slot.getHasStack())
{
ItemStack itemstack1 = slot.getStack();
itemstack = itemstack1.copy();
if (index < this.type.size)
{
if (!this.mergeItemStack(itemstack1, this.type.size, this.inventorySlots.size(), true))
{
return ItemStack.EMPTY;
}
}
else if (!this.type.acceptsStack(itemstack1))
{
return ItemStack.EMPTY;
}
else if (!this.mergeItemStack(itemstack1, 0, this.type.size, false))
{
return ItemStack.EMPTY;
}
if (itemstack1.isEmpty())
{
slot.putStack(ItemStack.EMPTY);
}
else
{
slot.onSlotChanged();
}
}
return itemstack;
}
@Override
public void onContainerClosed(EntityPlayer playerIn)
{
super.onContainerClosed(playerIn);
this.chest.closeInventory(playerIn);
}
protected void layoutContainer(IInventory playerInventory, IInventory chestInventory, IronChestType type, int xSize, int ySize)
{
if (type == IronChestType.DIRTCHEST9000)
{
this.addSlotToContainer(type.makeSlot(chestInventory, 0, 12 + 4 * 18, 8 + 2 * 18));
}
else
{
for (int chestRow = 0; chestRow < type.getRowCount(); chestRow++)
{
for (int chestCol = 0; chestCol < type.rowLength; chestCol++)
{
this.addSlotToContainer(type.makeSlot(chestInventory, chestCol + chestRow * type.rowLength, 12 + chestCol * 18, 8 + chestRow * 18));
}
}
}
int leftCol = (xSize - 162) / 2 + 1;
for (int playerInvRow = 0; playerInvRow < 3; playerInvRow++)
{
for (int playerInvCol = 0; playerInvCol < 9; playerInvCol++)
{
this.addSlotToContainer(
new Slot(playerInventory, playerInvCol + playerInvRow * 9 + 9, leftCol + playerInvCol * 18, ySize - (4 - playerInvRow) * 18 - 10));
}
}
for (int hotbarSlot = 0; hotbarSlot < 9; hotbarSlot++)
{
this.addSlotToContainer(new Slot(playerInventory, hotbarSlot, leftCol + hotbarSlot * 18, ySize - 24));
}
}
public EntityPlayer getPlayer()
{
return this.player;
}
@ChestContainer.RowSizeCallback
public int getNumColumns()
{
return this.type.rowLength;
}
}

View File

@ -1,33 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.gui.chest.slot;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ValidatingChestSlot extends Slot
{
private IronChestType type;
public ValidatingChestSlot(IInventory inventoryIn, int slotIndex, int xPosition, int yPosition, IronChestType type)
{
super(inventoryIn, slotIndex, xPosition, yPosition);
this.type = type;
}
@Override
public boolean isItemValid(ItemStack stack)
{
return this.type.acceptsStack(stack);
}
}

View File

@ -1,138 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.gui.shulker;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import invtweaks.api.container.ChestContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
@ChestContainer(isLargeChest = true)
public class ContainerIronShulkerBox extends Container
{
private IronShulkerBoxType type;
private EntityPlayer player;
private IInventory inventory;
public ContainerIronShulkerBox(IInventory playerInventory, IInventory shulkerBoxInventory, IronShulkerBoxType type, int xSize, int ySize)
{
this.inventory = shulkerBoxInventory;
this.player = ((InventoryPlayer) playerInventory).player;
this.type = type;
shulkerBoxInventory.openInventory(this.player);
this.layoutContainer(playerInventory, shulkerBoxInventory, type, xSize, ySize);
}
protected void layoutContainer(IInventory playerInventory, IInventory shulkerBoxInventory, IronShulkerBoxType type, int xSize, int ySize)
{
for (int chestRow = 0; chestRow < type.getRowCount(); chestRow++)
{
for (int chestCol = 0; chestCol < type.rowLength; chestCol++)
{
this.addSlotToContainer(type.makeSlot(shulkerBoxInventory, chestCol + chestRow * type.rowLength, 12 + chestCol * 18, 8 + chestRow * 18));
}
}
int leftCol = (xSize - 162) / 2 + 1;
for (int playerInvRow = 0; playerInvRow < 3; playerInvRow++)
{
for (int playerInvCol = 0; playerInvCol < 9; playerInvCol++)
{
//@formatter:off
this.addSlotToContainer(new Slot(playerInventory, playerInvCol + playerInvRow * 9 + 9, leftCol + playerInvCol * 18, ySize - (4 - playerInvRow) * 18 - 10));
//@formatter:on
}
}
for (int hotbarSlot = 0; hotbarSlot < 9; hotbarSlot++)
{
this.addSlotToContainer(new Slot(playerInventory, hotbarSlot, leftCol + hotbarSlot * 18, ySize - 24));
}
}
public EntityPlayer getPlayer()
{
return this.player;
}
/**
* Determines whether supplied player can use this container
*/
@Override
public boolean canInteractWith(EntityPlayer playerIn)
{
return this.inventory.isUsableByPlayer(playerIn);
}
/**
* Take a stack from the specified inventory slot.
*/
@Override
public ItemStack transferStackInSlot(EntityPlayer playerIn, int index)
{
ItemStack itemstack = ItemStack.EMPTY;
Slot slot = this.inventorySlots.get(index);
if (slot != null && slot.getHasStack())
{
ItemStack itemstack1 = slot.getStack();
itemstack = itemstack1.copy();
if (index < this.type.size)
{
if (!this.mergeItemStack(itemstack1, this.type.size, this.inventorySlots.size(), true))
{
return ItemStack.EMPTY;
}
}
else if (!this.mergeItemStack(itemstack1, 0, this.type.size, false))
{
return ItemStack.EMPTY;
}
if (itemstack1.isEmpty())
{
slot.putStack(ItemStack.EMPTY);
}
else
{
slot.onSlotChanged();
}
}
return itemstack;
}
/**
* Called when the container is closed.
*/
@Override
public void onContainerClosed(EntityPlayer playerIn)
{
super.onContainerClosed(playerIn);
this.inventory.closeInventory(playerIn);
}
@ChestContainer.RowSizeCallback
public int getNumColumns()
{
return this.type.rowLength;
}
}

View File

@ -1,34 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.gui.shulker.slot;
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
import net.minecraft.block.Block;
import net.minecraft.block.BlockShulkerBox;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ValidatingShulkerBoxSlot extends Slot
{
public ValidatingShulkerBoxSlot(IInventory inventoryIn, int slotIndex, int xPosition, int yPosition)
{
super(inventoryIn, slotIndex, xPosition, yPosition);
}
@Override
public boolean isItemValid(ItemStack stack)
{
//@formatter:off
return !(Block.getBlockFromItem(stack.getItem()) instanceof BlockIronShulkerBox) && !(Block.getBlockFromItem(stack.getItem()) instanceof BlockShulkerBox);
//@formatter:on
}
}

View File

@ -1,77 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw. All rights reserved. This program and the accompanying materials are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors: cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.items;
import static cpw.mods.ironchest.common.blocks.chest.IronChestType.COPPER;
import static cpw.mods.ironchest.common.blocks.chest.IronChestType.CRYSTAL;
import static cpw.mods.ironchest.common.blocks.chest.IronChestType.DIAMOND;
import static cpw.mods.ironchest.common.blocks.chest.IronChestType.GOLD;
import static cpw.mods.ironchest.common.blocks.chest.IronChestType.IRON;
import static cpw.mods.ironchest.common.blocks.chest.IronChestType.OBSIDIAN;
import static cpw.mods.ironchest.common.blocks.chest.IronChestType.SILVER;
import static cpw.mods.ironchest.common.blocks.chest.IronChestType.WOOD;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import cpw.mods.ironchest.common.items.chest.ItemChestChanger;
import net.minecraft.item.Item;
import net.minecraftforge.registries.IForgeRegistry;
public enum ChestChangerType
{
//@formatter:off
IRON_GOLD(IRON, GOLD, "iron_gold_chest_upgrade"),
GOLD_DIAMOND(GOLD, DIAMOND, "gold_diamond_chest_upgrade"),
COPPER_SILVER(COPPER, SILVER, "copper_silver_chest_upgrade"),
SILVER_GOLD(SILVER, GOLD, "silver_gold_chest_upgrade"),
COPPER_IRON(COPPER, IRON, "copper_iron_chest_upgrade"),
DIAMOND_CRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_chest_upgrade"),
WOOD_IRON(WOOD, IRON, "wood_iron_chest_upgrade"),
WOOD_COPPER(WOOD, COPPER, "wood_copper_chest_upgrade"),
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_chest_upgrade");
//@formatter:on
public static final ChestChangerType[] VALUES = values();
public final IronChestType source;
public final IronChestType target;
public final String itemName;
public ItemChestChanger item;
ChestChangerType(IronChestType source, IronChestType target, String itemName)
{
this.source = source;
this.target = target;
this.itemName = itemName;
}
public boolean canUpgrade(IronChestType from)
{
return from == this.source;
}
public ItemChestChanger buildItem(IForgeRegistry<Item> itemRegistry)
{
this.item = new ItemChestChanger(this);
this.item.setRegistryName(this.itemName);
itemRegistry.register(this.item);
return this.item;
}
public static void buildItems(IForgeRegistry<Item> itemRegistry)
{
for (ChestChangerType type : VALUES)
{
type.buildItem(itemRegistry);
}
}
}

View File

@ -1,77 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw. All rights reserved. This program and the accompanying materials are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors: cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.items;
import static cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType.COPPER;
import static cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType.CRYSTAL;
import static cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType.DIAMOND;
import static cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType.GOLD;
import static cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType.IRON;
import static cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType.OBSIDIAN;
import static cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType.SILVER;
import static cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType.VANILLA;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import cpw.mods.ironchest.common.items.shulker.ItemShulkerBoxChanger;
import net.minecraft.item.Item;
import net.minecraftforge.registries.IForgeRegistry;
public enum ShulkerBoxChangerType
{
//@formatter:off
IRON_GOLD(IRON, GOLD, "iron_gold_shulker_upgrade"),
GOLD_DIAMOND(GOLD, DIAMOND, "gold_diamond_shulker_upgrade"),
COPPER_SILVER(COPPER, SILVER, "copper_silver_shulker_upgrade"),
SILVER_GOLD(SILVER, GOLD, "silver_gold_shulker_upgrade"),
COPPER_IRON(COPPER, IRON, "copper_iron_shulker_upgrade"),
DIAMOND_CRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_shulker_upgrade"),
VANILLA_IRON(VANILLA, IRON, "vanilla_iron_shulker_upgrade"),
VANILLA_COPPER(VANILLA, COPPER, "vanilla_copper_shulker_upgrade"),
DIAMOND_OBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_shulker_upgrade");
//@formatter:on
public static final ShulkerBoxChangerType[] VALUES = values();
public final IronShulkerBoxType source;
public final IronShulkerBoxType target;
public final String itemName;
public ItemShulkerBoxChanger item;
ShulkerBoxChangerType(IronShulkerBoxType source, IronShulkerBoxType target, String itemName)
{
this.source = source;
this.target = target;
this.itemName = itemName;
}
public boolean canUpgrade(IronShulkerBoxType from)
{
return from == this.source;
}
public ItemShulkerBoxChanger buildItem(IForgeRegistry<Item> itemRegistry)
{
this.item = new ItemShulkerBoxChanger(this);
this.item.setRegistryName(this.itemName);
itemRegistry.register(this.item);
return this.item;
}
public static void buildItems(IForgeRegistry<Item> itemRegistry)
{
for (ShulkerBoxChangerType type : VALUES)
{
type.buildItem(itemRegistry);
}
}
}

View File

@ -1,156 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.items.chest;
import java.util.Locale;
import cpw.mods.ironchest.common.blocks.chest.BlockIronChest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import cpw.mods.ironchest.common.core.IronChestBlocks;
import cpw.mods.ironchest.common.core.IronChestCreativeTabs;
import cpw.mods.ironchest.common.items.ChestChangerType;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest;
import cpw.mods.ironchest.common.util.ItemTooltip;
import net.minecraft.block.BlockChest;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityChest;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class ItemChestChanger extends ItemTooltip
{
public final ChestChangerType type;
public ItemChestChanger(ChestChangerType type)
{
this.type = type;
this.setMaxStackSize(1);
this.setUnlocalizedName("ironchest.chest." + type.name().toLowerCase(Locale.US));
this.setCreativeTab(IronChestCreativeTabs.tabIronChests);
}
/**
* Called when a Block is right-clicked with this Item
*/
@Override
//@formatter:off
public EnumActionResult onItemUseFirst(EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, EnumHand hand)
//@formatter:on
{
ItemStack itemstack = playerIn.getHeldItem(hand);
if (worldIn.isRemote)
{
return EnumActionResult.PASS;
}
if (this.type.canUpgrade(IronChestType.WOOD))
{
if (!(worldIn.getBlockState(pos).getBlock() instanceof BlockChest))
{
return EnumActionResult.PASS;
}
}
else
{
//@formatter:off
if (worldIn.getBlockState(pos) != IronChestBlocks.ironChestBlock.getStateFromMeta(IronChestType.valueOf(this.type.source.getName().toUpperCase()).ordinal()))
//@formatter:on
{
return EnumActionResult.PASS;
}
}
TileEntity te = worldIn.getTileEntity(pos);
TileEntityIronChest newchest = new TileEntityIronChest();
NonNullList<ItemStack> chestContents = NonNullList.<ItemStack> withSize(27, ItemStack.EMPTY);
EnumFacing chestFacing = EnumFacing.DOWN;
if (te != null)
{
if (te instanceof TileEntityIronChest)
{
chestContents = ((TileEntityIronChest) te).getItems();
chestFacing = ((TileEntityIronChest) te).getFacing();
newchest = this.type.target.makeEntity();
if (newchest == null)
{
return EnumActionResult.PASS;
}
}
else if (te instanceof TileEntityChest)
{
IBlockState chestState = worldIn.getBlockState(pos);
chestFacing = chestState.getValue(BlockChest.FACING);
TileEntityChest chest = (TileEntityChest) te;
if (chest.numPlayersUsing > 0)
{
return EnumActionResult.PASS;
}
if (!this.type.canUpgrade(IronChestType.WOOD))
{
return EnumActionResult.PASS;
}
chestContents = NonNullList.<ItemStack> withSize(chest.getSizeInventory(), ItemStack.EMPTY);
for (int i = 0; i < chestContents.size(); i++)
{
chestContents.set(i, chest.getStackInSlot(i));
}
newchest = this.type.target.makeEntity();
}
}
te.updateContainingBlockInfo();
if (te instanceof TileEntityChest)
{
((TileEntityChest) te).checkForAdjacentChests();
}
worldIn.removeTileEntity(pos);
worldIn.setBlockToAir(pos);
IBlockState iblockstate = IronChestBlocks.ironChestBlock.getDefaultState().withProperty(BlockIronChest.VARIANT_PROP, this.type.target);
worldIn.setTileEntity(pos, newchest);
worldIn.setBlockState(pos, iblockstate, 3);
worldIn.notifyBlockUpdate(pos, iblockstate, iblockstate, 3);
TileEntity te2 = worldIn.getTileEntity(pos);
if (te2 instanceof TileEntityIronChest)
{
((TileEntityIronChest) te2).setContents(chestContents);
((TileEntityIronChest) te2).setFacing(chestFacing);
}
if (!playerIn.capabilities.isCreativeMode)
{
itemstack.shrink(1);
}
return EnumActionResult.SUCCESS;
}
}

View File

@ -1,51 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.items.chest;
import java.util.Locale;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
public class ItemIronChest extends ItemBlock
{
public ItemIronChest(Block block)
{
super(block);
this.setRegistryName(block.getRegistryName());
this.setMaxDamage(0);
this.setHasSubtypes(true);
}
@Override
public int getMetadata(int meta)
{
return meta;
}
@Override
public String getUnlocalizedName(ItemStack itemstack)
{
int meta = itemstack.getMetadata();
if (meta < IronChestType.VALUES.length)
{
return "tile.ironchest.chest." + IronChestType.VALUES[itemstack.getMetadata()].name().toLowerCase(Locale.US);
}
else
{
return super.getUnlocalizedName(itemstack);
}
}
}

View File

@ -1,56 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.items.shulker;
import java.util.Locale;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.block.Block;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
public class ItemIronShulkerBox extends ItemBlock
{
private final String colorName;
public ItemIronShulkerBox(Block block, EnumDyeColor colorIn)
{
super(block);
this.setRegistryName(block.getRegistryName());
this.setMaxDamage(0);
this.setHasSubtypes(true);
this.setMaxStackSize(1);
this.colorName = colorIn.getName();
}
@Override
public int getMetadata(int meta)
{
return meta;
}
@Override
public String getUnlocalizedName(ItemStack itemstack)
{
int meta = itemstack.getMetadata();
if (meta < IronShulkerBoxType.VALUES.length)
{
return "tile.ironchest.shulker_box." + IronShulkerBoxType.VALUES[itemstack.getMetadata()].name().toLowerCase(Locale.US) + "." + this.colorName;
}
else
{
return super.getUnlocalizedName(itemstack);
}
}
}

View File

@ -1,214 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.items.shulker;
import java.util.Locale;
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import cpw.mods.ironchest.common.core.IronChestCreativeTabs;
import cpw.mods.ironchest.common.items.ShulkerBoxChangerType;
import cpw.mods.ironchest.common.lib.BlockLists;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
import cpw.mods.ironchest.common.util.ItemTooltip;
import net.minecraft.block.Block;
import net.minecraft.block.BlockShulkerBox;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityShulkerBox;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class ItemShulkerBoxChanger extends ItemTooltip
{
public final ShulkerBoxChangerType type;
public ItemShulkerBoxChanger(ShulkerBoxChangerType type)
{
this.type = type;
this.setMaxStackSize(1);
this.setUnlocalizedName("ironchest.shulker_box." + type.name().toLowerCase(Locale.US));
this.setCreativeTab(IronChestCreativeTabs.tabIronChests);
}
public EnumDyeColor getColorFromTileEntity(TileEntity te, World worldIn)
{
if (te != null)
{
if (te instanceof TileEntityIronShulkerBox)
{
TileEntityIronShulkerBox ironShulkerBox = (TileEntityIronShulkerBox) te;
Block ironShulkerBoxBlock = worldIn.getBlockState(ironShulkerBox.getPos()).getBlock();
for (int i = 0; i < BlockLists.SHULKER_BLOCKS.size(); i++)
{
if (BlockLists.SHULKER_BLOCKS.get(i) == ironShulkerBoxBlock)
{
return BlockLists.VANILLA_SHULKER_COLORS.get(i);
}
}
}
else if (te instanceof TileEntityShulkerBox)
{
TileEntityShulkerBox shulkerBox = (TileEntityShulkerBox) te;
Block shulkerBoxBlock = worldIn.getBlockState(shulkerBox.getPos()).getBlock();
for (int i = 0; i < BlockLists.VANILLA_SHULKER_BLOCKS.size(); i++)
{
if (BlockLists.VANILLA_SHULKER_BLOCKS.get(i) == shulkerBoxBlock)
{
return BlockLists.VANILLA_SHULKER_COLORS.get(i);
}
}
}
}
return EnumDyeColor.PURPLE;
}
/**
* Called when a Block is right-clicked with this Item
*/
@Override
//@formatter:off
public EnumActionResult onItemUseFirst(EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, EnumHand hand)
//@formatter:on
{
ItemStack itemstack = playerIn.getHeldItem(hand);
if (worldIn.isRemote)
{
return EnumActionResult.PASS;
}
if (this.type.canUpgrade(IronShulkerBoxType.VANILLA))
{
if (!(worldIn.getBlockState(pos).getBlock() instanceof BlockShulkerBox))
{
return EnumActionResult.PASS;
}
}
else
{
if ((worldIn.getBlockState(pos).getBlock() instanceof BlockIronShulkerBox))
{
//@formatter:off
if (worldIn.getBlockState(pos) != ((BlockIronShulkerBox) worldIn.getBlockState(pos).getBlock()).getStateFromMeta(IronShulkerBoxType.valueOf(this.type.source.getName().toUpperCase()).ordinal()))
//@formatter:on
{
return EnumActionResult.PASS;
}
}
else
{
return EnumActionResult.PASS;
}
}
TileEntity te = worldIn.getTileEntity(pos);
TileEntityIronShulkerBox newShulkerBox = new TileEntityIronShulkerBox();
NonNullList<ItemStack> shulkerBoxContents = NonNullList.<ItemStack> withSize(27, ItemStack.EMPTY);
EnumFacing shulkerBoxFacing = EnumFacing.UP;
EnumDyeColor shulkerBoxColor = EnumDyeColor.PURPLE;
if (te != null)
{
if (te instanceof TileEntityIronShulkerBox)
{
shulkerBoxContents = ((TileEntityIronShulkerBox) te).getItems();
shulkerBoxFacing = ((TileEntityIronShulkerBox) te).getFacing();
shulkerBoxColor = getColorFromTileEntity(te, worldIn);
((TileEntityIronShulkerBox) te).setHasBeenUpgraded();
newShulkerBox = this.type.target.makeEntity(shulkerBoxColor);
if (newShulkerBox == null)
{
return EnumActionResult.PASS;
}
}
else if (te instanceof TileEntityShulkerBox)
{
IBlockState shulkerBoxState = worldIn.getBlockState(pos);
shulkerBoxFacing = shulkerBoxState.getValue(BlockShulkerBox.FACING);
TileEntityShulkerBox shulkerBox = (TileEntityShulkerBox) te;
if (!this.type.canUpgrade(IronShulkerBoxType.VANILLA))
{
return EnumActionResult.PASS;
}
shulkerBoxContents = NonNullList.<ItemStack> withSize(shulkerBox.getSizeInventory(), ItemStack.EMPTY);
for (int i = 0; i < shulkerBoxContents.size(); i++)
{
shulkerBoxContents.set(i, shulkerBox.getStackInSlot(i));
}
shulkerBoxColor = getColorFromTileEntity(te, worldIn);
shulkerBox.clear();
shulkerBox.setDestroyedByCreativePlayer(true);
newShulkerBox = this.type.target.makeEntity(shulkerBoxColor);
}
}
te.updateContainingBlockInfo();
worldIn.setBlockToAir(pos);
IBlockState iblockstate = null;
if (BlockLists.SHULKER_BLOCKS.get(shulkerBoxColor.getMetadata()) != null)
{
Block block = BlockLists.SHULKER_BLOCKS.get(shulkerBoxColor.getMetadata());
iblockstate = block.getDefaultState().withProperty(BlockIronShulkerBox.VARIANT_PROP, this.type.target);
}
else
{
return EnumActionResult.PASS;
}
worldIn.setTileEntity(pos, newShulkerBox);
worldIn.setBlockState(pos, iblockstate, 3);
worldIn.notifyBlockUpdate(pos, iblockstate, iblockstate, 3);
TileEntity te2 = worldIn.getTileEntity(pos);
if (te2 instanceof TileEntityIronShulkerBox)
{
((TileEntityIronShulkerBox) te2).setContents(shulkerBoxContents);
((TileEntityIronShulkerBox) te2).setFacing(shulkerBoxFacing);
}
if (!playerIn.capabilities.isCreativeMode)
{
itemstack.shrink(1);
}
return EnumActionResult.SUCCESS;
}
}

View File

@ -1,113 +0,0 @@
package cpw.mods.ironchest.common.lib;
import java.util.List;
import com.google.common.collect.Lists;
import cpw.mods.ironchest.common.core.IronChestBlocks;
import cpw.mods.ironchest.common.util.BehaviorDispenseIronShulkerBox;
import net.minecraft.block.Block;
import net.minecraft.block.BlockDispenser;
import net.minecraft.init.Blocks;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.ItemBlock;
public class BlockLists
{
//@formatter:off
public static final List<Block> SHULKER_BLOCKS = Lists.newArrayList();
public static final List<ItemBlock> SHULKER_ITEM_BLOCKS = Lists.newArrayList();
public static final List<Block> VANILLA_SHULKER_BLOCKS = Lists.newArrayList();
public static final List<EnumDyeColor> VANILLA_SHULKER_COLORS = Lists.newArrayList();
//@formatter:on
public static void createVanillaShulkerBlockList()
{
VANILLA_SHULKER_BLOCKS.add(Blocks.WHITE_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.ORANGE_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.MAGENTA_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.LIGHT_BLUE_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.YELLOW_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.LIME_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.PINK_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.GRAY_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.SILVER_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.CYAN_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.PURPLE_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.BLUE_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.BROWN_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.GREEN_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.RED_SHULKER_BOX);
VANILLA_SHULKER_BLOCKS.add(Blocks.BLACK_SHULKER_BOX);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.WHITE);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.ORANGE);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.MAGENTA);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.LIGHT_BLUE);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.YELLOW);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.LIME);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.PINK);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.GRAY);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.SILVER);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.CYAN);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.PURPLE);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.BLUE);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.BROWN);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.GREEN);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.RED);
VANILLA_SHULKER_COLORS.add(EnumDyeColor.BLACK);
}
public static void createIronShulkerBlockList()
{
BlockLists.createVanillaShulkerBlockList();
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxWhiteBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxOrangeBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxMagentaBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxLightBlueBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxYellowBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxLimeBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxPinkBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxGrayBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxSilverBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxCyanBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxPurpleBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxBlueBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxBrownBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxGreenBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxRedBlock);
SHULKER_BLOCKS.add(IronChestBlocks.ironShulkerBoxBlackBlock);
}
public static void createShulkerItemList()
{
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxWhiteItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxOrangeItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxMagentaItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxLightBlueItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxYellowItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxLimeItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxPinkItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxGrayItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxSilverItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxCyanItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxPurpleItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxBlueItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxBrownItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxGreenItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxRedItemBlock);
SHULKER_ITEM_BLOCKS.add(IronChestBlocks.ironShulkerBoxBlackItemBlock);
BlockLists.registerBlockBehavior();
}
public static void registerBlockBehavior()
{
for (ItemBlock block : SHULKER_ITEM_BLOCKS)
{
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(block, new BehaviorDispenseIronShulkerBox());
}
}
}

View File

@ -1,161 +0,0 @@
/*
* BluSunrize
* Copyright (c) 2017
*
* This code is licensed under "Blu's License of Common Sense"
* Details can be found in the license file in the root folder of this project
*/
package cpw.mods.ironchest.common.lib;
import javax.annotation.Nonnull;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.ItemHandlerHelper;
public class ICChestInventoryHandler implements IItemHandlerModifiable
{
TileEntityIronChest inv;
public ICChestInventoryHandler(TileEntityIronChest inventory)
{
this.inv = inventory;
}
@Override
public int getSlots()
{
return this.inv.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int slot)
{
return this.inv.getStackInSlot(slot);
}
@Override
public ItemStack insertItem(int slot, ItemStack stack, boolean simulate)
{
if (stack.isEmpty())
return stack;
stack = stack.copy();
if (!inv.isItemValidForSlot(slot, stack))
return stack;
int offsetSlot = slot;
ItemStack currentStack = inv.getItems().get(offsetSlot);
if (currentStack.isEmpty())
{
int accepted = Math.min(stack.getMaxStackSize(), inv.getInventoryStackLimit());
if (accepted < stack.getCount())
{
if (!simulate)
{
inv.getItems().set(offsetSlot, stack.splitStack(accepted));
inv.markDirty();
return stack;
}
else
{
stack.shrink(accepted);
return stack;
}
}
else
{
if (!simulate)
{
inv.getItems().set(offsetSlot, stack);
inv.markDirty();
}
return ItemStack.EMPTY;
}
}
else
{
if (!ItemHandlerHelper.canItemStacksStack(stack, currentStack))
return stack;
int accepted = Math.min(stack.getMaxStackSize(), inv.getInventoryStackLimit()) - currentStack.getCount();
if (accepted < stack.getCount())
{
if (!simulate)
{
ItemStack newStack = stack.splitStack(accepted);
newStack.grow(currentStack.getCount());
inv.getItems().set(offsetSlot, newStack);
inv.markDirty();
return stack;
}
else
{
stack.shrink(accepted);
return stack;
}
}
else
{
if (!simulate)
{
ItemStack newStack = stack.copy();
newStack.grow(currentStack.getCount());
inv.getItems().set(offsetSlot, newStack);
inv.markDirty();
}
return ItemStack.EMPTY;
}
}
}
@Override
public ItemStack extractItem(int slot, int amount, boolean simulate)
{
if (amount == 0)
return ItemStack.EMPTY;
int offsetSlot = slot;
ItemStack currentStack = inv.getItems().get(offsetSlot);
if (currentStack.isEmpty())
return ItemStack.EMPTY;
int extracted = Math.min(currentStack.getCount(), amount);
ItemStack copy = currentStack.copy();
copy.setCount(extracted);
if (!simulate)
{
if (extracted < currentStack.getCount())
currentStack.shrink(extracted);
else
currentStack = ItemStack.EMPTY;
inv.getItems().set(offsetSlot, currentStack);
inv.markDirty();
}
return copy;
}
@Override
public int getSlotLimit(int slot)
{
return getInv().getInventoryStackLimit();
}
@Override
public void setStackInSlot(int slot, @Nonnull ItemStack stack)
{
inv.getItems().set(slot, stack);
inv.markDirty();
}
public IInventory getInv()
{
return inv;
}
}

View File

@ -1,161 +0,0 @@
/*
* BluSunrize
* Copyright (c) 2017
*
* This code is licensed under "Blu's License of Common Sense"
* Details can be found in the license file in the root folder of this project
*/
package cpw.mods.ironchest.common.lib;
import javax.annotation.Nonnull;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.ItemHandlerHelper;
public class ICShulkerInventoryHandler implements IItemHandlerModifiable
{
TileEntityIronShulkerBox inv;
public ICShulkerInventoryHandler(TileEntityIronShulkerBox inventory)
{
this.inv = inventory;
}
@Override
public int getSlots()
{
return this.inv.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int slot)
{
return this.inv.getStackInSlot(slot);
}
@Override
public ItemStack insertItem(int slot, ItemStack stack, boolean simulate)
{
if (stack.isEmpty())
return stack;
stack = stack.copy();
if (!inv.isItemValidForSlot(slot, stack))
return stack;
int offsetSlot = slot;
ItemStack currentStack = inv.getItems().get(offsetSlot);
if (currentStack.isEmpty())
{
int accepted = Math.min(stack.getMaxStackSize(), inv.getInventoryStackLimit());
if (accepted < stack.getCount())
{
if (!simulate)
{
inv.getItems().set(offsetSlot, stack.splitStack(accepted));
inv.markDirty();
return stack;
}
else
{
stack.shrink(accepted);
return stack;
}
}
else
{
if (!simulate)
{
inv.getItems().set(offsetSlot, stack);
inv.markDirty();
}
return ItemStack.EMPTY;
}
}
else
{
if (!ItemHandlerHelper.canItemStacksStack(stack, currentStack))
return stack;
int accepted = Math.min(stack.getMaxStackSize(), inv.getInventoryStackLimit()) - currentStack.getCount();
if (accepted < stack.getCount())
{
if (!simulate)
{
ItemStack newStack = stack.splitStack(accepted);
newStack.grow(currentStack.getCount());
inv.getItems().set(offsetSlot, newStack);
inv.markDirty();
return stack;
}
else
{
stack.shrink(accepted);
return stack;
}
}
else
{
if (!simulate)
{
ItemStack newStack = stack.copy();
newStack.grow(currentStack.getCount());
inv.getItems().set(offsetSlot, newStack);
inv.markDirty();
}
return ItemStack.EMPTY;
}
}
}
@Override
public ItemStack extractItem(int slot, int amount, boolean simulate)
{
if (amount == 0)
return ItemStack.EMPTY;
int offsetSlot = slot;
ItemStack currentStack = inv.getItems().get(offsetSlot);
if (currentStack.isEmpty())
return ItemStack.EMPTY;
int extracted = Math.min(currentStack.getCount(), amount);
ItemStack copy = currentStack.copy();
copy.setCount(extracted);
if (!simulate)
{
if (extracted < currentStack.getCount())
currentStack.shrink(extracted);
else
currentStack = ItemStack.EMPTY;
inv.getItems().set(offsetSlot, currentStack);
inv.markDirty();
}
return copy;
}
@Override
public int getSlotLimit(int slot)
{
return getInv().getInventoryStackLimit();
}
@Override
public void setStackInSlot(int slot, @Nonnull ItemStack stack)
{
inv.getItems().set(slot, stack);
inv.markDirty();
}
public IInventory getInv()
{
return inv;
}
}

View File

@ -1,93 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.network;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.common.tileentity.chest.TileEntityIronChest;
import io.netty.buffer.ByteBuf;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.network.ByteBufUtils;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
public class MessageCrystalChestSync implements IMessage
{
int dimension;
BlockPos pos;
private NonNullList<ItemStack> topStacks;
public MessageCrystalChestSync(TileEntityIronChest tile, NonNullList<ItemStack> stack)
{
this.dimension = tile.getWorld().provider.getDimension();
this.pos = tile.getPos();
this.topStacks = stack;
}
public MessageCrystalChestSync()
{
}
@Override
public void fromBytes(ByteBuf buf)
{
this.dimension = buf.readInt();
this.pos = new BlockPos(buf.readInt(), buf.readInt(), buf.readInt());
int size = buf.readInt();
this.topStacks = NonNullList.<ItemStack> withSize(size, ItemStack.EMPTY);
for (int i = 0; i < size; i++)
{
ItemStack itemstack = ByteBufUtils.readItemStack(buf);
this.topStacks.set(i, itemstack);
}
}
@Override
public void toBytes(ByteBuf buf)
{
buf.writeInt(this.dimension);
buf.writeInt(this.pos.getX());
buf.writeInt(this.pos.getY());
buf.writeInt(this.pos.getZ());
buf.writeInt(this.topStacks.size());
for (ItemStack stack : this.topStacks)
{
ByteBufUtils.writeItemStack(buf, stack);
}
}
public static class Handler implements IMessageHandler<MessageCrystalChestSync, IMessage>
{
@Override
public IMessage onMessage(MessageCrystalChestSync message, MessageContext ctx)
{
World world = IronChest.proxy.getClientWorld();
if (world != null)
{
TileEntity tile = world.getTileEntity(message.pos);
if (tile instanceof TileEntityIronChest)
((TileEntityIronChest) tile).receiveMessageFromServer(message.topStacks);
}
return null;
}
}
}

View File

@ -1,95 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.network;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
import io.netty.buffer.ByteBuf;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.network.ByteBufUtils;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
public class MessageCrystalShulkerSync implements IMessage
{
int dimension;
BlockPos pos;
private NonNullList<ItemStack> topStacks;
public MessageCrystalShulkerSync(TileEntityIronShulkerBox tile, NonNullList<ItemStack> stack)
{
this.dimension = tile.getWorld().provider.getDimension();
this.pos = tile.getPos();
this.topStacks = stack;
}
public MessageCrystalShulkerSync()
{
}
@Override
public void fromBytes(ByteBuf buf)
{
this.dimension = buf.readInt();
this.pos = new BlockPos(buf.readInt(), buf.readInt(), buf.readInt());
int size = buf.readInt();
this.topStacks = NonNullList.<ItemStack> withSize(size, ItemStack.EMPTY);
for (int i = 0; i < size; i++)
{
ItemStack itemstack = ByteBufUtils.readItemStack(buf);
this.topStacks.set(i, itemstack);
}
}
@Override
public void toBytes(ByteBuf buf)
{
buf.writeInt(this.dimension);
buf.writeInt(this.pos.getX());
buf.writeInt(this.pos.getY());
buf.writeInt(this.pos.getZ());
buf.writeInt(this.topStacks.size());
for (ItemStack stack : this.topStacks)
{
ByteBufUtils.writeItemStack(buf, stack);
}
}
public static class Handler implements IMessageHandler<MessageCrystalShulkerSync, IMessage>
{
@Override
public IMessage onMessage(MessageCrystalShulkerSync message, MessageContext ctx)
{
World world = IronChest.proxy.getClientWorld();
if (world != null)
{
TileEntity tile = world.getTileEntity(message.pos);
if (tile instanceof TileEntityIronShulkerBox)
((TileEntityIronShulkerBox) tile).receiveMessageFromServer(message.topStacks);
}
return null;
}
}
}

View File

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
public class TileEntityCopperChest extends TileEntityIronChest
{
public TileEntityCopperChest()
{
super(IronChestType.COPPER);
}
}

View File

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
public class TileEntityCrystalChest extends TileEntityIronChest
{
public TileEntityCrystalChest()
{
super(IronChestType.CRYSTAL);
}
}

View File

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
public class TileEntityDiamondChest extends TileEntityIronChest
{
public TileEntityDiamondChest()
{
super(IronChestType.DIAMOND);
}
}

View File

@ -1,51 +0,0 @@
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.nbt.NBTTagString;
import net.minecraft.util.text.translation.I18n;
@SuppressWarnings("deprecation")
public class TileEntityDirtChest extends TileEntityIronChest
{
private static ItemStack dirtChest9000GuideBook = new ItemStack(Items.WRITTEN_BOOK);
static
{
dirtChest9000GuideBook.setTagInfo("author", new NBTTagString("cpw"));
dirtChest9000GuideBook.setTagInfo("title", new NBTTagString(I18n.translateToLocal("book.ironchest.dirtchest9000.title")));
NBTTagList pages = new NBTTagList();
pages.appendTag(new NBTTagString(I18n.translateToLocal("book.ironchest.dirtchest9000.page1")));
pages.appendTag(new NBTTagString(I18n.translateToLocal("book.ironchest.dirtchest9000.page2")));
pages.appendTag(new NBTTagString(I18n.translateToLocal("book.ironchest.dirtchest9000.page3")));
pages.appendTag(new NBTTagString(I18n.translateToLocal("book.ironchest.dirtchest9000.page4")));
pages.appendTag(new NBTTagString(I18n.translateToLocal("book.ironchest.dirtchest9000.page5")));
dirtChest9000GuideBook.setTagInfo("pages", pages);
}
public TileEntityDirtChest()
{
super(IronChestType.DIRTCHEST9000);
}
@Override
public void wasPlaced(EntityLivingBase entityliving, ItemStack itemStack)
{
if (!(itemStack.hasTagCompound() && itemStack.getTagCompound().getBoolean("dirtchest")))
{
this.setInventorySlotContents(0, dirtChest9000GuideBook.copy());
}
}
@Override
public void removeAdornments()
{
if (!this.getItems().get(0).isEmpty() && this.getItems().get(0).isItemEqual(dirtChest9000GuideBook))
{
this.getItems().set(0, ItemStack.EMPTY);
}
}
}

View File

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
public class TileEntityGoldChest extends TileEntityIronChest
{
public TileEntityGoldChest()
{
super(IronChestType.GOLD);
}
}

View File

@ -1,672 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.chest;
import java.util.Collections;
import java.util.Comparator;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.common.blocks.chest.BlockIronChest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import cpw.mods.ironchest.common.core.IronChestBlocks;
import cpw.mods.ironchest.common.gui.chest.ContainerIronChest;
import cpw.mods.ironchest.common.lib.ICChestInventoryHandler;
import cpw.mods.ironchest.common.network.MessageCrystalChestSync;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.init.SoundEvents;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntityLockableLoot;
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.capabilities.Capability;
import net.minecraftforge.common.util.Constants;
import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
public class TileEntityIronChest extends TileEntityLockableLoot implements ITickable
{
/** Chest Contents */
public NonNullList<ItemStack> chestContents;
/** Crystal Chest top stacks */
private NonNullList<ItemStack> topStacks;
/** The current angle of the lid (between 0 and 1) */
public float lidAngle;
/** The angle of the lid last tick */
public float prevLidAngle;
/** The number of players currently using this chest */
public int numPlayersUsing;
/** Server sync counter (once per 20 ticks) */
private int ticksSinceSync;
/** Direction chest is facing */
private EnumFacing facing;
/** If the inventory got touched */
private boolean inventoryTouched;
/** If the inventory had items */
private boolean hadStuff;
private String customName;
private IronChestType chestType;
public TileEntityIronChest()
{
this(IronChestType.IRON);
}
protected TileEntityIronChest(IronChestType type)
{
super();
this.chestType = type;
this.chestContents = NonNullList.<ItemStack> withSize(type.size, ItemStack.EMPTY);
this.topStacks = NonNullList.<ItemStack> withSize(8, ItemStack.EMPTY);
this.facing = EnumFacing.NORTH;
}
public void setContents(NonNullList<ItemStack> contents)
{
this.chestContents = NonNullList.<ItemStack> withSize(this.getType().size, ItemStack.EMPTY);
for (int i = 0; i < contents.size(); i++)
{
if (i < this.chestContents.size())
{
this.getItems().set(i, contents.get(i));
}
}
this.inventoryTouched = true;
}
@Override
public int getSizeInventory()
{
return this.getItems().size();
}
public EnumFacing getFacing()
{
return this.facing;
}
public IronChestType getType()
{
IronChestType type = IronChestType.IRON;
if (this.hasWorld())
{
IBlockState state = this.world.getBlockState(this.pos);
if (state.getBlock() == IronChestBlocks.ironChestBlock)
{
type = state.getValue(BlockIronChest.VARIANT_PROP);
}
}
return type;
}
@Override
public ItemStack getStackInSlot(int index)
{
this.fillWithLoot((EntityPlayer) null);
this.inventoryTouched = true;
return this.getItems().get(index);
}
@Override
public void markDirty()
{
super.markDirty();
this.sortTopStacks();
}
protected void sortTopStacks()
{
if (!this.getType().isTransparent() || (this.world != null && this.world.isRemote))
{
return;
}
NonNullList<ItemStack> tempCopy = NonNullList.<ItemStack> withSize(this.getSizeInventory(), ItemStack.EMPTY);
boolean hasStuff = false;
int compressedIdx = 0;
mainLoop:
for (int i = 0; i < this.getSizeInventory(); i++)
{
ItemStack itemStack = this.getItems().get(i);
if (!itemStack.isEmpty())
{
for (int j = 0; j < compressedIdx; j++)
{
ItemStack tempCopyStack = tempCopy.get(j);
if (ItemStack.areItemsEqualIgnoreDurability(tempCopyStack, itemStack))
{
if (itemStack.getCount() != tempCopyStack.getCount())
{
tempCopyStack.grow(itemStack.getCount());
}
continue mainLoop;
}
}
tempCopy.set(compressedIdx, itemStack.copy());
compressedIdx++;
hasStuff = true;
}
}
if (!hasStuff && this.hadStuff)
{
this.hadStuff = false;
for (int i = 0; i < this.getTopItems().size(); i++)
{
this.getTopItems().set(i, ItemStack.EMPTY);
}
if (this.world != null)
{
IBlockState iblockstate = this.world.getBlockState(this.pos);
this.world.notifyBlockUpdate(this.pos, iblockstate, iblockstate, 3);
}
return;
}
this.hadStuff = true;
Collections.sort(tempCopy, new Comparator<ItemStack>()
{
@Override
public int compare(ItemStack stack1, ItemStack stack2)
{
if (stack1.isEmpty())
{
return 1;
}
else if (stack2.isEmpty())
{
return -1;
}
else
{
return stack2.getCount() - stack1.getCount();
}
}
});
int p = 0;
for (ItemStack element : tempCopy)
{
if (!element.isEmpty() && element.getCount() > 0)
{
if (p == this.getTopItems().size())
{
break;
}
this.getTopItems().set(p, element);
p++;
}
}
for (int i = p; i < this.getTopItems().size(); i++)
{
this.getTopItems().set(i, ItemStack.EMPTY);
}
if (this.world != null)
{
IBlockState iblockstate = this.world.getBlockState(this.pos);
this.world.notifyBlockUpdate(this.pos, iblockstate, iblockstate, 3);
}
sendTopStacksPacket();
}
@Override
public String getName()
{
return this.hasCustomName() ? this.customName : this.getType().name();
}
@Override
public boolean hasCustomName()
{
return this.customName != null && this.customName.length() > 0;
}
@Override
public void setCustomName(String name)
{
this.customName = name;
}
@Override
public void readFromNBT(NBTTagCompound compound)
{
super.readFromNBT(compound);
this.chestContents = NonNullList.<ItemStack> withSize(this.getSizeInventory(), ItemStack.EMPTY);
if (compound.hasKey("CustomName", Constants.NBT.TAG_STRING))
{
this.customName = compound.getString("CustomName");
}
if (!this.checkLootAndRead(compound))
{
ItemStackHelper.loadAllItems(compound, this.chestContents);
}
this.facing = EnumFacing.VALUES[compound.getByte("facing")];
this.sortTopStacks();
}
@Override
public NBTTagCompound writeToNBT(NBTTagCompound compound)
{
super.writeToNBT(compound);
if (!this.checkLootAndWrite(compound))
{
ItemStackHelper.saveAllItems(compound, this.chestContents);
}
compound.setByte("facing", (byte) this.facing.ordinal());
if (this.hasCustomName())
{
compound.setString("CustomName", this.customName);
}
return compound;
}
@Override
public int getInventoryStackLimit()
{
return 64;
}
@Override
public boolean isUsableByPlayer(EntityPlayer player)
{
if (this.world == null)
{
return true;
}
if (this.world.getTileEntity(this.pos) != this)
{
return false;
}
return player.getDistanceSq(this.pos.getX() + 0.5D, this.pos.getY() + 0.5D, this.pos.getZ() + 0.5D) <= 64D;
}
@Override
public void update()
{
// Resynchronizes clients with the server state
//@formatter:off
if (this.world != null && !this.world.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.pos.getX() + this.pos.getY() + this.pos.getZ()) % 200 == 0)
//@formatter:on
{
this.numPlayersUsing = 0;
float f = 5.0F;
//@formatter:off
for (EntityPlayer player : this.world.getEntitiesWithinAABB(EntityPlayer.class, new AxisAlignedBB(this.pos.getX() - f, this.pos.getY() - f, this.pos.getZ() - f, this.pos.getX() + 1 + f, this.pos.getY() + 1 + f, this.pos.getZ() + 1 + f)))
//@formatter:on
{
if (player.openContainer instanceof ContainerIronChest)
{
++this.numPlayersUsing;
}
}
}
if (this.world != null && !this.world.isRemote && this.ticksSinceSync < 0)
{
this.world.addBlockEvent(this.pos, IronChestBlocks.ironChestBlock, 3, ((this.numPlayersUsing << 3) & 0xF8) | (this.facing.ordinal() & 0x7));
}
if (!this.world.isRemote && this.inventoryTouched)
{
this.inventoryTouched = false;
this.sortTopStacks();
}
this.ticksSinceSync++;
this.prevLidAngle = this.lidAngle;
float angle = 0.1F;
if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F)
{
double x = this.pos.getX() + 0.5D;
double y = this.pos.getY() + 0.5D;
double z = this.pos.getZ() + 0.5D;
this.world.playSound(null, x, y, z, SoundEvents.BLOCK_CHEST_OPEN, SoundCategory.BLOCKS, 0.5F, this.world.rand.nextFloat() * 0.1F + 0.9F);
}
if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F)
{
float currentAngle = this.lidAngle;
if (this.numPlayersUsing > 0)
{
this.lidAngle += angle;
}
else
{
this.lidAngle -= angle;
}
if (this.lidAngle > 1.0F)
{
this.lidAngle = 1.0F;
}
float maxAngle = 0.5F;
if (this.lidAngle < maxAngle && currentAngle >= maxAngle)
{
double x = this.pos.getX() + 0.5D;
double y = this.pos.getY() + 0.5D;
double z = this.pos.getZ() + 0.5D;
this.world.playSound(null, x, y, z, SoundEvents.BLOCK_CHEST_CLOSE, SoundCategory.BLOCKS, 0.5F, this.world.rand.nextFloat() * 0.1F + 0.9F);
}
if (this.lidAngle < 0.0F)
{
this.lidAngle = 0.0F;
}
}
}
@Override
public boolean receiveClientEvent(int id, int type)
{
if (id == 1)
{
this.numPlayersUsing = type;
}
else if (id == 2)
{
this.facing = EnumFacing.VALUES[type];
}
else if (id == 3)
{
this.facing = EnumFacing.VALUES[type & 0x7];
this.numPlayersUsing = (type & 0xF8) >> 3;
}
return true;
}
@Override
public void openInventory(EntityPlayer player)
{
if (!player.isSpectator())
{
if (this.world == null)
{
return;
}
if (this.numPlayersUsing < 0)
{
this.numPlayersUsing = 0;
}
++this.numPlayersUsing;
this.world.addBlockEvent(this.pos, IronChestBlocks.ironChestBlock, 1, this.numPlayersUsing);
this.world.notifyNeighborsOfStateChange(this.pos, IronChestBlocks.ironChestBlock, false);
this.world.notifyNeighborsOfStateChange(this.pos.down(), IronChestBlocks.ironChestBlock, false);
}
}
@Override
public void closeInventory(EntityPlayer player)
{
if (!player.isSpectator())
{
if (this.world == null)
{
return;
}
--this.numPlayersUsing;
this.world.addBlockEvent(this.pos, IronChestBlocks.ironChestBlock, 1, this.numPlayersUsing);
this.world.notifyNeighborsOfStateChange(this.pos, IronChestBlocks.ironChestBlock, false);
this.world.notifyNeighborsOfStateChange(this.pos.down(), IronChestBlocks.ironChestBlock, false);
}
}
public void setFacing(EnumFacing facing)
{
this.facing = facing;
}
@Override
public SPacketUpdateTileEntity getUpdatePacket()
{
NBTTagCompound compound = new NBTTagCompound();
compound.setByte("facing", (byte) this.facing.ordinal());
return new SPacketUpdateTileEntity(this.pos, 0, compound);
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt)
{
if (pkt.getTileEntityType() == 0)
{
NBTTagCompound compound = pkt.getNbtCompound();
this.facing = EnumFacing.VALUES[compound.getByte("facing")];
}
}
public NonNullList<ItemStack> buildItemStackDataList()
{
if (this.getType().isTransparent())
{
NonNullList<ItemStack> sortList = NonNullList.<ItemStack> withSize(this.getTopItems().size(), ItemStack.EMPTY);
int pos = 0;
for (ItemStack is : this.topStacks)
{
if (!is.isEmpty())
{
sortList.set(pos, is);
}
else
{
sortList.set(pos, ItemStack.EMPTY);
}
pos++;
}
return sortList;
}
return NonNullList.<ItemStack> withSize(this.getTopItems().size(), ItemStack.EMPTY);
}
@Override
public boolean isItemValidForSlot(int index, ItemStack stack)
{
return this.getType().acceptsStack(stack);
}
public void rotateAround()
{
this.setFacing(this.facing.rotateY());
this.world.addBlockEvent(this.pos, IronChestBlocks.ironChestBlock, 2, this.facing.ordinal());
}
public void wasPlaced(EntityLivingBase entityliving, ItemStack stack)
{
}
public void removeAdornments()
{
}
@Override
public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn)
{
this.fillWithLoot(playerIn);
return new ContainerIronChest(playerInventory, this, this.chestType, this.chestType.xSize, this.chestType.ySize);
}
@Override
public String getGuiID()
{
return "IronChest:" + this.getType().name() + "_chest";
}
@Override
public boolean canRenderBreaking()
{
return true;
}
@Override
public NBTTagCompound getUpdateTag()
{
NBTTagCompound compound = super.getUpdateTag();
compound.setByte("facing", (byte) this.facing.ordinal());
return compound;
}
@Override
public NonNullList<ItemStack> getItems()
{
return this.chestContents;
}
public NonNullList<ItemStack> getTopItems()
{
return this.topStacks;
}
@Override
public boolean isEmpty()
{
for (ItemStack itemstack : this.chestContents)
{
if (!itemstack.isEmpty())
{
return false;
}
}
return true;
}
protected void sendTopStacksPacket()
{
NonNullList<ItemStack> stacks = this.buildItemStackDataList();
//@formatter:off
IronChest.packetHandler.sendToAllAround(new MessageCrystalChestSync(this, stacks), new TargetPoint(world.provider.getDimension(), getPos().getX(), getPos().getY(), getPos().getZ(), 128));
//@formatter:on
}
public void receiveMessageFromServer(NonNullList<ItemStack> topStacks)
{
this.topStacks = topStacks;
}
public static void registerFixesChest(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityIronChest.class, new String[] { "Items" }));
}
@Override
public boolean hasCapability(Capability<?> capability, EnumFacing facing)
{
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
return true;
return super.hasCapability(capability, facing);
}
private IItemHandler itemHandler;
@Override
protected IItemHandler createUnSidedHandler()
{
return new ICChestInventoryHandler(this);
}
@SuppressWarnings("unchecked")
@Override
public <T> T getCapability(Capability<T> capability, EnumFacing facing)
{
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
return (T) (itemHandler == null ? (itemHandler = createUnSidedHandler()) : itemHandler);
return super.getCapability(capability, facing);
}
}

View File

@ -1,11 +0,0 @@
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
public class TileEntityObsidianChest extends TileEntityIronChest
{
public TileEntityObsidianChest()
{
super(IronChestType.OBSIDIAN);
}
}

View File

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.chest;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
public class TileEntitySilverChest extends TileEntityIronChest
{
public TileEntitySilverChest()
{
super(IronChestType.SILVER);
}
}

View File

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.shulker;
import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
public class TileEntityCopperShulkerBox extends TileEntityIronShulkerBox
{
public TileEntityCopperShulkerBox()
{
this(null);
}
public TileEntityCopperShulkerBox(@Nullable EnumDyeColor colorIn)
{
super(colorIn, IronShulkerBoxType.COPPER);
}
}

View File

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.shulker;
import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
public class TileEntityCrystalShulkerBox extends TileEntityIronShulkerBox
{
public TileEntityCrystalShulkerBox()
{
this(null);
}
public TileEntityCrystalShulkerBox(@Nullable EnumDyeColor colorIn)
{
super(colorIn, IronShulkerBoxType.CRYSTAL);
}
}

View File

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.shulker;
import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
public class TileEntityDiamondShulkerBox extends TileEntityIronShulkerBox
{
public TileEntityDiamondShulkerBox()
{
this(null);
}
public TileEntityDiamondShulkerBox(@Nullable EnumDyeColor colorIn)
{
super(colorIn, IronShulkerBoxType.DIAMOND);
}
}

View File

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.shulker;
import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
public class TileEntityGoldShulkerBox extends TileEntityIronShulkerBox
{
public TileEntityGoldShulkerBox()
{
this(null);
}
public TileEntityGoldShulkerBox(@Nullable EnumDyeColor colorIn)
{
super(colorIn, IronShulkerBoxType.GOLD);
}
}

View File

@ -1,869 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.shulker;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import javax.annotation.Nullable;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import cpw.mods.ironchest.common.gui.shulker.ContainerIronShulkerBox;
import cpw.mods.ironchest.common.lib.ICShulkerInventoryHandler;
import cpw.mods.ironchest.common.network.MessageCrystalShulkerSync;
import net.minecraft.block.Block;
import net.minecraft.block.BlockShulkerBox;
import net.minecraft.block.material.EnumPushReaction;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.MoverType;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.init.SoundEvents;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntityLockableLoot;
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.capabilities.Capability;
import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
public class TileEntityIronShulkerBox extends TileEntityLockableLoot implements ITickable, ISidedInventory
{
private final int[] SLOTS;
/** Shulker Box Contents */
private NonNullList<ItemStack> items;
/** Crystal Shulker Boxes top stacks */
private NonNullList<ItemStack> topStacks;
/** Direction Shulker ox is facing */
private EnumFacing facing;
/** If the inventory got touched */
private boolean inventoryTouched;
/** Server sync counter (once per 20 ticks) */
private int ticksSinceSync;
/** If the inventory had items */
private boolean hadStuff;
private boolean hasBeenCleared;
private int openCount;
private AnimationStatus animationStatus;
private float progress;
private float progressOld;
private EnumDyeColor color;
private boolean destroyedByCreativePlayer;
private boolean hasBeenUpgraded;
/** The Variant of the Shulker Box (Not Color) */
private IronShulkerBoxType shulkerBoxType;
public TileEntityIronShulkerBox()
{
this(null);
}
public TileEntityIronShulkerBox(@Nullable EnumDyeColor colorIn)
{
this(colorIn, IronShulkerBoxType.IRON);
}
public TileEntityIronShulkerBox(@Nullable EnumDyeColor colorIn, IronShulkerBoxType typeIn)
{
super();
this.shulkerBoxType = typeIn;
this.SLOTS = new int[typeIn.size];
this.items = NonNullList.<ItemStack> withSize(typeIn.size, ItemStack.EMPTY);
this.topStacks = NonNullList.<ItemStack> withSize(8, ItemStack.EMPTY);
this.animationStatus = AnimationStatus.CLOSED;
this.color = colorIn;
this.facing = EnumFacing.UP;
this.hasBeenUpgraded = false;
}
public void setContents(NonNullList<ItemStack> contents)
{
this.items = NonNullList.<ItemStack> withSize(this.getType().size, ItemStack.EMPTY);
for (int i = 0; i < contents.size(); i++)
{
if (i < this.items.size())
{
this.getItems().set(i, contents.get(i));
}
}
this.inventoryTouched = true;
}
@Override
public int getSizeInventory()
{
return this.getItems().size();
}
public EnumFacing getFacing()
{
return this.facing;
}
public IronShulkerBoxType getType()
{
IronShulkerBoxType type = IronShulkerBoxType.IRON;
if (this.hasWorld())
{
IBlockState state = this.world.getBlockState(this.pos);
if (state.getBlock() instanceof BlockIronShulkerBox)
{
type = state.getValue(BlockIronShulkerBox.VARIANT_PROP);
}
}
return type;
}
@Override
public ItemStack getStackInSlot(int index)
{
this.fillWithLoot((EntityPlayer) null);
this.inventoryTouched = true;
return this.getItems().get(index);
}
@Override
public void markDirty()
{
super.markDirty();
this.sortTopStacks();
}
protected void sortTopStacks()
{
if (!this.getType().isTransparent() || (this.world != null && this.world.isRemote))
{
return;
}
NonNullList<ItemStack> tempCopy = NonNullList.<ItemStack> withSize(this.getSizeInventory(), ItemStack.EMPTY);
boolean hasStuff = false;
int compressedIdx = 0;
mainLoop:
for (int i = 0; i < this.getSizeInventory(); i++)
{
ItemStack itemStack = this.getItems().get(i);
if (!itemStack.isEmpty())
{
for (int j = 0; j < compressedIdx; j++)
{
ItemStack tempCopyStack = tempCopy.get(j);
if (ItemStack.areItemsEqualIgnoreDurability(tempCopyStack, itemStack))
{
if (itemStack.getCount() != tempCopyStack.getCount())
{
tempCopyStack.grow(itemStack.getCount());
}
continue mainLoop;
}
}
tempCopy.set(compressedIdx, itemStack.copy());
compressedIdx++;
hasStuff = true;
}
}
if (!hasStuff && this.hadStuff)
{
this.hadStuff = false;
for (int i = 0; i < this.getTopItems().size(); i++)
{
this.getTopItems().set(i, ItemStack.EMPTY);
}
return;
}
this.hadStuff = true;
Collections.sort(tempCopy, new Comparator<ItemStack>()
{
@Override
public int compare(ItemStack stack1, ItemStack stack2)
{
if (stack1.isEmpty())
{
return 1;
}
else if (stack2.isEmpty())
{
return -1;
}
else
{
return stack2.getCount() - stack1.getCount();
}
}
});
int p = 0;
for (ItemStack element : tempCopy)
{
if (!element.isEmpty() && element.getCount() > 0)
{
if (p == this.getTopItems().size())
{
break;
}
this.getTopItems().set(p, element);
p++;
}
}
for (int i = p; i < this.getTopItems().size(); i++)
{
this.getTopItems().set(i, ItemStack.EMPTY);
}
sendTopStacksPacket();
}
/**
* Get the name of this object. For players this returns their username
*/
@Override
public String getName()
{
return this.hasCustomName() ? this.customName : this.getType().name();
}
@Override
public void readFromNBT(NBTTagCompound compound)
{
super.readFromNBT(compound);
this.loadFromNbt(compound);
}
@Override
public NBTTagCompound writeToNBT(NBTTagCompound compound)
{
super.writeToNBT(compound);
return this.saveToNbt(compound);
}
public void loadFromNbt(NBTTagCompound compound)
{
this.items = NonNullList.<ItemStack> withSize(this.getSizeInventory(), ItemStack.EMPTY);
if (!this.checkLootAndRead(compound) && compound.hasKey("Items", 9))
{
ItemStackHelper.loadAllItems(compound, this.items);
}
if (compound.hasKey("CustomName", 8))
{
this.customName = compound.getString("CustomName");
}
this.facing = EnumFacing.VALUES[compound.getByte("facing")];
this.sortTopStacks();
}
public NBTTagCompound saveToNbt(NBTTagCompound compound)
{
if (!this.checkLootAndWrite(compound))
{
ItemStackHelper.saveAllItems(compound, this.items, false);
}
compound.setInteger("ShulkerBoxSize", this.getSizeInventory());
compound.setByte("facing", (byte) this.facing.ordinal());
if (this.hasCustomName())
{
compound.setString("CustomName", this.customName);
}
if (!compound.hasKey("Lock") && this.isLocked())
{
this.getLockCode().toNBT(compound);
}
return compound;
}
/**
* Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended.
*/
@Override
public int getInventoryStackLimit()
{
return 64;
}
/**
* Like the old updateEntity(), except more generic.
*/
@Override
public void update()
{
this.updateAnimation();
if (this.animationStatus == AnimationStatus.OPENING || this.animationStatus == AnimationStatus.CLOSING)
{
this.moveCollidedEntities();
}
if (this.world != null && !this.world.isRemote && this.ticksSinceSync < 0)
{
this.world.addBlockEvent(this.pos, this.getBlockType(), 3, ((this.openCount << 3) & 0xF8) | (this.facing.ordinal() & 0x7));
}
if (!this.world.isRemote && this.inventoryTouched)
{
this.inventoryTouched = false;
this.sortTopStacks();
}
this.ticksSinceSync++;
}
protected void updateAnimation()
{
this.progressOld = this.progress;
switch (this.animationStatus)
{
case CLOSED:
this.progress = 0.0F;
break;
case OPENING:
this.progress += 0.1F;
if (this.progress >= 1.0F)
{
this.moveCollidedEntities();
this.animationStatus = AnimationStatus.OPENED;
this.progress = 1.0F;
}
break;
case CLOSING:
this.progress -= 0.1F;
if (this.progress <= 0.0F)
{
this.animationStatus = AnimationStatus.CLOSED;
this.progress = 0.0F;
}
break;
case OPENED:
this.progress = 1.0F;
}
}
public AnimationStatus getAnimationStatus()
{
return this.animationStatus;
}
public AxisAlignedBB getBoundingBox()
{
return this.getBoundingBox(this.getFacing());
}
public AxisAlignedBB getBoundingBox(EnumFacing facing)
{
//@formatter:off
return Block.FULL_BLOCK_AABB.expand(0.5F * this.getProgress(1.0F) * facing.getFrontOffsetX(), 0.5F * this.getProgress(1.0F) * facing.getFrontOffsetY(), 0.5F * this.getProgress(1.0F) * facing.getFrontOffsetZ());
//@formatter:on
}
private AxisAlignedBB getTopBoundingBox(EnumFacing facing)
{
EnumFacing enumfacing = facing.getOpposite();
return this.getBoundingBox(facing).contract(enumfacing.getFrontOffsetX(), enumfacing.getFrontOffsetY(), enumfacing.getFrontOffsetZ());
}
private void moveCollidedEntities()
{
IBlockState iblockstate = this.world.getBlockState(this.getPos());
if (iblockstate.getBlock() instanceof BlockIronShulkerBox)
{
EnumFacing enumfacing = this.getFacing();
AxisAlignedBB axisalignedbb = this.getTopBoundingBox(enumfacing).offset(this.pos);
List<Entity> list = this.world.getEntitiesWithinAABBExcludingEntity((Entity) null, axisalignedbb);
if (!list.isEmpty())
{
for (int i = 0; i < list.size(); ++i)
{
Entity entity = list.get(i);
if (entity.getPushReaction() != EnumPushReaction.IGNORE)
{
double d0 = 0.0D;
double d1 = 0.0D;
double d2 = 0.0D;
AxisAlignedBB axisalignedbb1 = entity.getEntityBoundingBox();
switch (enumfacing.getAxis())
{
case X:
if (enumfacing.getAxisDirection() == EnumFacing.AxisDirection.POSITIVE)
{
d0 = axisalignedbb.maxX - axisalignedbb1.minX;
}
else
{
d0 = axisalignedbb1.maxX - axisalignedbb.minX;
}
d0 = d0 + 0.01D;
break;
case Y:
if (enumfacing.getAxisDirection() == EnumFacing.AxisDirection.POSITIVE)
{
d1 = axisalignedbb.maxY - axisalignedbb1.minY;
}
else
{
d1 = axisalignedbb1.maxY - axisalignedbb.minY;
}
d1 = d1 + 0.01D;
break;
case Z:
if (enumfacing.getAxisDirection() == EnumFacing.AxisDirection.POSITIVE)
{
d2 = axisalignedbb.maxZ - axisalignedbb1.minZ;
}
else
{
d2 = axisalignedbb1.maxZ - axisalignedbb.minZ;
}
d2 = d2 + 0.01D;
}
//@formatter:off
entity.move(MoverType.SHULKER_BOX, d0 * enumfacing.getFrontOffsetX(), d1 * enumfacing.getFrontOffsetY(), d2 * enumfacing.getFrontOffsetZ());
//@formatter:on
}
}
}
}
}
@Override
public boolean receiveClientEvent(int id, int type)
{
if (id == 1)
{
this.openCount = type;
if (type == 0)
{
this.animationStatus = AnimationStatus.CLOSING;
}
if (type == 1)
{
this.animationStatus = AnimationStatus.OPENING;
}
return true;
}
else if (id == 2)
{
this.facing = EnumFacing.VALUES[type];
return true;
}
else if (id == 3)
{
this.facing = EnumFacing.VALUES[type & 0x7];
this.openCount = (type & 0xF8) >> 3;
return true;
}
else
{
return super.receiveClientEvent(id, type);
}
}
@Override
public void openInventory(EntityPlayer player)
{
if (!player.isSpectator())
{
if (this.openCount < 0)
{
this.openCount = 0;
}
++this.openCount;
this.world.addBlockEvent(this.pos, this.getBlockType(), 1, this.openCount);
if (this.openCount == 1)
{
//@formatter:off
this.world.playSound((EntityPlayer) null, this.pos, SoundEvents.BLOCK_SHULKER_BOX_OPEN, SoundCategory.BLOCKS, 0.5F, this.world.rand.nextFloat() * 0.1F + 0.9F);
//@formatter:on
}
}
}
@Override
public void closeInventory(EntityPlayer player)
{
if (!player.isSpectator())
{
--this.openCount;
this.world.addBlockEvent(this.pos, this.getBlockType(), 1, this.openCount);
if (this.openCount <= 0)
{
//@formatter:off
this.world.playSound((EntityPlayer) null, this.pos, SoundEvents.BLOCK_SHULKER_BOX_CLOSE, SoundCategory.BLOCKS, 0.5F, this.world.rand.nextFloat() * 0.1F + 0.9F);
//@formatter:on
}
}
}
public void setFacing(EnumFacing facing)
{
this.facing = facing;
}
@Override
@Nullable
public SPacketUpdateTileEntity getUpdatePacket()
{
NBTTagCompound compound = new NBTTagCompound();
compound.setByte("facing", (byte) this.facing.ordinal());
return new SPacketUpdateTileEntity(this.pos, 0, compound);
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt)
{
if (pkt.getTileEntityType() == 0)
{
NBTTagCompound compound = pkt.getNbtCompound();
this.facing = EnumFacing.VALUES[compound.getByte("facing")];
}
}
public NonNullList<ItemStack> buildItemStackDataList()
{
if (this.getType().isTransparent())
{
NonNullList<ItemStack> sortList = NonNullList.<ItemStack> withSize(this.getTopItems().size(), ItemStack.EMPTY);
int pos = 0;
for (ItemStack is : this.topStacks)
{
if (!is.isEmpty())
{
sortList.set(pos, is);
}
else
{
sortList.set(pos, ItemStack.EMPTY);
}
pos++;
}
return sortList;
}
return NonNullList.<ItemStack> withSize(this.getTopItems().size(), ItemStack.EMPTY);
}
@Override
public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn)
{
this.fillWithLoot(playerIn);
return new ContainerIronShulkerBox(playerInventory, this, this.shulkerBoxType, this.shulkerBoxType.xSize, this.shulkerBoxType.ySize);
}
@Override
public String getGuiID()
{
return "IronChest:" + this.getType().name() + "_shulker_box";
}
@Override
public boolean canRenderBreaking()
{
return true;
}
@Override
public NBTTagCompound getUpdateTag()
{
NBTTagCompound compound = super.getUpdateTag();
compound.setByte("facing", (byte) this.facing.ordinal());
return compound;
}
@Override
public NonNullList<ItemStack> getItems()
{
return this.items;
}
public NonNullList<ItemStack> getTopItems()
{
return this.topStacks;
}
@Override
public boolean isEmpty()
{
for (ItemStack itemstack : this.items)
{
if (!itemstack.isEmpty())
{
return false;
}
}
return true;
}
@Override
public int[] getSlotsForFace(EnumFacing side)
{
return SLOTS;
}
/**
* Returns true if automation can insert the given item in the given slot from the given side.
*/
@Override
public boolean canInsertItem(int index, ItemStack itemStackIn, EnumFacing direction)
{
//@formatter:off
return !(Block.getBlockFromItem(itemStackIn.getItem()) instanceof BlockIronShulkerBox) && !(Block.getBlockFromItem(itemStackIn.getItem()) instanceof BlockShulkerBox);
//@formatter:on
}
/**
* Returns true if automation can extract the given item in the given slot from the given side.
*/
@Override
public boolean canExtractItem(int index, ItemStack stack, EnumFacing direction)
{
return true;
}
@Override
public void clear()
{
this.hasBeenCleared = true;
super.clear();
}
public boolean isCleared()
{
return this.hasBeenCleared;
}
public void setHasBeenUpgraded()
{
this.hasBeenUpgraded = true;
}
public boolean beenUpgraded()
{
return this.hasBeenUpgraded;
}
public float getProgress(float partialTicks)
{
return this.progressOld + (this.progress - this.progressOld) * partialTicks;
}
@SideOnly(Side.CLIENT)
public EnumDyeColor getColor()
{
if (this.color == null)
{
this.color = BlockIronShulkerBox.getColorFromBlock(this.getBlockType());
}
return this.color;
}
public boolean isDestroyedByCreativePlayer()
{
return this.destroyedByCreativePlayer;
}
public void setDestroyedByCreativePlayer(boolean destoryedByCreativeUser)
{
this.destroyedByCreativePlayer = destoryedByCreativeUser;
}
public boolean shouldDropInBreakBlock()
{
return this.isDestroyedByCreativePlayer() && (!this.isEmpty() || this.hasCustomName() || this.lootTable != null);
}
public ItemStack getDrop(IBlockState state, boolean inBreakBlock)
{
BlockIronShulkerBox block = (BlockIronShulkerBox) state.getBlock();
if (!isCleared() && (!inBreakBlock || shouldDropInBreakBlock()))
{
if (!beenUpgraded())
{
ItemStack itemstack = new ItemStack(Item.getItemFromBlock(block), 1, state.getValue(BlockIronShulkerBox.VARIANT_PROP).ordinal());
NBTTagCompound nbttagcompound = new NBTTagCompound();
NBTTagCompound nbttagcompound1 = new NBTTagCompound();
nbttagcompound.setTag("BlockEntityTag", saveToNbt(nbttagcompound1));
itemstack.setTagCompound(nbttagcompound);
if (hasCustomName())
{
itemstack.setStackDisplayName(getName());
setCustomName("");
}
return itemstack;
}
}
return ItemStack.EMPTY;
}
protected void sendTopStacksPacket()
{
NonNullList<ItemStack> stacks = this.buildItemStackDataList();
//@formatter:off
IronChest.packetHandler.sendToAllAround(new MessageCrystalShulkerSync(this, stacks), new TargetPoint(world.provider.getDimension(), getPos().getX(), getPos().getY(), getPos().getZ(), 128));
//@formatter:on
}
public void receiveMessageFromServer(NonNullList<ItemStack> topStacks)
{
this.topStacks = topStacks;
}
public static enum AnimationStatus
{
CLOSED, OPENING, OPENED, CLOSING;
}
public static void registerFixesShulkerBox(DataFixer fixer)
{
fixer.registerWalker(FixTypes.BLOCK_ENTITY, new ItemStackDataLists(TileEntityIronShulkerBox.class, new String[] { "Items" }));
}
private IItemHandler itemHandler;
@Override
protected IItemHandler createUnSidedHandler()
{
return new ICShulkerInventoryHandler(this);
}
@SuppressWarnings("unchecked")
@Override
public <T> T getCapability(Capability<T> capability, EnumFacing facing)
{
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
return (T) (itemHandler == null ? (itemHandler = createUnSidedHandler()) : itemHandler);
return super.getCapability(capability, facing);
}
@Override
public boolean hasCapability(net.minecraftforge.common.capabilities.Capability<?> capability, @javax.annotation.Nullable net.minecraft.util.EnumFacing facing)
{
return capability == net.minecraftforge.items.CapabilityItemHandler.ITEM_HANDLER_CAPABILITY || super.hasCapability(capability, facing);
}
}

View File

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.shulker;
import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
public class TileEntityObsidianShulkerBox extends TileEntityIronShulkerBox
{
public TileEntityObsidianShulkerBox()
{
this(null);
}
public TileEntityObsidianShulkerBox(@Nullable EnumDyeColor colorIn)
{
super(colorIn, IronShulkerBoxType.OBSIDIAN);
}
}

View File

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.tileentity.shulker;
import javax.annotation.Nullable;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import net.minecraft.item.EnumDyeColor;
public class TileEntitySilverShulkerBox extends TileEntityIronShulkerBox
{
public TileEntitySilverShulkerBox()
{
this(null);
}
public TileEntitySilverShulkerBox(@Nullable EnumDyeColor colorIn)
{
super(colorIn, IronShulkerBoxType.SILVER);
}
}

View File

@ -1,64 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.util;
import cpw.mods.ironchest.common.blocks.shulker.BlockIronShulkerBox;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import cpw.mods.ironchest.common.tileentity.shulker.TileEntityIronShulkerBox;
import net.minecraft.block.Block;
import net.minecraft.block.BlockDispenser;
import net.minecraft.block.state.IBlockState;
import net.minecraft.dispenser.IBlockSource;
import net.minecraft.entity.Entity;
import net.minecraft.init.Bootstrap.BehaviorDispenseOptional;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class BehaviorDispenseIronShulkerBox extends BehaviorDispenseOptional
{
@Override
protected ItemStack dispenseStack(IBlockSource source, ItemStack stack)
{
Block block = Block.getBlockFromItem(stack.getItem());
World world = source.getWorld();
EnumFacing enumfacing = source.getBlockState().getValue(BlockDispenser.FACING);
BlockPos blockpos = source.getBlockPos().offset(enumfacing);
this.successful = world.mayPlace(block, blockpos, false, EnumFacing.DOWN, (Entity) null);
if (this.successful)
{
EnumFacing enumfacing1 = world.isAirBlock(blockpos.down()) ? enumfacing : EnumFacing.UP;
IBlockState iblockstate = block.getDefaultState().withProperty(BlockIronShulkerBox.VARIANT_PROP, IronShulkerBoxType.VALUES[stack.getMetadata()]);
world.setBlockState(blockpos, iblockstate);
TileEntity tileentity = world.getTileEntity(blockpos);
ItemStack itemstack = stack.splitStack(1);
((TileEntityIronShulkerBox) tileentity).setFacing(enumfacing1);
if (itemstack.hasTagCompound())
{
((TileEntityIronShulkerBox) tileentity).loadFromNbt(itemstack.getTagCompound().getCompoundTag("BlockEntityTag"));
}
if (itemstack.hasDisplayName())
{
((TileEntityIronShulkerBox) tileentity).setCustomName(itemstack.getDisplayName());
}
world.updateComparatorOutputLevel(blockpos, iblockstate.getBlock());
}
return stack;
}
}

View File

@ -1,42 +0,0 @@
package cpw.mods.ironchest.common.util;
import cpw.mods.ironchest.IronChest;
public class BlockNames
{
public static final String IRON_CHEST = IronChest.MOD_ID + ":iron_chest";
public static final String WHITE_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_white";
public static final String ORANGE_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_orange";
public static final String MAGENTA_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_magenta";
public static final String LIGHT_BLUE_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_light_blue";
public static final String YELLOW_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_yellow";
public static final String LIME_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_lime";
public static final String PINK_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_pink";
public static final String GRAY_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_gray";
public static final String SILVER_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_silver";
public static final String CYAN_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_cyan";
public static final String PURPLE_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_purple";
public static final String BLUE_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_blue";
public static final String BROWN_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_brown";
public static final String GREEN_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_green";
public static final String RED_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_red";
public static final String BLACK_SHULKER = IronChest.MOD_ID + ":iron_shulker_box_black";
public static final String[] SHULKER_NAMES = { WHITE_SHULKER, ORANGE_SHULKER, MAGENTA_SHULKER, LIGHT_BLUE_SHULKER, YELLOW_SHULKER, LIME_SHULKER, PINK_SHULKER, GRAY_SHULKER, SILVER_SHULKER, CYAN_SHULKER, PURPLE_SHULKER, BLUE_SHULKER, BROWN_SHULKER, GREEN_SHULKER, RED_SHULKER, BLACK_SHULKER };
}

View File

@ -1,56 +0,0 @@
package cpw.mods.ironchest.common.util;
import cpw.mods.ironchest.common.blocks.chest.IronChestType;
import cpw.mods.ironchest.common.blocks.shulker.IronShulkerBoxType;
import cpw.mods.ironchest.common.config.Config;
import cpw.mods.ironchest.common.core.IronChestBlocks;
import cpw.mods.ironchest.common.items.ChestChangerType;
import cpw.mods.ironchest.common.items.ShulkerBoxChangerType;
import cpw.mods.ironchest.common.lib.BlockLists;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class CreativeTabItems
{
@SideOnly(Side.CLIENT)
public static void getSubItems(NonNullList<ItemStack> subItems)
{
for (ChestChangerType type : ChestChangerType.VALUES)
{
subItems.add(new ItemStack(type.item));
}
if (Config.addShulkerBoxesToCreative)
{
for (ShulkerBoxChangerType type : ShulkerBoxChangerType.VALUES)
{
subItems.add(new ItemStack(type.item));
}
}
for (IronChestType type : IronChestType.VALUES)
{
if (type.isValidForCreativeMode())
{
subItems.add(new ItemStack(IronChestBlocks.ironChestBlock, 1, type.ordinal()));
}
}
if (Config.addShulkerBoxesToCreative)
{
for (Block shulker : BlockLists.SHULKER_BLOCKS)
{
for (IronShulkerBoxType type : IronShulkerBoxType.VALUES)
{
if (type.isValidForCreativeMode())
{
subItems.add(new ItemStack(shulker, 1, type.ordinal()));
}
}
}
}
}
}

View File

@ -1,74 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.util;
import java.util.List;
import javax.annotation.Nullable;
import com.google.common.collect.Lists;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.translation.I18n;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SuppressWarnings("deprecation")
public class ItemTooltip extends Item
{
@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, @Nullable World playerIn, List<String> tooltip, ITooltipFlag advanced)
{
addOptionalTooltip(stack, tooltip);
super.addInformation(stack, playerIn, tooltip, advanced);
}
public static void addOptionalTooltip(ItemStack stack, List<String> tooltip)
{
if (I18n.canTranslate(stack.getUnlocalizedName() + ".tooltip"))
{
tooltip.addAll(getTooltips(TextFormatting.GRAY.toString() + translateRecursive(stack.getUnlocalizedName() + ".tooltip")));
}
else if (I18n.canTranslate(stack.getUnlocalizedName() + ".tooltip"))
{
tooltip.addAll(getTooltips(TextFormatting.GRAY.toString() + translateRecursive(stack.getUnlocalizedName() + ".tooltip")));
}
}
public static String translateRecursive(String key, Object... params)
{
return I18n.translateToLocal(I18n.translateToLocalFormatted(key, params));
}
public static List<String> getTooltips(String text)
{
List<String> list = Lists.newLinkedList();
if (text == null)
return list;
int j = 0;
int k;
while ((k = text.indexOf("\\n", j)) >= 0)
{
list.add(text.substring(j, k));
j = k + 2;
}
list.add(text.substring(j, text.length()));
return list;
}
}

View File

@ -1,207 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.util;
import javax.annotation.Nonnull;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.event.RegistryEvent.MissingMappings;
import net.minecraftforge.event.RegistryEvent.MissingMappings.Mapping;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
public class MissingMappingsHandler
{
@SubscribeEvent
public void missingBlockMappings(MissingMappings<Block> event)
{
for (Mapping<Block> entry : event.getAllMappings())
{
@Nonnull
String path = entry.key.getResourcePath();
replaceOldChestBlock(path, entry);
}
}
@SubscribeEvent
public void missingItemMappings(MissingMappings<Item> event)
{
for (Mapping<Item> entry : event.getAllMappings())
{
@Nonnull
String path = entry.key.getResourcePath();
replaceOldChestItem(path, entry);
replaceOldUpgrades(path, entry);
replaceNewUpgrades(path, entry);
}
}
private static void replaceOldChestBlock(String path, Mapping<Block> mapping)
{
if (path.endsWith("blockironchest"))
{
path = path.replace("blockironchest", "iron_chest");
ResourceLocation newRes = new ResourceLocation(mapping.key.getResourceDomain(), path);
Block block = ForgeRegistries.BLOCKS.getValue(newRes);
if (block != null)
{
mapping.remap(block);
}
}
}
private static void replaceOldChestItem(String path, Mapping<Item> mapping)
{
if (path.endsWith("blockironchest"))
{
path = path.replace("blockironchest", "iron_chest");
ResourceLocation newRes = new ResourceLocation(mapping.key.getResourceDomain(), path);
Item item = ForgeRegistries.ITEMS.getValue(newRes);
if (item != null)
{
mapping.remap(item);
}
}
}
private static void replaceOldUpgrades(String path, Mapping<Item> mapping)
{
if (path.endsWith("irongoldupgrade"))
{
path = path.replace("irongoldupgrade", "iron_gold_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("golddiamondupgrade"))
{
path = path.replace("golddiamondupgrade", "gold_diamond_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("coppersilverupgrade"))
{
path = path.replace("coppersilverupgrade", "copper_silver_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("silvergoldupgrade"))
{
path = path.replace("silvergoldupgrade", "silver_gold_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("copperironupgrade"))
{
path = path.replace("copperironupgrade", "copper_iron_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("diamondcrystalupgrade"))
{
path = path.replace("diamondcrystalupgrade", "diamond_crystal_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("woodironupgrade"))
{
path = path.replace("woodironupgrade", "wood_iron_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("woodcopperupgrade"))
{
path = path.replace("woodcopperupgrade", "wood_copper_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("diamondobsidianupgrade"))
{
path = path.replace("diamondobsidianupgrade", "diamond_obsidian_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
}
private static void replaceNewUpgrades(String path, Mapping<Item> mapping)
{
if (path.endsWith("iron_gold_upgrade"))
{
path = path.replace("iron_gold_upgrade", "iron_gold_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("gold_diamond_upgrade"))
{
path = path.replace("gold_diamond_upgrade", "gold_diamond_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("copper_silver_upgrade"))
{
path = path.replace("copper_silver_upgrade", "copper_silver_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("silver_gold_upgrade"))
{
path = path.replace("silver_gold_upgrade", "silver_gold_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("copper_iron_upgrade"))
{
path = path.replace("copper_iron_upgrade", "copper_iron_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("diamond_crystal_upgrade"))
{
path = path.replace("diamond_crystal_upgrade", "diamond_crystal_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("wood_iron_upgrade"))
{
path = path.replace("wood_iron_upgrade", "wood_iron_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("wood_copper_upgrade"))
{
path = path.replace("wood_copper_upgrade", "wood_copper_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("diamond_obsidian_upgrade"))
{
path = path.replace("diamond_obsidian_upgrade", "diamond_obsidian_chest_upgrade");
replaceUpgradeItem(path, mapping);
}
}
private static void replaceUpgradeItem(String path, Mapping<Item> mapping)
{
ResourceLocation newRes = new ResourceLocation(mapping.key.getResourceDomain(), path);
Item item = ForgeRegistries.ITEMS.getValue(newRes);
if (item != null)
{
mapping.remap(item);
}
}
}

View File

@ -1,48 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 cpw.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
* <p>
* Contributors:
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.common.util;
import java.util.HashSet;
import cpw.mods.ironchest.common.ai.IronChestAIOcelotSit;
import net.minecraft.entity.ai.EntityAIOcelotSit;
import net.minecraft.entity.ai.EntityAITasks.EntityAITaskEntry;
import net.minecraft.entity.passive.EntityOcelot;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class OcelotsSitOnChestsHandler
{
@SubscribeEvent
public void changeSittingTaskForOcelots(LivingUpdateEvent evt)
{
if (evt.getEntityLiving().ticksExisted < 5 && evt.getEntityLiving() instanceof EntityOcelot)
{
HashSet<EntityAITaskEntry> hashset = new HashSet<EntityAITaskEntry>();
EntityOcelot ocelot = (EntityOcelot) evt.getEntityLiving();
for (EntityAITaskEntry task : ocelot.tasks.taskEntries)
{
if (task.action.getClass() == EntityAIOcelotSit.class)
{
hashset.add(task);
}
}
for (EntityAITaskEntry task : hashset)
{
ocelot.tasks.removeTask(task.action);
ocelot.tasks.addTask(task.priority, new IronChestAIOcelotSit(ocelot, 0.4F));
}
}
}
}

View File

@ -1,65 +0,0 @@
{
"forge_marker": 1,
"defaults": {
"model": "ironchest:iron_chest",
"transform": "forge:default-block"
},
"variants": {
"variant": {
"iron": {
"textures": {
"particle": "ironchest:blocks/iron_break",
"texture": "ironchest:model/chest/iron_chest"
}
},
"gold": {
"textures": {
"particle": "ironchest:blocks/gold_break",
"texture": "ironchest:model/chest/gold_chest"
}
},
"diamond": {
"textures": {
"particle": "ironchest:blocks/diamond_break",
"texture": "ironchest:model/chest/diamond_chest"
}
},
"copper": {
"textures": {
"particle": "ironchest:blocks/copper_break",
"texture": "ironchest:model/chest/copper_chest"
}
},
"silver": {
"textures": {
"particle": "ironchest:blocks/silver_break",
"texture": "ironchest:model/chest/silver_chest"
}
},
"crystal": {
"textures": {
"particle": "ironchest:blocks/crystal_break",
"texture": "ironchest:model/chest/crystal_chest"
}
},
"obsidian": {
"textures": {
"particle": "minecraft:blocks/obsidian",
"texture": "ironchest:model/chest/obsidian_chest"
}
},
"dirtchest9000": {
"textures": {
"particle": "minecraft:blocks/dirt",
"texture": "ironchest:model/chest/dirt_chest"
}
},
"wood": {
"textures": {
"particle": "minecraft:blocks/planks_oak",
"texture": "minecraft:blocks/planks_oak"
}
}
}
}
}

View File

@ -1,56 +0,0 @@
{
"forge_marker": 1,
"defaults": {
"model": "builtin/generated",
"transform": "forge:default-item"
},
"variants": {
"variant": {
"copper_silver_chest_upgrade": {
"textures": {
"layer0": "ironchest:items/chest/copper_silver_upgrade"
}
},
"diamond_crystal_chest_upgrade": {
"textures": {
"layer0": "ironchest:items/chest/diamond_crystal_upgrade"
}
},
"diamond_obsidian_chest_upgrade": {
"textures": {
"layer0": "ironchest:items/chest/diamond_obsidian_upgrade"
}
},
"gold_diamond_chest_upgrade": {
"textures": {
"layer0": "ironchest:items/chest/gold_diamond_upgrade"
}
},
"iron_gold_chest_upgrade": {
"textures": {
"layer0": "ironchest:items/chest/iron_gold_upgrade"
}
},
"silver_gold_chest_upgrade": {
"textures": {
"layer0": "ironchest:items/chest/silver_gold_upgrade"
}
},
"wood_copper_chest_upgrade": {
"textures": {
"layer0": "ironchest:items/chest/wood_copper_upgrade"
}
},
"wood_iron_chest_upgrade": {
"textures": {
"layer0": "ironchest:items/chest/wood_iron_upgrade"
}
},
"copper_iron_chest_upgrade": {
"textures": {
"layer0": "ironchest:items/chest/copper_iron_upgrade"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/black/shulker_black_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/black/shulker_black_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/black/shulker_black_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/black/shulker_black_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/black/shulker_black_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/black/shulker_black_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/black/shulker_black_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_black",
"texture":"minecraft:entity/shulker/shulker_black"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/blue/shulker_blue_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/blue/shulker_blue_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/blue/shulker_blue_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/blue/shulker_blue_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/blue/shulker_blue_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/blue/shulker_blue_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/blue/shulker_blue_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_blue",
"texture":"minecraft:entity/shulker/shulker_blue"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/brown/shulker_brown_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/brown/shulker_brown_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/brown/shulker_brown_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/brown/shulker_brown_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/brown/shulker_brown_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/brown/shulker_brown_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/brown/shulker_brown_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_brown",
"texture":"minecraft:entity/shulker/shulker_brown"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/cyan/shulker_cyan_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/cyan/shulker_cyan_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/cyan/shulker_cyan_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/cyan/shulker_cyan_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/cyan/shulker_cyan_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/cyan/shulker_cyan_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/cyan/shulker_cyan_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_cyan",
"texture":"minecraft:entity/shulker/shulker_cyan"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/gray/shulker_gray_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/gray/shulker_gray_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/gray/shulker_gray_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/gray/shulker_gray_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/gray/shulker_gray_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/gray/shulker_gray_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/gray/shulker_gray_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_gray",
"texture":"minecraft:entity/shulker/shulker_gray"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/green/shulker_green_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/green/shulker_green_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/green/shulker_green_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/green/shulker_green_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/green/shulker_green_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/green/shulker_green_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/green/shulker_green_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_green",
"texture":"minecraft:entity/shulker/shulker_green"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/light_blue/shulker_light_blue_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/light_blue/shulker_light_blue_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/light_blue/shulker_light_blue_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/light_blue/shulker_light_blue_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/light_blue/shulker_light_blue_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/light_blue/shulker_light_blue_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/light_blue/shulker_light_blue_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_light_blue",
"texture":"minecraft:entity/shulker/shulker_light_blue"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/lime/shulker_lime_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/lime/shulker_lime_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/lime/shulker_lime_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/lime/shulker_lime_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/lime/shulker_lime_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/lime/shulker_lime_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/lime/shulker_lime_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_lime",
"texture":"minecraft:entity/shulker/shulker_lime"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/magenta/shulker_magenta_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/magenta/shulker_magenta_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/magenta/shulker_magenta_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/magenta/shulker_magenta_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/magenta/shulker_magenta_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/magenta/shulker_magenta_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/magenta/shulker_magenta_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_magenta",
"texture":"minecraft:entity/shulker/shulker_magenta"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/orange/shulker_orange_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/orange/shulker_orange_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/orange/shulker_orange_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/orange/shulker_orange_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/orange/shulker_orange_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/orange/shulker_orange_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/orange/shulker_orange_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_orange",
"texture":"minecraft:entity/shulker/shulker_orange"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/pink/shulker_pink_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/pink/shulker_pink_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/pink/shulker_pink_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/pink/shulker_pink_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/pink/shulker_pink_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/pink/shulker_pink_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/pink/shulker_pink_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_pink",
"texture":"minecraft:entity/shulker/shulker_pink"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/purple/shulker_purple_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/purple/shulker_purple_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/purple/shulker_purple_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/purple/shulker_purple_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/purple/shulker_purple_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/purple/shulker_purple_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/purple/shulker_purple_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_purple",
"texture":"minecraft:entity/shulker/shulker_purple"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/red/shulker_red_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/red/shulker_red_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/red/shulker_red_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/red/shulker_red_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/red/shulker_red_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/red/shulker_red_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/red/shulker_red_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_red",
"texture":"minecraft:entity/shulker/shulker_red"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/silver/shulker_silver_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/silver/shulker_silver_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/silver/shulker_silver_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/silver/shulker_silver_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/silver/shulker_silver_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/silver/shulker_silver_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/silver/shulker_silver_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_silver",
"texture":"minecraft:entity/shulker/shulker_silver"
}
}
}
}
}

View File

@ -1,56 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"builtin/generated",
"transform":"forge:default-item"
},
"variants":{
"variant":{
"copper_silver_shulker_upgrade":{
"textures":{
"layer0":"ironchest:items/shulker/copper_silver_upgrade"
}
},
"diamond_crystal_shulker_upgrade":{
"textures":{
"layer0":"ironchest:items/shulker/diamond_crystal_upgrade"
}
},
"diamond_obsidian_shulker_upgrade":{
"textures":{
"layer0":"ironchest:items/shulker/diamond_obsidian_upgrade"
}
},
"gold_diamond_shulker_upgrade":{
"textures":{
"layer0":"ironchest:items/shulker/gold_diamond_upgrade"
}
},
"iron_gold_shulker_upgrade":{
"textures":{
"layer0":"ironchest:items/shulker/iron_gold_upgrade"
}
},
"silver_gold_shulker_upgrade":{
"textures":{
"layer0":"ironchest:items/shulker/silver_gold_upgrade"
}
},
"vanilla_copper_shulker_upgrade":{
"textures":{
"layer0":"ironchest:items/shulker/vanilla_copper_upgrade"
}
},
"vanilla_iron_shulker_upgrade":{
"textures":{
"layer0":"ironchest:items/shulker/vanilla_iron_upgrade"
}
},
"copper_iron_shulker_upgrade":{
"textures":{
"layer0":"ironchest:items/shulker/copper_iron_upgrade"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/white/shulker_white_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/white/shulker_white_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/white/shulker_white_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/white/shulker_white_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/white/shulker_white_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/white/shulker_white_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/white/shulker_white_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_white",
"texture":"minecraft:entity/shulker/shulker_white"
}
}
}
}
}

View File

@ -1,59 +0,0 @@
{
"forge_marker":1,
"defaults":{
"model":"ironchest:iron_shulker_box",
"transform":"forge:default-block"
},
"variants":{
"variant":{
"iron":{
"textures":{
"particle":"ironchest:blocks/iron_break",
"texture":"ironchest:model/shulker/yellow/shulker_yellow_iron"
}
},
"gold":{
"textures":{
"particle":"ironchest:blocks/gold_break",
"texture":"ironchest:model/shulker/yellow/shulker_yellow_gold"
}
},
"diamond":{
"textures":{
"particle":"ironchest:blocks/diamond_break",
"texture":"ironchest:model/shulker/yellow/shulker_yellow_diamond"
}
},
"copper":{
"textures":{
"particle":"ironchest:blocks/copper_break",
"texture":"ironchest:model/shulker/yellow/shulker_yellow_copper"
}
},
"silver":{
"textures":{
"particle":"ironchest:blocks/silver_break",
"texture":"ironchest:model/shulker/yellow/shulker_yellow_silver"
}
},
"crystal":{
"textures":{
"particle":"ironchest:blocks/crystal_break",
"texture":"ironchest:model/shulker/yellow/shulker_yellow_crystal"
}
},
"obsidian":{
"textures":{
"particle":"minecraft:blocks/obsidian",
"texture":"ironchest:model/shulker/yellow/shulker_yellow_obsidian"
}
},
"vanilla":{
"textures":{
"particle":"minecraft:blocks/shulker_top_yellow",
"texture":"minecraft:entity/shulker/shulker_yellow"
}
}
}
}
}

View File

@ -1,21 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Železná truhla
tile.ironchest.chest.gold.name=Zlatá truhla
tile.ironchest.chest.diamond.name=Diamantová truhla
tile.ironchest.chest.copper.name=Měděná truhla
tile.ironchest.chest.silver.name=Stříbrná truhla
tile.ironchest.chest.crystal.name=Krystalová truhla
tile.ironchest.chest.obsidian.name=Obsidiánová truhla
item.ironchest.chest.iron_gold.name=Vylepšení železné truhly na zlatou
item.ironchest.chest.gold_diamond.name=Vylepšení zlaté truhly na diamantovou
item.ironchest.chest.copper_silver.name=Vylepšení měděné truhly na stříbrnou
item.ironchest.chest.silver_gold.name=Vylepšení stříbrné truhly na zlatou
item.ironchest.chest.copper_iron.name=Vylepšení měděné truhly na železnou
item.ironchest.chest.diamond_crystal.name=Vylepšení diamantové truhly na krystalovou
item.ironchest.chest.wood_iron.name=Vylepšení dřevěné truhly na železnou
item.ironchest.chest.wood_copper.name=Vylepšení dřevěné truhly na měděnou
item.ironchest.chest.diamond_obsidian.name=Vylepšení diamantové truhly na obsidiánovou

View File

@ -1,21 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Jern Kiste
tile.ironchest.chest.gold.name=Guld Kiste
tile.ironchest.chest.diamond.name=Diamant Kiste
tile.ironchest.chest.copper.name=Kobber Kiste
tile.ironchest.chest.silver.name=Sølv Kiste
tile.ironchest.chest.crystal.name=Krystal Kiste
tile.ironchest.chest.obsidian.name=Obsidian Kiste
item.ironchest.chest.iron_gold.name=Jern til Guld Kiste Opgradering
item.ironchest.chest.gold_diamond.name=Guld til Diamant Kiste Opgradering
item.ironchest.chest.copper_silver.name=Kobber til Sølv Kiste Opgradering
item.ironchest.chest.silver_gold.name=Sølv til Guld Kiste Opgradering
item.ironchest.chest.copper_iron.name=Kobber til Jern Kiste Opgradering
item.ironchest.chest.diamond_crystal.name=Diamant til Krystal Kiste Opgradering
item.ironchest.chest.wood_iron.name=Træ til Jern Kiste Opgradering
item.ironchest.chest.wood_copper.name=Træ til Kobber Kiste Opgradering
item.ironchest.chest.diamond_obsidian.name=Diamant til Obsidian Kiste Opgradering

View File

@ -1,177 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Eisentruhe
tile.ironchest.chest.gold.name=Goldtruhe
tile.ironchest.chest.diamond.name=Diamanttruhe
tile.ironchest.chest.copper.name=Kupfertruhe
tile.ironchest.chest.silver.name=Silbertruhe
tile.ironchest.chest.crystal.name=Kristalltruhe
tile.ironchest.chest.obsidian.name=Obsidiantruhe
tile.ironchest.chest.dirtchest9000.name=DirtChest 9000!
item.ironchest.chest.iron_gold.name=Eisen-zu-Goldtruhen-Upgrade
item.ironchest.chest.gold_diamond.name=Gold-zu-Diamanttruhen-Upgrade
item.ironchest.chest.copper_silver.name=Kupfer-zu-Silbertruhen-Upgrade
item.ironchest.chest.silver_gold.name=Silber-zu-Goldtruhen-Upgrade
item.ironchest.chest.copper_iron.name=Kupfer-zu-Eisentruhen-Upgrade
item.ironchest.chest.diamond_crystal.name=Diamant-zu-Kristalltruhen-Upgrade
item.ironchest.chest.wood_iron.name=Holz-zu-Eisentruhen-Upgrade
item.ironchest.chest.wood_copper.name=Holz-zu-Kupfertruhen-Upgrade
item.ironchest.chest.diamond_obsidian.name=Diamant-zu-Obsidiantruhen-Upgrade
book.ironchest.dirtchest9000.title=Wie du deine neue DirtChest 9000 nutzt!
book.ironchest.dirtchest9000.page1=Willkommen zu Ihrer neuen DirtChest 9000! Wir hoffen, dass Sie viele freudige Jahre genießen werden, wenn Sie Ihre Erd-Stacks in unserem nützlichen Speichergerät lagern.
book.ironchest.dirtchest9000.page2=Nutzung: Werfen Sie einfach den Erd-Stack Ihrer Wahl in den äußerst rezeptiven Slot und genießen Sie die Annehmlichkeit, diese Erde für Sie verfügbar zu haben, jedes mal, wenn Sie diese Truhe passieren!
book.ironchest.dirtchest9000.page3=Wir hoffen, Sie haben das Durchgehen dieser Bedienungsanleitung genossen, und hoffen, dass sie sich weiterhin entscheiden werden, in Zukunft unsere Produkte zu nutzen! Mit freundlichen Grüßen, Die DirtChest 9000 manual writers incorporated.
book.ironchest.dirtchest9000.page4=Garantie: Dieses Produkt hat keine Garantie jeglicher Sorte. Ihre Erde könnte nicht gespeichert werden, er könnte langsam in die Umwelt gesaugt werden, oder stattdessen könnte das Produkt gar nichts machen.
book.ironchest.dirtchest9000.page5=DirtChest 9000 ist freundlich zur Umwelt. Bitte entsorgen Sie diesen Guide verantwortungsbewusst, und tun sie nicht, was Sie immer tun und schmeißen ihn in irgendwelche Lava. Wir würden sehr traurig sein.
#######################
# Shulker Boxes #
#######################
tile.ironchest.shulker_box.iron.white.name=Weiße Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.orange.name=Orange Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.magenta.name=Magentafarbene Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.light_blue.name=Hellblaue Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.yellow.name=Gelbe Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.lime.name=Hellgrüne Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.pink.name=Pinke Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.gray.name=Graue Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.silver.name=Hellgraue Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.cyan.name=Türkise Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.purple.name=Violette Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.blue.name=Blaue Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.brown.name=Braune Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.green.name=Grüne Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.red.name=Rote Eisen-Shulkerkiste
tile.ironchest.shulker_box.iron.black.name=Schwarze Eisen-Shulkerkiste
tile.ironchest.shulker_box.gold.white.name=Weiße Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.orange.name=Orange Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.magenta.name=Magentafarbene Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.light_blue.name=Hellblaue Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.yellow.name=Gelbe Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.lime.name=Hellgrüne Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.pink.name=Pinke Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.gray.name=Graue Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.silver.name=Hellgraue Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.cyan.name=Türkise Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.purple.name=Violette Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.blue.name=Blaue Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.brown.name=Braune Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.green.name=Grüne Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.red.name=Rote Gold-Shulkerkiste
tile.ironchest.shulker_box.gold.black.name=Schwarze Gold-Shulkerkiste
tile.ironchest.shulker_box.diamond.white.name=Weiße Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.orange.name=Orange Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.magenta.name=Magentafarbene Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.light_blue.name=Hellblaue Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.yellow.name=Gelbe Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.lime.name=Hellgrüne Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.pink.name=Pinke Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.gray.name=Graue Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.silver.name=Hellgraue Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.cyan.name=Türkise Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.purple.name=Violette Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.blue.name=Blaue Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.brown.name=Braune Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.green.name=Grüne Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.red.name=Rote Diamant-Shulkerkiste
tile.ironchest.shulker_box.diamond.black.name=Schwarze Diamant-Shulkerkiste
tile.ironchest.shulker_box.copper.white.name=Weiße Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.orange.name=Orange Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.magenta.name=Magentafarbene Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.light_blue.name=Hellblaue Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.yellow.name=Gelbe Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.lime.name=Hellgrüne Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.pink.name=Pinke Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.gray.name=Graue Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.silver.name=Hellgraue Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.cyan.name=Türkise Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.purple.name=Violette Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.blue.name=Blaue Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.brown.name=Braune Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.green.name=Grüne Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.red.name=Rote Kupfer-Shulkerkiste
tile.ironchest.shulker_box.copper.black.name=Schwarze Kupfer-Shulkerkiste
tile.ironchest.shulker_box.silver.white.name=Weiße Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.orange.name=Orange Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.magenta.name=Magentafarbene Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.light_blue.name=Hellblaue Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.yellow.name=Gelbe Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.lime.name=Hellgrüne Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.pink.name=Pinke Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.gray.name=Graue Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.silver.name=Hellgraue Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.cyan.name=Türkise Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.purple.name=Violette Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.blue.name=Blaue Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.brown.name=Braune Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.green.name=Grüne Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.red.name=Rote Silber-Shulkerkiste
tile.ironchest.shulker_box.silver.black.name=Schwarze Silber-Shulkerkiste
tile.ironchest.shulker_box.crystal.white.name=Weiße Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.orange.name=Orange Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.magenta.name=Magentafarbene Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.light_blue.name=Hellblaue Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.yellow.name=Gelbe Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.lime.name=Hellgrüne Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.pink.name=Pinke Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.gray.name=Graue Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.silver.name=Hellgraue Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.cyan.name=Türkise Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.purple.name=Violette Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.blue.name=Blaue Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.brown.name=Braune Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.green.name=Grüne Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.red.name=Rote Kristall-Shulkerkiste
tile.ironchest.shulker_box.crystal.black.name=Schwarze Kristall-Shulkerkiste
tile.ironchest.shulker_box.obsidian.white.name=Weiße Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.orange.name=Orange Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.magenta.name=Magentafarbene Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.light_blue.name=Hellblaue Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.yellow.name=Gelbe Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.lime.name=Hellgrüne Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.pink.name=Pinke Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.gray.name=Graue Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.silver.name=Hellgraue Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.cyan.name=Türkise Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.purple.name=Violette Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.blue.name=Blaue Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.brown.name=Braune Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.green.name=Grüne Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.red.name=Rote Obsidian-Shulkerkiste
tile.ironchest.shulker_box.obsidian.black.name=Schwarze Obsidian-Shulkerkiste
item.ironchest.shulker_box.iron_gold.name=Eisen-zu-Gold-Shulkerkisten-Upgrade
item.ironchest.shulker_box.iron_gold.tooltip=Verwendet zum Upgrade einer Eisen-Shulkerkiste zu einer Gold-Shulkerkiste\nDie Farbe der Kiste bleibt bestehen.
item.ironchest.shulker_box.gold_diamond.name=Gold-zu-Diamant-Shulkerkisten-Upgrade
item.ironchest.shulker_box.gold_diamond.tooltip=Verwendet zum Upgrade einer Gold-Shulkerkiste zu einer Diamant-Shulkerkiste\nDie Farbe der Kiste bleibt bestehen.
item.ironchest.shulker_box.copper_silver.name=Kupfer-zu-Silber-Shulkerkisten-Upgrade
item.ironchest.shulker_box.copper_silver.tooltip=Verwendet zum Upgrade einer Kupfer-Shulkerkiste zu einer Silber-Shulkerkiste\nDie Farbe der Kiste bleibt bestehen.
item.ironchest.shulker_box.silver_gold.name=Silber-zu-Gold-Shulkerkisten-Upgrade
item.ironchest.shulker_box.silver_gold.tooltip=Verwendet zum Upgrade einer Silber-Shulkerkiste zu einer Gold-Shulkerkiste\nDie Farbe der Kiste bleibt bestehen.
item.ironchest.shulker_box.copper_iron.name=Kupfer-zu-Eisen-Shulkerkisten-Upgrade
item.ironchest.shulker_box.copper_iron.tooltip=Verwendet zum Upgrade einer Kupfer-Shulkerkiste zu einer Eisen-Shulkerkiste\nDie Farbe der Kiste bleibt bestehen.
item.ironchest.shulker_box.diamond_crystal.name=Diamant-zu-Kristall-Shulkerkisten-Upgrade
item.ironchest.shulker_box.diamond_crystal.tooltip=Verwendet zum Upgrade einer Diamant-Shulkerkiste zu einer Kristall-Shulkerkiste\nDie Farbe der Kiste bleibt bestehen.
item.ironchest.shulker_box.vanilla_iron.name=Normal-zu-Eisen-Shulkerkisten-Upgrade
item.ironchest.shulker_box.vanilla_iron.tooltip=Verwendet zum Upgrade einer normalen Shulkerkiste zu einer Eisen-Shulkerkiste\nDie Farbe der Kiste bleibt bestehen.
item.ironchest.shulker_box.vanilla_copper.name=Normal-zu-Kupfer-Shulkerkisten-Upgrade
item.ironchest.shulker_box.vanilla_copper.tooltip=Verwendet zum Upgrade einer normalen Shulkerkiste zu einer Kupfer-Shulkerkiste\nDie Farbe der Kiste bleibt bestehen.
item.ironchest.shulker_box.diamond_obsidian.name=Diamant-zu-Obsidian-Shulkerkisten-Upgrade
item.ironchest.shulker_box.diamond_obsidian.tooltip=Verwendet zum Upgrade einer Diamant-Shulkerkiste zu einer Obsidian-Shulkerkiste\nDie Farbe der Kiste bleibt bestehen.
##############
# GUIs #
##############
itemGroup.ironchest=Iron Chests

View File

@ -1,21 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Σιδερένιο Σεντούκι
tile.ironchest.chest.gold.name=Χρυσό Σεντούκι
tile.ironchest.chest.diamond.name=Διαμαντένιο Σεντούκι
tile.ironchest.chest.copper.name=Χάλκινο Σεντούκι
tile.ironchest.chest.silver.name=Ασημένιο Σεντούκι
tile.ironchest.chest.crystal.name=Κρυστάλλινο Σεντούκι
tile.ironchest.chest.obsidian.name=Σεντούκι Οψιδιανού
item.ironchest.chest.iron_gold.name=Αναβάθμιση από Σιδερένιο σε Χρυσό Σεντούκι
item.ironchest.chest.gold_diamond.name=Αναβάθμιση από Χρυσό σε Διαμαντένιο Σεντούκι
item.ironchest.chest.copper_silver.name=Αναβάθμιση από Χάλκινο σε Ασημένιο Σεντούκι
item.ironchest.chest.silver_gold.name=Αναβάθμιση από Ασημένιο σε Χρυσό Σεντούκι
item.ironchest.chest.copper_iron.name=Αναβάθμιση από Χάλκινο σε Σιδερένιο Σεντούκι
item.ironchest.chest.diamond_crystal.name=Αναβάθμιση από Διαμαντένιο σε Κρυστάλλινο Σεντούκι
item.ironchest.chest.wood_iron.name=Αναβάθμιση από Ξύλινο σε Σιδερένιο Σεντούκι
item.ironchest.chest.wood_copper.name=Αναβάθμιση από Ξύλινο σε Χάλκινο Σεντούκι
item.ironchest.chest.diamond_obsidian.name=Αναβάθμιση από Διαμαντένιο σε Σεντούκι Οψιδιανού

View File

@ -1,29 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Steel Coffer
tile.ironchest.chest.gold.name=Gold Coffer
tile.ironchest.chest.diamond.name=Diamond Coffer
tile.ironchest.chest.copper.name=Copper Coffer
tile.ironchest.chest.silver.name=Silver Coffer
tile.ironchest.chest.crystal.name=Shinin' Coffer
tile.ironchest.chest.obsidian.name=Coffer o' tears
tile.ironchest.chest.dirtchest9000.name=FilthCoffer 9000!
item.ironchest.chest.iron_gold.name=Steel to Gold Coffer Upgradin'
item.ironchest.chest.gold_diamond.name=Gold to Diamond Coffer Upgradin'
item.ironchest.chest.copper_silver.name=Copper to Silver Coffer Upgradin'
item.ironchest.chest.silver_gold.name=Silver to Gold Coffer Upgradin'
item.ironchest.chest.copper_iron.name=Copper to Steel Coffer Upgradin'
item.ironchest.chest.diamond_crystal.name=Diamond to Shinin' Coffer Upgradin'
item.ironchest.chest.wood_iron.name=Timber to Steel Coffer Upgradin'
item.ironchest.chest.wood_copper.name=Wood to Copper Coffer Upgradin'
item.ironchest.chest.diamond_obsidian.name=Diamond to Coffer o' Tears Upgradin'
book.ironchest.dirtchest9000.title=How to use yer FilthCoffer 9000!
book.ironchest.dirtchest9000.page1=Welcome to yer new FilthCoffer 9000! We hope ye will enjoy many happy years of storing yer filth wit yer coffer .
book.ironchest.dirtchest9000.page2=Usage: simply put yer filth in yer slot and yer got yerself some filth any time ye need it!
book.ironchest.dirtchest9000.page3=We hope you have enjoyed reviewing this instruction manual, and hope you will consider using our products in future! Kind regards, The DirtChest 9000 manual writers incorporated.
book.ironchest.dirtchest9000.page4=Warranty: We can't keep yer filth from pirates. Yer filth may not be stored, it may slowly return to yer world, or it may stay in yer coffer.
book.ironchest.dirtchest9000.page5=FilthCoffer 9000 is kind to yer voyage. Throw yer paper in a coffer near by wit yer booty, and don't just chuck it into some molten rock. We wouldn't be the happiest o' pirates.

View File

@ -1,168 +0,0 @@
tile.ironchest.chest.iron.name=ʇsǝɥƆ uoɹI
tile.ironchest.chest.gold.name=ʇsǝɥƆ pꞁo⅁
tile.ironchest.chest.diamond.name=ʇsǝɥƆ puoɯɐᴉᗡ
tile.ironchest.chest.copper.name=ʇsǝɥƆ ɹǝddoƆ
tile.ironchest.chest.silver.name=ʇsǝɥƆ ɹǝʌꞁᴉS
tile.ironchest.chest.crystal.name=ʇsǝɥƆ ꞁɐʇsʎɹƆ
tile.ironchest.chest.obsidian.name=ʇsǝɥƆ uɐᴉpᴉsqO
tile.ironchest.chest.dirtchest9000.name=¡0006 ʇsǝɥƆʇɹᴉᗡ
item.ironchest.chest.iron_gold.name=ǝpɐɹᵷd∩ ʇsǝɥƆ pꞁo⅁ oʇ uoɹI
item.ironchest.chest.gold_diamond.name=ǝpɐɹᵷd∩ ʇsǝɥƆ puoɯɐᴉᗡ oʇ pꞁo⅁
item.ironchest.chest.copper_silver.name=ǝpɐɹᵷd∩ ʇsǝɥƆ ɹǝʌꞁᴉS oʇ ɹǝddoƆ
item.ironchest.chest.silver_gold.name=ǝpɐɹᵷd∩ ʇsǝɥƆ pꞁo⅁ oʇ ɹǝʌꞁᴉS
item.ironchest.chest.copper_iron.name=ǝpɐɹᵷd∩ ʇsǝɥƆ uoɹI oʇ ɹǝddoƆ
item.ironchest.chest.diamond_crystal.name=ǝpɐɹᵷd∩ ʇsǝɥƆ ꞁɐʇsʎɹƆ oʇ puoɯɐᴉᗡ
item.ironchest.chest.wood_iron.name=ǝpɐɹᵷd∩ ʇsǝɥƆ uoɹI oʇ pooM
item.ironchest.chest.wood_copper.name=ǝpɐɹᵷd∩ ʇsǝɥƆ ɹǝddoƆ oʇ pooM
item.ironchest.chest.diamond_obsidian.name=ǝpɐɹᵷd∩ ʇsǝɥƆ uɐᴉpᴉsqO oʇ puoɯɐᴉᗡ
book.ironchest.dirtchest9000.title=¡0006 ʇsǝɥƆʇɹᴉᗡ ɹnoʎ ǝsn oʇ ʍoH
book.ironchest.dirtchest9000.page1=„˙ʎʇᴉꞁᴉʇn ǝᵷɐɹoʇs ɹno uᴉ ʇɹᴉp ɟo ʞɔɐʇs ɹnoʎ ᵷuᴉɹoʇs ɟo sɹɐǝʎ ʎddɐɥ ʎuɐɯ ʎoɾuǝ ꞁꞁᴉʍ noʎ ǝdoɥ ǝM ¡0006 ʇsǝɥƆʇɹᴉᗡ ʍǝu ɹnoʎ oʇ ǝɯoɔꞁǝM„
book.ironchest.dirtchest9000.page2=„¡ʇsǝɥɔ sᴉɥʇ ʎq ssɐd noʎ ǝɯᴉʇ ʎuɐ 'noʎ oʇ ǝꞁqɐꞁᴉɐʌɐ ʇɹᴉp ʇɐɥʇ ᵷuᴉʌɐɥ ɟo ǝɔuǝᴉuǝʌuoɔ ʇɐǝɹᵷ ǝɥʇ ʎoɾuǝ puɐ ʇoꞁs ǝʌᴉʇdǝɔǝɹ ʎꞁɥᵷᴉɥ ǝɥʇ oʇuᴉ ǝɔᴉoɥɔ ɹnoʎ ɟo ʇɹᴉp ɟo ʞɔɐʇs ǝɥʇ ʇɹǝsuᴉ ʎꞁdɯᴉs :ǝᵷɐs∩„
book.ironchest.dirtchest9000.page3=„˙pǝʇɐɹodɹoɔuᴉ sɹǝʇᴉɹʍ ꞁɐnuɐɯ 0006 ʇsǝɥƆʇɹᴉᗡ ǝɥ⟘ 'spɹɐᵷǝɹ puᴉʞ ¡ǝɹnʇnɟ uᴉ sʇɔnpoɹd ɹno ᵷuᴉsn ɹǝpᴉsuoɔ ꞁꞁᴉʍ noʎ ǝdoɥ puɐ 'ꞁɐnuɐɯ uoᴉʇɔnɹʇsuᴉ sᴉɥʇ ᵷuᴉʍǝᴉʌǝɹ pǝʎoɾuǝ ǝʌɐɥ noʎ ǝdoɥ ǝM„
book.ironchest.dirtchest9000.page4=„˙ꞁꞁɐ ʇɐ ᵷuᴉɥʇʎuɐ op ʇou ʎɐɯ ʇᴉ 'ʎꞁǝʌᴉʇɐuɹǝʇꞁɐ ɹo 'ʇuǝɯuoɹᴉʌuǝ ǝɥʇ oʇuᴉ ɥɔǝǝꞁ ʎꞁʍoꞁs ʎɐɯ ʇᴉ 'pǝɹoʇs ǝq ʇou ʎɐɯ ʇɹᴉp ɹno⅄ ˙puᴉʞ ʎuɐ ɟo ʎʇuɐɹɹɐʍ ou sɐɥ ʇɔnpoɹd sᴉɥ⟘ :ʎʇuɐɹɹɐM„
book.ironchest.dirtchest9000.page5=„˙pɐs ʎɹǝʌ ǝq pꞁnoʍ ǝM ˙ɐʌɐꞁ ǝɯos oʇuᴉ ʇᴉ ʞɔnɥɔ ʇsnɾ op noʎ ɹǝʌǝʇɐɥʍ ʇou op puɐ 'ʎꞁqᴉsuodsǝɹ ʞooq ǝpᴉnᵷ sᴉɥʇ ɟo ǝsodsᴉp ǝsɐǝꞁԀ ˙ʇuǝɯuoɹᴉʌuǝ ǝɥʇ oʇ puᴉʞ sᴉ 0006 ʇsǝɥƆʇɹᴉᗡ„
tile.ironchest.shulker_box.iron.white.name=xoᗺ ɹǝʞꞁnɥS uoɹI ǝʇᴉɥM
tile.ironchest.shulker_box.iron.orange.name=xoᗺ ɹǝʞꞁnɥS uoɹI ǝᵷuɐɹO
tile.ironchest.shulker_box.iron.magenta.name=xoᗺ ɹǝʞꞁnɥS uoɹI ɐʇuǝᵷɐW
tile.ironchest.shulker_box.iron.light_blue.name=xoᗺ ɹǝʞꞁnɥS uoɹI ǝnꞁᗺ ʇɥᵷᴉꞀ
tile.ironchest.shulker_box.iron.yellow.name=xoᗺ ɹǝʞꞁnɥS uoɹI ʍoꞁꞁǝ⅄
tile.ironchest.shulker_box.iron.lime.name=xoᗺ ɹǝʞꞁnɥS uoɹI ǝɯᴉꞀ
tile.ironchest.shulker_box.iron.pink.name=xoᗺ ɹǝʞꞁnɥS uoɹI ʞuᴉԀ
tile.ironchest.shulker_box.iron.gray.name=xoᗺ ɹǝʞꞁnɥS uoɹI ʎɐɹ⅁
tile.ironchest.shulker_box.iron.silver.name=xoᗺ ɹǝʞꞁnɥS uoɹI ɹǝʌꞁᴉS
tile.ironchest.shulker_box.iron.cyan.name=xoᗺ ɹǝʞꞁnɥS uoɹI uɐʎƆ
tile.ironchest.shulker_box.iron.purple.name=xoᗺ ɹǝʞꞁnɥS uoɹI ǝꞁdɹnԀ
tile.ironchest.shulker_box.iron.blue.name=xoᗺ ɹǝʞꞁnɥS uoɹI ǝnꞁᗺ
tile.ironchest.shulker_box.iron.brown.name=xoᗺ ɹǝʞꞁnɥS uoɹI uʍoɹᗺ
tile.ironchest.shulker_box.iron.green.name=xoᗺ ɹǝʞꞁnɥS uoɹI uǝǝɹ⅁
tile.ironchest.shulker_box.iron.red.name=xoᗺ ɹǝʞꞁnɥS uoɹI pǝᴚ
tile.ironchest.shulker_box.iron.black.name=xoᗺ ɹǝʞꞁnɥS uoɹI ʞɔɐꞁᗺ
tile.ironchest.shulker_box.gold.white.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ǝʇᴉɥM
tile.ironchest.shulker_box.gold.orange.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ǝᵷuɐɹO
tile.ironchest.shulker_box.gold.magenta.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ɐʇuǝᵷɐW
tile.ironchest.shulker_box.gold.light_blue.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ǝnꞁᗺ ʇɥᵷᴉꞀ
tile.ironchest.shulker_box.gold.yellow.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ʍoꞁꞁǝ⅄
tile.ironchest.shulker_box.gold.lime.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ǝɯᴉꞀ
tile.ironchest.shulker_box.gold.pink.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ʞuᴉԀ
tile.ironchest.shulker_box.gold.gray.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ʎɐɹ⅁
tile.ironchest.shulker_box.gold.silver.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ɹǝʌꞁᴉS
tile.ironchest.shulker_box.gold.cyan.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ uɐʎƆ
tile.ironchest.shulker_box.gold.purple.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ǝꞁdɹnԀ
tile.ironchest.shulker_box.gold.blue.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ǝnꞁᗺ
tile.ironchest.shulker_box.gold.brown.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ uʍoɹᗺ
tile.ironchest.shulker_box.gold.green.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ uǝǝɹ⅁
tile.ironchest.shulker_box.gold.red.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ pǝᴚ
tile.ironchest.shulker_box.gold.black.name=xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ʞɔɐꞁᗺ
tile.ironchest.shulker_box.diamond.white.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ǝʇᴉɥM
tile.ironchest.shulker_box.diamond.orange.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ǝᵷuɐɹO
tile.ironchest.shulker_box.diamond.magenta.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ɐʇuǝᵷɐW
tile.ironchest.shulker_box.diamond.light_blue.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ǝnꞁᗺ ʇɥᵷᴉꞀ
tile.ironchest.shulker_box.diamond.yellow.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ʍoꞁꞁǝ⅄
tile.ironchest.shulker_box.diamond.lime.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ǝɯᴉꞀ
tile.ironchest.shulker_box.diamond.pink.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ʞuᴉԀ
tile.ironchest.shulker_box.diamond.gray.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ʎɐɹ⅁
tile.ironchest.shulker_box.diamond.silver.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ɹǝʌꞁᴉS
tile.ironchest.shulker_box.diamond.cyan.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ uɐʎƆ
tile.ironchest.shulker_box.diamond.purple.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ǝꞁdɹnԀ
tile.ironchest.shulker_box.diamond.blue.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ǝnꞁᗺ
tile.ironchest.shulker_box.diamond.brown.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ uʍoɹᗺ
tile.ironchest.shulker_box.diamond.green.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ uǝǝɹ⅁
tile.ironchest.shulker_box.diamond.red.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ pǝᴚ
tile.ironchest.shulker_box.diamond.black.name=xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ʞɔɐꞁᗺ
tile.ironchest.shulker_box.copper.white.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ǝʇᴉɥM
tile.ironchest.shulker_box.copper.orange.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ǝᵷuɐɹO
tile.ironchest.shulker_box.copper.magenta.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ɐʇuǝᵷɐW
tile.ironchest.shulker_box.copper.light_blue.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ǝnꞁᗺ ʇɥᵷᴉꞀ
tile.ironchest.shulker_box.copper.yellow.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ʍoꞁꞁǝ⅄
tile.ironchest.shulker_box.copper.lime.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ǝɯᴉꞀ
tile.ironchest.shulker_box.copper.pink.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ʞuᴉԀ
tile.ironchest.shulker_box.copper.gray.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ʎɐɹ⅁
tile.ironchest.shulker_box.copper.silver.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ɹǝʌꞁᴉS
tile.ironchest.shulker_box.copper.cyan.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ uɐʎƆ
tile.ironchest.shulker_box.copper.purple.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ǝꞁdɹnԀ
tile.ironchest.shulker_box.copper.blue.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ǝnꞁᗺ
tile.ironchest.shulker_box.copper.brown.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ uʍoɹᗺ
tile.ironchest.shulker_box.copper.green.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ uǝǝɹ⅁
tile.ironchest.shulker_box.copper.red.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ pǝᴚ
tile.ironchest.shulker_box.copper.black.name=xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ʞɔɐꞁᗺ
tile.ironchest.shulker_box.silver.white.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ǝʇᴉɥM
tile.ironchest.shulker_box.silver.orange.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ǝᵷuɐɹO
tile.ironchest.shulker_box.silver.magenta.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ɐʇuǝᵷɐW
tile.ironchest.shulker_box.silver.light_blue.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ǝnꞁᗺ ʇɥᵷᴉꞀ
tile.ironchest.shulker_box.silver.yellow.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ʍoꞁꞁǝ⅄
tile.ironchest.shulker_box.silver.lime.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ǝɯᴉꞀ
tile.ironchest.shulker_box.silver.pink.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ʞuᴉԀ
tile.ironchest.shulker_box.silver.gray.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ʎɐɹ⅁
tile.ironchest.shulker_box.silver.silver.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ɹǝʌꞁᴉS
tile.ironchest.shulker_box.silver.cyan.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS uɐʎƆ
tile.ironchest.shulker_box.silver.purple.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ǝꞁdɹnԀ
tile.ironchest.shulker_box.silver.blue.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ǝnꞁᗺ
tile.ironchest.shulker_box.silver.brown.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS uʍoɹᗺ
tile.ironchest.shulker_box.silver.green.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS uǝǝɹ⅁
tile.ironchest.shulker_box.silver.red.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS pǝᴚ
tile.ironchest.shulker_box.silver.black.name=xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ʞɔɐꞁᗺ
tile.ironchest.shulker_box.crystal.white.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ǝʇᴉɥM
tile.ironchest.shulker_box.crystal.orange.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ǝᵷuɐɹO
tile.ironchest.shulker_box.crystal.magenta.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ɐʇuǝᵷɐW
tile.ironchest.shulker_box.crystal.light_blue.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ǝnꞁᗺ ʇɥᵷᴉꞀ
tile.ironchest.shulker_box.crystal.yellow.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ʍoꞁꞁǝ⅄
tile.ironchest.shulker_box.crystal.lime.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ǝɯᴉꞀ
tile.ironchest.shulker_box.crystal.pink.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ʞuᴉԀ
tile.ironchest.shulker_box.crystal.gray.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ʎɐɹ⅁
tile.ironchest.shulker_box.crystal.silver.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ɹǝʌꞁᴉS
tile.ironchest.shulker_box.crystal.cyan.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ uɐʎƆ
tile.ironchest.shulker_box.crystal.purple.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ǝꞁdɹnԀ
tile.ironchest.shulker_box.crystal.blue.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ǝnꞁᗺ
tile.ironchest.shulker_box.crystal.brown.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ uʍoɹᗺ
tile.ironchest.shulker_box.crystal.green.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ uǝǝɹ⅁
tile.ironchest.shulker_box.crystal.red.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ pǝᴚ
tile.ironchest.shulker_box.crystal.black.name=xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ʞɔɐꞁᗺ
tile.ironchest.shulker_box.obsidian.white.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ǝʇᴉɥM
tile.ironchest.shulker_box.obsidian.orange.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ǝᵷuɐɹO
tile.ironchest.shulker_box.obsidian.magenta.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ɐʇuǝᵷɐW
tile.ironchest.shulker_box.obsidian.light_blue.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ǝnꞁᗺ ʇɥᵷᴉꞀ
tile.ironchest.shulker_box.obsidian.yellow.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ʍoꞁꞁǝ⅄
tile.ironchest.shulker_box.obsidian.lime.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ǝɯᴉꞀ
tile.ironchest.shulker_box.obsidian.pink.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ʞuᴉԀ
tile.ironchest.shulker_box.obsidian.gray.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ʎɐɹ⅁
tile.ironchest.shulker_box.obsidian.silver.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ɹǝʌꞁᴉS
tile.ironchest.shulker_box.obsidian.cyan.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO uɐʎƆ
tile.ironchest.shulker_box.obsidian.purple.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ǝꞁdɹnԀ
tile.ironchest.shulker_box.obsidian.blue.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ǝnꞁᗺ
tile.ironchest.shulker_box.obsidian.brown.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO uʍoɹᗺ
tile.ironchest.shulker_box.obsidian.green.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO uǝǝɹ⅁
tile.ironchest.shulker_box.obsidian.red.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO pǝᴚ
tile.ironchest.shulker_box.obsidian.black.name=xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ʞɔɐꞁᗺ
item.ironchest.shulker_box.iron_gold.name=ǝpɐɹᵷd∩ xoᗺ ɹǝʞꞁnɥS pꞁo⅁ oʇ uoɹI
item.ironchest.shulker_box.iron_gold.tooltip=˙ǝɯɐs ǝɥʇ ʎɐʇs ꞁꞁᴉʍ xoᗺ ɹǝʞꞁnɥS ǝɥʇ ɟo ɹoꞁoɔ ǝɥ⟘\nxoᗺ ɹǝʞꞁnɥS pꞁo⅁ ɐ oʇ xoᗺ ɹǝʞꞁnɥS uoɹI ɐ ǝpɐɹᵷdn oʇ pǝs∩
item.ironchest.shulker_box.gold_diamond.name=ǝpɐɹᵷd∩ xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ oʇ pꞁo⅁
item.ironchest.shulker_box.gold_diamond.tooltip=˙ǝɯɐs ǝɥʇ ʎɐʇs ꞁꞁᴉʍ xoᗺ ɹǝʞꞁnɥS ǝɥʇ ɟo ɹoꞁoɔ ǝɥ⟘\nxoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ɐ oʇ xoᗺ ɹǝʞꞁnɥS pꞁo⅁ ɐ ǝpɐɹᵷdn oʇ pǝs∩
item.ironchest.shulker_box.copper_silver.name=ǝpɐɹᵷd∩ xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS oʇ ɹǝddoƆ
item.ironchest.shulker_box.copper_silver.tooltip=˙ǝɯɐs ǝɥʇ ʎɐʇs ꞁꞁᴉʍ xoᗺ ɹǝʞꞁnɥS ǝɥʇ ɟo ɹoꞁoɔ ǝɥ⟘\nxoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ɐ oʇ xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ɐ ǝpɐɹᵷdn oʇ pǝs∩
item.ironchest.shulker_box.silver_gold.name=ǝpɐɹᵷd∩ xoᗺ ɹǝʞꞁnɥS pꞁo⅁ oʇ ɹǝʌꞁᴉS
item.ironchest.shulker_box.silver_gold.tooltip=˙ǝɯɐs ǝɥʇ ʎɐʇs ꞁꞁᴉʍ xoᗺ ɹǝʞꞁnɥS ǝɥʇ ɟo ɹoꞁoɔ ǝɥ⟘\nxoᗺ ɹǝʞꞁnɥS pꞁo⅁ ɐ oʇ xoᗺ ɹǝʞꞁnɥS ɹǝʌꞁᴉS ɐ ǝpɐɹᵷdn oʇ pǝs∩
item.ironchest.shulker_box.copper_iron.name=ǝpɐɹᵷd∩ xoᗺ ɹǝʞꞁnɥS uoɹI oʇ ɹǝddoƆ
item.ironchest.shulker_box.copper_iron.tooltip=˙ǝɯɐs ǝɥʇ ʎɐʇs ꞁꞁᴉʍ xoᗺ ɹǝʞꞁnɥS ǝɥʇ ɟo ɹoꞁoɔ ǝɥ⟘\nxoᗺ ɹǝʞꞁnɥS uoɹI ɐ oʇ xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ɐ ǝpɐɹᵷdn oʇ pǝs∩
item.ironchest.shulker_box.diamond_crystal.name=ǝpɐɹᵷd∩ xoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ oʇ puoɯɐᴉᗡ
item.ironchest.shulker_box.diamond_crystal.tooltip=˙ǝɯɐs ǝɥʇ ʎɐʇs ꞁꞁᴉʍ xoᗺ ɹǝʞꞁnɥS ǝɥʇ ɟo ɹoꞁoɔ ǝɥ⟘\nxoᗺ ɹǝʞꞁnɥS ꞁɐʇsʎɹƆ ɐ oʇ xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ɐ ǝpɐɹᵷdn oʇ pǝs∩
item.ironchest.shulker_box.vanilla_iron.name=ǝpɐɹᵷd∩ xoᗺ ɹǝʞꞁnɥS uoɹI oʇ ɐꞁꞁᴉuɐᴧ
item.ironchest.shulker_box.vanilla_iron.tooltip=˙ǝɯɐs ǝɥʇ ʎɐʇs ꞁꞁᴉʍ xoᗺ ɹǝʞꞁnɥS ǝɥʇ ɟo ɹoꞁoɔ ǝɥ⟘\nxoᗺ ɹǝʞꞁnɥS uoɹI ɐ oʇ xoᗺ ɹǝʞꞁnɥS ɐꞁꞁᴉuɐᴧ ɐ ǝpɐɹᵷdn oʇ pǝs∩
item.ironchest.shulker_box.vanilla_copper.name=ǝpɐɹᵷd∩ xoᗺ ɹǝʞꞁnɥS ɹǝddoƆ oʇ ɐꞁꞁᴉuɐᴧ
item.ironchest.shulker_box.vanilla_copper.tooltip=˙ǝɯɐs ǝɥʇ ʎɐʇs ꞁꞁᴉʍ xoᗺ ɹǝʞꞁnɥS ǝɥʇ ɟo ɹoꞁoɔ ǝɥ⟘\nxoᗺ ɹǝʞꞁnɥS ɹǝddoƆ ɐ oʇ xoᗺ ɹǝʞꞁnɥS ɐꞁꞁᴉuɐᴧ ɐ ǝpɐɹᵷdn oʇ pǝs∩
item.ironchest.shulker_box.diamond_obsidian.name=ǝpɐɹᵷd∩ xoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO oʇ puoɯɐᴉᗡ
item.ironchest.shulker_box.diamond_obsidian.tooltip=˙ǝɯɐs ǝɥʇ ʎɐʇs ꞁꞁᴉʍ xoᗺ ɹǝʞꞁnɥS ǝɥʇ ɟo ɹoꞁoɔ ǝɥ⟘\nxoᗺ ɹǝʞꞁnɥS uɐᴉpᴉsqO ɐ oʇ xoᗺ ɹǝʞꞁnɥS puoɯɐᴉᗡ ɐ ǝpɐɹᵷdn oʇ pǝs∩
itemGroup.ironchest=sʇsǝɥƆ uoɹI

View File

@ -1,177 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Iron Chest
tile.ironchest.chest.gold.name=Gold Chest
tile.ironchest.chest.diamond.name=Diamond Chest
tile.ironchest.chest.copper.name=Copper Chest
tile.ironchest.chest.silver.name=Silver Chest
tile.ironchest.chest.crystal.name=Crystal Chest
tile.ironchest.chest.obsidian.name=Obsidian Chest
tile.ironchest.chest.dirtchest9000.name=DirtChest 9000!
item.ironchest.chest.iron_gold.name=Iron to Gold Chest Upgrade
item.ironchest.chest.gold_diamond.name=Gold to Diamond Chest Upgrade
item.ironchest.chest.copper_silver.name=Copper to Silver Chest Upgrade
item.ironchest.chest.silver_gold.name=Silver to Gold Chest Upgrade
item.ironchest.chest.copper_iron.name=Copper to Iron Chest Upgrade
item.ironchest.chest.diamond_crystal.name=Diamond to Crystal Chest Upgrade
item.ironchest.chest.wood_iron.name=Wood to Iron Chest Upgrade
item.ironchest.chest.wood_copper.name=Wood to Copper Chest Upgrade
item.ironchest.chest.diamond_obsidian.name=Diamond to Obsidian Chest Upgrade
book.ironchest.dirtchest9000.title=How to use your DirtChest 9000!
book.ironchest.dirtchest9000.page1="Welcome to your new DirtChest 9000! We hope you will enjoy many happy years of storing your stack of dirt in our storage utility."
book.ironchest.dirtchest9000.page2="Usage: simply insert the stack of dirt of your choice into the highly receptive slot and enjoy the great convenience of having that dirt available to you, any time you pass by this chest!"
book.ironchest.dirtchest9000.page3="We hope you have enjoyed reviewing this instruction manual, and hope you will consider using our products in future! Kind regards, The DirtChest 9000 manual writers incorporated."
book.ironchest.dirtchest9000.page4="Warranty: This product has no warranty of any kind. Your dirt may not be stored, it may slowly leech into the environment, or alternatively, it may not do anything at all."
book.ironchest.dirtchest9000.page5="DirtChest 9000 is kind to the environment. Please dispose of this guide book responsibly, and do not whatever you do just chuck it into some lava. We would be very sad."
#######################
# Shulker Boxes #
#######################
tile.ironchest.shulker_box.iron.white.name=White Iron Shulker Box
tile.ironchest.shulker_box.iron.orange.name=Orange Iron Shulker Box
tile.ironchest.shulker_box.iron.magenta.name=Magenta Iron Shulker Box
tile.ironchest.shulker_box.iron.light_blue.name=Light Blue Iron Shulker Box
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.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
tile.ironchest.shulker_box.iron.brown.name=Brown Iron Shulker Box
tile.ironchest.shulker_box.iron.green.name=Green Iron Shulker Box
tile.ironchest.shulker_box.iron.red.name=Red Iron Shulker Box
tile.ironchest.shulker_box.iron.black.name=Black Iron Shulker Box
tile.ironchest.shulker_box.gold.white.name=White Gold Shulker Box
tile.ironchest.shulker_box.gold.orange.name=Orange Gold Shulker Box
tile.ironchest.shulker_box.gold.magenta.name=Magenta Gold Shulker Box
tile.ironchest.shulker_box.gold.light_blue.name=Light Blue Gold Shulker Box
tile.ironchest.shulker_box.gold.yellow.name=Yellow Gold Shulker Box
tile.ironchest.shulker_box.gold.lime.name=Lime Gold Shulker Box
tile.ironchest.shulker_box.gold.pink.name=Pink Gold Shulker Box
tile.ironchest.shulker_box.gold.gray.name=Gray Gold Shulker Box
tile.ironchest.shulker_box.gold.silver.name=Silver Gold Shulker Box
tile.ironchest.shulker_box.gold.cyan.name=Cyan Gold Shulker Box
tile.ironchest.shulker_box.gold.purple.name=Purple Gold Shulker Box
tile.ironchest.shulker_box.gold.blue.name=Blue Gold Shulker Box
tile.ironchest.shulker_box.gold.brown.name=Brown Gold Shulker Box
tile.ironchest.shulker_box.gold.green.name=Green Gold Shulker Box
tile.ironchest.shulker_box.gold.red.name=Red Gold Shulker Box
tile.ironchest.shulker_box.gold.black.name=Black Gold Shulker Box
tile.ironchest.shulker_box.diamond.white.name=White Diamond Shulker Box
tile.ironchest.shulker_box.diamond.orange.name=Orange Diamond Shulker Box
tile.ironchest.shulker_box.diamond.magenta.name=Magenta Diamond Shulker Box
tile.ironchest.shulker_box.diamond.light_blue.name=Light Blue Diamond Shulker Box
tile.ironchest.shulker_box.diamond.yellow.name=Yellow Diamond Shulker Box
tile.ironchest.shulker_box.diamond.lime.name=Lime Diamond Shulker Box
tile.ironchest.shulker_box.diamond.pink.name=Pink Diamond Shulker Box
tile.ironchest.shulker_box.diamond.gray.name=Gray Diamond Shulker Box
tile.ironchest.shulker_box.diamond.silver.name=Silver Diamond Shulker Box
tile.ironchest.shulker_box.diamond.cyan.name=Cyan Diamond Shulker Box
tile.ironchest.shulker_box.diamond.purple.name=Purple Diamond Shulker Box
tile.ironchest.shulker_box.diamond.blue.name=Blue Diamond Shulker Box
tile.ironchest.shulker_box.diamond.brown.name=Brown Diamond Shulker Box
tile.ironchest.shulker_box.diamond.green.name=Green Diamond Shulker Box
tile.ironchest.shulker_box.diamond.red.name=Red Diamond Shulker Box
tile.ironchest.shulker_box.diamond.black.name=Black Diamond Shulker Box
tile.ironchest.shulker_box.copper.white.name=White Copper Shulker Box
tile.ironchest.shulker_box.copper.orange.name=Orange Copper Shulker Box
tile.ironchest.shulker_box.copper.magenta.name=Magenta Copper Shulker Box
tile.ironchest.shulker_box.copper.light_blue.name=Light Blue Copper Shulker Box
tile.ironchest.shulker_box.copper.yellow.name=Yellow Copper Shulker Box
tile.ironchest.shulker_box.copper.lime.name=Lime Copper Shulker Box
tile.ironchest.shulker_box.copper.pink.name=Pink Copper Shulker Box
tile.ironchest.shulker_box.copper.gray.name=Gray Copper Shulker Box
tile.ironchest.shulker_box.copper.silver.name=Silver Copper Shulker Box
tile.ironchest.shulker_box.copper.cyan.name=Cyan Copper Shulker Box
tile.ironchest.shulker_box.copper.purple.name=Purple Copper Shulker Box
tile.ironchest.shulker_box.copper.blue.name=Blue Copper Shulker Box
tile.ironchest.shulker_box.copper.brown.name=Brown Copper Shulker Box
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 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=Silver 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
tile.ironchest.shulker_box.crystal.magenta.name=Magenta Crystal Shulker Box
tile.ironchest.shulker_box.crystal.light_blue.name=Light Blue Crystal Shulker Box
tile.ironchest.shulker_box.crystal.yellow.name=Yellow Crystal Shulker Box
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=Silver Crystal Shulker 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
tile.ironchest.shulker_box.crystal.green.name=Green Crystal Shulker Box
tile.ironchest.shulker_box.crystal.red.name=Red Crystal Shulker Box
tile.ironchest.shulker_box.crystal.black.name=Black Crystal Shulker Box
tile.ironchest.shulker_box.obsidian.white.name=White Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.orange.name=Orange Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.magenta.name=Magenta Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.light_blue.name=Light Blue Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.yellow.name=Yellow Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.lime.name=Lime Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.pink.name=Pink Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.gray.name=Gray Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.silver.name=Silver Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.cyan.name=Cyan Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.purple.name=Purple Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.blue.name=Blue Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.brown.name=Brown Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.green.name=Green Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.red.name=Red Obsidian Shulker Box
tile.ironchest.shulker_box.obsidian.black.name=Black Obsidian Shulker Box
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 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
item.ironchest.shulker_box.diamond_crystal.tooltip=Used to upgrade a Diamond Shulker Box to a Crystal Shulker Box\nThe color of the Shulker Box will stay the same.
item.ironchest.shulker_box.vanilla_iron.name=Vanilla to Iron Shulker Box Upgrade
item.ironchest.shulker_box.vanilla_iron.tooltip=Used to upgrade a Vanilla Shulker Box to a Iron Shulker Box\nThe color of the Shulker Box will stay the same.
item.ironchest.shulker_box.vanilla_copper.name=Vanilla to Copper Shulker Box Upgrade
item.ironchest.shulker_box.vanilla_copper.tooltip=Used to upgrade a Vanilla Shulker Box to a Copper Shulker Box\nThe color of the Shulker Box will stay the same.
item.ironchest.shulker_box.diamond_obsidian.name=Diamond to Obsidian Shulker Box Upgrade
item.ironchest.shulker_box.diamond_obsidian.tooltip=Used to upgrade a Diamond Shulker Box to a Obsidian Shulker Box\nThe color of the Shulker Box will stay the same.
##############
# GUIs #
##############
itemGroup.ironchest=Iron Chests

View File

@ -1,21 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Cofre de Hierro
tile.ironchest.chest.gold.name=Cofre de Oro
tile.ironchest.chest.diamond.name=Cofre de Diamante
tile.ironchest.chest.copper.name=Cofre de Cobre
tile.ironchest.chest.silver.name=Cofre de Plata
tile.ironchest.chest.crystal.name=Cofre de Cristal
tile.ironchest.chest.obsidian.name=Cofre de Obsidiana
item.ironchest.chest.iron_gold.name=Mejora de Cofre de Hierro a Oro
item.ironchest.chest.gold_diamond.name=Mejora de Cofre de Oro a Diamante
item.ironchest.chest.copper_silver.name=Mejora de Cofre de Cobre a Plata
item.ironchest.chest.silver_gold.name=Mejora de Cofre de Plata a Oro
item.ironchest.chest.copper_iron.name=Mejora de Cofre de Cobre a Hierro
item.ironchest.chest.diamond_crystal.name=Mejora de Cofre de Diamante a Cristal
item.ironchest.chest.wood_iron.name=Mejora de Cofre de Madera a Hierro
item.ironchest.chest.wood_copper.name=Mejora de Cofre de Madera a Cobre
item.ironchest.chest.diamond_obsidian.name=Mejora de Cofre de Diamante a Obsidiana

View File

@ -1,22 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Raudkirst
tile.ironchest.chest.gold.name=Kuldkirst
tile.ironchest.chest.diamond.name=Teemantkirst
tile.ironchest.chest.copper.name=Vaskkirst
tile.ironchest.chest.silver.name=Hõbekirst
tile.ironchest.chest.crystal.name=Kristallkirst
tile.ironchest.chest.obsidian.name=Obsidiaankirst
tile.ironchest.chest.dirtchest9000.name=Muldkirst 9000!
item.ironchest.chest.iron_gold.name=Raudkirst kuld kirstuks
item.ironchest.chest.gold_diamond.name=Kuldkirst teemandist kirstuks
item.ironchest.chest.copper_silver.name=Vaskkirst hõbedast kirstuks
item.ironchest.chest.silver_gold.name=Hõbekirst kullast kirstuks
item.ironchest.chest.copper_iron.name=Vaskkirst rauast kirstuks
item.ironchest.chest.diamond_crystal.name=Teemantkirst kristallist kirstuks
item.ironchest.chest.wood_iron.name=Puukirst rauast kirstuks
item.ironchest.chest.wood_copper.name=Puukirst vasest kirstuks
item.ironchest.chest.diamond_obsidian.name=Teemantkirst obsidiaanist kirstuks

View File

@ -1,29 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Coffre en fer
tile.ironchest.chest.gold.name=Coffre en or
tile.ironchest.chest.diamond.name=Coffre en diamant
tile.ironchest.chest.copper.name=Coffre en cuivre
tile.ironchest.chest.silver.name=Coffre en argent
tile.ironchest.chest.crystal.name=Coffre en cristal
tile.ironchest.chest.obsidian.name=Coffre en obsidienne
tile.ironchest.chest.dirtchest9000.name=DirtChest 9000 !
item.ironchest.chest.iron_gold.name=Upgrade de coffre en fer à l'or
item.ironchest.chest.gold_diamond.name=Upgrade de coffre en or au diamant
item.ironchest.chest.copper_silver.name=Upgrade de coffre en cuivre à l'argent
item.ironchest.chest.silver_gold.name=Upgrade de coffre en argent à l'or
item.ironchest.chest.copper_iron.name=Upgrade de coffre en cuivre au fer
item.ironchest.chest.diamond_crystal.name=Upgrade de coffre en diamant au cristal
item.ironchest.chest.wood_iron.name=Upgrade de coffre en bois au fer
item.ironchest.chest.wood_copper.name=Upgrade de coffre en bois au cuivre
item.ironchest.chest.diamond_obsidian.name=Upgrade de coffre en diamant à l'obsidienne
book.ironchest.dirtchest9000.title=Comment utiliser votre DirtChest 9000 !
book.ironchest.dirtchest9000.page1=Bienvenue à votre nouveau DirtChest 9000 ! Nous espérons que vous apprécierez les innombrables années heureuses à emmagasiner votre stack de terre dans notre utilitaire de stockage.
book.ironchest.dirtchest9000.page2=Utilisation : insérez tout simplement le stack de terre de votre choix dans la case hautement réceptive et appréciez l'immense commodité d'avoir cette terre disponible à portée de la main, à tout moment où vous passez devant ce coffre !
book.ironchest.dirtchest9000.page3=Nous espérons que vous avez apprécié faire la critique de ce manuel d'instruction, et espérons que vous allez considérer utiliser nos produits dans le futur ! Nos meilleures salutations, les rédacteurs du manuel DirtChest 9000 inc.
book.ironchest.dirtchest9000.page4=Garantie : ce produit n'a aucune garantie quelconque. Votre terre peut ne pas être stockée, elle peut se fondre lentement dans l'environnement, ou encore, elle peut ne rien faire du tout.
book.ironchest.dirtchest9000.page5=DirtChest 9000 respecte l'environnement. Veuillez disposer de ce guide de manière responsable, et quoique vous fassiez, ne le balancez juste pas dans de la lave. Nous en serions attristés.

View File

@ -1,21 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Coffre en Fer
tile.ironchest.chest.gold.name=Coffre en Or
tile.ironchest.chest.diamond.name=Coffre en Diamant
tile.ironchest.chest.copper.name=Coffre en Cuivre
tile.ironchest.chest.silver.name=Coffre en Argent
tile.ironchest.chest.crystal.name=Coffre en Cristal
tile.ironchest.chest.obsidian.name=Coffre en Obsidienne
item.ironchest.chest.iron_gold.name=Amélioration de coffre en fer à or
item.ironchest.chest.gold_diamond.name=Amélioration de coffre en or à diamant
item.ironchest.chest.copper_silver.name=Amélioration de coffre en cuivre à argent
item.ironchest.chest.silver_gold.name=Amélioration de coffre en argent à or
item.ironchest.chest.copper_iron.name=Amélioration de coffre en cuivre à fer
item.ironchest.chest.diamond_crystal.name=Amélioration de coffre en diamant à crital
item.ironchest.chest.wood_iron.name=Amélioration de coffre en bois à fer
item.ironchest.chest.wood_copper.name=Amélioration de coffre en bois à cuivre
item.ironchest.chest.diamond_obsidian.name=Amélioration de coffre en diamant à obsidienne

View File

@ -1,29 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Vas láda
tile.ironchest.chest.gold.name=Arany láda
tile.ironchest.chest.diamond.name=Gyémánt láda
tile.ironchest.chest.copper.name=Réz láda
tile.ironchest.chest.silver.name=Ezüst láda
tile.ironchest.chest.crystal.name=Kristály láda
tile.ironchest.chest.obsidian.name=Obszidián láda
tile.ironchest.chest.dirtchest9000.name=DirtChest 9000!
item.ironchest.chest.iron_gold.name=Vasról arany ládára bővítő
item.ironchest.chest.gold_diamond.name=Aranyról gyémánt ládára bővítő
item.ironchest.chest.copper_silver.name=Rézről ezüst ládára bővítő
item.ironchest.chest.silver_gold.name=Ezüstről arany ládára bővítő
item.ironchest.chest.copper_iron.name=Részről vas ládára bővítő
item.ironchest.chest.diamond_crystal.name=Gyémántról kristály ládára bővítő
item.ironchest.chest.wood_iron.name=Normálról (fa) vas ládára bővítő
item.ironchest.chest.wood_copper.name=Normálról (fa) réz ládára bővítő
item.ironchest.chest.diamond_obsidian.name=Gyémántról obszidián ládára bővítő
book.ironchest.dirtchest9000.title=Hogyan használd a DirtChest 9000-et!
book.ironchest.dirtchest9000.page1=Üdvözöl az új DirtChest 9000! Reméljük sok boldog évig élvezni fogod egy halom föld tárólásának eme vadiúj módját.
book.ironchest.dirtchest9000.page2=Használat: egyszerűen pakolj bele egy halom földet eme különlegesen érzékeny tárolóegységbe és élvezd a kényelmet, hogy egy halom föld mindig rendelkezésedre fog állni, bármikor nyitod is ki ezt a ládát.
book.ironchest.dirtchest9000.page3=Reméljük, hogy élvezted eme kézikönyv olvasgatását, és megfontolod más termékünk használatát is a jövöben. Üdvözlettel: A DirtChest 9000 kézikönyv írói.
book.ironchest.dirtchest9000.page4=Garancia: Ez a termék nem rendelkezik semmiféle garanciával. A belepakolt föld lehet, hogy nem is kerül tárolásra, elszivárog a környezetbe, vagy az is lehetséges hogy nem történik vele semmi.
book.ironchest.dirtchest9000.page5=A DirtChest 9000 környezetbarát termék. Kérjül fokozottan ügyelj erre a kézikönyv megsemmisitésekor, és semmiképpen se dobd lávába. Akkor ugyanis nagyon szomorúak leszünk.

View File

@ -1,29 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Baule di ferro
tile.ironchest.chest.gold.name=Baule d'oro
tile.ironchest.chest.diamond.name=Baule di diamante
tile.ironchest.chest.copper.name=Baule di rame
tile.ironchest.chest.silver.name=Baule d'argento
tile.ironchest.chest.crystal.name=Baule di cristallo
tile.ironchest.chest.obsidian.name=Baule di ossidiana
tile.ironchest.chest.dirtchest9000.name=DirtChest 9000!
item.ironchest.chest.iron_gold.name=Potenziamento da ferro a oro
item.ironchest.chest.gold_diamond.name=Potenziamento da oro a diamante
item.ironchest.chest.copper_silver.name=Potenziamento da rame a argento
item.ironchest.chest.silver_gold.name=Potenziamento da argento a oro
item.ironchest.chest.copper_iron.name=Potenziamento da rame a ferro
item.ironchest.chest.diamond_crystal.name=Potenziamento da diamante a cristallo
item.ironchest.chest.wood_iron.name=Potenziamento da legno a ferro
item.ironchest.chest.wood_copper.name=Potenziamento da legno a rame
item.ironchest.chest.diamond_obsidian.name=Potenziamento da diamante a ossidiana
book.ironchest.dirtchest9000.title=Come usare la tua DirtChest 9000!
book.ironchest.dirtchest9000.page1=Benvenuto alla tua nuova DirtChest 9000! Speriamo che possiate godere di molti anni felici in cui imagazzinate grandi quantità di terra nei nostri contenitori.
book.ironchest.dirtchest9000.page2=Uso: inserisci uno stack di terra nello slot e goditi la grande convenienza di avere della terra a tua disposizione ogni volta che passi vicino alla cassa!
book.ironchest.dirtchest9000.page3=Speriamo che questo manuale vi sia stato utile, e speriamo che prenderete in considerazione usare i nostri prodotti in futuro ! I migliori saluti, i scrittori del manuale per la DirtChest 9000.
book.ironchest.dirtchest9000.page4=Garanzia: Questo prodotto non ha nessuna garanzia di alcun tipo. La tua terra potrebbe non essere imagazzinata, potrebbe lentamente fuoriuscire nell'ambiente, oppure, non farà niente.
book.ironchest.dirtchest9000.page5=La DirtChest 9000 è amico dell'ambiente. Per favore conservate questo libro in un modo responsabile, e non buttatelo nella lava come un oggetto qualsiasi. Saremmo veramente tristi.

View File

@ -1,177 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=鉄のチェスト
tile.ironchest.chest.gold.name=金のチェスト
tile.ironchest.chest.diamond.name=ダイヤのチェスト
tile.ironchest.chest.copper.name=銅のチェスト
tile.ironchest.chest.silver.name=銀のチェスト
tile.ironchest.chest.crystal.name=クリスタルチェスト
tile.ironchest.chest.obsidian.name=黒曜石のチェスト
tile.ironchest.chest.dirtchest9000.name=ダートチェスト9000!
item.ironchest.chest.iron_gold.name=鉄から金のチェストにアップグレード
item.ironchest.chest.gold_diamond.name=金からダイヤのチェストにアップグレード
item.ironchest.chest.copper_silver.name=銅から銀のチェストにアップグレード
item.ironchest.chest.silver_gold.name=銀から金のチェストにアップグレード
item.ironchest.chest.copper_iron.name=銅から鉄のチェストにアップグレード
item.ironchest.chest.diamond_crystal.name=ダイヤからクリスタルチェストにアップグレード
item.ironchest.chest.wood_iron.name=通常から鉄のチェストにアップグレード
item.ironchest.chest.wood_copper.name=通常から銅のチェストにアップグレード
item.ironchest.chest.diamond_obsidian.name=ダイヤから黒曜石のチェストにアップグレード
book.ironchest.dirtchest9000.title=ダートチェスト9000!使用法
book.ironchest.dirtchest9000.page1="ダートチェスト9000! にようこそ。我々はこれに土を格納して、あなたが楽しい日々を送ることを願っています。"
book.ironchest.dirtchest9000.page2="使い方: お好きな土を格納して下さい。これでこのチェストのそばを通るといつでも土の温もりを感じることができます。"
book.ironchest.dirtchest9000.page3="この取扱説明書を読んで楽しんでくれると幸いです。将来的にはこのチェストが正式に採用されることを期待しています。敬具。 ダートチェスト9000! 取扱説明書著者より。"
book.ironchest.dirtchest9000.page4="保証について: 本製品はいかなる保証も致しません。土は正しく保管されないかもしれませんし、少しずつ自然に帰っていくかもしれません。逆に、何も起こらないかもしれません。"
book.ironchest.dirtchest9000.page5="ダートチェスト9000! は環境に配慮しています。責任を持ってこの取扱説明書を廃棄して下さい。溶岩の中に投げ込むなんてことはお止め下さい。とても悲しくなってしまいます。"
#######################
# Shulker Boxes #
#######################
tile.ironchest.shulker_box.iron.white.name=白色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.orange.name=橙色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.magenta.name=赤紫色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.light_blue.name=空色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.yellow.name=黄色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.lime.name=黄緑色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.pink.name=桃色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.gray.name=灰色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.silver.name=薄灰色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.cyan.name=青緑色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.purple.name=紫色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.blue.name=青色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.brown.name=茶色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.green.name=緑色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.red.name=赤色の鉄のシュルカーボックス
tile.ironchest.shulker_box.iron.black.name=黒色の鉄のシュルカーボックス
tile.ironchest.shulker_box.gold.white.name=白色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.orange.name=橙色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.magenta.name=赤紫色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.light_blue.name=空色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.yellow.name=黄色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.lime.name=黄緑色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.pink.name=桃色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.gray.name=灰色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.silver.name=薄灰色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.cyan.name=青緑色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.purple.name=紫色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.blue.name=青色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.brown.name=茶色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.green.name=緑色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.red.name=赤色の金のシュルカーボックス
tile.ironchest.shulker_box.gold.black.name=黒色の金のシュルカーボックス
tile.ironchest.shulker_box.diamond.white.name=白色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.orange.name=橙色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.magenta.name=赤紫色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.light_blue.name=空色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.yellow.name=黄色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.lime.name=黄緑色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.pink.name=桃色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.gray.name=灰色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.silver.name=薄灰色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.cyan.name=青緑色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.purple.name=紫色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.blue.name=青色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.brown.name=茶色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.green.name=緑色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.red.name=赤色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.diamond.black.name=黒色のダイヤのシュルカーボックス
tile.ironchest.shulker_box.copper.white.name=白色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.orange.name=橙色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.magenta.name=赤紫色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.light_blue.name=空色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.yellow.name=黄色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.lime.name=黄緑色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.pink.name=桃色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.gray.name=灰色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.silver.name=薄灰色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.cyan.name=青緑色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.purple.name=紫色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.blue.name=青色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.brown.name=茶色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.green.name=緑色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.red.name=赤色の銅のシュルカーボックス
tile.ironchest.shulker_box.copper.black.name=黒色の銅のシュルカーボックス
tile.ironchest.shulker_box.silver.white.name=白色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.orange.name=橙色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.magenta.name=赤紫色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.light_blue.name=空色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.yellow.name=黄色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.lime.name=黄緑色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.pink.name=桃色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.gray.name=灰色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.silver.name=薄灰色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.cyan.name=青緑色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.purple.name=紫色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.blue.name=青色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.brown.name=茶色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.green.name=緑色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.red.name=赤色の銀のシュルカーボックス
tile.ironchest.shulker_box.silver.black.name=黒色の銀のシュルカーボックス
tile.ironchest.shulker_box.crystal.white.name=白色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.orange.name=橙色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.magenta.name=赤紫色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.light_blue.name=空色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.yellow.name=黄色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.lime.name=黄緑色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.pink.name=桃色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.gray.name=灰色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.silver.name=薄灰色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.cyan.name=青緑色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.purple.name=紫色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.blue.name=青色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.brown.name=茶色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.green.name=緑色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.red.name=赤色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.crystal.black.name=黒色のクリスタルシュルカーボックス
tile.ironchest.shulker_box.obsidian.white.name=白色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.orange.name=橙色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.magenta.name=赤紫色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.light_blue.name=空色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.yellow.name=黄色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.lime.name=黄緑色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.pink.name=桃色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.gray.name=灰色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.silver.name=薄灰色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.cyan.name=青緑色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.purple.name=紫色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.blue.name=青色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.brown.name=茶色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.green.name=緑色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.red.name=赤色の黒曜石のシュルカーボックス
tile.ironchest.shulker_box.obsidian.black.name=黒色の黒曜石のシュルカーボックス
item.ironchest.shulker_box.iron_gold.name=鉄から金のシュルカーボックスにアップグレード
item.ironchest.shulker_box.iron_gold.tooltip=鉄から金のシュルカーボックスにアップグレードする際に使用。\nシュルカーボックスの色は変わりません。
item.ironchest.shulker_box.gold_diamond.name=金からダイヤのシュルカーボックスにアップグレード
item.ironchest.shulker_box.gold_diamond.tooltip=金からダイヤのシュルカーボックスアップグレードする際に使用。\nシュルカーボックスの色は変わりません。
item.ironchest.shulker_box.copper_silver.name=銅から銀のシュルカーボックスにアップグレード
item.ironchest.shulker_box.copper_silver.tooltip=銅から銀のシュルカーボックスにアップグレードする際に使用。\nシュルカーボックスの色は変わりません。
item.ironchest.shulker_box.silver_gold.name=銀から金のシュルカーボックスにアップグレード
item.ironchest.shulker_box.silver_gold.tooltip=銀から金のシュルカーボックスにアップグレードする際に使用。\nシュルカーボックスの色は変わりません。
item.ironchest.shulker_box.copper_iron.name=銅から鉄のシュルカーボックスにアップグレード
item.ironchest.shulker_box.copper_iron.tooltip=銅から鉄のシュルカーボックスにアップグレードする際に使用。\nシュルカーボックスの色は変わりません。
item.ironchest.shulker_box.diamond_crystal.name=ダイヤからクリスタルシュルカーボックスにアップグレード
item.ironchest.shulker_box.diamond_crystal.tooltip=ダイヤからクリスタルシュルカーボックスにアップグレードする際に使用。\nシュルカーボックスの色は変わりません。
item.ironchest.shulker_box.vanilla_iron.name=通常から鉄のシュルカーボックスにアップグレード
item.ironchest.shulker_box.vanilla_iron.tooltip=通常から鉄のシュルカーボックスにアップグレードする際に使用。\nシュルカーボックスの色は変わりません。
item.ironchest.shulker_box.vanilla_copper.name=通常から銅のシュルカーボックスにアップグレード
item.ironchest.shulker_box.vanilla_copper.tooltip=通常から銅のシュルカーボックスにアップグレードする際に使用。\nシュルカーボックスの色は変わりません。
item.ironchest.shulker_box.diamond_obsidian.name=ダイヤから黒曜石のシュルカーボックスにアップグレード
item.ironchest.shulker_box.diamond_obsidian.tooltip=ダイヤから黒曜石のシュルカーボックスにアップグレードする際に使用。\nシュルカーボックスの色は変わりません。
##############
# GUIs #
##############
itemGroup.ironchest=Iron Chests

View File

@ -1,29 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=철 상자
tile.ironchest.chest.gold.name=금 상자
tile.ironchest.chest.diamond.name=다이아몬드 상자
tile.ironchest.chest.copper.name=구리 상자
tile.ironchest.chest.silver.name=은 상자
tile.ironchest.chest.crystal.name=수정 상자
tile.ironchest.chest.obsidian.name=흑요석 상자
tile.ironchest.chest.dirtchest9000.name=흙 상자 9000!
item.ironchest.chest.iron_gold.name=철 상자를 금 상자로 업그레이드
item.ironchest.chest.gold_diamond.name=금 상자를 다이아몬드 상자로 업그레이드
item.ironchest.chest.copper_silver.name=구리 상자를 은 상자로 업그레이드
item.ironchest.chest.silver_gold.name=은 상자를 금 상자로 업그레이드
item.ironchest.chest.copper_iron.name=구리 상자를 철 상자로 업그레이드
item.ironchest.chest.diamond_crystal.name=다이아몬드 상자를 수정 상자로 업그레이드
item.ironchest.chest.wood_iron.name=나무 상자를 철 상자로 업그레이드
item.ironchest.chest.wood_copper.name=나무 상자를 구리 상자로 업그레이드
item.ironchest.chest.diamond_obsidian.name=다이아몬드 상자를 흑요석 상자로 업그레이드
book.ironchest.dirtchest9000.title=흙 상자 9000을 사용하는 방법!
book.ironchest.dirtchest9000.page1=새로운 흙 상자 9000을 사용하게 되신 것을 환영합니다! 우리는 당신이 이 저장 도구에서 흙들을 많은 해 동안 행복하게 저장하기를 기원합니다.
사용법: 단순히 흙 뭉치들을 아이템 슬롯에 넣고 이 상자를 지나갈 때마다 언제나 당신에게 제공되어지는 흙들의 편리함을 누리세요!
book.ironchest.dirtchest9000.page3=우리는 당신이 이 사용설명서를 즐겁게 읽었고, 나중에 이 제품을 사용하기를 바랍니다! 흙 상자 9000 매뉴얼
book.ironchest.dirtchest9000.page4=주의: 이 제품에는 어떤 종류의 보증도 하지 않습니다 당신의 흙들은 저장되지 않을 수도 있습니다. 그러면 이 흙 상자는 천천히 환경 속으로 돌아가거나, 혹은 아무것도 하지 않을 것입니다.
book.ironchest.dirtchest9000.page5=흙 상자 9000은 환경 친화적입니다. 가이드북의 처분에는 책임이 따릅니다, 그러니 어떠한 경우라도 용암에 버리지 마세요. 우리는 매우 슬플 것입니다.

View File

@ -1,177 +0,0 @@
###############
# Lādes #
###############
tile.ironchest.chest.iron.name=Dzels Lāde
tile.ironchest.chest.gold.name=Zelta Lāde
tile.ironchest.chest.diamond.name=Dimanta Lāde
tile.ironchest.chest.copper.name=Vara Lāde
tile.ironchest.chest.silver.name=Sudraba Lāde
tile.ironchest.chest.crystal.name=Kristāla Lāde
tile.ironchest.chest.obsidian.name=Obsidiāna Lāde
tile.ironchest.chest.dirtchest9000.name=ZemesLāde 9000!
item.ironchest.chest.iron_gold.name=Dzels uz Zelta Lādes Uzlabojums
item.ironchest.chest.gold_diamond.name=Zelta uz Dimanta Lādes Uzlabojums
item.ironchest.chest.copper_silver.name=Vara uz Sudraba Lādes Uzlabojums
item.ironchest.chest.silver_gold.name=Sudraba uz Zelta Lādes Uzlabojums
item.ironchest.chest.copper_iron.name=Vara uz Dzels Lādes Uzlabojums
item.ironchest.chest.diamond_crystal.name=Dimanta uz Kristāla Lādes Uzlabojums
item.ironchest.chest.wood_iron.name=Wood uz Dzels Lādes Uzlabojums
item.ironchest.chest.wood_copper.name=Wood uz Vara Lādes Uzlabojums
item.ironchest.chest.diamond_obsidian.name=Dimanta uz Obsidiāna Lādes Uzlabojums
book.ironchest.dirtchest9000.title=Kā izmantot savu ZemesLādi 9000!
book.ironchest.dirtchest9000.page1="Sveicināti savā jaunajā ZemesLādē 9000! Mēs ceram ka Jūs izbaudīsiem daudzus laimīgus gadus glabājot savu zemes kaudzi šajā glabātuvē."
book.ironchest.dirtchest9000.page2="Lietošanas instrukcija: vienkārši ielieciet zemes kaudzi pēc savas izvēles šajā ļoti izstrādātajā vietnē un izbaudiet izdevību katru reizi ejot garām šai lādei, izņemt un ielikt Jūsu zemi!"
book.ironchest.dirtchest9000.page3="Mēs ceram ka Jūs izbaudījāt lasīt šo instrukciju, un ceram ka apsvērsiet citus mūsu produktus tuvākajā nākotnē! Mīļi sveicieni no ZemesLāde 9000 instrukcijas rakstītājiem."
book.ironchest.dirtchest9000.page4="Garantija: Šim produktam nav garantijas. Jūsu zeme var netikt noglabāta, tā var mazliet izbirt un piesārņot vidi, vai alternatīvi, var vispār nekas nenotikt."
book.ironchest.dirtchest9000.page5="ZemesLāde 9000 rūpējas par vidi. Lūdzu atbrīvojaties no šīs grāmatas atbildīgi, un dariet visu atskaitot iemest to lavā. Mēs būtu ļoti bēdīgi par to."
########################
# Šulkera Kastes #
########################
tile.ironchest.shulker_box.iron.white.name=Balta Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.orange.name=Oranža Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.magenta.name=Purpura Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.light_blue.name=Gaiši Zila Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.yellow.name=Dzeltena Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.lime.name=Laima Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.pink.name=Rozā Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.gray.name=Pelēka Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.silver.name=Gaiši pelēka Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.cyan.name=Zilganzaļa Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.purple.name=Violeta Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.blue.name=Zila Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.brown.name=Brūna Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.green.name=Zaļa Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.red.name=Sarkana Dzels Šulkera Kaste
tile.ironchest.shulker_box.iron.black.name=Melna Dzels Šulkera Kaste
tile.ironchest.shulker_box.gold.white.name=Balta Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.orange.name=Oranža Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.magenta.name=Purpura Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.light_blue.name=Gaiši Zila Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.yellow.name=Dzeltena Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.lime.name=Laima Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.pink.name=Rozā Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.gray.name=Pelēka Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.silver.name=Gaiši pelēka Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.cyan.name=Zilganzaļa Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.purple.name=Violeta Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.blue.name=Zila Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.brown.name=Brūna Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.green.name=Zaļa Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.red.name=Sarkana Zelta Šulkera Kaste
tile.ironchest.shulker_box.gold.black.name=Melna Zelta Šulkera Kaste
tile.ironchest.shulker_box.diamond.white.name=Balta Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.orange.name=Oranža Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.magenta.name=Purpura Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.light_blue.name=Gaiši Zila Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.yellow.name=Dzeltena Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.lime.name=Laima Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.pink.name=Rozā Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.gray.name=Pelēka Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.silver.name=Gaiši pelēka Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.cyan.name=Zilganzaļa Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.purple.name=Violeta Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.blue.name=Zila Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.brown.name=Brūna Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.green.name=Zaļa Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.red.name=Sarkana Dimanta Šulkera Kaste
tile.ironchest.shulker_box.diamond.black.name=Melna Dimanta Šulkera Kaste
tile.ironchest.shulker_box.copper.white.name=Balta Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.orange.name=Oranža Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.magenta.name=Purpura Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.light_blue.name=Gaiši Zila Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.yellow.name=Dzeltena Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.lime.name=Laima Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.pink.name=Rozā Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.gray.name=Pelēka Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.silver.name=Gaiši pelēka Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.cyan.name=Zilganzaļa Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.purple.name=Violeta Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.blue.name=Zila Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.brown.name=Brūna Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.green.name=Zaļa Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.red.name=Sarkana Vara Šulkera Kaste
tile.ironchest.shulker_box.copper.black.name=Melna Vara Šulkera Kaste
tile.ironchest.shulker_box.silver.white.name=Balta Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.orange.name=Oranža Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.magenta.name=Purpura Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.light_blue.name=Gaiši Zila Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.yellow.name=Dzeltena Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.lime.name=Laima Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.pink.name=Rozā Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.gray.name=Pelēka Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.silver.name=Gaiši pelēka Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.cyan.name=Zilganzaļa Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.purple.name=Violeta Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.blue.name=Zila Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.brown.name=Brūna Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.green.name=Zaļa Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.red.name=Sarkana Sudraba Šulkera Kaste
tile.ironchest.shulker_box.silver.black.name=Melna Sudraba Šulkera Kaste
tile.ironchest.shulker_box.crystal.white.name=Balta Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.orange.name=Oranža Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.magenta.name=Purpura Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.light_blue.name=Gaiši Zila Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.yellow.name=Dzeltena Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.lime.name=Laima Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.pink.name=Rozā Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.gray.name=Pelēka Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.silver.name=Gaiši pelēka Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.cyan.name=Zilganzaļa Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.purple.name=Violeta Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.blue.name=Zila Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.brown.name=Brūna Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.green.name=Zaļa Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.red.name=Sarkana Kristāla Šulkera Kaste
tile.ironchest.shulker_box.crystal.black.name=Melna Kristāla Šulkera Kaste
tile.ironchest.shulker_box.obsidian.white.name=Balta Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.orange.name=Oranža Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.magenta.name=Purpura Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.light_blue.name=Gaiši Zila Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.yellow.name=Dzeltena Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.lime.name=Laima Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.pink.name=Rozā Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.gray.name=Pelēka Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.silver.name=Gaiši pelēka Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.cyan.name=Zilganzaļa Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.purple.name=Violeta Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.blue.name=Zila Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.brown.name=Brūna Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.green.name=Zaļa Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.red.name=Sarkana Obsidiāna Šulkera Kaste
tile.ironchest.shulker_box.obsidian.black.name=Melna Obsidiāna Šulkera Kaste
item.ironchest.shulker_box.iron_gold.name=Dzels uz Zelta Šulkera Kastes Uzlabojums
item.ironchest.shulker_box.iron_gold.tooltip=Pārvērš Dzels Šulkera Kasti uz Zelta Šulkera Kasti\nTavas Šulkera Kastes krāsa paliks tāda pati.
item.ironchest.shulker_box.gold_diamond.name=Zelta uz Dimanta Šulkera Kastes Uzlabojums
item.ironchest.shulker_box.gold_diamond.tooltip=Pārvērš Zelta Šulkera Kasti uz Dimanta Šulkera Kasti\nTavas Šulkera Kastes krāsa paliks tāda pati.
item.ironchest.shulker_box.copper_silver.name=Vara uz Sudraba Šulkera Kastes Uzlabojums
item.ironchest.shulker_box.copper_silver.tooltip=Pārvērš Vara Šulkera Kasti uz Sudraba Šulkera Kasti\nTavas Šulkera Kastes krāsa paliks tāda pati.
item.ironchest.shulker_box.silver_gold.name=Sudraba uz Zelta Šulkera Kastes Uzlabojums
item.ironchest.shulker_box.silver_gold.tooltip=Pārvērš Sudraba Šulkera Kasti uz Zelta Šulkera Kasti\nTavas Šulkera Kastes krāsa paliks tāda pati.
item.ironchest.shulker_box.copper_iron.name=Vara uz Dzels Šulkera Kastes Uzlabojums
item.ironchest.shulker_box.copper_iron.tooltip=Pārvērš Vara Šulkera Kasti uz Dzels Šulkera Kasti\nTavas Šulkera Kastes krāsa paliks tāda pati.
item.ironchest.shulker_box.diamond_crystal.name=Dimanta uz Kristāla Šulkera Kastes Uzlabojums
item.ironchest.shulker_box.diamond_crystal.tooltip=Pārvērš Dimanta Šulkera Kasti uz Kristāla Šulkera Kasti\nTavas Šulkera Kastes krāsa paliks tāda pati.
item.ironchest.shulker_box.vanilla_iron.name=Vanilla uz Dzels Šulkera Kastes Uzlabojums
item.ironchest.shulker_box.vanilla_iron.tooltip=Pārvērš Vanilla Šulkera Kasti uz Dzels Šulkera Kasti\nTavas Šulkera Kastes krāsa paliks tāda pati.
item.ironchest.shulker_box.vanilla_copper.name=Vanilla uz Vara Šulkera Kastes Uzlabojums
item.ironchest.shulker_box.vanilla_copper.tooltip=Pārvērš Vanilla Šulkera Kasti uz Vara Šulkera Kasti\nTavas Šulkera Kastes krāsa paliks tāda pati.
item.ironchest.shulker_box.diamond_obsidian.name=Dimanta uz Obsidiāna Šulkera Kastes Uzlabojums
item.ironchest.shulker_box.diamond_obsidian.tooltip=Pārvērš Dimanta Šulkera Kasti uz Obsidiāna Šulkera Kasti\nTavas Šulkera Kastes krāsa paliks tāda pati.
##############
# GUIs #
##############
itemGroup.ironchest=Dzels Lādes

View File

@ -1,29 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Jernkiste
tile.ironchest.chest.gold.name=Gullkiste
tile.ironchest.chest.diamond.name=Diamantkiste
tile.ironchest.chest.copper.name=Kobberkiste
tile.ironchest.chest.silver.name=Sølvkiste
tile.ironchest.chest.crystal.name=Krystallkiste
tile.ironchest.chest.obsidian.name=Obsidiankiste
tile.ironchest.chest.dirtchest9000.name=JordKiste 9000!
item.ironchest.chest.iron_gold.name=Jern til Gull Kisteoppgradering
item.ironchest.chest.gold_diamond.name=Gull til Diamant Kisteoppgradering
item.ironchest.chest.copper_silver.name=Kobber til Sølv Kisteoppgradering
item.ironchest.chest.silver_gold.name=Sølv til Gull Kisteoppgradering
item.ironchest.chest.copper_iron.name=Kobber til Jern Kisteoppgradering
item.ironchest.chest.diamond_crystal.name=Diamant til Krystall Kisteoppgradering
item.ironchest.chest.wood_iron.name=Tre til Jern Kisteoppgradering
item.ironchest.chest.wood_copper.name=Tre til Kobber Kisteoppgradering
item.ironchest.chest.diamond_obsidian.name=Diamant til Obsidian Kisteoppgradering
book.ironchest.dirtchest9000.title=Hvordan bruker din JordKiste 9000!
book.ironchest.dirtchest9000.page1=Velkommen til din nye JordKiste9000! Vi håper du vil nyte mange lykkelige år med lagring av din stabel av jord i vå lager verktøy.
book.ironchest.dirtchest9000.page2=Bruk: bare å sette bunken med jord av ditt valg i den svært mottakelige sporet og nyte den store fordelen med åa den jorden tilgjengelig for deg, nådu passerer denne kisten!
book.ironchest.dirtchest9000.page3=Vi håper du har hatt en god fornøyelse gjennom denne bruksanvisningen, og hår du vil vurdere å bruke vå produkter i fremtiden! Vennlig hilsen, JordKiste9000 manual forfattere innarbeidet.
book.ironchest.dirtchest9000.page4=Garanti: Dette produktet har ingen garantier av noe slag. Din jord kan ikke lagres, det kan sakte lekke ut i miljøet, eller alternativt, kan det ikke gjøre noe i det hele tatt.
book.ironchest.dirtchest9000.page5=JordKiste 9000 er snill mot miljøet. Vennligst ta hånd om denne veileder boken ansvarlig, og hva du enn gjør ikke kast den inn i noe lav. Vi ville bli veldig trist.

View File

@ -1,25 +0,0 @@
tile.ironchest.chest.iron.name=Ijzeren Kist
tile.ironchest.chest.gold.name=Gouden Kist
tile.ironchest.chest.diamond.name=Diamanten Kist
tile.ironchest.chest.copper.name=Koperen Kist
tile.ironchest.chest.silver.name=Zilveren Kist
tile.ironchest.chest.crystal.name=Kristallen Kist
tile.ironchest.chest.obsidian.name=Obsidiaanen Kist
tile.ironchest.chest.dirtchest9000.name=Aarden Kist 9000!
item.ironchest.chest.iron_gold.name=Ijzeren naar Gouden Kist Transformatie
item.ironchest.chest.gold_diamond.name=Gouden naar Diamanten Kist Transformatie
item.ironchest.chest.copper_silver.name=Koperen naar Zilveren Kist Transformatie
item.ironchest.chest.silver_gold.name=Zilveren naar Gouden Kist Transformatie
item.ironchest.chest.copper_iron.name=Koperen naar Ijzeren Kist Transformatie
item.ironchest.chest.diamond_crystal.name=Diamanten naar Kristallen Kist Transformatie
item.ironchest.chest.wood_iron.name=Houten naar Ijzeren Kist Transformatie
item.ironchest.chest.wood_copper.name=Houten naar Koperen Kist Transformatie
item.ironchest.chest.diamond_obsidian.name=Diamanten naar Obsidiaanen Kist Transformatie
book.ironchest.dirtchest9000.title=Hoe gebruik je uw Aarden Kist 9000!
book.ironchest.dirtchest9000.page1=Welkom voor uw nieuwe Aarden Kist 9000! We hopen dat je veel geluk zal beleven om uw hoop aarde te bewaren in onze stokeer faciliteit.
book.ironchest.dirtchest9000.page2=Gebruik: Plaats simpelweg uw hoop aarde naar uw keuze in de zeer ontvankelijke gleuf en geniet van de geriefelijkheid om dat hoop aarde altijd beschikbaar tot u te hebben, wanneer dan ook!
book.ironchest.dirtchest9000.page3=We hopen dat u heeft genoten om deze handleiding te lezen en we hopen dat u overweegt om onze producten in de toekomst te gebruiken! Met vriendelijke groeten, De Aarden Kist 9000 Handleiding Auteurs.
book.ironchest.dirtchest9000.page4=Garantie: Deze product biedt geen enkele garantie. Uw aarde kan mogenlijk niet gestockeerd worden, het kan langzaam verdampen of het kan ook helemaal niks doen.
book.ironchest.dirtchest9000.page5=Aarden Kist 9000 is mileuvriendelijk. Gelieve deze handleiding verantwoordlijk te ontdoen en gooi het niet zomaar in wat lava. We zouden zeer verdrietig zijn.

View File

@ -1,21 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Żelazna skrzynia
tile.ironchest.chest.gold.name=Złota skrzynia
tile.ironchest.chest.diamond.name=Diamentowa skrzynia
tile.ironchest.chest.copper.name=Miedziana skrzynia
tile.ironchest.chest.silver.name=Srebrna skrzynia
tile.ironchest.chest.crystal.name=Kryształowa skrzynia
tile.ironchest.chest.obsidian.name=Obsydianowa skrzynia
item.ironchest.chest.iron_gold.name=Ulepszenie żelaznej skrzyni na złotą
item.ironchest.chest.gold_diamond.name=Ulepszenie złotej skrzyni na diamentową
item.ironchest.chest.copper_silver.name=Ulepszenie miedzianej skrzyni na srebrną
item.ironchest.chest.silver_gold.name=Ulepszenie srebrnej skrzyni na złotą
item.ironchest.chest.copper_iron.name=Ulepszenie miedzianej skrzyni na żelazną
item.ironchest.chest.diamond_crystal.name=Ulepszenie diamentowej skrzyni na kryształową
item.ironchest.chest.wood_iron.name=Ulepszenie drewnianej skrzyni na żelazną
item.ironchest.chest.wood_copper.name=Ulepszenie drewnianej skrzyni na miedzianą
item.ironchest.chest.diamond_obsidian.name=Ulepszenie diamentowej skrzyni na obsydianową

View File

@ -1,29 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Baú de Ferro
tile.ironchest.chest.gold.name=Baú de Ouro
tile.ironchest.chest.diamond.name=Baú de Diamante
tile.ironchest.chest.copper.name=Baú de Cobre
tile.ironchest.chest.silver.name=Baú de Prata
tile.ironchest.chest.crystal.name=Baú de Cristal
tile.ironchest.chest.obsidian.name=Baú de Obsidiana
tile.ironchest.chest.dirtchest9000.name=BaúDeSujeira 9000!
item.ironchest.chest.iron_gold.name=Aprimoramento de Baú de Ferro para Ouro
item.ironchest.chest.gold_diamond.name=Aprimoramento de Baú de Ouro para Diamante
item.ironchest.chest.copper_silver.name=Aprimoramento de Baú de Cobre para Prata
item.ironchest.chest.silver_gold.name=Aprimoramento de Baú de Prata para Ouro
item.ironchest.chest.copper_iron.name=Aprimoramento de Baú de Cobre para Ferro
item.ironchest.chest.diamond_crystal.name=Aprimoramento de Baú de Diamante para Cristal
item.ironchest.chest.wood_iron.name=Aprimoramento de Baú de Madeira para Ferro
item.ironchest.chest.wood_copper.name=Aprimoramento de Baú de Madeira para Cobre
item.ironchest.chest.diamond_obsidian.name=Aprimoramento de Baú de Diamante para Obsidiana
book.ironchest.dirtchest9000.title=Como utilizar seu BaúDeSujeira 9000!
book.ironchest.dirtchest9000.page1=Bem-vindo ao seu novo BaúDeSujeira 9000! Esperamos que desfrute de muitos anos felizes de armazenagem de sua pilha de sujeira em nosso utilitário de armazenamento.
book.ironchest.dirtchest9000.page2=Uso: basta inserir o monte de sujeira de sua escolha no slot altamente receptivo e apreciar a grande conveniência de ter essa sujeira disponíveis para você, a qualquer momento que você passar pelo baú!
book.ironchest.dirtchest9000.page3=Esperamos que tenham gostado de rever este manual de instruções, e espero que você considere o uso de nossos produtos no futuro! Atenciosamente, manual do BaúDeSujeira 9000 escritores incorporados.
book.ironchest.dirtchest9000.page4=Garantia: Este produto não tem qualquer tipo de garantia. Sua sujeira pode não ser armazenada, pode vazar lentamente para o ambiente, ou alternativamente, pode não fazer absolutamente nada.
book.ironchest.dirtchest9000.page5=BaúDeSujeira 9000 é bom para o meio ambiente. Elimine este guia de forma responsável, e não o que você faz apenas lançando-o em alguma lava. Ficaríamos muito triste.

View File

@ -1,21 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Baú de Ferro
tile.ironchest.chest.gold.name=Baú de Ouro
tile.ironchest.chest.diamond.name=Baú de Diamante
tile.ironchest.chest.copper.name=Baú de Cobre
tile.ironchest.chest.silver.name=Baú de Prata
tile.ironchest.chest.crystal.name=Baú de Cristal
tile.ironchest.chest.obsidian.name=Baú de Obsidiana
item.ironchest.chest.iron_gold.name=Melhoria de Baú de Ferro para Ouro
item.ironchest.chest.gold_diamond.name=Melhoria de Baú de Ouro para Diamante
item.ironchest.chest.copper_silver.name=Melhoria de Baú de Cobre para Prata
item.ironchest.chest.silver_gold.name=Melhoria de Baú de Prata para Ouro
item.ironchest.chest.copper_iron.name=Melhoria de Baú de Cobre para Ferro
item.ironchest.chest.diamond_crystal.name=Melhoria de Baú de Diamante para Cristal
item.ironchest.chest.wood_iron.name=Melhoria de Baú de Madeira para Ferro
item.ironchest.chest.wood_copper.name=Melhoria de Baú de Madeira para Cobre
item.ironchest.chest.diamond_obsidian.name=Melhoria de Baú de Diamante para Obsidiana

View File

@ -1,177 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Железный сундук
tile.ironchest.chest.gold.name=Золотой сундук
tile.ironchest.chest.diamond.name=Алмазный сундук
tile.ironchest.chest.copper.name=Медный сундук
tile.ironchest.chest.silver.name=Серебряный сундук
tile.ironchest.chest.crystal.name=Кристальный сундук
tile.ironchest.chest.obsidian.name=Обсидиановый сундук
tile.ironchest.chest.dirtchest9000.name=Земляной Сундук 9000!
item.ironchest.chest.iron_gold.name=Улучшение из железного в золотой сундук
item.ironchest.chest.gold_diamond.name=Улучшение из золотого в алмазный сундук
item.ironchest.chest.copper_silver.name=Улучшение из медного в серебряный сундук
item.ironchest.chest.silver_gold.name=Улучшение из серебряного в золотой сундук
item.ironchest.chest.copper_iron.name=Улучшение из медного в железный сундук
item.ironchest.chest.diamond_crystal.name=Улучшение из алмазного в кристальный сундук
item.ironchest.chest.wood_iron.name=Улучшение из деревянного в железный сундук
item.ironchest.chest.wood_copper.name=Улучшение из деревянного в медный сундук
item.ironchest.chest.diamond_obsidian.name=Улучшение из алмазного в обсидиановый сундук
book.ironchest.dirtchest9000.title=Инструкция к Земляной Сундук 9000!
book.ironchest.dirtchest9000.page1="Встречайте новый Земляной Сундук 9000! Мы надеемся, что вы будете рады многие годы хранить вашу стопку земли в этом приспособлении для хранения."
book.ironchest.dirtchest9000.page2="Применение: просто вставьте выбранную стопку земли в высоко восприимчивый слот, и насладитесь удобством легкого доступа к земле каждый раз, когда вы проходите мимо сундука!"
book.ironchest.dirtchest9000.page3="Мы надеемся, что вам понравилась эта инструкция, и надеемся, что вы будете использовать наши продукты и в будущем! С Уважением, авторы Земляного Сундука 9000."
book.ironchest.dirtchest9000.page4="Гарантия: Этот продукт не имеет никакой гарантии. Ваша земля может не сохраниться, она может медленно просочиться наружу, или, наоборот, может вовсе ничего не произойти."
book.ironchest.dirtchest9000.page5="Земляной Сундук 9000 является экологически чистым. Пожалуйста, утилизируйте эту инструкцию ответственно, а, не так, как обычно, выкидывая в лаву, иначе мы расстроимся."
#######################
# Shulker Boxes #
#######################
tile.ironchest.shulker_box.iron.white.name=Белый Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.orange.name=Оранжевый Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.magenta.name=Фиолетовый Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.light_blue.name=Светло-синий Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.yellow.name=Жёлтый Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.lime.name=Лаймовый Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.pink.name=Розовый Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.gray.name=Серый Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.silver.name=Светло-серый Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.cyan.name=Голубой Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.purple.name=Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.blue.name=Синий Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.brown.name=Коричневый Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.green.name=Зелёный Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.red.name=Красный Железный Шалкеровый ящик
tile.ironchest.shulker_box.iron.black.name=Чёрный Железный Шалкеровый ящик
tile.ironchest.shulker_box.gold.white.name=Белый Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.orange.name=Оранжевый Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.magenta.name=Фиолетовый Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.light_blue.name=Светло-синий Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.yellow.name=Жёлтый Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.lime.name=Лаймовый Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.pink.name=Розовый Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.gray.name=Серый Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.silver.name=Светло-серый Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.cyan.name=Голубой Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.purple.name=Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.blue.name=Синий Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.brown.name=Коричневый Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.green.name=Зелёный Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.red.name=Красный Золотой Шалкеровый ящик
tile.ironchest.shulker_box.gold.black.name=Чёрный Золотой Шалкеровый ящик
tile.ironchest.shulker_box.diamond.white.name=Белый Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.orange.name=Оранжевый Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.magenta.name=Фиолетовый Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.light_blue.name=Светло-синий Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.yellow.name=Жёлтый Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.lime.name=Лаймовый Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.pink.name=Розовый Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.gray.name=Серый Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.silver.name=Светло-серый Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.cyan.name=Голубой Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.purple.name=Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.blue.name=Синий Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.brown.name=Коричневый Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.green.name=Зелёный Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.red.name=Красный Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.diamond.black.name=Чёрный Алмазный Шалкеровый ящик
tile.ironchest.shulker_box.copper.white.name=Белый Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.orange.name=Оранжевый Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.magenta.name=Фиолетовый Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.light_blue.name=Светло-синий Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.yellow.name=Жёлтый Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.lime.name=Лаймовый Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.pink.name=Розовый Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.gray.name=Серый Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.silver.name=Светло-серый Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.cyan.name=Голубой Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.purple.name=Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.blue.name=Синий Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.brown.name=Коричневый Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.green.name=Зелёный Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.red.name=Красный Медный Шалкеровый ящик
tile.ironchest.shulker_box.copper.black.name=Чёрный Медный Шалкеровый ящик
tile.ironchest.shulker_box.silver.white.name=Белый Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.orange.name=Оранжевый Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.magenta.name=Фиолетовый Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.light_blue.name=Светло-синий Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.yellow.name=Жёлтый Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.lime.name=Лаймовый Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.pink.name=Розовый Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.gray.name=Серый Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.silver.name=Светло-серый Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.cyan.name=Голубой Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.purple.name=Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.blue.name=Синий Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.brown.name=Коричневый Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.green.name=Зелёный Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.red.name=Красный Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.silver.black.name=Чёрный Серебряный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.white.name=Белый Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.orange.name=Оранжевый Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.magenta.name=Фиолетовый Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.light_blue.name=Светло-синий Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.yellow.name=Жёлтый Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.lime.name=Лаймовый Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.pink.name=Розовый Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.gray.name=Серый Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.silver.name=Светло-серый Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.cyan.name=Голубой Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.purple.name=Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.blue.name=Синий Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.brown.name=Коричневый Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.green.name=Зелёный Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.red.name=Красный Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.crystal.black.name=Чёрный Кристальный Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.white.name=Белый Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.orange.name=Оранжевый Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.magenta.name=Фиолетовый Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.light_blue.name=Светло-синий Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.yellow.name=Жёлтый Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.lime.name=Лаймовый Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.pink.name=Розовый Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.gray.name=Серый Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.silver.name=Светло-серый Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.cyan.name=Голубой Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.purple.name=Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.blue.name=Синий Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.brown.name=Коричневый Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.green.name=Зелёный Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.red.name=Красный Обсидиановый Шалкеровый ящик
tile.ironchest.shulker_box.obsidian.black.name=Чёрный Обсидиановый Шалкеровый ящик
item.ironchest.shulker_box.iron_gold.name=Улучшение из железного в золотой Шалкеровый ящик
item.ironchest.shulker_box.iron_gold.tooltip=Используется для улучшения из железного в золотой Шалкеровый ящик\nЦвет ящика остаётся тем же самым.
item.ironchest.shulker_box.gold_diamond.name=Улучшение из золотого в алмазный Шалкеровый ящик
item.ironchest.shulker_box.gold_diamond.tooltip=Используется для улучшения из золотого в алмазный Шалкеровый ящик\nЦвет ящика остаётся тем же самым.
item.ironchest.shulker_box.copper_silver.name=Улучшение из медного в серебряный Шалкеровый ящик
item.ironchest.shulker_box.copper_silver.tooltip=Используется для улучшения из медного в серебряный Шалкеровый ящик\nЦвет ящика остаётся тем же самым.
item.ironchest.shulker_box.silver_gold.name=Улучшение из серебряного в золотой Шалкеровый ящик
item.ironchest.shulker_box.silver_gold.tooltip=Используется для улучшения из серебряного в золотой Шалкеровый ящик\nЦвет ящика остаётся тем же самым.
item.ironchest.shulker_box.copper_iron.name=Улучшение из медного в железный Шалкеровый ящик
item.ironchest.shulker_box.copper_iron.tooltip=Используется для улучшения из медного в железный Шалкеровый ящик\nЦвет ящика остаётся тем же самым.
item.ironchest.shulker_box.diamond_crystal.name=Улучшение из алмазного в кристальный Шалкеровый ящик
item.ironchest.shulker_box.diamond_crystal.tooltip=Используется для улучшения из алмазного в кристальный Шалкеровый ящик\nЦвет ящика остаётся тем же самым.
item.ironchest.shulker_box.vanilla_iron.name=Улучшение из обычного в железный Шалкеровый ящик
item.ironchest.shulker_box.vanilla_iron.tooltip=Используется для улучшения из обычного в железный Шалкеровый ящик\nЦвет ящика остаётся тем же самым.
item.ironchest.shulker_box.vanilla_copper.name=Улучшение из обычного в медный Шалкеровый ящик
item.ironchest.shulker_box.vanilla_copper.tooltip=Используется для улучшения из обычного в медный Шалкеровый ящик\nЦвет ящика остаётся тем же самым.
item.ironchest.shulker_box.diamond_obsidian.name=Улучшение из алмазного в обсидиановый Шалкеровый ящик
item.ironchest.shulker_box.diamond_obsidian.tooltip=Используется для улучшения из алмазного в обсидиановый Шалкеровый ящик\nЦвет ящика остаётся тем же самым.
##############
# GUIs #
##############
itemGroup.ironchest=Железные сундуки

View File

@ -1,21 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Järnkista
tile.ironchest.chest.gold.name=Guldkista
tile.ironchest.chest.diamond.name=Diamantkista
tile.ironchest.chest.copper.name=Kopparkista
tile.ironchest.chest.silver.name=Silverkista
tile.ironchest.chest.crystal.name=Kristallkista
tile.ironchest.chest.obsidian.name=Obsidiankista
item.ironchest.chest.iron_gold.name=Järn till Guld Kistuppgradering
item.ironchest.chest.gold_diamond.name=Guld till Diamant Kistuppgradering
item.ironchest.chest.copper_silver.name=Koppar till Silver Kistuppgradering
item.ironchest.chest.silver_gold.name=Silver till Guld Kistuppgradering
item.ironchest.chest.copper_iron.name=Koppar till Järn Kistuppgradering
item.ironchest.chest.diamond_crystal.name=Diamant till Kristal Kistuppgradering
item.ironchest.chest.wood_iron.name=Trä till Järn Kistuppgradering
item.ironchest.chest.wood_copper.name=Trä till Koppar Kistuppgradering
item.ironchest.chest.diamond_obsidian.name=Diamant till Obsidian Kistuppgradering

View File

@ -1,29 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Demir Sandık
tile.ironchest.chest.gold.name=Altın Sandık
tile.ironchest.chest.diamond.name=Elmas Sandık
tile.ironchest.chest.copper.name=Bakır Sandık
tile.ironchest.chest.silver.name=Gümüş Sandık
tile.ironchest.chest.crystal.name=Kristal Sandık
tile.ironchest.chest.obsidian.name=Obsidyen Sandık
tile.ironchest.chest.dirtchest9000.name=Toprak Sandık-9000!
item.ironchest.chest.iron_gold.name=Demir Sandığı Altın Sandığa Yükselt
item.ironchest.chest.gold_diamond.name=Altın Sandığı Elmas Sandığa Yükselt
item.ironchest.chest.copper_silver.name=Bakır Sandığı Gümüş Sandığa Yükselt
item.ironchest.chest.silver_gold.name=Gümüş Sandığı Altın Sandığa Yükselt
item.ironchest.chest.copper_iron.name=Bakır Sandığı Demir Sandığa Yükselt
item.ironchest.chest.diamond_crystal.name=Elmas Sandığı Kristal Sandığa Yükselt
item.ironchest.chest.wood_iron.name=Tahta Sandığı Demir Sandığa Yükselt
item.ironchest.chest.wood_copper.name=Tahta Sandığı Bakır Sandığa Yükselt
item.ironchest.chest.diamond_obsidian.name=Elmas Sandığı Obsidyen Sandığa Yükselt
book.ironchest.dirtchest9000.title=Toprak Sandık-9000 Kullanım Kılavuzu
book.ironchest.dirtchest9000.page1=Yeni sandık olan Toprak Sandık-9000 yaptığınız için teşekkürler.Bu sandık ile topraklarınızı depolayabilirsiniz.
book.ironchest.dirtchest9000.page2=Kullanımı: 64 adet toprak alarak içine koyunuz. Böylece sadece toprak depolanır.
book.ironchest.dirtchest9000.page3=Biz bu kılavuzu gözden keyif aldık umuyoruz, ve gelecekte ürünlerimizi kullanmayı düşünün umuyoruz! Saygılarımızla, dahil DirtChest 9000 manuel yazar.
book.ironchest.dirtchest9000.page4=Garanti: Bu ürün herhangi bir garanti vardır. Sizin kir depolanabilir değil, yavaş yavaş çevreye sülük olabilir, ya da alternatif olarak, hiç bir şey yapamazsınız.
book.ironchest.dirtchest9000.page5=Toprak Sandık-9000 çevreye türüdür. Sorumlu bu rehber kitap imha edin ve ne olursa olsun sadece bazı lav içine ayna yok yok. Bizim için çok üzücü olacaktır.

View File

@ -1,177 +0,0 @@
################
# Chests #
################
tile.ironchest.chest.iron.name=Залізна скриня
tile.ironchest.chest.gold.name=Золота скриня
tile.ironchest.chest.diamond.name=Діамантова скриня
tile.ironchest.chest.copper.name=Мідна скриня
tile.ironchest.chest.silver.name=Срібна скриня
tile.ironchest.chest.crystal.name=Кришталева скриня
tile.ironchest.chest.obsidian.name=Обсидіанова скриня
tile.ironchest.chest.dirtchest9000.name=Замлесхрон 9000!
item.ironchest.chest.iron_gold.name=Доробка залізної скрині до золотої
item.ironchest.chest.gold_diamond.name=Доробка золотої скрині до діамантової
item.ironchest.chest.copper_silver.name=Доробка мідної скрині до срібної
item.ironchest.chest.silver_gold.name=Доробка срібної скрині до золотої
item.ironchest.chest.copper_iron.name=Доробка мідної скрині до залізної
item.ironchest.chest.diamond_crystal.name=Доробка діамантової скрині до кришталевої
item.ironchest.chest.wood_iron.name=Доробка деревʼяної скрині до залізної
item.ironchest.chest.wood_copper.name=Доробка деревʼяної скрині до мідної
item.ironchest.chest.diamond_obsidian.name=Доробка діамантової скрині до обсидіанової
book.ironchest.dirtchest9000.title=Посібник до Замлесхрону 9000!
book.ironchest.dirtchest9000.page1="Вітайте новий Замлесхрон 9000! Ми сподіваємось, що ви будете тримати довгі роки свою землю у нашому пристрої для зберігання."
book.ironchest.dirtchest9000.page2="Використання: просто покладіть на обраний стак землі до високопродуктивної комірки та насолоджуйтесь зручністю доступу до землі кожного разу, як ви проходите повз скриню!"
book.ironchest.dirtchest9000.page3="Сподіваємось Вам сподобалась дана інструкція, та будете і надалі користуватися нашими продуктами! З повагою, автори посібника Замлесхрону 9000."
book.ironchest.dirtchest9000.page4="Гарантія: Цей продукт надається без жодної гарантії. Ваша земля може зберігатися, може повільно просочуватися назовні, чи навпаки, нічого не трапиться."
book.ironchest.dirtchest9000.page5="Замлесхрон 9000 є екологічно чистим. Будь ласка, утилізуйте цей посібник відповідально, а не як зазвичай, кидаючи у лаву. В іншому випадку ми засмутимося."
#######################
# Shulker Boxes #
#######################
tile.ironchest.shulker_box.iron.white.name=Біла залізна коробка шалкера
tile.ironchest.shulker_box.iron.orange.name=Руда залізна коробка шалкера
tile.ironchest.shulker_box.iron.magenta.name=Фіолетова залізна коробка шалкера
tile.ironchest.shulker_box.iron.light_blue.name=Світло-синя залізна коробка шалкера
tile.ironchest.shulker_box.iron.yellow.name=Жовта залізна коробка шалкера
tile.ironchest.shulker_box.iron.lime.name=Лаймова залізна коробка шалкера
tile.ironchest.shulker_box.iron.pink.name=Рожева залізна коробка шалкера
tile.ironchest.shulker_box.iron.gray.name=Сіра залізна коробка шалкера
tile.ironchest.shulker_box.iron.silver.name=Світло-сіра залізна коробка шалкера
tile.ironchest.shulker_box.iron.cyan.name=Блакитна залізна коробка шалкера
tile.ironchest.shulker_box.iron.purple.name=Пурпурна залізна коробка шалкера
tile.ironchest.shulker_box.iron.blue.name=Синя залізна коробка шалкера
tile.ironchest.shulker_box.iron.brown.name=Коричнева залізна коробка шалкера
tile.ironchest.shulker_box.iron.green.name=Зелена залізна коробка шалкера
tile.ironchest.shulker_box.iron.red.name=Червона залізна коробка шалкера
tile.ironchest.shulker_box.iron.black.name=Чорна залізна коробка шалкера
tile.ironchest.shulker_box.gold.white.name=Біла золота коробка шалкера
tile.ironchest.shulker_box.gold.orange.name=Руда золота коробка шалкера
tile.ironchest.shulker_box.gold.magenta.name=Фіолетова золота коробка шалкера
tile.ironchest.shulker_box.gold.light_blue.name=Світло-синя залізна коробка шалкера
tile.ironchest.shulker_box.gold.yellow.name=Жовта золота коробка шалкера
tile.ironchest.shulker_box.gold.lime.name=Лаймова золота коробка шалкера
tile.ironchest.shulker_box.gold.pink.name=Рожева золота коробка шалкера
tile.ironchest.shulker_box.gold.gray.name=Сіра золота коробка шалкера
tile.ironchest.shulker_box.gold.silver.name=Світло-сіра золота коробка шалкера
tile.ironchest.shulker_box.gold.cyan.name=Блакитна золота коробка шалкера
tile.ironchest.shulker_box.gold.purple.name=Пурпурна золота коробка шалкера
tile.ironchest.shulker_box.gold.blue.name=Синя залізна коробка шалкера
tile.ironchest.shulker_box.gold.brown.name=Коричнева золота коробка шалкера
tile.ironchest.shulker_box.gold.green.name=Зелена золота коробка шалкера
tile.ironchest.shulker_box.gold.red.name=Червона золота коробка шалкера
tile.ironchest.shulker_box.gold.black.name=Чорна золота коробка шалкера
tile.ironchest.shulker_box.diamond.white.name=Біла діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.orange.name=Руда діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.magenta.name=Фіолетова діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.light_blue.name=Світло-синя діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.yellow.name=Жовта діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.lime.name=Лаймова діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.pink.name=Рожева діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.gray.name=Сіра діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.silver.name=Світло-сіра діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.cyan.name=Блакитна діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.purple.name=Пурпурна діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.blue.name=Синя діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.brown.name=Коричнева діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.green.name=Зелена діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.red.name=Червона діамантова коробка шалкера
tile.ironchest.shulker_box.diamond.black.name=Чорна діамантова коробка шалкера
tile.ironchest.shulker_box.copper.white.name=Біла мідна коробка шалкера
tile.ironchest.shulker_box.copper.orange.name=Руда мідна коробка шалкера
tile.ironchest.shulker_box.copper.magenta.name=Фіолетова мідна коробка шалкера
tile.ironchest.shulker_box.copper.light_blue.name=Світло-синя мідна коробка шалкера
tile.ironchest.shulker_box.copper.yellow.name=Жовта мідна коробка шалкера
tile.ironchest.shulker_box.copper.lime.name=Лаймова мідна коробка шалкера
tile.ironchest.shulker_box.copper.pink.name=Рожева мідна коробка шалкера
tile.ironchest.shulker_box.copper.gray.name=Сіра мідна коробка шалкера
tile.ironchest.shulker_box.copper.silver.name=Світло-сіра мідна коробка шалкера
tile.ironchest.shulker_box.copper.cyan.name=Блакитна мідна коробка шалкера
tile.ironchest.shulker_box.copper.purple.name=Пурпурна мідна коробка шалкера
tile.ironchest.shulker_box.copper.blue.name=Синя мідна коробка шалкера
tile.ironchest.shulker_box.copper.brown.name=Коричнева мідна коробка шалкера
tile.ironchest.shulker_box.copper.green.name=Зелена мідна коробка шалкера
tile.ironchest.shulker_box.copper.red.name=Червона мідна коробка шалкера
tile.ironchest.shulker_box.copper.black.name=Чорна мідна коробка шалкера
tile.ironchest.shulker_box.silver.white.name=Біла срібна коробка шалкера
tile.ironchest.shulker_box.silver.orange.name=Руда срібна коробка шалкера
tile.ironchest.shulker_box.silver.magenta.name=Фіолетова срібна коробка шалкера
tile.ironchest.shulker_box.silver.light_blue.name=Світло-синя срібна коробка шалкера
tile.ironchest.shulker_box.silver.yellow.name=Жовта срібна коробка шалкера
tile.ironchest.shulker_box.silver.lime.name=Лаймова срібна коробка шалкера
tile.ironchest.shulker_box.silver.pink.name=Рожева срібна коробка шалкера
tile.ironchest.shulker_box.silver.gray.name=Сіра срібна коробка шалкера
tile.ironchest.shulker_box.silver.silver.name=Світло-сіра срібна коробка шалкера
tile.ironchest.shulker_box.silver.cyan.name=Блакитна срібна коробка шалкера
tile.ironchest.shulker_box.silver.purple.name=Пурпурна срібна коробка шалкера
tile.ironchest.shulker_box.silver.blue.name=Синя срібна коробка шалкера
tile.ironchest.shulker_box.silver.brown.name=Коричнева срібна коробка шалкера
tile.ironchest.shulker_box.silver.green.name=Зелена срібна коробка шалкера
tile.ironchest.shulker_box.silver.red.name=Червона срібна коробка шалкера
tile.ironchest.shulker_box.silver.black.name=Чорна срібна коробка шалкера
tile.ironchest.shulker_box.crystal.white.name=Біла кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.orange.name=Руда кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.magenta.name=Фіолетова кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.light_blue.name=Світло-синя кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.yellow.name=Жовта кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.lime.name=Лаймова кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.pink.name=Рожева кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.gray.name=Сіра кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.silver.name=Світло-сіра кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.cyan.name=Блакитна кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.purple.name=Пурпурна кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.blue.name=Синя кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.brown.name=Коричнева кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.green.name=Зелена кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.red.name=Червона кришталева коробка шалкера
tile.ironchest.shulker_box.crystal.black.name=Чорна кришталева коробка шалкера
tile.ironchest.shulker_box.obsidian.white.name=Біла обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.orange.name=Руда обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.magenta.name=Фіолетова обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.light_blue.name=Світло-синя обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.yellow.name=Жовта обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.lime.name=Лаймова обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.pink.name=Рожева обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.gray.name=Сіра обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.silver.name=Світло-сіра обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.cyan.name=Блакитна обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.purple.name=Пурпурна обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.blue.name=Синя обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.brown.name=Коричнева обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.green.name=Зелена обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.red.name=Червона обсидіанова коробка шалкера
tile.ironchest.shulker_box.obsidian.black.name=Чорна обсидіанова коробка шалкера
item.ironchest.shulker_box.iron_gold.name=Доробка залізної коробки шалкера до золотої
item.ironchest.shulker_box.iron_gold.tooltip=Використовується для доробки залізної коробки шалкера до золотої\nКолір коробки лишається той самий.
item.ironchest.shulker_box.gold_diamond.name=Доробка золотої коробки шалкера до діамантової
item.ironchest.shulker_box.gold_diamond.tooltip=Використовується для доробки золотої коробки шалкера до діамантової\nКолір коробки лишається той самий.
item.ironchest.shulker_box.copper_silver.name=Доробка мідної коробки шалкера до срібної
item.ironchest.shulker_box.copper_silver.tooltip=Використовується для доробки мідної коробки шалкера до срібної\nКолір коробки лишається той самий.
item.ironchest.shulker_box.silver_gold.name=Доробка срібної коробки шалкера до золотої
item.ironchest.shulker_box.silver_gold.tooltip=Використовується для доробки срібної коробки шалкера до золотої\nКолір коробки лишається той самий.
item.ironchest.shulker_box.copper_iron.name=Доробка мідної коробки шалкера до залізної
item.ironchest.shulker_box.copper_iron.tooltip=Використовується для доробки мідної коробки шалкера до залізної\nКолір коробки лишається той самий.
item.ironchest.shulker_box.diamond_crystal.name=Доробка діамантової коробки шалкера до кришталевої
item.ironchest.shulker_box.diamond_crystal.tooltip=Використовується для доробки діамантової коробки шалкера до кришталевої\nКолір коробки лишається той самий.
item.ironchest.shulker_box.vanilla_iron.name=Доробка звичайної коробки шалкера до залізної
item.ironchest.shulker_box.vanilla_iron.tooltip=Використовується для доробки звичайної коробки шалкера до залізної\nКолір коробки лишається той самий.
item.ironchest.shulker_box.vanilla_copper.name=Доробка звичайної коробки шалкера до мідної
item.ironchest.shulker_box.vanilla_copper.tooltip=Використовується для доробки звичайної коробки шалкера до мідної\nКолір коробки лишається той самий.
item.ironchest.shulker_box.diamond_obsidian.name=Доробка діамантової коробки шалкера до обсидіанової
item.ironchest.shulker_box.diamond_obsidian.tooltip=Використовується для доробки діамантової коробки шалкера до обсидіанової\nКолір коробки лишається той самий.
##############
# GUIs #
##############
itemGroup.ironchest=Залізні скрині

Some files were not shown because too many files have changed in this diff Show More