Add JEI to the dev environment, rename the items + blocks to match vanilla formats of no capital letters and to include underscores, and fix the crystal chest not rendering items in it.

This commit is contained in:
alexbegt 2016-11-18 10:26:10 -05:00
parent 9fe6c6912a
commit e6fb331bd9
47 changed files with 376 additions and 214 deletions

View File

@ -33,7 +33,7 @@ repositories {
}
dependencies {
//deobfCompile "mezz.jei:jei_1.10.2:3.7.6.232"
deobfCompile "mezz.jei:jei_1.11:4.0.1.191"
}
// This is our group. I'm cpw.mods

View File

@ -47,7 +47,7 @@ public class BlockIronChest extends Block
public BlockIronChest()
{
super(Material.IRON);
this.setRegistryName(new ResourceLocation(IronChest.MOD_ID, "BlockIronChest"));
this.setRegistryName(new ResourceLocation(IronChest.MOD_ID, "iron_chest"));
this.setDefaultState(this.blockState.getBaseState().withProperty(VARIANT_PROP, IronChestType.IRON));
@ -121,7 +121,7 @@ public class BlockIronChest extends Block
@Override
@SideOnly(Side.CLIENT)
//public void getSubBlocks(Item itemIn, CreativeTabs tab, List<ItemStack> list)
// public void getSubBlocks(Item itemIn, CreativeTabs tab, List<ItemStack> list)
public void getSubBlocks(Item itemIn, CreativeTabs tab, NonNullList<ItemStack> list)
{
for (IronChestType type : IronChestType.VALUES)

View File

@ -22,15 +22,15 @@ import net.minecraftforge.fml.common.registry.GameRegistry;
public enum ChestChangerType
{
//@formatter:off
IRONGOLD(IRON, GOLD, "ironGoldUpgrade", "mmm", "msm", "mmm"),
GOLDDIAMOND(GOLD, DIAMOND, "goldDiamondUpgrade", "GGG", "msm", "GGG"),
COPPERSILVER(COPPER, SILVER, "copperSilverUpgrade", "mmm", "msm", "mmm"),
SILVERGOLD(SILVER, GOLD, "silverGoldUpgrade", "mGm", "GsG", "mGm"),
COPPERIRON(COPPER, IRON, "copperIronUpgrade", "mGm", "GsG", "mGm"),
DIAMONDCRYSTAL(DIAMOND, CRYSTAL, "diamondCrystalUpgrade", "GGG", "GOG", "GGG"),
WOODIRON(WOOD, IRON, "woodIronUpgrade", "mmm", "msm", "mmm"),
WOODCOPPER(WOOD, COPPER, "woodCopperUpgrade", "mmm", "msm", "mmm"),
DIAMONDOBSIDIAN(DIAMOND, OBSIDIAN, "diamondObsidianUpgrade", "mmm", "mGm", "mmm");
IRONGOLD(IRON, GOLD, "iron_gold_upgrade", "mmm", "msm", "mmm"),
GOLDDIAMOND(GOLD, DIAMOND, "gold_diamond_upgrade", "GGG", "msm", "GGG"),
COPPERSILVER(COPPER, SILVER, "copper_silver_upgrade", "mmm", "msm", "mmm"),
SILVERGOLD(SILVER, GOLD, "silver_gold_upgrade", "mGm", "GsG", "mGm"),
COPPERIRON(COPPER, IRON, "copper_iron_upgrade", "mGm", "GsG", "mGm"),
DIAMONDCRYSTAL(DIAMOND, CRYSTAL, "diamond_crystal_upgrade", "GGG", "GOG", "GGG"),
WOODIRON(WOOD, IRON, "wood_iron_upgrade", "mmm", "msm", "mmm"),
WOODCOPPER(WOOD, COPPER, "wood_copper_upgrade", "mmm", "msm", "mmm"),
DIAMONDOBSIDIAN(DIAMOND, OBSIDIAN, "diamond_obsidian_upgrade", "mmm", "mGm", "mmm");
//@formatter:on
public static final ChestChangerType[] VALUES = values();

View File

@ -10,6 +10,7 @@
******************************************************************************/
package cpw.mods.ironchest;
import invtweaks.api.container.ChestContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
@ -17,7 +18,7 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
//@ChestContainer(isLargeChest = true)
@ChestContainer(isLargeChest = true)
public class ContainerIronChest extends Container
{
private IronChestType type;
@ -123,9 +124,9 @@ public class ContainerIronChest extends Container
return this.player;
}
//@ChestContainer.RowSizeCallback
//public int getNumColumns()
//{
// return this.type.rowLength;
//}
@ChestContainer.RowSizeCallback
public int getNumColumns()
{
return this.type.rowLength;
}
}

View File

@ -12,16 +12,24 @@ package cpw.mods.ironchest;
import java.util.Properties;
import javax.annotation.Nonnull;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.MinecraftForge;
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.FMLMissingMappingsEvent;
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent.MissingMapping;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.fml.common.registry.GameRegistry;
@Mod(modid = IronChest.MOD_ID, name = "Iron Chests", /*dependencies = "required-after:Forge@[12.17.0.1909,)",*/ acceptedMinecraftVersions = "[1.11, 1.12)")
@Mod(modid = IronChest.MOD_ID, name = "Iron Chests", dependencies = "required-after:forge@[13.19.0.2142,);", acceptedMinecraftVersions = "[1.11, 1.12)")
public class IronChest
{
public static final String MOD_ID = "ironchest";
@ -67,4 +75,101 @@ public class IronChest
proxy.registerRenderInformation();
MinecraftForge.EVENT_BUS.register(new OcelotsSitOnChestsHandler());
}
@Mod.EventHandler
public void onMissingMappings(FMLMissingMappingsEvent event)
{
for (MissingMapping mapping : event.get())
{
if (mapping.resourceLocation.getResourceDomain().equals(IronChest.MOD_ID))
{
@Nonnull
String path = mapping.resourceLocation.getResourcePath();
if (path.endsWith("blockironchest"))
{
path = path.replace("blockironchest", "iron_chest");
ResourceLocation newRes = new ResourceLocation(mapping.resourceLocation.getResourceDomain(), path);
Block block = ForgeRegistries.BLOCKS.getValue(newRes);
if (block != null)
{
if (mapping.type == GameRegistry.Type.BLOCK)
{
mapping.remap(block);
}
else
{
mapping.remap(Item.getItemFromBlock(block));
}
}
}
if (path.endsWith("irongoldupgrade"))
{
path = path.replace("irongoldupgrade", "iron_gold_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("golddiamondupgrade"))
{
path = path.replace("golddiamondupgrade", "gold_diamond_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("coppersilverupgrade"))
{
path = path.replace("coppersilverupgrade", "copper_silver_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("silvergoldupgrade"))
{
path = path.replace("silvergoldupgrade", "silver_gold_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("copperironupgrade"))
{
path = path.replace("copperironupgrade", "copper_iron_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("diamondcrystalupgrade"))
{
path = path.replace("diamondcrystalupgrade", "diamond_crystal_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("woodironupgrade"))
{
path = path.replace("woodironupgrade", "wood_iron_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("woodcopperupgrade"))
{
path = path.replace("woodcopperupgrade", "wood_copper_upgrade");
replaceUpgradeItem(path, mapping);
}
if (path.endsWith("diamondobsidianupgrade"))
{
path = path.replace("diamondobsidianupgrade", "diamond_obsidian_upgrade");
replaceUpgradeItem(path, mapping);
}
}
}
}
private static void replaceUpgradeItem(String path, MissingMapping mapping)
{
ResourceLocation newRes = new ResourceLocation(mapping.resourceLocation.getResourceDomain(), path);
Item item = ForgeRegistries.ITEMS.getValue(newRes);
if (item != null)
{
mapping.remap(item);
}
}
}

View File

@ -1,7 +1,10 @@
package cpw.mods.ironchest;
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;
@ -12,14 +15,32 @@ public class IronChestAIOcelotSit extends EntityAIOcelotSit
super(ocelotIn, speedIn);
}
/**
* Return true to set given position as destination
*/
@Override
protected boolean shouldMoveTo(World worldIn, BlockPos pos)
{
if (worldIn.getBlockState(pos).getBlock() == IronChest.ironChestBlock)
if (!worldIn.isAirBlock(pos.up()))
{
return true;
return false;
}
else
{
IBlockState iblockstate = worldIn.getBlockState(pos);
Block block = iblockstate.getBlock();
return super.shouldMoveTo(worldIn, pos);
if (block == IronChest.ironChestBlock)
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileEntityIronChest && ((TileEntityIronChest) tileentity).numPlayersUsing < 1)
{
return true;
}
}
return super.shouldMoveTo(worldIn, pos);
}
}
}

View File

@ -28,14 +28,14 @@ import net.minecraftforge.oredict.ShapedOreRecipe;
public enum IronChestType implements IStringSerializable
{
//@formatter:off
IRON(54, 9, true, "ironchest.png", Arrays.asList("ingotIron", "ingotRefinedIron"), TileEntityIronChest.class, 184, 202, "mmmmPmmmm", "mGmG3GmGm"),
GOLD(81, 9, true, "goldchest.png", Collections.singleton("ingotGold"), TileEntityGoldChest.class, 184, 256, "mmmmPmmmm", "mGmG4GmGm"),
DIAMOND(108, 12, true, "diamondchest.png", Collections.singleton("gemDiamond"), TileEntityDiamondChest.class, 184, 256, "GGGmPmGGG", "GGGG4Gmmm"),
COPPER(45, 9, false, "copperchest.png", Collections.singleton("ingotCopper"), TileEntityCopperChest.class, 184, 184, "mmmmCmmmm"),
SILVER(72, 9, false, "silverchest.png", Collections.singleton("ingotSilver"), TileEntitySilverChest.class, 184, 238, "mmmm3mmmm", "mGmG0GmGm"),
CRYSTAL(108, 12, true, "crystalchest.png", Collections.singleton("blockGlass"), TileEntityCrystalChest.class, 238, 256, "GGGGPGGGG"),
OBSIDIAN(108, 12, false, "obsidianchest.png", Collections.singleton("obsidian"), TileEntityObsidianChest.class, 238, 256, "mmmm2mmmm"),
DIRTCHEST9000(1, 1, false, "dirtchest.png", Collections.singleton("dirt"), TileEntityDirtChest.class, 184, 184, "mmmmCmmmm"),
IRON(54, 9, true, "iron_chest.png", Arrays.asList("ingotIron", "ingotRefinedIron"), TileEntityIronChest.class, 184, 202, "mmmmPmmmm", "mGmG3GmGm"),
GOLD(81, 9, true, "gold_chest.png", Collections.singleton("ingotGold"), TileEntityGoldChest.class, 184, 256, "mmmmPmmmm", "mGmG4GmGm"),
DIAMOND(108, 12, true, "diamond_chest.png", Collections.singleton("gemDiamond"), TileEntityDiamondChest.class, 184, 256, "GGGmPmGGG", "GGGG4Gmmm"),
COPPER(45, 9, false, "copper_chest.png", Collections.singleton("ingotCopper"), TileEntityCopperChest.class, 184, 184, "mmmmCmmmm"),
SILVER(72, 9, false, "silver_chest.png", Collections.singleton("ingotSilver"), TileEntitySilverChest.class, 184, 238, "mmmm3mmmm", "mGmG0GmGm"),
CRYSTAL(108, 12, true, "crystal_chest.png", Collections.singleton("blockGlass"), TileEntityCrystalChest.class, 238, 256, "GGGGPGGGG"),
OBSIDIAN(108, 12, false, "obsidian_chest.png", Collections.singleton("obsidian"), TileEntityObsidianChest.class, 238, 256, "mmmm2mmmm"),
DIRTCHEST9000(1, 1, false, "dirt_chest.png", Collections.singleton("dirt"), TileEntityDirtChest.class, 184, 184, "mmmmCmmmm"),
WOOD(0, 0, false, "", Collections.singleton("plankWood"), null, 0, 0);
//@formatter:on

View File

@ -20,7 +20,7 @@ public class ItemIronChest extends ItemBlock
public ItemIronChest(Block block)
{
super(block);
this.setRegistryName(new ResourceLocation(IronChest.MOD_ID, "BlockIronChest"));
this.setRegistryName(new ResourceLocation(IronChest.MOD_ID, "iron_chest"));
this.setMaxDamage(0);
this.setHasSubtypes(true);

View File

@ -10,6 +10,9 @@
******************************************************************************/
package cpw.mods.ironchest;
import java.util.Collections;
import java.util.Comparator;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
@ -19,6 +22,7 @@ import net.minecraft.inventory.Container;
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntityLockableLoot;
@ -29,7 +33,7 @@ import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraftforge.common.util.Constants;
public class TileEntityIronChest extends TileEntityLockableLoot implements ITickable//, IInventory
public class TileEntityIronChest extends TileEntityLockableLoot implements ITickable
{
/** The current angle of the lid (between 0 and 1) */
public float lidAngle;
@ -41,9 +45,9 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
private int ticksSinceSync = -1;
private int numPlayersUsing;
public int numPlayersUsing;
//private ItemStack[] topStacks;
private NonNullList<ItemStack> topStacks;
private EnumFacing facing;
@ -65,7 +69,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
super();
this.chestType = type;
this.chestContents = NonNullList.<ItemStack> func_191197_a(type.size, ItemStack.field_190927_a);
//this.topStacks = new ItemStack[8];
this.topStacks = NonNullList.<ItemStack> func_191197_a(8, ItemStack.field_190927_a);
this.facing = EnumFacing.NORTH;
}
@ -132,36 +136,35 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
{
super.markDirty();
//this.sortTopStacks();
this.sortTopStacks();
}
/*protected void sortTopStacks()
protected void sortTopStacks()
{
if (!this.getType().isTransparent() || (this.worldObj != null && this.worldObj.isRemote))
{
return;
}
ItemStack[] tempCopy = new ItemStack[this.getSizeInventory()];
NonNullList<ItemStack> tempCopy = NonNullList.<ItemStack> func_191197_a(this.getSizeInventory(), ItemStack.field_190927_a);
boolean hasStuff = false;
int compressedIdx = 0;
mainLoop:
for (int i = 0; i < this.getSizeInventory(); i++)
mainLoop: for (int i = 0; i < this.getSizeInventory(); i++)
{
if (this.chestContents[i] != null)
if (this.chestContents.get(i) != ItemStack.field_190927_a)
{
for (int j = 0; j < compressedIdx; j++)
{
if (tempCopy[j].isItemEqual(this.chestContents[i]))
if (tempCopy.get(j).isItemEqual(this.chestContents.get(i)))
{
tempCopy[j].func_190920_e(tempCopy[j].func_190916_E() + this.chestContents[i].func_190916_E());
tempCopy.get(j).func_190920_e(tempCopy.get(j).func_190916_E() + this.chestContents.get(i).func_190916_E());
continue mainLoop;
}
}
tempCopy[compressedIdx++] = this.chestContents[i].copy();
tempCopy.set(compressedIdx++, this.chestContents.get(i).copy());
hasStuff = true;
}
}
@ -170,9 +173,9 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
{
this.hadStuff = false;
for (int i = 0; i < this.topStacks.length; i++)
for (int i = 0; i < this.topStacks.size(); i++)
{
this.topStacks[i] = null;
this.topStacks.set(i, ItemStack.field_190927_a);
}
if (this.worldObj != null)
@ -186,44 +189,44 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
this.hadStuff = true;
Arrays.sort(tempCopy, new Comparator<ItemStack>()
{
Collections.sort(tempCopy, new Comparator<ItemStack>() {
@Override
public int compare(ItemStack o1, ItemStack o2)
public int compare(ItemStack stack1, ItemStack stack2)
{
if (o1 == null)
if (stack1 == null)
{
return 1;
}
else if (o2 == null)
else if (stack2 == null)
{
return -1;
}
else
{
return o2.func_190916_E() - o1.func_190916_E();
return stack2.func_190916_E() - stack1.func_190916_E();
}
}
});
int p = 0;
for (ItemStack element : tempCopy)
for (int i = 0; i < tempCopy.size(); i++)
{
ItemStack element = tempCopy.get(i);
if (element != ItemStack.field_190927_a && element.func_190916_E() > 0)
{
this.topStacks[p++] = element;
this.topStacks.set(p++, element);
if (p == this.topStacks.length)
if (p == this.topStacks.size())
{
break;
}
}
}
for (int i = p; i < this.topStacks.length; i++)
for (int i = p; i < this.topStacks.size(); i++)
{
this.topStacks[i] = null;
this.topStacks.set(i, ItemStack.field_190927_a);
}
if (this.worldObj != null)
@ -232,7 +235,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
this.worldObj.notifyBlockUpdate(this.pos, iblockstate, iblockstate, 3);
}
}*/
}
@Override
public String getName()
@ -270,7 +273,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
this.facing = EnumFacing.VALUES[compound.getByte("facing")];
//this.sortTopStacks();
this.sortTopStacks();
}
@Override
@ -348,7 +351,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
{
this.inventoryTouched = false;
//this.sortTopStacks();
this.sortTopStacks();
}
this.ticksSinceSync++;
@ -467,10 +470,10 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
}
}
//public ItemStack[] getTopItemStacks()
//{
// return this.topStacks;
//}
public NonNullList<ItemStack> getTopItemStacks()
{
return this.topStacks;
}
@Override
public SPacketUpdateTileEntity getUpdatePacket()
@ -479,28 +482,28 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
compound.setByte("facing", (byte) this.facing.ordinal());
/*ItemStack[] stacks = this.buildItemStackDataList();
NonNullList<ItemStack> stacks = this.buildItemStackDataList();
if (stacks != null)
{
NBTTagList itemList = new NBTTagList();
for (int slot = 0; slot < stacks.length; slot++)
for (int slot = 0; slot < stacks.size(); slot++)
{
if (stacks[slot] != null)
if (stacks.get(slot) != ItemStack.field_190927_a)
{
NBTTagCompound item = new NBTTagCompound();
item.setByte("Slot", (byte) slot);
stacks[slot].writeToNBT(item);
stacks.get(slot).writeToNBT(item);
itemList.appendTag(item);
}
}
compound.setTag("stacks", itemList);
}*/
}
return new SPacketUpdateTileEntity(this.pos, 0, compound);
}
@ -514,19 +517,19 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
this.facing = EnumFacing.VALUES[compound.getByte("facing")];
/*NBTTagList itemList = compound.getTagList("stacks", Constants.NBT.TAG_COMPOUND);
NBTTagList itemList = compound.getTagList("stacks", Constants.NBT.TAG_COMPOUND);
ItemStack[] stacks = new ItemStack[this.topStacks.length];
ItemStack[] stacks = new ItemStack[this.topStacks.size()];
for (int item = 0; item < stacks.length; item++)
{
NBTTagCompound itemStack = itemList.getCompoundTagAt(item);
NBTTagCompound itemNBT = itemList.getCompoundTagAt(item);
int slot = itemStack.getByte("Slot") & 255;
int slot = itemNBT.getByte("Slot") & 255;
if (slot >= 0 && slot < stacks.length)
{
stacks[slot] = ItemStack.loadItemStackFromNBT(itemStack);
stacks[slot] = new ItemStack(itemNBT);
}
}
@ -534,40 +537,41 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
{
int pos = 0;
for (int i = 0; i < this.topStacks.length; i++)
for (int i = 0; i < this.topStacks.size(); i++)
{
if (stacks[pos] != null)
{
this.topStacks[i] = stacks[pos];
this.topStacks.set(i, stacks[pos]);
}
else
{
this.topStacks[i] = null;
this.topStacks.set(i, ItemStack.field_190927_a);
}
pos++;
}
}*/
}
}
}
/*public ItemStack[] buildItemStackDataList()
public NonNullList<ItemStack> buildItemStackDataList()
{
if (this.getType().isTransparent())
{
ItemStack[] sortList = new ItemStack[this.topStacks.length];
NonNullList<ItemStack> sortList = NonNullList.<ItemStack> func_191197_a(this.topStacks.size(), ItemStack.field_190927_a);
int pos = 0;
for (ItemStack is : this.topStacks)
for (int i = 0; i < this.topStacks.size(); i++)
{
ItemStack is = this.topStacks.get(i);
if (is != null)
{
sortList[pos++] = is;
sortList.set(pos++, is);
}
else
{
sortList[pos++] = null;
sortList.set(pos++, ItemStack.field_190927_a);
}
}
@ -575,7 +579,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
}
return null;
}*/
}
@Override
public boolean isItemValidForSlot(int index, ItemStack stack)
@ -601,7 +605,7 @@ public class TileEntityIronChest extends TileEntityLockableLoot implements ITick
@Override
public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn)
{
this.fillWithLoot((EntityPlayer) null);
this.fillWithLoot(playerIn);
return new ContainerIronChest(playerInventory, this, this.chestType, this.chestType.xSize, this.chestType.ySize);
}

View File

@ -50,7 +50,7 @@ public class ClientProxy extends CommonProxy
for (ChestChangerType type : ChestChangerType.VALUES)
{
//@formatter:off
ModelLoader.setCustomModelResourceLocation(type.item, 0, new ModelResourceLocation(new ResourceLocation(IronChest.MOD_ID, "ItemChestUpgrade"), "variant=" + type.itemName.toLowerCase()));
ModelLoader.setCustomModelResourceLocation(type.item, 0, new ModelResourceLocation(new ResourceLocation(IronChest.MOD_ID, "iron_chest_upgrades"), "variant=" + type.itemName.toLowerCase()));
//@formatter:on
}
}

View File

@ -24,12 +24,12 @@ public class GUIChest extends GuiContainer
public enum ResourceList
{
//@formatter:off
IRON(new ResourceLocation("ironchest", "textures/gui/ironcontainer.png")),
COPPER(new ResourceLocation("ironchest", "textures/gui/coppercontainer.png")),
SILVER(new ResourceLocation("ironchest", "textures/gui/silvercontainer.png")),
GOLD(new ResourceLocation("ironchest", "textures/gui/goldcontainer.png")),
DIAMOND(new ResourceLocation("ironchest", "textures/gui/diamondcontainer.png")),
DIRT(new ResourceLocation("ironchest", "textures/gui/dirtcontainer.png"));
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;

View File

@ -12,17 +12,22 @@ package cpw.mods.ironchest.client;
import java.util.Random;
import com.google.common.primitives.SignedBytes;
import cpw.mods.ironchest.BlockIronChest;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.IronChestType;
import cpw.mods.ironchest.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;
import net.minecraft.util.NonNullList;
public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileEntityIronChest>
{
@ -141,7 +146,7 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
GlStateManager.popMatrix();
GlStateManager.color(1F, 1F, 1F, 1F);
/*if (type.isTransparent()
if (type.isTransparent()
&& tile.getDistanceSq(this.rendererDispatcher.entityX, this.rendererDispatcher.entityY, this.rendererDispatcher.entityZ) < 128d)
{
this.random.setSeed(254L);
@ -151,23 +156,28 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
int shift = 0;
float blockScale = 0.70F;
float timeD = (float) (360D * (System.currentTimeMillis() & 0x3FFFL) / 0x3FFFL) - partialTick;
if (tile.getTopItemStacks()[1] == null)
if (tile.getTopItemStacks().get(1) == ItemStack.field_190927_a)
{
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 : tile.getTopItemStacks())
NonNullList<ItemStack> stacks = tile.getTopItemStacks();
for (int i = 0; i < stacks.size(); i++)
{
ItemStack item = stacks.get(i);
if (shift > shifts.length)
{
break;
}
if (item == null)
if (item == ItemStack.field_190927_a)
{
shift++;
continue;
@ -184,7 +194,8 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
if (this.itemRenderer == null)
{
this.itemRenderer = new RenderEntityItem(Minecraft.getMinecraft().getRenderManager(), Minecraft.getMinecraft().getRenderItem()) {
this.itemRenderer = new RenderEntityItem(Minecraft.getMinecraft().getRenderManager(), Minecraft.getMinecraft().getRenderItem())
{
@Override
public int getModelCount(ItemStack stack)
{
@ -210,7 +221,7 @@ public class TileEntityIronChestRenderer extends TileEntitySpecialRenderer<TileE
}
GlStateManager.popMatrix();
}*/
}
}
}

