Fix more Renderers

This commit is contained in:
kitsushadow
2015-07-05 06:54:17 -04:00
parent 9f0b506d42
commit fbbb539b48
50 changed files with 1027 additions and 1426 deletions

View File

@@ -25,6 +25,8 @@ import com.kitsu.medievalcraft.block.fluid.BlockSlackedLime;
import com.kitsu.medievalcraft.block.fluid.BlockSmoke;
import com.kitsu.medievalcraft.block.fluid.BlockTannin;
import com.kitsu.medievalcraft.block.ingots.DamascusIngot;
import com.kitsu.medievalcraft.block.ingots.Diamond;
import com.kitsu.medievalcraft.block.ingots.Emerald;
import com.kitsu.medievalcraft.block.ingots.IronPlate;
import com.kitsu.medievalcraft.block.ingots.LapisIngot;
import com.kitsu.medievalcraft.block.ingots.RedstoneIngot;
@@ -243,5 +245,7 @@ public class ModBlocks {
GameRegistry.registerBlock(redstoneIngot = new RedstoneIngot("redstoneIngot", Material.rock), "redstoneIngot");
GameRegistry.registerBlock(lapisIngot = new LapisIngot("lapisIngot", Material.rock), "lapisIngot");
GameRegistry.registerBlock(myDiamond = new Diamond("myDiamond", Material.glass), "myDiamond");
GameRegistry.registerBlock(myEmerald = new Emerald("myEmerald", Material.glass), "myEmerald");
}
}

View File

@@ -14,21 +14,10 @@ public class DamascusIngot extends IngotBase {
public DamascusIngot(String unlocalizedName, Material material) {
super(unlocalizedName, material);
this.setBlockTextureName(Main.MODID + ":" + unlocalizedName);
this.setCreativeTab(CustomTab.MedievalCraftTab);
this.setHardness(1.0F);
this.setResistance(1.0F);
this.setHarvestLevel("pickaxe", 0);
this.setStepSound(soundTypeMetal);
//xmin, ymin, zmin,
//xmax, ymax, zmax
this.setBlockBounds(0.17F, 0.0F, 0.315F,
0.8F, 0.15F, 0.725F);
}
@Override
public TileEntity createNewTileEntity(World world, int i) {
return new TileDamascus();
}

View File

@@ -4,8 +4,10 @@ import java.util.Random;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
@@ -32,8 +34,8 @@ public abstract class IngotBase extends BlockContainer {
this.setStepSound(soundTypeMetal);
//xmin, ymin, zmin,
//xmax, ymax, zmax
this.setBlockBounds(0.17F, 0.0F, 0.315F,
0.8F, 0.15F, 0.725F);
this.setBlockBounds(0.25F, 0.0F, 0.35F,
0.75F , 0.15F, 0.7F);
}
@Override
@@ -42,7 +44,6 @@ public abstract class IngotBase extends BlockContainer {
}
@Override
public TileEntity createNewTileEntity(World world, int i) {
// TODO Auto-generated method stub
return null;
}
@@ -61,12 +62,31 @@ public abstract class IngotBase extends BlockContainer {
parts(world, locX, locY, locZ);
makeParts = false;
}
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_){
int a = player.inventory.currentItem;
if(player.inventory.getStackInSlot(a)!=null){
if(player.inventory.getStackInSlot(a).getItem()==Item.getItemFromBlock(this)){
ItemStack jar = new ItemStack(this);
player.inventory.addItemStackToInventory(jar);
if(!world.isRemote){
world.setBlock(x, y, z, Blocks.air, 0, 2);
}
}
}
if(player.inventory.getStackInSlot(a)==null){
ItemStack jar = new ItemStack(this);
player.inventory.setInventorySlotContents(a, jar);
if(!world.isRemote){
world.setBlock(x, y, z, Blocks.air, 0, 2);
}
}
return true;
}
private void parts(World world, int x, int y, int z){
world.spawnParticle("lava", x+0.5D, y+0.5D, z+0.5D, 0, 0, 0);
world.spawnParticle("lava", x+0.5D, y+0.5D, z+0.5D, 0, 0, 0);
world.spawnParticle("lava", x+0.5D, y+0.5D, z+0.5D, 0, 0, 0);
@@ -76,7 +96,6 @@ public abstract class IngotBase extends BlockContainer {
world.spawnParticle("lava", x+0.5D, y+0.5D, z+0.5D, 0, 0, 0);
world.spawnParticle("lava", x+0.5D, y+0.5D, z+0.5D, 0, 0, 0);
world.spawnParticle("lava", x+0.5D, y+0.5D, z+0.5D, 0, 0, 0);
}
@Override

View File

@@ -14,12 +14,6 @@ public class IronPlate extends IngotBase {
public IronPlate(String unlocalizedName, Material material) {
super(unlocalizedName, material);
this.setBlockTextureName(Main.MODID + ":" + unlocalizedName);
this.setCreativeTab(CustomTab.MedievalCraftTab);
this.setHardness(1.0F);
this.setResistance(1.0F);
this.setHarvestLevel("pickaxe", 0);
this.setStepSound(soundTypeMetal);
//xmin, ymin, zmin,
//xmax, ymax, zmax
this.setBlockBounds(0.3F, 0.0F, 0.3F,

View File

@@ -13,16 +13,6 @@ public class LapisIngot extends IngotBase {
public LapisIngot(String unlocalizedName, Material material) {
super(unlocalizedName, material);
this.setBlockTextureName(Main.MODID + ":" + unlocalizedName);
this.setCreativeTab(CustomTab.MedievalCraftTab);
this.setHardness(1.0F);
this.setResistance(1.0F);
this.setHarvestLevel("pickaxe", 0);
this.setStepSound(soundTypeMetal);
//xmin, ymin, zmin,
//xmax, ymax, zmax
this.setBlockBounds(0.17F, 0.0F, 0.315F,
0.8F, 0.15F, 0.725F);
}
@Override

View File

@@ -14,16 +14,6 @@ public class RedstoneIngot extends IngotBase {
public RedstoneIngot(String unlocalizedName, Material material) {
super(unlocalizedName, material);
this.setBlockTextureName(Main.MODID + ":" + unlocalizedName);
this.setCreativeTab(CustomTab.MedievalCraftTab);
this.setHardness(1.0F);
this.setResistance(1.0F);
this.setHarvestLevel("pickaxe", 0);
this.setStepSound(soundTypeMetal);
//xmin, ymin, zmin,
//xmax, ymax, zmax
this.setBlockBounds(0.17F, 0.0F, 0.315F,
0.8F, 0.15F, 0.725F);
}
@Override

View File

@@ -13,16 +13,6 @@ public class RefinedIron extends IngotBase {
public RefinedIron(String unlocalizedName, Material material) {
super(unlocalizedName, material);
this.setBlockTextureName(Main.MODID + ":" + unlocalizedName);
this.setCreativeTab(CustomTab.MedievalCraftTab);
this.setHardness(1.0F);
this.setResistance(1.0F);
this.setHarvestLevel("pickaxe", 0);
this.setStepSound(soundTypeMetal);
//xmin, ymin, zmin,
//xmax, ymax, zmax
this.setBlockBounds(0.17F, 0.0F, 0.315F,
0.8F, 0.15F, 0.725F);
}
@Override

View File

@@ -400,15 +400,14 @@ public void splitLogEvent(PlayerInteractEvent event){
if(!event.entity.worldObj.isRemote){
if (event.entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.entity;
//Block test = event.world.getBlock(event.x, event.y, event.z);
//Block isEmpty = event.world.getBlock(event.x, event.y + 1, event.z);
ItemStack itemStack = new ItemStack(Items.diamond);
if(player.isSneaking()){
if((player.inventory.getCurrentItem() != null)) {
if((player.inventory.getCurrentItem().getItem().equals(Items.diamond))){
if((event.action == event.action.RIGHT_CLICK_BLOCK ) ) { //&& (test == ModBlocks.testForge) && (isEmpty == Blocks.air)
if((event.action == event.action.RIGHT_CLICK_BLOCK )){
if(event.world.getBlock(event.x, event.y + 1, event.z).equals(Blocks.air)){
event.world.setBlock(event.x, event.y + 1, event.z, ModBlocks.myDiamond, 0, 2);
//event.world.setBlock(event.x, event.y+1, event.z, Blocks.bedrock);
player.inventory.consumeInventoryItem(Items.diamond);
}
}

View File

@@ -73,7 +73,6 @@ public class SlottedTongs extends Item {
}
}
}
return true;
}

View File

@@ -40,8 +40,11 @@ import com.kitsu.medievalcraft.renderer.itemrenderer.crucibles.empty.IRTanninCru
import com.kitsu.medievalcraft.renderer.itemrenderer.crucibles.empty.IRWaterCrucible;
import com.kitsu.medievalcraft.renderer.itemrenderer.crucibles.empty.ItemRendererECCrucible;
import com.kitsu.medievalcraft.renderer.itemrenderer.crucibles.empty.ItemRendererSECrucible;
import com.kitsu.medievalcraft.renderer.itemrenderer.ingotsplates.DamascusIngotIR;
import com.kitsu.medievalcraft.renderer.itemrenderer.ingotsplates.IronIngotIR;
import com.kitsu.medievalcraft.renderer.itemrenderer.ingotsplates.IronPlateIR;
import com.kitsu.medievalcraft.renderer.itemrenderer.ingotsplates.LapisIngotIR;
import com.kitsu.medievalcraft.renderer.itemrenderer.ingotsplates.RedstoneIngotIR;
import com.kitsu.medievalcraft.renderer.itemrenderer.machines.IRBarrelLid;
import com.kitsu.medievalcraft.renderer.itemrenderer.machines.IRFirebox;
import com.kitsu.medievalcraft.renderer.itemrenderer.machines.IRForgeAnvil;
@@ -110,6 +113,7 @@ public class RendererRegistry {
MinecraftForgeClient.registerItemRenderer(ModItems.itemModelArrow, new ItemRendererModelArrow());
MinecraftForgeClient.registerItemRenderer(ModItems.itemIronTippedModelArrow, new ItemRendererITModelArrow());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.emptySoftCrucible), new ItemRendererSECrucible());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.emptyCookedCrucible), new ItemRendererECCrucible());
@@ -133,7 +137,10 @@ public class RendererRegistry {
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.crucibleRedstone), new IRCrucible());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.refinedIron), new IronIngotIR());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.damascus), new DamascusIngotIR());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.ironPlate), new IronPlateIR());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.lapisIngot), new LapisIngotIR());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.redstoneIngot), new RedstoneIngotIR());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoftEmptyCrucible.class, new SECrucibleRenderer());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEmptyCookedCrucible.class, new ECCrucibleRenderer());

