// Path: java/tb/api/BraceletState.java
// public abstract class BraceletState {
// 	
// 	public static final ArrayList<BraceletState> braceletStates = new ArrayList<BraceletState>();
// 
// 	public static BraceletState forMetadata(int meta)
// 	{
// 		return braceletStates.get(Math.min(braceletStates.size()-1, meta));
// 	}
// 	
// 	public final int metadataForState;
// 	
// 	public BraceletState()
// 	{
// 		braceletStates.add(this);
// 		metadataForState = braceletStates.size()-1;
// 	}
// 	
// 	public abstract String getName(ItemStack bracelet);
// 	
// 	public abstract ResourceLocation getBraceletTexture(ItemStack bracelet);
// 	
// 	public abstract WandCap getCaps(ItemStack bracelet);
// 	
// 	public abstract WandRod getRod(ItemStack bracelet);
// 	
// 	public abstract int getCapacity(ItemStack bracelet);
// 	
// 	public static class BraceletStateGeneric extends BraceletState
// 	{
// 		public final String name;
// 		public final ResourceLocation tex;
// 		public final WandCap cap;
// 		public final WandRod rod;
// 		public final int capacity;
// 		
// 		public BraceletStateGeneric(String par1, ResourceLocation par2, WandCap par3, WandRod par4, int par5)
// 		{
// 			super();
// 			name = par1;
// 			tex = par2;
// 			cap = par3;
// 			rod = par4;
// 			capacity = par5;
// 		}
// 
// 		@Override
// 		public String getName(ItemStack bracelet) {
// 			return name;
// 		}
// 
// 		@Override
// 		public ResourceLocation getBraceletTexture(ItemStack bracelet) {
// 			return tex;
// 		}
// 
// 		@Override
// 		public WandCap getCaps(ItemStack bracelet) {
// 			return cap;
// 		}
// 
// 		@Override
// 		public WandRod getRod(ItemStack bracelet) {
// 			return rod;
// 		}
// 
// 		@Override
// 		public int getCapacity(ItemStack bracelet) {
// 			return capacity;
// 		}
// 		
// 	}
// }


import javax.vecmath.Matrix4f;
import org.lwjgl.util.vector.Vector3f;
import DummyCore.Client.AdvancedModelLoader;
import DummyCore.Client.IItemRenderer;
import DummyCore.Client.IModelCustom;
import DummyCore.Utils.DrawUtils;
import DummyCore.Utils.TessellatorWrapper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType;
import net.minecraft.client.renderer.block.model.ItemTransformVec3f;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.ForgeHooksClient;
import tb.api.BraceletState;
import thaumcraft.common.config.ConfigItems;
import thaumcraft.common.items.wands.ItemWand;
		RenderHelper.disableStandardItemLighting();
		if(type == TransformType.FIRST_PERSON)
		{
			GlStateManager.pushMatrix();
			
            Minecraft.getMinecraft().getTextureManager().bindTexture(entityclientplayermp.getLocationSkin());
        	
            Render<?> render = Minecraft.getMinecraft().getRenderManager().getEntityRenderObject(Minecraft.getMinecraft().thePlayer);
            RenderPlayer renderplayer = (RenderPlayer)render;
            
            float f10 = 4.0F;
            GlStateManager.scale(f10, f10, f10);
            
            GlStateManager.rotate(90, 1, 0, 0);
            GlStateManager.rotate(40, 0, 0, 1);
            GlStateManager.translate(0.2, 0, 0);
            if(entityclientplayermp.isUsingItem())
            {
            	 GlStateManager.rotate(60, 1, 0, 0);
            	 GlStateManager.translate(0, 0, 0);
            }
            renderplayer.renderRightArm(Minecraft.getMinecraft().thePlayer);
			
			GlStateManager.popMatrix();
			
			
		}
		
		double ds = 0.2D;
		GlStateManager.scale(ds, ds, ds);
// Path: java/tb/api/BraceletState.java
// public abstract class BraceletState {
// 	
// 	public static final ArrayList<BraceletState> braceletStates = new ArrayList<BraceletState>();
// 
// 	public static BraceletState forMetadata(int meta)
// 	{
// 		return braceletStates.get(Math.min(braceletStates.size()-1, meta));
// 	}
// 	
// 	public final int metadataForState;
// 	
// 	public BraceletState()
// 	{
// 		braceletStates.add(this);
// 		metadataForState = braceletStates.size()-1;
// 	}
// 	
// 	public abstract String getName(ItemStack bracelet);
// 	
// 	public abstract ResourceLocation getBraceletTexture(ItemStack bracelet);
// 	
// 	public abstract WandCap getCaps(ItemStack bracelet);
// 	
// 	public abstract WandRod getRod(ItemStack bracelet);
// 	
// 	public abstract int getCapacity(ItemStack bracelet);
// 	
// 	public static class BraceletStateGeneric extends BraceletState
// 	{
// 		public final String name;
// 		public final ResourceLocation tex;
// 		public final WandCap cap;
// 		public final WandRod rod;
// 		public final int capacity;
// 		
// 		public BraceletStateGeneric(String par1, ResourceLocation par2, WandCap par3, WandRod par4, int par5)
// 		{
// 			super();
// 			name = par1;
// 			tex = par2;
// 			cap = par3;
// 			rod = par4;
// 			capacity = par5;
// 		}
// 
// 		@Override
// 		public String getName(ItemStack bracelet) {
// 			return name;
// 		}
// 
// 		@Override
// 		public ResourceLocation getBraceletTexture(ItemStack bracelet) {
// 			return tex;
// 		}
// 
// 		@Override
// 		public WandCap getCaps(ItemStack bracelet) {
// 			return cap;
// 		}
// 
// 		@Override
// 		public WandRod getRod(ItemStack bracelet) {
// 			return rod;
// 		}
// 
// 		@Override
// 		public int getCapacity(ItemStack bracelet) {
// 			return capacity;
// 		}
// 		
// 	}
// }


// Path: java/tb/client/render/item/CastingBraceletRenderer.java
import javax.vecmath.Matrix4f;
import org.lwjgl.util.vector.Vector3f;
import DummyCore.Client.AdvancedModelLoader;
import DummyCore.Client.IItemRenderer;
import DummyCore.Client.IModelCustom;
import DummyCore.Utils.DrawUtils;
import DummyCore.Utils.TessellatorWrapper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType;
import net.minecraft.client.renderer.block.model.ItemTransformVec3f;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.ForgeHooksClient;
import tb.api.BraceletState;
import thaumcraft.common.config.ConfigItems;
import thaumcraft.common.items.wands.ItemWand;

		RenderHelper.disableStandardItemLighting();
		if(type == TransformType.FIRST_PERSON)
		{
			GlStateManager.pushMatrix();
			
            Minecraft.getMinecraft().getTextureManager().bindTexture(entityclientplayermp.getLocationSkin());
        	
            Render<?> render = Minecraft.getMinecraft().getRenderManager().getEntityRenderObject(Minecraft.getMinecraft().thePlayer);
            RenderPlayer renderplayer = (RenderPlayer)render;
            
            float f10 = 4.0F;
            GlStateManager.scale(f10, f10, f10);
            
            GlStateManager.rotate(90, 1, 0, 0);
            GlStateManager.rotate(40, 0, 0, 1);
            GlStateManager.translate(0.2, 0, 0);
            if(entityclientplayermp.isUsingItem())
            {
            	 GlStateManager.rotate(60, 1, 0, 0);
            	 GlStateManager.translate(0, 0, 0);
            }
            renderplayer.renderRightArm(Minecraft.getMinecraft().thePlayer);
			
			GlStateManager.popMatrix();
			
			
		}
		
		double ds = 0.2D;
		GlStateManager.scale(ds, ds, ds);
		Minecraft.getMinecraft().renderEngine.bindTexture(BraceletState.forMetadata(item.getMetadata()).getBraceletTexture(item));