View File

@ -1,61 +0,0 @@
{
"forge_marker": 1,
"defaults": {
"model": "builtin/generated",
"transform": "forge:default-item"
},
"variants": {
"variant": {
"irongoldupgrade": {
"textures": {
"layer0": "ironchest:items/ironGoldUpgrade"
}
},
"coppersilverupgrade": {
"textures": {
"layer0": "ironchest:items/copperSilverUpgrade"
}
},
"diamondcrystalupgrade": {
"textures": {
"layer0": "ironchest:items/diamondCrystalUpgrade"
}
},
"diamondobsidianupgrade": {
"textures": {
"layer0": "ironchest:items/diamondObsidianUpgrade"
}
},
"golddiamondupgrade": {
"textures": {
"layer0": "ironchest:items/goldDiamondUpgrade"
}
},
"irongoldupgrade": {
"textures": {
"layer0": "ironchest:items/ironGoldUpgrade"
}
},
"silvergoldupgrade": {
"textures": {
"layer0": "ironchest:items/silverGoldUpgrade"
}
},
"woodcopperupgrade": {
"textures": {
"layer0": "ironchest:items/woodCopperUpgrade"
}
},
"woodironupgrade": {
"textures": {
"layer0": "ironchest:items/woodIronUpgrade"
}
},
"copperironupgrade": {
"textures": {
"layer0": "ironchest:items/copperIronUpgrade"
}
}
}
}
}

