ironbarrels/src/main/java/cpw/mods/ironchest/client/ClientProxy.java

79 lines
2.8 KiB
Java
Raw Normal View History

/*******************************************************************************
* 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
2016-05-19 01:47:25 +02:00
* <p>
* Contributors:
2016-05-19 01:47:25 +02:00
* cpw - initial API and implementation
******************************************************************************/
package cpw.mods.ironchest.client;
2016-05-19 01:47:25 +02:00
import cpw.mods.ironchest.ChestChangerType;
2016-03-21 17:44:27 +01:00
import cpw.mods.ironchest.CommonProxy;
import cpw.mods.ironchest.IronChest;
import cpw.mods.ironchest.IronChestType;
import cpw.mods.ironchest.TileEntityIronChest;
import net.minecraft.client.Minecraft;
2016-03-21 17:44:27 +01:00
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
2016-03-21 17:44:27 +01:00
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
2016-05-19 01:47:25 +02:00
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.client.registry.ClientRegistry;
2016-05-19 01:47:25 +02:00
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
2016-05-19 01:47:25 +02:00
@SideOnly(Side.CLIENT)
public class ClientProxy extends CommonProxy
{
@Override
public void registerRenderInformation()
{
2016-05-19 01:47:25 +02:00
Item chestItem = Item.getItemFromBlock(IronChest.ironChestBlock);
2016-05-19 01:47:25 +02:00
for (IronChestType type : IronChestType.values())
{
2016-05-19 01:47:25 +02:00
if (type != IronChestType.WOOD)
{
2016-05-20 00:01:50 +02:00
//@formatter:off
ModelLoader.setCustomModelResourceLocation(chestItem, type.ordinal(), new ModelResourceLocation(chestItem.getRegistryName(), "variant=" + type.getName()));
2016-05-20 00:01:50 +02:00
//@formatter:on
}
2016-05-19 01:47:25 +02:00
ClientRegistry.bindTileEntitySpecialRenderer(type.clazz, new TileEntityIronChestRenderer());
}
2016-05-19 01:47:25 +02:00
for (ChestChangerType type : ChestChangerType.VALUES)
{
2016-05-20 00:01:50 +02:00
//@formatter:off
ModelLoader.setCustomModelResourceLocation(type.item, 0, new ModelResourceLocation(new ResourceLocation(IronChest.MOD_ID, "ItemChestUpgrade"), "variant=" + type.itemName.toLowerCase()));
2016-05-20 00:01:50 +02:00
//@formatter:on
2016-05-19 01:47:25 +02:00
}
}
@Override
public World getClientWorld()
{
return Minecraft.getMinecraft().world;
}
@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);
2016-03-21 17:44:27 +01:00
}
else
{
return null;
}
}
}