View File

@@ -4,15 +4,19 @@ import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
public class ItemRendererDamIngot implements IItemRenderer {
public class DamascusIngotIR implements IItemRenderer {
public static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/IronIngotBlock.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/DamascusIngot.png");
public static final ResourceLocation TEXTURE1 = new ResourceLocation("kitsumedievalcraft:models/HotDamascusIngot.png");
private ResourceLocation loc;
public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE);
@@ -38,8 +42,7 @@ public class ItemRendererDamIngot implements IItemRenderer {
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
ItemRendererHelper helper) {
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
@@ -67,23 +70,19 @@ public class ItemRendererDamIngot implements IItemRenderer {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
GL11.glRotated(90, 0, 1.0, 0);
GL11.glRotated(-20, 1, 0, 0);
GL11.glScalef(0.75F, 0.75F, 0.75F);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F);
//GL11.glRotatef(10F, 1.0F, 0.0F, 0.0F);
//GL11.glRotated(90, 1.0, 0.0, 0.0);
GL11.glTranslatef(0.0F, 0.0F, 1.15F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
@@ -94,55 +93,42 @@ public class ItemRendererDamIngot implements IItemRenderer {
GL11.glRotated(-20, 1, 0, 0);
GL11.glRotated(30, 0, 0, 1);
GL11.glScalef(f, f, f);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-0.2F, 1.0F, 1.15F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
//GL11.glScalef(8.0F, 8.0F, 8.0F);
//GL11.glRotatef(90, 1.0F, 0.0F, 0.0F);
//GL11.glTranslatef(1.0F, 0.0F, -1.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
//GL11.glScalef(1.75F, 1.75F, 1.75F);
//GL11.glTranslatef(0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}

View File

@@ -1,154 +0,0 @@
package com.kitsu.medievalcraft.renderer.itemrenderer.ingotsplates;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
public class IRRefinedIngot implements IItemRenderer {
public static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/IronIngotBlock.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/IronIngotBlock.png");
public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE);
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED: {
return true;
}
case EQUIPPED_FIRST_PERSON: {
return true;
}
case INVENTORY: {
return true;
}
case ENTITY: {
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
return helper == ItemRendererHelper.BLOCK_3D;
}
case EQUIPPED_FIRST_PERSON: {
return helper == ItemRendererHelper.EQUIPPED_BLOCK;
}
case INVENTORY: {
return helper == ItemRendererHelper.INVENTORY_BLOCK;
}
case ENTITY: {
return (helper == ItemRendererHelper.ENTITY_BOBBING ||
helper == ItemRendererHelper.ENTITY_ROTATION ||
helper == ItemRendererHelper.BLOCK_3D);
}
default: return false;
}
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
GL11.glRotated(90, 0, 1.0, 0);
GL11.glRotated(-20, 1, 0, 0);
GL11.glScalef(0.75F, 0.75F, 0.75F);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F);
//GL11.glRotatef(10F, 1.0F, 0.0F, 0.0F);
//GL11.glRotated(90, 1.0, 0.0, 0.0);
GL11.glTranslatef(0.0F, 0.0F, 1.15F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case EQUIPPED_FIRST_PERSON: {
float f = 0.75F;
GL11.glPushMatrix();
GL11.glRotated(45, 0, 1.0, 0);
GL11.glRotated(-20, 1, 0, 0);
GL11.glRotated(30, 0, 0, 1);
GL11.glScalef(f, f, f);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-0.2F, 1.0F, 1.15F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
//GL11.glScalef(8.0F, 8.0F, 8.0F);
//GL11.glRotatef(90, 1.0F, 0.0F, 0.0F);
//GL11.glTranslatef(1.0F, 0.0F, -1.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
//GL11.glScalef(1.75F, 1.75F, 1.75F);
//GL11.glTranslatef(0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}
}
}

View File

@@ -1,149 +0,0 @@
package com.kitsu.medievalcraft.renderer.itemrenderer.ingotsplates;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
public class ItemRendererHotDamIngot implements IItemRenderer {
public static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/IronIngotBlock.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/HotDamascusIngot.png");
public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE);
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED: {
return true;
}
case EQUIPPED_FIRST_PERSON: {
return true;
}
case INVENTORY: {
return true;
}
case ENTITY: {
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
return helper == ItemRendererHelper.BLOCK_3D;
}
case EQUIPPED_FIRST_PERSON: {
return helper == ItemRendererHelper.EQUIPPED_BLOCK;
}
case INVENTORY: {
return helper == ItemRendererHelper.INVENTORY_BLOCK;
}
case ENTITY: {
return (helper == ItemRendererHelper.ENTITY_BOBBING ||
helper == ItemRendererHelper.ENTITY_ROTATION ||
helper == ItemRendererHelper.BLOCK_3D);
}
default: return false;
}
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
//GL11.glScalef(0.75F, 0.75F, 0.75F);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F);
//GL11.glRotatef(10F, 1.0F, 0.0F, 0.0F);
//GL11.glRotated(90, 1.0, 0.0, 0.0);
//GL11.glTranslatef(0.0F, -0.5F, 0.5F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case EQUIPPED_FIRST_PERSON: {
//float f = 8.0F;
GL11.glPushMatrix();
//GL11.glScalef(f, f, f);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);
//GL11.glTranslatef(5.0F, 4F, 0.5F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
//GL11.glScalef(8.0F, 8.0F, 8.0F);
//GL11.glRotatef(90, 1.0F, 0.0F, 0.0F);
//GL11.glTranslatef(1.0F, 0.0F, -1.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
//GL11.glScalef(1.75F, 1.75F, 1.75F);
//GL11.glTranslatef(0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}
}
}

View File

@@ -1,149 +0,0 @@
package com.kitsu.medievalcraft.renderer.itemrenderer.ingotsplates;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
public class ItemRendererHotIronPlate implements IItemRenderer {
public static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/IronPlate.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/HotIronPlate.png");
public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE);
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED: {
return true;
}
case EQUIPPED_FIRST_PERSON: {
return true;
}
case INVENTORY: {
return true;
}
case ENTITY: {
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
return helper == ItemRendererHelper.BLOCK_3D;
}
case EQUIPPED_FIRST_PERSON: {
return helper == ItemRendererHelper.EQUIPPED_BLOCK;
}
case INVENTORY: {
return helper == ItemRendererHelper.INVENTORY_BLOCK;
}
case ENTITY: {
return (helper == ItemRendererHelper.ENTITY_BOBBING ||
helper == ItemRendererHelper.ENTITY_ROTATION ||
helper == ItemRendererHelper.BLOCK_3D);
}
default: return false;
}
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
float scale = 0.75F;
GL11.glScalef(scale, 3.5F, scale);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F);
//GL11.glRotatef(10F, 1.0F, 0.0F, 0.0F);
//GL11.glRotated(90, 1.0, 0.0, 0.0);
GL11.glTranslatef(1.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case EQUIPPED_FIRST_PERSON: {
float f = 2.0F;
GL11.glPushMatrix();
GL11.glScalef(f, 8.0F, f);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(1.3F, -0.2F, 1.7F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
float f = 0.66F;
GL11.glScalef(f, 4.0F, f);
//GL11.glRotatef(90, 1.0F, 0.0F, 0.0F);
//GL11.glTranslatef(1.0F, 0.0F, -1.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
//float f = 0.8F;
GL11.glScalef(1.0F, 3.0F, 1.0F);
//GL11.glTranslatef(0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}
}
}

View File

@@ -4,15 +4,19 @@ import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
public class IRLapisIngot implements IItemRenderer {
public class LapisIngotIR implements IItemRenderer {
public static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/IronIngotBlock.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/MyLapisBlock.png");
public static final ResourceLocation TEXTURE1 = new ResourceLocation("kitsumedievalcraft:models/MyHotLapisBlock.png");
private ResourceLocation loc;
public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE);
@@ -38,8 +42,7 @@ public class IRLapisIngot implements IItemRenderer {
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
ItemRendererHelper helper) {
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
@@ -67,23 +70,19 @@ public class IRLapisIngot implements IItemRenderer {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
GL11.glRotated(90, 0, 1.0, 0);
GL11.glRotated(-20, 1, 0, 0);
GL11.glScalef(0.75F, 0.75F, 0.75F);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F);
//GL11.glRotatef(10F, 1.0F, 0.0F, 0.0F);
//GL11.glRotated(90, 1.0, 0.0, 0.0);
GL11.glTranslatef(0.0F, 0.0F, 1.15F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
@@ -94,55 +93,42 @@ public class IRLapisIngot implements IItemRenderer {
GL11.glRotated(-20, 1, 0, 0);
GL11.glRotated(30, 0, 0, 1);
GL11.glScalef(f, f, f);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-0.2F, 1.0F, 1.15F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
//GL11.glScalef(8.0F, 8.0F, 8.0F);
//GL11.glRotatef(90, 1.0F, 0.0F, 0.0F);
//GL11.glTranslatef(1.0F, 0.0F, -1.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
//GL11.glScalef(1.75F, 1.75F, 1.75F);
//GL11.glTranslatef(0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}

View File

@@ -4,15 +4,19 @@ import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;
public class IRRedstoneIngot implements IItemRenderer {
public class RedstoneIngotIR implements IItemRenderer {
public static final ResourceLocation MODEL_CRUCIBLE = new ResourceLocation("kitsumedievalcraft:models/IronIngotBlock.obj");
public static final ResourceLocation TEXTURE = new ResourceLocation("kitsumedievalcraft:models/MyRedstoneBlock.png");
public static final ResourceLocation TEXTURE1 = new ResourceLocation("kitsumedievalcraft:models/MyHotRedstoneBlock.png");
private ResourceLocation loc;
public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_CRUCIBLE);
@@ -38,8 +42,7 @@ public class IRRedstoneIngot implements IItemRenderer {
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
ItemRendererHelper helper) {
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,ItemRendererHelper helper) {
switch(type) {
case EQUIPPED: {
@@ -67,23 +70,19 @@ public class IRRedstoneIngot implements IItemRenderer {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
GL11.glRotated(90, 0, 1.0, 0);
GL11.glRotated(-20, 1, 0, 0);
GL11.glScalef(0.75F, 0.75F, 0.75F);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 0.0F, 0.0F, 1.0F);
//GL11.glRotatef(10F, 1.0F, 0.0F, 0.0F);
//GL11.glRotated(90, 1.0, 0.0, 0.0);
GL11.glTranslatef(0.0F, 0.0F, 1.15F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
@@ -94,55 +93,42 @@ public class IRRedstoneIngot implements IItemRenderer {
GL11.glRotated(-20, 1, 0, 0);
GL11.glRotated(30, 0, 0, 1);
GL11.glScalef(f, f, f);
//ANGLE, X ROTATE, Y ROTATE, Z ROTATE
//GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-0.2F, 1.0F, 1.15F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
case INVENTORY: {
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
//GL11.glScalef(8.0F, 8.0F, 8.0F);
//GL11.glRotatef(90, 1.0F, 0.0F, 0.0F);
//GL11.glTranslatef(1.0F, 0.0F, -1.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
case ENTITY: {
GL11.glPushMatrix();
//GL11.glScalef(1.75F, 1.75F, 1.75F);
//GL11.glTranslatef(0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
if(item.getItemDamage()==0){
loc=TEXTURE;
}
if(item.getItemDamage()==1){
loc=TEXTURE1;
}
Minecraft.getMinecraft().renderEngine.bindTexture(loc);
model.renderAll();
GL11.glPopMatrix();
} break;
default:
break;
}

View File

@@ -29,12 +29,17 @@ public class IRSlottedTongs implements IItemRenderer {
public static final ResourceLocation DAMASCUS = new ResourceLocation("kitsumedievalcraft:models/HotDamascusIngot.png");
public static final ResourceLocation REFINEDIRON = new ResourceLocation("kitsumedievalcraft:models/HotIronIngotBlock.png");
public static final ResourceLocation IRON_PLATE = new ResourceLocation("kitsumedievalcraft:models/HotIronPlate.png");
public static final ResourceLocation MODEL_PLATE = new ResourceLocation("kitsumedievalcraft:models/IronPlate.obj");
public static final ResourceLocation PLATE_TEXTURE = new ResourceLocation("kitsumedievalcraft:models/IronPlate.png");
public static final ResourceLocation HOTPLATE_TEXTURE = new ResourceLocation("kitsumedievalcraft:models/HotIronPlate.png");
public IModelCustom model = AdvancedModelLoader.loadModel(MODEL_TONGS);
public IModelCustom modeltc = AdvancedModelLoader.loadModel(MODEL_TONGS_CRUCIBLE);
public IModelCustom modelti = AdvancedModelLoader.loadModel(MODEL_TONGS_INGOT);
public IModelCustom modelC = AdvancedModelLoader.loadModel(MODEL);
public IModelCustom modelingot = AdvancedModelLoader.loadModel(MODEL_INGOT);
public IModelCustom modelPlate = AdvancedModelLoader.loadModel(MODEL_PLATE);
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
@@ -99,7 +104,7 @@ public class IRSlottedTongs implements IItemRenderer {
}
//Crucible Renderer
if((stack.getItemDamage()==1)||(stack.getItemDamage()==2)||(stack.getItemDamage()==3)||(stack.getItemDamage()==4)||(stack.getItemDamage()==5)){
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_CRUCIBLE);
modeltc.renderAll();
GL11.glPushMatrix();
@@ -130,6 +135,19 @@ public class IRSlottedTongs implements IItemRenderer {
modelingot.renderAll();
GL11.glPopMatrix();
}
if((stack.getItemDamage()==10)){
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_CRUCIBLE);
modeltc.renderAll();
GL11.glPushMatrix();
float scale1 = 0.6F;
GL11.glScalef(scale1, 3.0f, scale1);
GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(8.6F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(HOTPLATE_TEXTURE);
modelPlate.renderAll();
GL11.glPopMatrix();
}
GL11.glPopMatrix();
@@ -149,7 +167,7 @@ public class IRSlottedTongs implements IItemRenderer {
}
//Crucible Renderer
if((stack.getItemDamage()==1)||(stack.getItemDamage()==2)||(stack.getItemDamage()==3)||(stack.getItemDamage()==4)||(stack.getItemDamage()==5)){
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_CRUCIBLE);
modeltc.renderAll();
GL11.glPushMatrix();
float scale = 0.6F;
@@ -177,6 +195,18 @@ public class IRSlottedTongs implements IItemRenderer {
modelingot.renderAll();
GL11.glPopMatrix();
}
if((stack.getItemDamage()==10)){
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_CRUCIBLE);
modeltc.renderAll();
GL11.glPushMatrix();
float scale = 0.6F;
GL11.glScalef(scale, 3.0f, scale);
GL11.glTranslatef(8.6F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(HOTPLATE_TEXTURE);
modelPlate.renderAll();
GL11.glPopMatrix();
}
GL11.glPopMatrix();
@@ -198,7 +228,7 @@ public class IRSlottedTongs implements IItemRenderer {
//Crucible Renderer
if((stack.getItemDamage()==1)||(stack.getItemDamage()==2)||(stack.getItemDamage()==3)||(stack.getItemDamage()==4)||(stack.getItemDamage()==5)){
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_CRUCIBLE);
modeltc.renderAll();
GL11.glPushMatrix();
float scale = 0.5F;
@@ -226,6 +256,18 @@ public class IRSlottedTongs implements IItemRenderer {
modelingot.renderAll();
GL11.glPopMatrix();
}
if((stack.getItemDamage()==10)){
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_CRUCIBLE);
modeltc.renderAll();
GL11.glPushMatrix();
float scale = 0.6F;
GL11.glScalef(scale, 3.0f, scale);
GL11.glTranslatef(8.6F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(HOTPLATE_TEXTURE);
modelPlate.renderAll();
GL11.glPopMatrix();
}
GL11.glPopMatrix();
} break;
@@ -240,7 +282,7 @@ public class IRSlottedTongs implements IItemRenderer {
}
//Crucible Renderer
if((stack.getItemDamage()==1)||(stack.getItemDamage()==2)||(stack.getItemDamage()==3)||(stack.getItemDamage()==4)||(stack.getItemDamage()==5)){
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE);
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_CRUCIBLE);
modeltc.renderAll();
GL11.glPushMatrix();
float scale = 0.55F;
@@ -250,15 +292,7 @@ public class IRSlottedTongs implements IItemRenderer {
modelC.renderAll();
GL11.glPopMatrix();
}
/*if((stack.getItemDamage()==6)){
float scale = 1.1F;
GL11.glScalef(scale, scale, scale);
GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(4.7F, 0.15F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(LAPIS);
modelingot.renderAll();
GL11.glPopMatrix();
}*/
if(stack.getItemDamage()==6||
stack.getItemDamage()==7||
stack.getItemDamage()==8||
@@ -278,6 +312,18 @@ public class IRSlottedTongs implements IItemRenderer {
modelingot.renderAll();
GL11.glPopMatrix();
}
if((stack.getItemDamage()==10)){
Minecraft.getMinecraft().renderEngine.bindTexture(TEXTURE_CRUCIBLE);
modeltc.renderAll();
GL11.glPushMatrix();
float scale = 0.6F;
GL11.glScalef(scale, 3.0f, scale);
GL11.glTranslatef(8.6F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(HOTPLATE_TEXTURE);
modelPlate.renderAll();
GL11.glPopMatrix();
}
GL11.glPopMatrix();
} break;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 665 B

View File

@@ -0,0 +1,12 @@
# Blender MTL File: 'None'
# Material Count: 1
newmtl None
Ns 96.078431
Ka 0.000000 0.000000 0.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ni 1.000000
d 1.000000
illum 2
map_Kd StoneTongs.png

View File

@@ -1,378 +1,400 @@
# Blender v2.66 (sub 1) OBJ File: 'TongsEmpty.blend'
# Blender v2.71 (sub 0) OBJ File: ''
# www.blender.org
mtllib TongsEmpty.mtl
v -0.385090 -0.050000 -0.201134
v -0.372016 -0.050000 -0.350563
v 3.976381 -0.056250 0.029872
v 3.963307 -0.056250 0.179301
o TongsEmpty
v -0.385090 0.050000 -0.201134
v -0.372016 0.050000 -0.350563
v -0.372016 -0.050000 -0.350563
v 3.708297 0.060000 0.005649
v 3.976381 0.056250 0.029872
v 3.963307 0.056250 0.179301
v 4.329669 -0.056250 0.350670
v 4.316595 -0.056250 0.500099
v 4.329669 0.056250 0.350670
v 4.316595 0.056250 0.500099
v 3.976381 -0.056250 0.029872
v 4.789015 -0.056250 0.334629
v 4.793525 -0.056250 0.484427
v 4.329669 -0.056250 0.350670
v 4.789015 0.056250 0.334629
v 4.793525 0.056250 0.484427
v 5.149819 -0.050000 0.048753
v 4.316595 0.056250 0.500099
v 4.793525 -0.056250 0.484427
v 3.963307 0.056250 0.179301
v 3.963307 -0.056250 0.179301
v 4.316595 -0.056250 0.500099
v 4.329669 0.056250 0.350670
v 3.693352 -0.056250 0.155683
v 3.708297 -0.060000 0.005649
v 5.329822 -0.050000 0.047694
v 5.149819 0.050000 0.048753
v 5.149819 -0.050000 0.048753
v 5.329822 0.050000 0.047694
v -0.373538 0.050000 0.211748
v -0.360464 0.050000 0.361177
v 3.976381 0.056250 -0.018248
v 3.963307 0.056250 -0.167677
v -0.373538 -0.050000 0.211748
v -0.360464 -0.050000 0.361177
v -0.360464 0.050000 0.361177
v 3.693352 0.056250 0.155683
v 2.837882 0.050000 0.080977
v 2.837882 -0.050000 0.080977
v 3.976381 -0.056250 -0.018248
v 3.976381 0.056250 -0.018248
v 1.990641 -0.056250 0.155202
v 1.990641 0.056250 0.155202
v 3.963307 -0.056250 -0.167677
v 4.329669 0.056250 -0.339045
v 3.963307 0.056250 -0.167677
v 4.316595 0.056250 -0.488475
v 4.329669 -0.056250 -0.339045
v 4.316595 -0.056250 -0.488475
v 4.789015 0.056250 -0.323005
v 4.793525 0.056250 -0.472802
v 4.329669 0.056250 -0.339045
v 4.789015 -0.056250 -0.323005
v 4.793525 -0.056250 -0.472802
v 5.149819 0.050000 -0.037128
v 5.329822 0.050000 -0.036069
v -0.385090 -0.050000 -0.201134
v 4.789015 0.056250 -0.323005
v 5.149819 -0.050000 -0.037128
v 5.149819 0.050000 -0.037128
v 5.329822 -0.050000 -0.036069
v 3.708297 0.060000 0.005649
v 3.708297 -0.060000 0.005649
v 3.693352 0.056250 0.155683
v 3.693352 -0.056250 0.155683
v 3.697094 -0.056250 -0.144386
v 2.839357 -0.050000 -0.068930
v 3.697094 0.056250 -0.144386
v 2.839357 0.050000 -0.068930
v 1.992864 0.056250 -0.143166
v 1.988297 -0.060000 0.006018
v 2.837882 -0.050000 0.080977
v 2.839357 0.050000 -0.068930
v -0.373538 0.050000 0.211748
v 1.988297 0.060000 0.006018
v 1.992864 -0.056250 -0.143166
v 3.697094 0.056250 -0.144386
v 3.697094 -0.056250 -0.144386
v 2.837882 0.050000 0.080977
v 2.839357 -0.050000 -0.068930
v 1.990641 0.056250 0.155202
v 1.990641 -0.056250 0.155202
vt 0.785218 0.869285
vt 0.784801 0.733393
vt 0.875570 0.733114
vt 0.917162 0.976669
vt 0.901893 0.973218
vt 0.902206 0.871103
vt 0.192209 0.834732
vt 0.249261 0.834557
vt 0.192523 0.936847
vt 0.510475 0.904772
vt 0.452028 0.904592
vt 0.510788 0.802657
vt 0.230653 0.408575
vt 0.332768 0.408261
vt 0.333575 0.671268
vt 0.666211 0.322638
vt 0.564096 0.322951
vt 0.563289 0.059943
vt 0.665404 0.059629
vt 0.452341 0.802478
vt 0.249574 0.936672
vt 0.184009 0.834557
vt 0.184040 0.971443
vt 0.168402 0.970681
vt 0.216483 0.442618
vt 0.114369 0.442304
vt 0.121386 0.004085
vt 0.665404 0.618769
vt 0.563289 0.619083
vt 0.568080 0.331399
vt 0.943951 0.867746
vt 0.944229 0.958515
vt 0.925944 0.958571
vt 0.105789 0.741060
vt 0.106199 0.874797
vt 0.015431 0.875075
vt 0.538222 0.802478
vt 0.586955 0.808001
vt 0.587234 0.898770
vt 0.783741 0.465211
vt 0.829130 0.468476
vt 0.829443 0.570591
vt 0.099315 0.004085
vt 0.106199 0.398975
vt 0.004085 0.399288
vt 0.392251 0.763933
vt 0.407325 0.501352
vt 0.411166 0.629100
vt 0.453005 0.331120
vt 0.555120 0.331434
vt 0.554143 0.649986
vt 0.231460 0.671581
vt 0.452028 0.004398
vt 0.554143 0.004085
vt 0.555120 0.322638
vt 0.426240 0.366519
vt 0.710550 0.787083
vt 0.710236 0.889198
vt 0.674380 0.889088
vt 0.917497 0.867746
vt 0.890056 0.161848
vt 0.889742 0.059734
vt 0.923724 0.059629
vt 0.392101 0.499217
vt 0.443859 0.358037
vt 0.341744 0.358350
vt 0.346331 0.004363
vt 0.875987 0.869007
vt 0.216483 0.682065
vt 0.114369 0.681752
vt 0.120750 0.450787
vt 0.859253 0.968275
vt 0.858974 0.877506
vt 0.875708 0.877455
vt 0.674517 0.733803
vt 0.680633 0.589483
vt 0.776632 0.734116
vt 0.522849 0.802525
vt 0.538535 0.904592
vt 0.940050 0.401663
vt 0.889742 0.400590
vt 0.891086 0.265766
vt 0.114369 0.971443
vt 0.114400 0.834557
vt 0.130007 0.970681
vt 0.004085 0.597932
vt 0.009906 0.549748
vt 0.100674 0.550027
vt 0.153769 0.969388
vt 0.138176 0.877282
vt 0.153839 0.834557
vt 0.674380 0.778491
vt 0.729942 0.059629
vt 0.775572 0.186387
vt 0.729062 0.455361
vt 0.665404 0.762076
vt 0.615096 0.763149
vt 0.664060 0.627252
vt 0.364059 0.987211
vt 0.363989 0.852381
vt 0.379652 0.895105
vt 0.100963 0.541300
vt 0.010194 0.541579
vt 0.333575 0.004085
vt 0.325712 0.399814
vt 0.234943 0.400092
vt 0.784801 0.724945
vt 0.793463 0.589762
vt 0.893723 0.724611
vt 0.114369 0.826109
vt 0.114687 0.690855
vt 0.249574 0.826388
vt 0.009345 0.732613
vt 0.106199 0.598246
vt 0.452028 0.794308
vt 0.452208 0.658155
vt 0.586913 0.658774
vt 0.720893 0.455361
vt 0.674884 0.581314
vt 0.674380 0.186387
vt 0.426076 0.716268
vt 0.270107 0.695833
vt 0.278806 0.679750
vt 0.278126 0.983379
vt 0.966846 0.537322
vt 0.966363 0.099099
vt 0.976337 0.233809
vt 0.443859 0.582345
vt 0.212155 0.004363
vt 0.658848 0.331120
vt 0.925666 0.867803
vt 0.015020 0.741339
vt 0.784075 0.574134
vt 0.008546 0.004363
vt 0.452028 0.649673
vt 0.453005 0.322951
vt 0.674693 0.786973
vt 0.924038 0.161744
vt 0.437100 0.004085
vt 0.211519 0.451065
vt 0.875987 0.968223
vt 0.286975 0.806289
vt 0.333575 0.822163
vt 0.287765 0.949844
vt 0.523162 0.904639
vt 0.891093 0.537322
vt 0.333307 0.679750
vt 0.395326 0.907404
vt 0.395610 0.772102
vt 0.443859 0.907317
vt 0.776347 0.786973
vt 0.776632 0.922276
vt 0.728099 0.922189
vt 0.940032 0.537293
vt 0.835498 0.192326
vt 0.820274 0.194462
vt 0.801357 0.059629
vt 0.816434 0.322209
vt 0.835352 0.457042
vt 0.801525 0.409379
vt 0.598227 0.627252
vt 0.606927 0.643334
vt 0.598912 0.930880
vt 0.958193 0.099099
vt 0.957710 0.537322
vt 0.948220 0.233809
vt 0.783741 0.275455
vt 0.353228 0.710854
vt 0.367256 0.844212
vt 0.342309 0.754188
vt 0.984976 0.067164
vt 0.995915 0.285917
vt 0.984506 0.298158
vt 0.977208 0.943448
vt 0.977078 0.589483
vt 0.989325 0.808198
vt 0.341744 0.392506
vt 0.366450 0.366519
vt 0.379652 0.501686
vt 0.355772 0.525863
vt 0.776495 0.778804
vt 0.775073 0.581313
vt 0.664053 0.898808
vt 0.902161 0.589483
vt 0.948492 0.716022
vt 0.901893 0.731896
vt 0.947703 0.859577
vt 0.884232 0.589483
vt 0.615115 0.898780
vt 0.870094 0.403964
vt 0.881014 0.447297
vt 0.856067 0.537322
vt 0.984506 0.525081
vt 0.995442 0.306327
vt 0.995915 0.537322
vt 0.968778 0.943448
vt 0.956661 0.808198
vt 0.968908 0.589483
vt 0.856867 0.059629
vt 0.881573 0.085615
vt 0.843667 0.194796
vt 0.867547 0.218973
vt 0.224652 0.004419
vt 0.249392 0.690234
vt 0.100113 0.732891
vt 0.587234 0.794027
vt 0.720008 0.059629
vt 0.771402 0.589762
vt 0.273518 0.804181
vt 0.272877 0.594994
vt 0.412603 0.594565
vt 0.875953 0.657638
vt 0.841875 0.651803
vt 0.842573 0.479156
vt 0.743588 0.125935
vt 0.870922 0.125639
vt 0.744289 0.298582
vt 0.861719 0.711684
vt 0.731271 0.711380
vt 0.862418 0.539037
vt 0.713065 0.423333
vt 0.840141 0.423037
vt 0.841145 0.670973
vt 0.926513 0.350335
vt 0.799436 0.350630
vt 0.798432 0.102693
vt 0.925508 0.102397
vt 0.731970 0.538734
vt 0.871621 0.298286
vt 0.725286 0.125639
vt 0.725356 0.357074
vt 0.690453 0.355786
vt 0.695431 0.455425
vt 0.568356 0.455129
vt 0.577088 0.042022
vt 0.925508 0.629497
vt 0.798432 0.629793
vt 0.804394 0.358594
vt 0.607165 0.481494
vt 0.607785 0.634959
vt 0.566975 0.635054
vt 0.235792 0.674360
vt 0.236423 0.880229
vt 0.096699 0.880657
vt 0.083248 0.744661
vt 0.158265 0.753163
vt 0.158695 0.892889
vt 0.754483 0.153544
vt 0.855786 0.159064
vt 0.856485 0.331712
vt 0.225826 0.082061
vt 0.236423 0.689938
vt 0.079233 0.690420
vt 0.597856 0.473566
vt 0.631499 0.029616
vt 0.640072 0.245601
vt 0.661190 0.358331
vt 0.788266 0.358627
vt 0.787050 0.658925
vt 0.714069 0.671268
vt 0.659974 0.050331
vt 0.787050 0.050036
vt 0.788266 0.350335
vt 0.647527 0.590605
vt 0.689744 0.362641
vt 0.656100 0.806590
vt 0.807376 0.239778
vt 0.806675 0.412425
vt 0.726648 0.412239
vt 0.876701 0.473480
vt 0.679216 0.209647
vt 0.678515 0.037001
vt 0.754359 0.036823
vt 0.613549 0.586995
vt 0.978387 0.375691
vt 0.851311 0.375986
vt 0.857019 0.042284
vt 0.413244 0.803753
vt 0.695431 0.681151
vt 0.568356 0.680856
vt 0.576297 0.463126
vt 0.746707 0.643446
vt 0.746084 0.489982
vt 0.783433 0.489895
vt 0.103110 0.595625
vt 0.112525 0.373465
vt 0.260302 0.596107
vt 0.889337 0.538813
vt 0.923647 0.538734
vt 0.924346 0.711380
vt 0.344215 0.312243
vt 0.266773 0.310591
vt 0.268842 0.103049
vt 0.569858 0.357074
vt 0.569927 0.125639
vt 0.604760 0.355786
vt 0.079233 0.454035
vt 0.088194 0.379863
vt 0.227918 0.380292
vt 0.657794 0.353600
vt 0.622992 0.197875
vt 0.657950 0.125639
vt 0.726648 0.225251
vt 0.726954 0.149696
vt 0.954864 0.150226
vt 0.303585 0.087878
vt 0.373826 0.283003
vt 0.302230 0.697051
vt 0.279026 0.682468
vt 0.201584 0.684120
vt 0.276957 0.474926
vt 0.687202 0.482415
vt 0.687046 0.254456
vt 0.722004 0.326690
vt 0.236423 0.147769
vt 0.228363 0.366858
vt 0.088637 0.367288
vt 0.234908 0.082061
vt 0.222804 0.691230
vt 0.083078 0.691658
vt 0.272877 0.581990
vt 0.286210 0.373895
vt 0.440547 0.581475
vt 0.059545 0.553756
vt 0.267184 0.762390
vt 0.059055 0.761961
vt 0.087330 0.661358
vt 0.236423 0.454519
vt 0.069723 0.755433
vt 0.070000 0.545845
vt 0.277359 0.546798
vt 0.289655 0.697051
vt 0.218831 0.890937
vt 0.218055 0.283003
vt 0.673349 0.392977
vt 0.653822 0.350414
vt 0.673238 0.323222
vt 0.671720 0.836572
vt 0.850603 0.844466
vt 0.849525 0.103556
vt 0.871786 0.331312
vt 0.713039 0.166552
vt 0.690045 0.042284
vt 0.917350 0.358331
vt 0.894933 0.473577
vt 0.935744 0.473480
vt 0.895554 0.627040
vt 0.096066 0.674790
vt 0.083730 0.901851
vt 0.755228 0.337702
vt 0.086100 0.082489
vt 0.659974 0.658630
vt 0.661190 0.350630
vt 0.727347 0.239592
vt 0.755060 0.209471
vt 0.641397 0.050036
vt 0.649808 0.383705
vt 0.528440 0.050298
vt 0.689253 0.463388
vt 0.784055 0.643358
vt 0.260147 0.371449
vt 0.331881 0.395885
vt 0.261363 0.592431
vt 0.890035 0.711459
vt 0.268853 0.521071
vt 0.070202 0.328128
vt 0.141524 0.133339
vt 0.141937 0.352564
vt 0.164263 0.501963
vt 0.164700 0.293685
vt 0.238973 0.501829
vt 0.235619 0.068082
vt 0.236058 0.276362
vt 0.161349 0.276228
vt 0.078908 0.477750
vt 0.154271 0.268922
vt 0.154243 0.477705
vt 0.886027 0.253162
vt 0.852049 0.256773
vt 0.809828 0.028809
vt 0.843478 0.472757
vt 0.885701 0.700721
vt 0.810203 0.620137
vt 0.724980 0.161888
vt 0.744397 0.189078
vt 0.726508 0.675236
vt 0.831290 0.103556
vt 0.830212 0.844466
vt 0.809031 0.331312
vt 0.770511 0.393710
vt 0.839339 0.375810
vt 0.870649 0.601280
vt 0.814969 0.449075
vt 0.891067 0.049563
vt 0.915482 0.419412
vt 0.890018 0.440108
vt 0.857701 0.970120
vt 0.857411 0.371667
vt 0.884745 0.741451
vt 0.829737 0.398563
vt 0.884878 0.354626
vt 0.914343 0.583155
vt 0.845017 0.063043
vt 0.855368 0.936798
vt 0.861046 0.624032
vt 0.954558 0.225780
vt 0.373058 0.890936
vt 0.276947 0.892948
vt 0.267708 0.065257
vt 0.339028 0.260046
vt 0.267295 0.284482
vt 0.077351 0.241161
vt 0.149083 0.216725
vt 0.147869 0.437708
vt 0.425936 0.373465
vt 0.201614 0.892905
vt 0.618634 0.058007
vt 0.643007 0.131271
vt 0.587328 0.283477
vt 0.713707 0.463134
vt 0.738115 0.093284
vt 0.739171 0.483830
vt 0.838886 0.970120
vt 0.811843 0.741451
vt 0.839177 0.371667
vt 0.605141 0.036823
vt 0.660283 0.080758
vt 0.575680 0.265352
vt 0.634663 0.618996
vt 0.603356 0.844466
vt 0.628978 0.306229
vt 0.079233 0.148251
vt 0.067236 0.082575
vt 0.266904 0.552800
vt 0.227055 0.661785
vt 0.277853 0.755001
vt 0.288293 0.087878
vt 0.252251 0.373895
usemtl None
s 1
f 5/1 6/2 2/3
f 41/4 7/5 3/6
f 13/7 9/8 15/9
f 16/10 12/11 14/12
f 8/13 4/14 10/15
f 3/16 7/17 11/18
f 9/19 3/16 11/18
f 12/11 10/20 14/12
f 9/8 11/21 15/9
f 44/22 42/23 3/24
f 16/25 14/26 18/27
f 13/28 15/29 19/30
f 17/31 19/32 20/33
f 25/34 26/35 22/36
f 43/37 53/38 47/39
f 42/40 27/41 23/42
f 26/43 56/44 55/45
f 10/46 4/47 9/48
f 28/49 24/50 30/51
f 12/52 8/13 10/15
f 23/53 27/54 31/55
f 4/47 3/56 9/48
f 32/57 30/58 34/59
f 42/60 41/4 3/6
f 29/61 31/62 35/63
f 4/47 44/64 3/56
f 36/65 34/66 38/67
f 1/68 5/1 2/3
f 33/69 35/70 39/71
f 37/72 39/73 40/74
f 52/75 54/76 51/77
f 8/78 43/37 44/79
f 48/80 41/81 51/82
f 41/83 43/84 7/85
f 45/86 48/87 54/88
f 52/89 27/90 42/91
f 28/92 52/75 51/77
f 46/93 56/94 25/95
f 42/96 54/97 52/98
f 51/99 41/100 23/101
f 56/44 47/102 53/103
f 46/104 25/105 21/106
f 49/107 5/108 46/109
f 49/110 45/111 5/112
f 6/113 45/86 50/114
f 1/115 2/116 50/117
f 21/118 22/119 55/120
f 14/121 10/46 9/48
f 17/122 18/123 13/124
f 18/125 14/126 13/127
f 14/121 9/48 13/128
f 20/129 16/25 18/27
f 17/130 13/28 19/30
f 18/131 17/31 20/33
f 21/132 25/34 22/36
f 44/79 43/37 47/39
f 41/133 42/40 23/42
f 22/134 26/43 55/45
f 32/135 28/49 30/51
f 29/136 23/53 31/55
f 36/137 32/57 34/59
f 33/138 29/61 35/63
f 40/139 36/65 38/67
f 37/140 33/69 39/71
f 38/141 37/72 40/74
f 49/142 53/143 48/144
f 4/145 8/78 44/79
f 48/80 43/146 41/81
f 49/142 55/147 53/143
f 45/148 49/149 48/150
f 46/151 50/152 54/153
f 43/146 48/80 53/154
f 43/155 8/156 7/157
f 7/157 8/156 11/158
f 8/156 12/159 11/158
f 12/159 16/160 11/158
f 20/161 19/162 15/163
f 16/164 20/165 15/166
f 11/158 16/160 15/167
f 50/114 45/86 54/88
f 28/168 27/169 52/170
f 35/171 40/172 39/173
f 36/174 40/175 35/176
f 32/177 36/178 35/179
f 27/169 28/168 31/180
f 28/168 32/177 31/180
f 32/177 35/179 31/180
f 24/181 28/92 51/77
f 56/94 26/182 25/95
f 44/183 54/97 42/96
f 56/184 46/185 47/186
f 47/186 46/185 54/187
f 5/108 1/188 46/109
f 54/97 44/183 47/189
f 24/190 51/191 23/192
f 38/193 33/194 37/195
f 34/196 33/197 38/198
f 34/199 30/200 33/201
f 24/190 23/192 29/202
f 30/200 24/190 29/202
f 33/201 30/200 29/202
f 55/45 56/44 53/103
f 49/203 46/104 21/106
f 45/111 6/204 5/112
f 2/205 6/113 50/114
f 46/206 1/115 50/117
f 49/207 21/118 55/120
f 54/76 48/208 51/77
s off
f 1/1 2/2 3/3
f 4/4 5/5 6/6
f 7/7 8/8 9/9
f 10/10 11/11 12/12
f 13/13 14/14 15/15
f 6/16 5/17 16/18
f 8/19 6/16 16/18
f 11/11 15/20 12/12
f 8/8 16/21 9/9
f 17/22 18/23 6/24
f 10/25 12/26 19/27
f 7/28 9/29 20/30
f 21/31 20/32 22/33
f 23/34 24/35 25/36
f 26/37 27/38 28/39
f 18/40 29/41 30/42
f 24/43 31/44 32/45
f 15/46 14/47 8/48
f 33/49 34/50 35/51
f 11/52 13/13 15/15
f 30/53 29/54 36/55
f 14/56 6/57 8/58
f 37/59 35/60 38/61
f 18/62 4/4 6/6
f 39/63 36/64 40/65
f 14/56 17/66 6/57
f 41/67 38/68 42/69
f 43/70 1/1 3/3
f 44/71 40/72 45/73
f 46/74 45/75 47/76
f 48/77 49/78 50/79
f 13/80 26/81 17/82
f 51/83 4/84 50/85
f 4/86 26/87 5/88
f 52/89 51/90 49/91
f 48/92 29/93 18/94
f 33/95 48/96 50/97
f 53/98 31/99 23/100
f 18/101 49/102 48/103
f 50/104 4/105 30/106
f 31/107 28/108 27/109
f 53/110 23/111 54/112
f 55/113 1/114 53/115
f 52/116 1/117 55/118
f 2/119 52/89 56/120
f 43/121 3/122 56/123
f 54/124 25/125 32/126
f 12/127 15/46 8/48
f 21/128 19/129 7/130
f 19/131 12/132 7/133
f 12/127 8/48 7/134
f 22/135 10/25 19/27
f 21/136 7/28 20/30
f 19/137 21/138 22/139
f 54/140 23/34 25/36
f 17/141 26/37 28/39
f 4/142 18/40 30/42
f 25/143 24/43 32/45
f 37/144 33/49 35/51
f 39/145 30/53 36/55
f 41/146 37/59 38/61
f 44/147 39/63 40/65
f 47/148 41/149 42/150
f 46/151 44/71 45/73
f 42/152 46/74 47/76
f 55/153 27/154 51/155
f 14/156 13/80 17/82
f 51/83 26/157 4/84
f 55/158 32/159 27/160
f 52/161 55/162 51/163
f 53/164 56/165 49/166
f 26/167 51/168 27/169
f 26/170 13/171 5/172
f 5/172 13/171 16/173
f 13/171 11/174 16/173
f 11/174 10/175 16/173
f 22/176 20/177 9/178
f 10/179 22/180 9/181
f 16/173 10/175 9/182
f 56/120 52/89 49/91
f 33/183 29/184 48/185
f 40/186 47/187 45/188
f 41/189 47/190 40/191
f 37/192 41/193 40/194
f 29/184 33/183 36/195
f 33/196 37/192 36/197
f 37/192 40/194 36/197
f 34/198 33/95 50/97
f 31/99 24/199 23/100
f 17/200 49/102 18/101
f 31/201 53/202 28/203
f 28/204 53/205 49/206
f 1/114 43/207 53/115
f 49/102 17/200 28/208
f 34/209 50/210 30/211
f 42/212 44/213 46/214
f 38/215 44/216 42/217
f 38/218 35/219 44/220
f 34/221 30/222 39/223
f 35/219 34/221 39/223
f 44/220 35/219 39/223
f 32/224 31/107 27/109
f 55/225 53/110 54/112
f 2/226 1/117 52/116
f 3/227 2/119 56/120
f 53/228 43/121 56/123
f 55/229 54/124 32/126
f 49/78 51/230 50/79