View File

@ -1,57 +1,57 @@
{
"forge_marker": 1,
"defaults": {
"model": "ironchest:chest",
"model": "ironchest:iron_chest",
"transform": "forge:default-block"
},
"variants": {
"variant": {
"iron": {
"textures": {
"particle": "ironchest:blocks/ironbreak",
"texture": "ironchest:model/ironchest"
"particle": "ironchest:blocks/iron_break",
"texture": "ironchest:model/iron_chest"
}
},
"gold": {
"textures": {
"particle": "ironchest:blocks/goldbreak",
"texture": "ironchest:model/goldchest"
"particle": "ironchest:blocks/gold_break",
"texture": "ironchest:model/gold_chest"
}
},
"diamond": {
"textures": {
"particle": "ironchest:blocks/diamondbreak",
"texture": "ironchest:model/diamondchest"
"particle": "ironchest:blocks/diamond_break",
"texture": "ironchest:model/diamond_chest"
}
},
"copper": {
"textures": {
"particle": "ironchest:blocks/copperbreak",
"texture": "ironchest:model/copperchest"
"particle": "ironchest:blocks/copper_break",
"texture": "ironchest:model/copper_chest"
}
},
"silver": {
"textures": {
"particle": "ironchest:blocks/silverbreak",
"texture": "ironchest:model/silverchest"
"particle": "ironchest:blocks/silver_break",
"texture": "ironchest:model/silver_chest"
}
},
"crystal": {
"textures": {
"particle": "ironchest:blocks/crystalbreak",
"texture": "ironchest:model/crystalchest"
"particle": "ironchest:blocks/crystal_break",
"texture": "ironchest:model/crystal_chest"
}
},
"obsidian": {
"textures": {
"particle": "minecraft:blocks/obsidian",
"texture": "ironchest:model/obsidianchest"
"texture": "ironchest:model/obsidian_chest"
}
},
"dirtchest9000": {
"textures": {
"particle": "minecraft:blocks/dirt",
"texture": "ironchest:model/dirtchest"
"texture": "ironchest:model/dirt_chest"
}
},
"wood": {

View File

@ -0,0 +1,56 @@
{
"forge_marker": 1,
"defaults": {
"model": "builtin/generated",
"transform": "forge:default-item"
},
"variants": {
"variant": {
"copper_silver_upgrade": {
"textures": {
"layer0": "ironchest:items/copper_silver_upgrade"
}
},
"diamond_crystal_upgrade": {
"textures": {
"layer0": "ironchest:items/diamond_crystal_upgrade"
}
},
"diamond_obsidian_upgrade": {
"textures": {
"layer0": "ironchest:items/diamond_obsidian_upgrade"
}
},
"gold_diamond_upgrade": {
"textures": {
"layer0": "ironchest:items/gold_diamond_upgrade"
}
},
"iron_gold_upgrade": {
"textures": {
"layer0": "ironchest:items/iron_gold_upgrade"
}
},
"silver_gold_upgrade": {
"textures": {
"layer0": "ironchest:items/silver_gold_upgrade"
}
},
"wood_copper_upgrade": {
"textures": {
"layer0": "ironchest:items/wood_copper_upgrade"
}
},
"wood_iron_upgrade": {
"textures": {
"layer0": "ironchest:items/wood_iron_upgrade"
}
},
"copper_iron_upgrade": {
"textures": {
"layer0": "ironchest:items/copper_iron_upgrade"
}
}
}
}
}

View File

@ -0,0 +1,25 @@
tile.ironchest:IRON.name=Vas láda
tile.ironchest:GOLD.name=Arany láda
tile.ironchest:DIAMOND.name=Gyémánt láda
tile.ironchest:COPPER.name=Réz láda
tile.ironchest:SILVER.name=Ezüst láda
tile.ironchest:CRYSTAL.name=Kristály láda
tile.ironchest:OBSIDIAN.name=Obszidián láda
tile.ironchest:DIRTCHEST9000.name=DirtChest 9000!
item.ironchest:IRONGOLD.name=Vasról arany ládára bővítő
item.ironchest:GOLDDIAMOND.name=Aranyról gyémánt ládára bővítő
item.ironchest:COPPERSILVER.name=Rézről ezüst ládára bővítő
item.ironchest:SILVERGOLD.name=Ezüstről arany ládára bővítő
item.ironchest:COPPERIRON.name=Részről vas ládára bővítő
item.ironchest:DIAMONDCRYSTAL.name=Gyémántról kristály ládára bővítő
item.ironchest:WOODIRON.name=Normálról (fa) vas ládára bővítő
item.ironchest:WOODCOPPER.name=Normálról (fa) réz ládára bővítő
item.ironchest:DIAMONDOBSIDIAN.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,7 +1,7 @@
{
"parent": "block/block",
"textures": {
"texture": "ironchest:model/copperchest"
"texture": "ironchest:model/copper_chest"
},
"elements": [
{ "from": [ 1, 0, 1 ],

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 480 B

After

Width:  |  Height:  |  Size: 480 B

View File

Before

Width:  |  Height:  |  Size: 480 B

After

Width:  |  Height:  |  Size: 480 B

View File

Before

Width:  |  Height:  |  Size: 418 B

After

Width:  |  Height:  |  Size: 418 B

View File

Before

Width:  |  Height:  |  Size: 466 B

After

Width:  |  Height:  |  Size: 466 B

View File

Before

Width:  |  Height:  |  Size: 480 B

After

Width:  |  Height:  |  Size: 480 B

View File

Before

Width:  |  Height:  |  Size: 526 B

After

Width:  |  Height:  |  Size: 526 B

View File

Before

Width:  |  Height:  |  Size: 526 B

After

Width:  |  Height:  |  Size: 526 B

View File

Before

Width:  |  Height:  |  Size: 542 B

After

Width:  |  Height:  |  Size: 542 B

View File

Before

Width:  |  Height:  |  Size: 540 B

After

Width:  |  Height:  |  Size: 540 B

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB