diff --git a/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java b/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java index 150412292..645033195 100644 --- a/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java +++ b/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java @@ -1,13 +1,21 @@ package com.hbm.entity.cart; +import java.util.List; + import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemModMinecart.EnumMinecart; import com.hbm.main.MainRegistry; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; import net.minecraft.world.World; public class EntityMinecartDestroyer extends EntityMinecartContainerBase { @@ -19,7 +27,7 @@ public class EntityMinecartDestroyer extends EntityMinecartContainerBase { public EntityMinecartDestroyer(World world, double x, double y, double z) { super(world, x, y, z); } - + @Override public boolean interactFirst(EntityPlayer player) { if(net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.event.entity.minecart.MinecartInteractEvent(this, player))) @@ -45,4 +53,82 @@ public class EntityMinecartDestroyer extends EntityMinecartContainerBase { public boolean isItemValidForSlot(int slot, ItemStack stack) { return false; } + + @Override + public boolean canBeCollidedWith() { + return true; + } + + @Override + public AxisAlignedBB getCollisionBox(Entity entity) { + return entity.boundingBox; + } + + @Override + public AxisAlignedBB getBoundingBox() { + return this.boundingBox; + } + + @Override + public void onUpdate() { + super.onUpdate(); + + if(!worldObj.isRemote && this.ticksExisted % 5 == 0) { + + List items = worldObj.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox( + posX - 2.5, + posY - 1.5, + posZ - 2.5, + posX + 2.5, + posY + 2, + posZ + 2.5)); + + boolean sound = false; + + outer: for(EntityItem item : items) { + ItemStack stack = item.getEntityItem(); + + //Match meta + for(int i = 0; i < 9; i++) { + ItemStack match = this.slots[i]; + + if(match != null && match.getItem() == stack.getItem() && match.getItemDamage() == stack.getItemDamage()) { + item.setDead(); + sound = true; + continue outer; + } + } + + //Match wildcard + for(int i = 9; i < 18; i++) { + ItemStack match = this.slots[i]; + + if(match != null && match.getItem() == stack.getItem()) { + item.setDead(); + sound = true; + continue outer; + } + } + } + + if(sound) + worldObj.playSoundEffect(posX, posY, posZ, "mob.zombie.woodbreak", 0.5F, 0.5F + worldObj.rand.nextFloat() * 0.2F); + } + + if(worldObj.isRemote && this.ticksExisted % 5 == 0) { + worldObj.spawnParticle("smoke", posX, posY + 0.75, posZ, 0.0, 0.01, 0.0); + } + } + + @Override + public void killMinecart(DamageSource p_94095_1_) { + this.setDead(); + ItemStack itemstack = DictFrame.fromOne(ModItems.cart, EnumMinecart.DESTROYER); + + if(this.func_95999_t() != null) { + itemstack.setStackDisplayName(this.func_95999_t()); + } + + this.entityDropItem(itemstack, 0.0F); + } } diff --git a/src/main/java/com/hbm/entity/item/EntityMinecartOre.java b/src/main/java/com/hbm/entity/item/EntityMinecartOre.java new file mode 100644 index 000000000..32df714d4 --- /dev/null +++ b/src/main/java/com/hbm/entity/item/EntityMinecartOre.java @@ -0,0 +1,55 @@ +package com.hbm.entity.item; + +import com.hbm.inventory.OreDictManager.DictFrame; +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemModMinecart.EnumMinecart; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityMinecart; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +public class EntityMinecartOre extends EntityMinecart { + + public EntityMinecartOre(World p_i1712_1_) { + super(p_i1712_1_); + } + + public EntityMinecartOre(World world, double x, double y, double z) { + super(world, x, y, z); + } + + @Override + public int getMinecartType() { + return -1; + } + + @Override + public boolean canBeCollidedWith() { + return true; + } + + @Override + public AxisAlignedBB getCollisionBox(Entity entity) { + return entity.boundingBox; + } + + @Override + public AxisAlignedBB getBoundingBox() { + return this.boundingBox; + } + + @Override + public void killMinecart(DamageSource p_94095_1_) { + this.setDead(); + ItemStack itemstack = DictFrame.fromOne(ModItems.cart, EnumMinecart.EMPTY); + + if(this.func_95999_t() != null) { + itemstack.setStackDisplayName(this.func_95999_t()); + } + + this.entityDropItem(itemstack, 0.0F); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUICartDestroyer.java b/src/main/java/com/hbm/inventory/gui/GUICartDestroyer.java index 69782888a..ff3979546 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICartDestroyer.java +++ b/src/main/java/com/hbm/inventory/gui/GUICartDestroyer.java @@ -30,7 +30,7 @@ public class GUICartDestroyer extends GuiContainer { String name = this.cart.hasCustomInventoryName() ? this.cart.getInventoryName() : I18n.format(this.cart.getInventoryName()); this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 4, 4210752); } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemModMinecart.java b/src/main/java/com/hbm/items/tool/ItemModMinecart.java index ca467843c..348aeedcc 100644 --- a/src/main/java/com/hbm/items/tool/ItemModMinecart.java +++ b/src/main/java/com/hbm/items/tool/ItemModMinecart.java @@ -1,6 +1,7 @@ package com.hbm.items.tool; import com.hbm.entity.cart.*; +import com.hbm.entity.item.EntityMinecartOre; import com.hbm.items.ItemEnumMulti; import net.minecraft.block.Block; @@ -22,7 +23,8 @@ public class ItemModMinecart extends ItemEnumMulti { public static enum EnumMinecart { CRATE, - DESTROYER + DESTROYER, + EMPTY } public ItemModMinecart() { @@ -97,6 +99,7 @@ public class ItemModMinecart extends ItemEnumMulti { switch(type) { case CRATE: return new EntityMinecartCrate(world, x, y, z); case DESTROYER: return new EntityMinecartDestroyer(world, x, y, z); + case EMPTY: return new EntityMinecartOre(world, x, y, z); default: return new EntityMinecartEmpty(world, x, y, z); } } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 3988acbf4..e4602d21f 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -625,7 +625,8 @@ public class ClientProxy extends ServerProxy { //minecarts RenderingRegistry.registerEntityRenderingHandler(EntityMinecartTest.class, new RenderMinecartTest()); RenderingRegistry.registerEntityRenderingHandler(EntityMinecartCrate.class, new RenderMinecart()); - RenderingRegistry.registerEntityRenderingHandler(EntityMinecartDestroyer.class, new RenderMinecart()); + RenderingRegistry.registerEntityRenderingHandler(EntityMinecartDestroyer.class, new RenderNeoCart()); + RenderingRegistry.registerEntityRenderingHandler(EntityMinecartOre.class, new RenderNeoCart()); //items RenderingRegistry.registerEntityRenderingHandler(EntityMovingItem.class, new RenderMovingItem()); RenderingRegistry.registerEntityRenderingHandler(EntityTNTPrimedBase.class, new RenderTNTPrimedBase()); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index b9629e6e6..22e15e671 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -492,6 +492,7 @@ public class MainRegistry { EntityRegistry.registerModEntity(EntityGrenadeImpactGeneric.class, "entity_grenade_impact_generic", 169, this, 250, 1, true); EntityRegistry.registerModEntity(EntityMinecartCrate.class, "entity_ntm_cart_crate", 170, this, 250, 1, false); EntityRegistry.registerModEntity(EntityMinecartDestroyer.class, "entity_ntm_cart_crate", 171, this, 250, 1, false); + EntityRegistry.registerModEntity(EntityMinecartOre.class, "entity_ntm_cart_ore", 172, this, 250, 1, false); EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00); EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd); @@ -511,7 +512,7 @@ public class MainRegistry { EntityRegistry.registerModEntity(EntitySiegeTunneler.class, "entity_meme_tunneler", 167, this, 1000, 1, true); //how about you have a taste of my fucking scrotum? //EntityRegistry.registerGlobalEntityID(EntitySiegeTunneler.class, "entity_meme_tunneler", EntityRegistry.findGlobalUniqueEntityId(), 0x303030, 0x008080); - EntityRegistry.registerModEntity(EntitySPV.class, "entity_self_propelled_vehicle_mark_1", 160, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntitySPV.class, "entity_self_propelled_vehicle_mark_1", 1600, this, 1000, 1, true); ForgeChunkManager.setForcedChunkLoadingCallback(this, new LoadingCallback() { diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 5e56bc948..ec7ac03b9 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -903,6 +903,10 @@ public class ResourceManager { public static final IModelCustom mp_w_15_turbine = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_15_turbine.obj")); public static final IModelCustom mp_w_20 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_20.obj")); + //Carts + public static final IModelCustom cart = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vehicles/cart.obj")); + public static final IModelCustom cart_destroyer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vehicles/cart_destroyer.obj")); + ////Texture Entities //Blast @@ -1165,6 +1169,12 @@ public class ResourceManager { public static final ResourceLocation mp_w_15_balefire_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_balefire.png"); public static final ResourceLocation mp_w_15_turbine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_turbine.png"); + //Carts + public static final ResourceLocation cart_metal = new ResourceLocation(RefStrings.MODID, "textures/entity/cart_metal.png"); + public static final ResourceLocation cart_blank = new ResourceLocation(RefStrings.MODID, "textures/entity/cart_metal_naked.png"); + public static final ResourceLocation cart_wood = new ResourceLocation(RefStrings.MODID, "textures/entity/cart_wood.png"); + public static final ResourceLocation cart_destroyer_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/cart_destroyer.png"); + //ISBRHs public static final IModelCustom scaffold = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/scaffold.obj")); public static final IModelCustom taperecorder = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/taperecorder.obj")); diff --git a/src/main/java/com/hbm/render/entity/item/RenderNeoCart.java b/src/main/java/com/hbm/render/entity/item/RenderNeoCart.java new file mode 100644 index 000000000..08ab17790 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/item/RenderNeoCart.java @@ -0,0 +1,96 @@ +package com.hbm.render.entity.item; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.cart.EntityMinecartDestroyer; +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityMinecart; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; + +public class RenderNeoCart extends Render { + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + this.doRender((EntityMinecart) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + public void doRender(EntityMinecart cart, double x, double y, double z, float rot, float interp) { + GL11.glPushMatrix(); + this.bindEntityTexture(cart); + long rand = (long) cart.getEntityId() * 493286711L; + rand = rand * rand * 4392167121L + rand * 98761L; + float randX = (((float) (rand >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; + float randY = (((float) (rand >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; + float randZ = (((float) (rand >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; + GL11.glTranslatef(randX, randY, randZ); + double interpX = cart.lastTickPosX + (cart.posX - cart.lastTickPosX) * (double) interp; + double interpY = cart.lastTickPosY + (cart.posY - cart.lastTickPosY) * (double) interp; + double interpZ = cart.lastTickPosZ + (cart.posZ - cart.lastTickPosZ) * (double) interp; + double mult = 0.3; + Vec3 vec3 = cart.func_70489_a(interpX, interpY, interpZ); + float interpPitch = cart.prevRotationPitch + (cart.rotationPitch - cart.prevRotationPitch) * interp; + + if(vec3 != null) { + Vec3 vec31 = cart.func_70495_a(interpX, interpY, interpZ, mult); + Vec3 vec32 = cart.func_70495_a(interpX, interpY, interpZ, -mult); + + if(vec31 == null) { + vec31 = vec3; + } + + if(vec32 == null) { + vec32 = vec3; + } + + x += vec3.xCoord - interpX; + y += (vec31.yCoord + vec32.yCoord) / 2.0D - interpY; + z += vec3.zCoord - interpZ; + Vec3 vec33 = vec32.addVector(-vec31.xCoord, -vec31.yCoord, -vec31.zCoord); + + if(vec33.lengthVector() != 0.0D) { + vec33 = vec33.normalize(); + rot = (float) (Math.atan2(vec33.zCoord, vec33.xCoord) * 180.0D / Math.PI); + interpPitch = (float) (Math.atan(vec33.yCoord) * 73.0D); + } + } + + GL11.glTranslatef((float) x, (float) y, (float) z); + GL11.glRotatef(180.0F - rot, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-interpPitch, 0.0F, 0.0F, 1.0F); + float interpRoll = (float) cart.getRollingAmplitude() - interp; + float interpDamage = cart.getDamage() - interp; + + if(interpDamage < 0.0F) { + interpDamage = 0.0F; + } + + GL11.glTranslatef(0, -0.4375F, 0); + GL11.glRotatef(90, 0.0F, 1.0F, 0.0F); + ResourceManager.cart.renderPart("Carriage"); + + if(interpRoll > 0.0F) { + GL11.glTranslatef(0, 0.75F, 0); + GL11.glRotatef(MathHelper.sin(interpRoll) * interpRoll * interpDamage / 10.0F * (float) cart.getRollingDirection(), 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(0, -0.75F, 0); + } + + ResourceManager.cart.renderPart("Bucket"); + + if(cart instanceof EntityMinecartDestroyer) { + bindTexture(ResourceManager.cart_destroyer_tex); + ResourceManager.cart_destroyer.renderAll(); + } + + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return ResourceManager.cart_blank; + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 1b4e5b025..453b772d8 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1038,6 +1038,8 @@ item.cape_nostalgia.name=DrNostalgias Cape item.cape_radiation.name=Cape (Radioaktiv) item.cape_schrabidium.name=Cape (Schrabidisch) item.cape_vertice.name=Lord Vertices Cape +item.cart.crate.name=Stahlkistenlore +item.cart.destroyer.name=Schuttzerstörende Lore item.casing_357.name=.357 Magnum-Hülse (x24) item.casing_44.name=.44 Magnum-Hülse (x24) item.casing_50.name=Großkaliberhülse (x12) diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 00301a948..5d64fd68b 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1255,6 +1255,8 @@ item.cape_nostalgia.name=DrNostalgia's Cape item.cape_radiation.name=Cape (Radiation) item.cape_schrabidium.name=Cape (Schrabidic) item.cape_vertice.name=Lord Vertice's Cape +item.cart.crate.name=Crate Cart +item.cart.destroyer.name=Scrap Destroying Cart item.casing_357.name=.357 Magnum Casing (x24) item.casing_44.name=.44 Magnum Casing (x24) item.casing_50.name=Large Caliber Casing (x12) diff --git a/src/main/resources/assets/hbm/models/vehicles/cart.obj b/src/main/resources/assets/hbm/models/vehicles/cart.obj new file mode 100644 index 000000000..2f9ac5c7a --- /dev/null +++ b/src/main/resources/assets/hbm/models/vehicles/cart.obj @@ -0,0 +1,848 @@ +# Blender v2.79 (sub 0) OBJ File: 'cart.blend' +# www.blender.org +o Bucket +v -0.625000 1.000000 0.625000 +v 0.625000 1.000000 0.625000 +v -0.625000 1.000000 -0.625000 +v 0.625000 1.000000 -0.625000 +v 0.562500 1.000000 0.625000 +v 0.562500 1.000000 -0.625000 +v -0.562500 1.000000 0.625000 +v -0.562500 1.000000 -0.625000 +v -0.312500 0.312500 0.625000 +v 0.312500 0.312500 0.625000 +v -0.312500 0.312500 -0.625000 +v 0.312500 0.312500 -0.625000 +v 0.250000 0.312500 0.625000 +v 0.250000 0.312500 -0.625000 +v -0.250000 0.312500 0.625000 +v -0.250000 0.312500 -0.625000 +v -0.312500 0.250000 0.625000 +v 0.312500 0.250000 0.625000 +v -0.312500 0.250000 -0.625000 +v 0.312500 0.250000 -0.625000 +v 0.562500 1.000000 0.625000 +v -0.562500 1.000000 0.625000 +v 0.250000 0.312500 0.625000 +v -0.250000 0.312500 0.625000 +v 0.312500 1.126000 0.625000 +v -0.312500 1.126000 0.625000 +v -0.250000 0.312500 0.562500 +v -0.562500 1.000000 0.562500 +v 0.250000 0.312500 0.562500 +v 0.562500 1.000000 0.562500 +v 0.312500 1.126000 0.562500 +v -0.312500 1.126000 0.562500 +v 0.562500 1.000000 -0.562500 +v -0.562500 1.000000 -0.562500 +v 0.250000 0.312500 -0.562500 +v -0.250000 0.312500 -0.562500 +v 0.312500 1.126000 -0.562500 +v -0.312500 1.126000 -0.562500 +v -0.250000 0.312500 -0.625000 +v -0.562500 1.000000 -0.625000 +v 0.250000 0.312500 -0.625000 +v 0.562500 1.000000 -0.625000 +v 0.312500 1.126000 -0.625000 +v -0.312500 1.126000 -0.625000 +v -0.062500 0.687500 0.750000 +v -0.062500 0.812500 0.750000 +v -0.062500 0.687500 0.687500 +v -0.062500 0.812500 0.687500 +v 0.062500 0.687500 0.750000 +v 0.062500 0.812500 0.750000 +v 0.062500 0.687500 0.687500 +v 0.062500 0.812500 0.687500 +v -0.062500 0.687500 -0.687500 +v -0.062500 0.812500 -0.687500 +v -0.062500 0.687500 -0.750000 +v -0.062500 0.812500 -0.750000 +v 0.062500 0.687500 -0.687500 +v 0.062500 0.812500 -0.687500 +v 0.062500 0.687500 -0.750000 +v 0.062500 0.812500 -0.750000 +vt 0.640000 0.530303 +vt 0.240000 0.515152 +vt 0.640000 0.515152 +vt 0.240000 0.984848 +vt 0.640000 1.000000 +vt 0.240000 1.000000 +vt 0.240000 0.818182 +vt 0.640000 0.984848 +vt 0.240000 0.696970 +vt 0.240000 0.530303 +vt 0.640000 0.348485 +vt 0.640000 0.166667 +vt 0.240000 -0.000000 +vt 0.640000 -0.000000 +vt 0.640000 0.696970 +vt 0.240000 0.348485 +vt 0.640000 0.333333 +vt 0.240000 0.181818 +vt 0.240000 0.166667 +vt 0.640000 0.181818 +vt 0.240000 0.333333 +vt 0.220000 0.318182 +vt 0.660000 0.181818 +vt 0.660000 0.196970 +vt 0.880000 0.196970 +vt 0.880000 0.181818 +vt 0.660000 0.333333 +vt 0.880000 0.318182 +vt 0.880000 0.333333 +vt -0.000000 0.318182 +vt 0.220000 0.333333 +vt -0.000000 0.333333 +vt 0.220000 0.181818 +vt -0.000000 0.196970 +vt -0.000000 0.181818 +vt 0.920000 0.787879 +vt 0.720000 0.787879 +vt 0.900000 0.590909 +vt 0.920000 0.803030 +vt 1.000000 0.833333 +vt 0.900000 1.000000 +vt 1.000000 0.787879 +vt 0.640000 0.803030 +vt 0.640000 0.787879 +vt 0.720000 0.803030 +vt 0.720000 0.803030 +vt 0.920000 0.803030 +vt 0.740000 1.000000 +vt 0.720000 0.787879 +vt 0.640000 0.757576 +vt 0.740000 0.590909 +vt 0.640000 0.803030 +vt 1.000000 0.787879 +vt 1.000000 0.803030 +vt 0.920000 0.787879 +vt 0.060000 0.530303 +vt 0.040000 0.500000 +vt 0.060000 0.500000 +vt 0.120000 0.530303 +vt 0.100000 0.500000 +vt 0.120000 0.500000 +vt 0.120000 0.530303 +vt 0.100000 0.500000 +vt 0.120000 0.500000 +vt 0.100000 0.530303 +vt 0.100000 0.484848 +vt 0.060000 0.484848 +vt 0.060000 0.545455 +vt 0.100000 0.545455 +vt 0.060000 0.530303 +vt 0.040000 0.500000 +vt 0.060000 0.500000 +vt 0.100000 0.484848 +vt 0.100000 0.530303 +vt 0.060000 0.545455 +vt 0.640000 0.818182 +vt 0.220000 0.196970 +vt 0.660000 0.318182 +vt 0.640000 0.757576 +vt 0.740000 0.590909 +vt 1.000000 0.757576 +vt 0.740000 1.000000 +vt 0.640000 0.833333 +vt 1.000000 0.803030 +vt 1.000000 0.833333 +vt 0.900000 1.000000 +vt 0.640000 0.833333 +vt 0.900000 0.590909 +vt 1.000000 0.757576 +vt 0.640000 0.787879 +vt 0.040000 0.530303 +vt 0.040000 0.530303 +vt 0.060000 0.484848 +vt 0.100000 0.545455 +vn 0.0000 1.0000 0.0000 +vn 0.9104 0.4138 0.0000 +vn -0.9104 0.4138 0.0000 +vn 0.9104 -0.4138 0.0000 +vn -0.9104 -0.4138 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.4501 0.8930 0.0000 +vn -0.4501 0.8930 0.0000 +s off +f 6/1/1 2/2/1 4/3/1 +f 7/4/1 3/5/1 1/6/1 +f 15/7/2 8/8/2 7/4/2 +f 6/1/3 13/9/3 5/10/3 +f 2/2/4 12/11/4 4/3/4 +f 11/12/5 1/13/5 3/14/5 +f 14/15/1 15/7/1 13/9/1 +f 10/16/6 20/17/6 12/11/6 +f 11/12/7 17/18/7 9/19/7 +f 20/17/8 17/18/8 19/20/8 +f 17/18/9 18/21/9 13/22/9 +f 19/20/10 11/23/10 16/24/10 +f 8/25/10 11/23/10 3/26/10 +f 12/27/10 6/28/10 4/29/10 +f 5/30/9 10/31/9 2/32/9 +f 9/33/9 7/34/9 1/35/9 +f 25/36/9 26/37/9 23/38/9 +f 31/39/10 30/40/10 29/41/10 +f 21/42/11 31/39/11 25/36/11 +f 26/37/12 28/43/12 22/44/12 +f 25/36/1 32/45/1 26/37/1 +f 37/46/9 38/47/9 35/48/9 +f 43/49/10 42/50/10 41/51/10 +f 33/52/11 43/49/11 37/46/11 +f 38/47/12 40/53/12 34/54/12 +f 37/46/1 44/55/1 38/47/1 +f 46/56/7 47/57/7 45/58/7 +f 54/59/7 55/60/7 53/61/7 +f 52/62/6 49/63/6 51/64/6 +f 50/65/9 45/58/9 49/63/9 +f 51/66/8 45/58/8 47/67/8 +f 48/68/1 50/65/1 52/69/1 +f 60/70/6 57/71/6 59/72/6 +f 59/72/8 53/73/8 55/60/8 +f 56/74/1 58/75/1 60/70/1 +f 56/74/10 59/72/10 55/60/10 +f 6/1/1 5/10/1 2/2/1 +f 7/4/1 8/8/1 3/5/1 +f 15/7/2 16/76/2 8/8/2 +f 6/1/3 14/15/3 13/9/3 +f 2/2/4 10/16/4 12/11/4 +f 11/12/5 9/19/5 1/13/5 +f 14/15/1 16/76/1 15/7/1 +f 10/16/6 18/21/6 20/17/6 +f 11/12/7 19/20/7 17/18/7 +f 20/17/8 18/21/8 17/18/8 +f 10/31/9 13/22/9 18/21/9 +f 13/22/9 15/77/9 17/18/9 +f 15/77/9 9/33/9 17/18/9 +f 16/24/10 14/78/10 19/20/10 +f 14/78/10 12/27/10 20/17/10 +f 19/20/10 14/78/10 20/17/10 +f 8/25/10 16/24/10 11/23/10 +f 12/27/10 14/78/10 6/28/10 +f 5/30/9 13/22/9 10/31/9 +f 9/33/9 15/77/9 7/34/9 +f 22/79/9 24/80/9 26/37/9 +f 24/80/9 23/38/9 26/37/9 +f 23/38/9 21/81/9 25/36/9 +f 29/41/10 27/82/10 32/45/10 +f 27/82/10 28/83/10 32/45/10 +f 32/45/10 31/39/10 29/41/10 +f 21/42/11 30/84/11 31/39/11 +f 26/37/12 32/45/12 28/43/12 +f 25/36/1 31/39/1 32/45/1 +f 34/85/9 36/86/9 38/47/9 +f 36/86/9 35/48/9 38/47/9 +f 35/48/9 33/87/9 37/46/9 +f 41/51/10 39/88/10 44/55/10 +f 39/88/10 40/89/10 44/55/10 +f 44/55/10 43/49/10 41/51/10 +f 33/52/11 42/90/11 43/49/11 +f 38/47/12 44/55/12 40/53/12 +f 37/46/1 43/49/1 44/55/1 +f 46/56/7 48/91/7 47/57/7 +f 54/59/7 56/74/7 55/60/7 +f 52/62/6 50/65/6 49/63/6 +f 50/65/9 46/56/9 45/58/9 +f 51/66/8 49/63/8 45/58/8 +f 48/68/1 46/56/1 50/65/1 +f 60/70/6 58/92/6 57/71/6 +f 59/72/8 57/93/8 53/73/8 +f 56/74/1 54/94/1 58/75/1 +f 56/74/10 60/70/10 59/72/10 +o Carriage +v -0.312500 0.000000 0.312500 +v -0.312500 0.000000 0.187500 +v -0.312500 0.250000 0.312500 +v -0.312500 0.250000 0.187500 +v -0.312500 0.187500 0.375000 +v -0.312500 0.062500 0.375000 +v -0.312500 0.187500 0.125000 +v -0.312500 0.062500 0.125000 +v -0.375000 0.000000 0.312500 +v -0.375000 0.000000 0.187500 +v -0.375000 0.250000 0.312500 +v -0.375000 0.250000 0.187500 +v -0.375000 0.187500 0.375000 +v -0.375000 0.062500 0.375000 +v -0.375000 0.187500 0.125000 +v -0.375000 0.062500 0.125000 +v -0.312500 0.093750 0.281250 +v -0.312500 0.156250 0.281250 +v -0.312500 0.093750 0.218750 +v -0.312500 0.156250 0.218750 +v 0.312500 0.093750 0.281250 +v 0.312500 0.156250 0.281250 +v 0.312500 0.093750 0.218750 +v 0.312500 0.156250 0.218750 +v -0.312500 0.093750 -0.218750 +v -0.312500 0.156250 -0.218750 +v -0.312500 0.093750 -0.281250 +v -0.312500 0.156250 -0.281250 +v 0.312500 0.093750 -0.218750 +v 0.312500 0.156250 -0.218750 +v 0.312500 0.093750 -0.281250 +v 0.312500 0.156250 -0.281250 +v 0.250000 0.062500 0.625000 +v 0.312500 0.062500 0.625000 +v 0.250000 0.062500 -0.625000 +v 0.312500 0.062500 -0.625000 +v 0.250000 0.187500 -0.625000 +v 0.250000 0.187500 0.625000 +v 0.312500 0.187500 0.625000 +v 0.312500 0.187500 -0.625000 +v -0.312500 0.062500 0.625000 +v -0.250000 0.062500 0.625000 +v -0.312500 0.062500 -0.625000 +v -0.250000 0.062500 -0.625000 +v -0.312500 0.187500 -0.625000 +v -0.312500 0.187500 0.625000 +v -0.250000 0.187500 0.625000 +v -0.250000 0.187500 -0.625000 +v 0.375000 0.062500 0.625000 +v -0.375000 0.062500 0.625000 +v 0.375000 0.062500 0.750000 +v -0.375000 0.062500 0.750000 +v 0.375000 0.187500 0.625000 +v -0.375000 0.187500 0.625000 +v 0.375000 0.187500 0.750000 +v -0.375000 0.187500 0.750000 +v 0.375000 0.062500 -0.750000 +v -0.375000 0.062500 -0.750000 +v 0.375000 0.062500 -0.625000 +v -0.375000 0.062500 -0.625000 +v 0.375000 0.187500 -0.750000 +v -0.375000 0.187500 -0.750000 +v 0.375000 0.187500 -0.625000 +v -0.375000 0.187500 -0.625000 +v -0.250000 0.187500 0.687500 +v 0.250000 0.187500 0.687500 +v -0.250000 0.187500 0.625000 +v 0.250000 0.187500 0.625000 +v -0.250000 0.562500 0.625000 +v -0.250000 0.562500 0.687500 +v 0.250000 0.562500 0.687500 +v 0.250000 0.562500 0.625000 +v -0.062500 0.937500 0.625000 +v -0.062500 0.937500 0.687500 +v 0.062500 0.937500 0.687500 +v 0.062500 0.937500 0.625000 +v -0.250000 0.187500 -0.625000 +v 0.250000 0.187500 -0.625000 +v -0.250000 0.187500 -0.687500 +v 0.250000 0.187500 -0.687500 +v -0.250000 0.562500 -0.687500 +v -0.250000 0.562500 -0.625000 +v 0.250000 0.562500 -0.625000 +v 0.250000 0.562500 -0.687500 +v -0.062500 0.937500 -0.687500 +v -0.062500 0.937500 -0.625000 +v 0.062500 0.937500 -0.625000 +v 0.062500 0.937500 -0.687500 +v -0.312500 0.000000 -0.187500 +v -0.312500 0.000000 -0.312500 +v -0.312500 0.250000 -0.187500 +v -0.312500 0.250000 -0.312500 +v -0.312500 0.187500 -0.125000 +v -0.312500 0.062500 -0.125000 +v -0.312500 0.187500 -0.375000 +v -0.312500 0.062500 -0.375000 +v -0.375000 0.000000 -0.187500 +v -0.375000 0.000000 -0.312500 +v -0.375000 0.250000 -0.187500 +v -0.375000 0.250000 -0.312500 +v -0.375000 0.187500 -0.125000 +v -0.375000 0.062500 -0.125000 +v -0.375000 0.187500 -0.375000 +v -0.375000 0.062500 -0.375000 +v 0.375000 0.000000 0.312500 +v 0.375000 0.000000 0.187500 +v 0.375000 0.250000 0.312500 +v 0.375000 0.250000 0.187500 +v 0.375000 0.187500 0.375000 +v 0.375000 0.062500 0.375000 +v 0.375000 0.187500 0.125000 +v 0.375000 0.062500 0.125000 +v 0.312500 0.000000 0.312500 +v 0.312500 0.000000 0.187500 +v 0.312500 0.250000 0.312500 +v 0.312500 0.250000 0.187500 +v 0.312500 0.187500 0.375000 +v 0.312500 0.062500 0.375000 +v 0.312500 0.187500 0.125000 +v 0.312500 0.062500 0.125000 +v 0.375000 0.000000 -0.187500 +v 0.375000 0.000000 -0.312500 +v 0.375000 0.250000 -0.187500 +v 0.375000 0.250000 -0.312500 +v 0.375000 0.187500 -0.125000 +v 0.375000 0.062500 -0.125000 +v 0.375000 0.187500 -0.375000 +v 0.375000 0.062500 -0.375000 +v 0.312500 0.000000 -0.187500 +v 0.312500 0.000000 -0.312500 +v 0.312500 0.250000 -0.187500 +v 0.312500 0.250000 -0.312500 +v 0.312500 0.187500 -0.125000 +v 0.312500 0.062500 -0.125000 +v 0.312500 0.187500 -0.375000 +v 0.312500 0.062500 -0.375000 +vt 0.880000 0.575758 +vt 0.860000 0.530303 +vt 0.920000 0.515152 +vt 0.940000 0.530303 +vt 0.920000 0.575758 +vt 0.860000 0.560606 +vt 0.960000 0.560606 +vt 0.960000 0.530303 +vt 0.840000 0.560606 +vt 0.860000 0.575758 +vt 0.840000 0.575758 +vt 0.940000 0.515152 +vt 0.960000 0.515152 +vt 0.920000 0.500000 +vt 0.880000 0.515152 +vt 0.880000 0.500000 +vt 0.860000 0.515152 +vt 0.860000 0.500000 +vt 0.840000 0.530303 +vt 0.920000 0.590909 +vt 0.940000 0.575758 +vt 0.940000 0.590909 +vt 0.880000 0.590909 +vt 0.080000 0.484848 +vt 0.100000 0.333333 +vt 0.100000 0.484848 +vt 0.080000 0.484848 +vt 0.100000 0.333333 +vt 0.100000 0.484848 +vt 0.060000 0.333333 +vt 0.040000 0.484848 +vt 0.040000 0.333333 +vt 0.060000 0.333333 +vt 0.040000 0.484848 +vt 0.040000 0.333333 +vt 0.120000 0.484848 +vt 0.080000 0.333333 +vt 0.120000 0.484848 +vt 0.080000 0.333333 +vt 0.200000 0.636364 +vt 0.180000 0.333333 +vt 0.200000 0.333333 +vt 0.140000 0.333333 +vt 0.120000 0.636364 +vt 0.120000 0.333333 +vt 0.180000 0.636364 +vt 0.240000 0.636364 +vt 0.180000 0.333333 +vt 0.200000 0.636364 +vt 0.180000 0.636364 +vt 0.120000 0.636364 +vt 0.140000 0.333333 +vt 0.140000 0.636364 +vt 0.200000 0.333333 +vt 0.240000 0.636364 +vt 0.200000 0.848485 +vt 0.160000 0.666667 +vt 0.200000 0.666667 +vt 0.120000 0.666667 +vt 0.080000 0.848485 +vt 0.080000 0.666667 +vt 0.240000 0.848485 +vt 0.080000 0.878788 +vt 0.120000 0.848485 +vt 0.120000 0.878788 +vt 0.160000 0.848485 +vt 0.120000 0.636364 +vt 0.080000 0.636364 +vt 0.160000 0.666667 +vt 0.200000 0.848485 +vt 0.160000 0.848485 +vt 0.080000 0.848485 +vt 0.120000 0.666667 +vt 0.120000 0.848485 +vt 0.120000 0.636364 +vt 0.080000 0.666667 +vt 0.080000 0.636364 +vt 0.200000 0.666667 +vt 0.240000 0.848485 +vt 0.080000 0.878788 +vt 0.120000 0.878788 +vt 0.840000 0.484848 +vt 0.820000 0.575758 +vt 0.820000 0.484848 +vt 0.840000 0.393939 +vt 0.820000 0.393939 +vt 0.660000 0.393939 +vt 0.640000 0.484848 +vt 0.640000 0.393939 +vt 0.820000 0.393939 +vt 0.660000 0.484848 +vt 0.660000 0.393939 +vt 0.660000 0.484848 +vt 0.760000 0.575758 +vt 0.720000 0.590909 +vt 0.720000 0.575758 +vt 0.640000 0.575758 +vt 0.820000 0.484848 +vt 0.720000 0.575758 +vt 0.660000 0.484848 +vt 0.640000 0.575758 +vt 0.640000 0.484848 +vt 0.660000 0.393939 +vt 0.640000 0.393939 +vt 0.840000 0.393939 +vt 0.820000 0.484848 +vt 0.820000 0.393939 +vt 0.820000 0.393939 +vt 0.660000 0.484848 +vt 0.660000 0.393939 +vt 0.720000 0.590909 +vt 0.760000 0.575758 +vt 0.760000 0.590909 +vt 0.840000 0.484848 +vt 0.820000 0.575758 +vt 0.720000 0.575758 +vt 0.820000 0.484848 +vt 0.720000 0.575758 +vt 0.880000 0.575758 +vt 0.860000 0.530303 +vt 0.920000 0.515152 +vt 0.940000 0.530303 +vt 0.920000 0.575758 +vt 0.860000 0.560606 +vt 0.960000 0.560606 +vt 0.960000 0.530303 +vt 0.840000 0.560606 +vt 0.860000 0.575758 +vt 0.840000 0.575758 +vt 0.940000 0.515152 +vt 0.960000 0.515152 +vt 0.920000 0.500000 +vt 0.880000 0.515152 +vt 0.880000 0.500000 +vt 0.860000 0.515152 +vt 0.860000 0.500000 +vt 0.840000 0.530303 +vt 0.920000 0.590909 +vt 0.940000 0.575758 +vt 0.940000 0.590909 +vt 0.880000 0.590909 +vt 0.880000 0.575758 +vt 0.860000 0.530303 +vt 0.920000 0.515152 +vt 0.940000 0.530303 +vt 0.920000 0.575758 +vt 0.860000 0.560606 +vt 0.960000 0.560606 +vt 0.960000 0.530303 +vt 0.840000 0.560606 +vt 0.860000 0.575758 +vt 0.840000 0.575758 +vt 0.940000 0.515152 +vt 0.960000 0.515152 +vt 0.920000 0.500000 +vt 0.880000 0.515152 +vt 0.880000 0.500000 +vt 0.860000 0.515152 +vt 0.860000 0.500000 +vt 0.840000 0.530303 +vt 0.920000 0.590909 +vt 0.940000 0.575758 +vt 0.940000 0.590909 +vt 0.880000 0.590909 +vt 0.880000 0.575758 +vt 0.860000 0.530303 +vt 0.920000 0.515152 +vt 0.940000 0.530303 +vt 0.920000 0.575758 +vt 0.860000 0.560606 +vt 0.960000 0.560606 +vt 0.960000 0.530303 +vt 0.840000 0.560606 +vt 0.860000 0.575758 +vt 0.840000 0.575758 +vt 0.940000 0.515152 +vt 0.960000 0.515152 +vt 0.920000 0.500000 +vt 0.880000 0.515152 +vt 0.880000 0.500000 +vt 0.860000 0.515152 +vt 0.860000 0.500000 +vt 0.840000 0.530303 +vt 0.920000 0.590909 +vt 0.940000 0.575758 +vt 0.940000 0.590909 +vt 0.880000 0.590909 +vt 0.940000 0.530303 +vt 0.940000 0.560606 +vt 0.920000 0.575758 +vt 0.860000 0.560606 +vt 0.880000 0.515152 +vt 0.860000 0.530303 +vt 0.920000 0.515152 +vt 0.940000 0.560606 +vt 0.880000 0.575758 +vt 0.060000 0.484848 +vt 0.060000 0.484848 +vt 0.120000 0.333333 +vt 0.120000 0.333333 +vt 0.140000 0.636364 +vt 0.240000 0.333333 +vt 0.120000 0.333333 +vt 0.240000 0.333333 +vt 0.240000 0.666667 +vt 0.240000 0.666667 +vt 0.840000 0.575758 +vt 0.760000 0.590909 +vt 0.660000 0.575758 +vt 0.760000 0.575758 +vt 0.660000 0.575758 +vt 0.840000 0.575758 +vt 0.760000 0.575758 +vt 0.940000 0.530303 +vt 0.940000 0.560606 +vt 0.920000 0.575758 +vt 0.860000 0.560606 +vt 0.880000 0.515152 +vt 0.860000 0.530303 +vt 0.920000 0.515152 +vt 0.940000 0.560606 +vt 0.880000 0.575758 +vt 0.940000 0.530303 +vt 0.940000 0.560606 +vt 0.920000 0.575758 +vt 0.860000 0.560606 +vt 0.880000 0.515152 +vt 0.860000 0.530303 +vt 0.920000 0.515152 +vt 0.940000 0.560606 +vt 0.880000 0.575758 +vt 0.940000 0.530303 +vt 0.940000 0.560606 +vt 0.920000 0.575758 +vt 0.860000 0.560606 +vt 0.880000 0.515152 +vt 0.860000 0.530303 +vt 0.920000 0.515152 +vt 0.940000 0.560606 +vt 0.880000 0.575758 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 1.0000 0.0000 +vn 0.8944 0.4472 0.0000 +vn -0.8944 0.4472 0.0000 +s off +f 63/95/13 66/96/13 62/97/13 +f 74/98/14 71/99/14 75/100/14 +f 65/101/15 74/98/15 66/102/15 +f 67/103/16 72/104/16 64/105/16 +f 66/102/17 69/106/17 61/107/17 +f 61/108/18 70/109/18 62/110/18 +f 62/110/19 76/111/19 68/112/19 +f 68/113/20 75/100/20 67/103/20 +f 63/114/21 73/115/21 65/116/21 +f 64/117/22 71/99/22 63/114/22 +f 88/118/20 91/119/20 87/120/20 +f 80/121/20 83/122/20 79/123/20 +f 90/124/15 85/125/15 89/126/15 +f 82/127/15 77/128/15 81/129/15 +f 83/122/18 77/130/18 79/123/18 +f 80/121/22 82/127/22 84/131/22 +f 91/119/18 85/132/18 87/120/18 +f 88/118/22 90/124/22 92/133/22 +f 95/134/18 94/135/18 93/136/18 +f 99/137/22 97/138/22 98/139/22 +f 96/140/13 99/137/13 94/135/13 +f 93/136/14 97/141/14 95/134/14 +f 103/142/18 102/143/18 101/144/18 +f 107/145/22 105/146/22 106/147/22 +f 104/148/13 107/149/13 102/143/13 +f 101/144/14 105/146/14 103/142/14 +f 109/150/18 112/151/18 110/152/18 +f 116/153/22 113/154/22 114/155/22 +f 110/152/20 113/156/20 109/150/20 +f 109/157/13 115/158/13 111/159/13 +f 111/160/15 116/153/15 112/151/15 +f 112/161/14 114/155/14 110/162/14 +f 117/163/18 120/164/18 118/165/18 +f 124/166/22 121/167/22 122/168/22 +f 118/165/20 121/167/20 117/163/20 +f 117/169/13 123/170/13 119/171/13 +f 119/172/15 124/173/15 120/164/15 +f 120/174/14 122/168/14 118/175/14 +f 132/176/23 135/177/23 131/178/23 +f 128/179/13 131/178/13 126/180/13 +f 125/181/14 129/182/14 127/183/14 +f 127/184/20 132/185/20 128/186/20 +f 126/180/15 130/187/15 125/181/15 +f 135/188/22 133/189/22 134/190/22 +f 130/187/24 133/191/24 129/182/24 +f 129/192/20 136/193/20 132/185/20 +f 131/178/15 134/190/15 130/187/15 +f 144/194/23 147/195/23 143/196/23 +f 140/197/13 143/196/13 138/198/13 +f 137/199/14 141/200/14 139/201/14 +f 139/201/20 144/194/20 140/197/20 +f 138/202/15 142/203/15 137/204/15 +f 147/205/22 145/206/22 146/207/22 +f 142/208/24 145/209/24 141/200/24 +f 141/200/20 148/210/20 144/194/20 +f 143/211/15 146/212/15 142/203/15 +f 151/213/13 154/214/13 150/215/13 +f 162/216/14 159/217/14 163/218/14 +f 153/219/15 162/216/15 154/220/15 +f 155/221/16 160/222/16 152/223/16 +f 154/220/17 157/224/17 149/225/17 +f 149/226/18 158/227/18 150/228/18 +f 150/228/19 164/229/19 156/230/19 +f 156/231/20 163/218/20 155/221/20 +f 151/232/21 161/233/21 153/234/21 +f 152/235/22 159/217/22 151/232/22 +f 167/236/13 170/237/13 166/238/13 +f 178/239/14 175/240/14 179/241/14 +f 169/242/15 178/239/15 170/243/15 +f 171/244/16 176/245/16 168/246/16 +f 170/243/17 173/247/17 165/248/17 +f 165/249/18 174/250/18 166/251/18 +f 166/251/19 180/252/19 172/253/19 +f 172/254/20 179/241/20 171/244/20 +f 167/255/21 177/256/21 169/257/21 +f 168/258/22 175/240/22 167/255/22 +f 183/259/13 186/260/13 182/261/13 +f 194/262/14 191/263/14 195/264/14 +f 185/265/15 194/262/15 186/266/15 +f 187/267/16 192/268/16 184/269/16 +f 186/266/17 189/270/17 181/271/17 +f 181/272/18 190/273/18 182/274/18 +f 182/274/19 196/275/19 188/276/19 +f 188/277/20 195/264/20 187/267/20 +f 183/278/21 193/279/21 185/280/21 +f 184/281/22 191/263/22 183/278/22 +f 62/97/13 68/282/13 67/283/13 +f 67/283/13 64/284/13 63/95/13 +f 63/95/13 65/285/13 66/96/13 +f 66/96/13 61/286/13 62/97/13 +f 62/97/13 67/283/13 63/95/13 +f 75/100/14 76/287/14 70/109/14 +f 70/109/14 69/288/14 74/98/14 +f 74/98/14 73/289/14 71/99/14 +f 71/99/14 72/290/14 75/100/14 +f 75/100/14 70/109/14 74/98/14 +f 65/101/15 73/289/15 74/98/15 +f 67/103/16 75/100/16 72/104/16 +f 66/102/17 74/98/17 69/106/17 +f 61/108/18 69/288/18 70/109/18 +f 62/110/19 70/109/19 76/111/19 +f 68/113/20 76/287/20 75/100/20 +f 63/114/21 71/99/21 73/115/21 +f 64/117/22 72/290/22 71/99/22 +f 88/118/20 92/133/20 91/119/20 +f 80/121/20 84/131/20 83/122/20 +f 90/124/15 86/291/15 85/125/15 +f 82/127/15 78/292/15 77/128/15 +f 83/122/18 81/293/18 77/130/18 +f 80/121/22 78/292/22 82/127/22 +f 91/119/18 89/294/18 85/132/18 +f 88/118/22 86/291/22 90/124/22 +f 95/134/18 96/140/18 94/135/18 +f 99/137/22 100/295/22 97/138/22 +f 96/140/13 100/295/13 99/137/13 +f 93/136/14 98/296/14 97/141/14 +f 103/142/18 104/148/18 102/143/18 +f 107/145/22 108/297/22 105/146/22 +f 104/148/13 108/298/13 107/149/13 +f 101/144/14 106/147/14 105/146/14 +f 109/150/18 111/160/18 112/151/18 +f 116/153/22 115/158/22 113/154/22 +f 110/152/20 114/299/20 113/156/20 +f 109/157/13 113/154/13 115/158/13 +f 111/160/15 115/158/15 116/153/15 +f 112/161/14 116/153/14 114/155/14 +f 117/163/18 119/172/18 120/164/18 +f 124/166/22 123/170/22 121/167/22 +f 118/165/20 122/168/20 121/167/20 +f 117/169/13 121/167/13 123/170/13 +f 119/172/15 123/300/15 124/173/15 +f 120/174/14 124/166/14 122/168/14 +f 132/176/23 136/301/23 135/177/23 +f 128/179/13 132/176/13 131/178/13 +f 125/181/14 130/187/14 129/182/14 +f 127/184/20 129/192/20 132/185/20 +f 126/180/15 131/178/15 130/187/15 +f 135/188/22 136/302/22 133/189/22 +f 130/187/24 134/303/24 133/191/24 +f 129/192/20 133/304/20 136/193/20 +f 131/178/15 135/188/15 134/190/15 +f 144/194/23 148/305/23 147/195/23 +f 140/197/13 144/194/13 143/196/13 +f 137/199/14 142/208/14 141/200/14 +f 139/201/20 141/200/20 144/194/20 +f 138/202/15 143/211/15 142/203/15 +f 147/205/22 148/210/22 145/206/22 +f 142/208/24 146/306/24 145/209/24 +f 141/200/20 145/206/20 148/210/20 +f 143/211/15 147/307/15 146/212/15 +f 150/215/13 156/308/13 155/309/13 +f 155/309/13 152/310/13 151/213/13 +f 151/213/13 153/311/13 154/214/13 +f 154/214/13 149/312/13 150/215/13 +f 150/215/13 155/309/13 151/213/13 +f 163/218/14 164/313/14 158/227/14 +f 158/227/14 157/314/14 162/216/14 +f 162/216/14 161/315/14 159/217/14 +f 159/217/14 160/316/14 163/218/14 +f 163/218/14 158/227/14 162/216/14 +f 153/219/15 161/315/15 162/216/15 +f 155/221/16 163/218/16 160/222/16 +f 154/220/17 162/216/17 157/224/17 +f 149/226/18 157/314/18 158/227/18 +f 150/228/19 158/227/19 164/229/19 +f 156/231/20 164/313/20 163/218/20 +f 151/232/21 159/217/21 161/233/21 +f 152/235/22 160/316/22 159/217/22 +f 166/238/13 172/317/13 171/318/13 +f 171/318/13 168/319/13 167/236/13 +f 167/236/13 169/320/13 170/237/13 +f 170/237/13 165/321/13 166/238/13 +f 166/238/13 171/318/13 167/236/13 +f 179/241/14 180/322/14 174/250/14 +f 174/250/14 173/323/14 178/239/14 +f 178/239/14 177/324/14 175/240/14 +f 175/240/14 176/325/14 179/241/14 +f 179/241/14 174/250/14 178/239/14 +f 169/242/15 177/324/15 178/239/15 +f 171/244/16 179/241/16 176/245/16 +f 170/243/17 178/239/17 173/247/17 +f 165/249/18 173/323/18 174/250/18 +f 166/251/19 174/250/19 180/252/19 +f 172/254/20 180/322/20 179/241/20 +f 167/255/21 175/240/21 177/256/21 +f 168/258/22 176/325/22 175/240/22 +f 182/261/13 188/326/13 187/327/13 +f 187/327/13 184/328/13 183/259/13 +f 183/259/13 185/329/13 186/260/13 +f 186/260/13 181/330/13 182/261/13 +f 182/261/13 187/327/13 183/259/13 +f 195/264/14 196/331/14 190/273/14 +f 190/273/14 189/332/14 194/262/14 +f 194/262/14 193/333/14 191/263/14 +f 191/263/14 192/334/14 195/264/14 +f 195/264/14 190/273/14 194/262/14 +f 185/265/15 193/333/15 194/262/15 +f 187/267/16 195/264/16 192/268/16 +f 186/266/17 194/262/17 189/270/17 +f 181/272/18 189/332/18 190/273/18 +f 182/274/19 190/273/19 196/275/19 +f 188/277/20 196/331/20 195/264/20 +f 183/278/21 191/263/21 193/279/21 +f 184/281/22 192/334/22 191/263/22 diff --git a/src/main/resources/assets/hbm/models/vehicles/cart_destroyer.obj b/src/main/resources/assets/hbm/models/vehicles/cart_destroyer.obj new file mode 100644 index 000000000..61250ca7b --- /dev/null +++ b/src/main/resources/assets/hbm/models/vehicles/cart_destroyer.obj @@ -0,0 +1,229 @@ +# Blender v2.79 (sub 0) OBJ File: 'cart_destroyer.blend' +# www.blender.org +o Cube +v -0.500000 0.750000 0.500000 +v -0.500000 1.125000 0.500000 +v -0.500000 0.750000 -0.500000 +v -0.500000 1.125000 -0.500000 +v 0.500000 0.750000 0.500000 +v 0.500000 1.125000 0.500000 +v 0.500000 0.750000 -0.500000 +v 0.500000 1.125000 -0.500000 +v -0.375000 1.250000 0.500000 +v -0.375000 1.250000 -0.500000 +v 0.375000 1.250000 -0.500000 +v 0.375000 1.250000 0.500000 +v -0.187400 1.250000 -0.437500 +v 0.062600 1.250000 -0.437500 +v -0.062500 1.250000 -0.312500 +v 0.187500 1.250000 -0.312500 +v -0.187400 1.250000 -0.187500 +v 0.062600 1.250000 -0.187500 +v -0.062500 1.250000 -0.062500 +v 0.187500 1.250000 -0.062500 +v -0.187400 1.250000 0.062500 +v 0.062600 1.250000 0.062500 +v -0.062500 1.250000 0.187500 +v 0.187500 1.250000 0.187500 +v -0.187400 1.250000 0.312500 +v 0.062600 1.250000 0.312500 +v -0.062500 1.250000 0.437500 +v 0.187500 1.250000 0.437500 +v -0.187400 1.125000 -0.437500 +v 0.062600 1.125000 -0.437500 +v -0.062500 1.125000 -0.312500 +v 0.187500 1.125000 -0.312500 +v -0.187400 1.125000 -0.187500 +v 0.062600 1.125000 -0.187500 +v -0.062500 1.125000 -0.062500 +v 0.187500 1.125000 -0.062500 +v -0.187400 1.125000 0.062500 +v 0.062600 1.125000 0.062500 +v -0.062500 1.125000 0.187500 +v 0.187500 1.125000 0.187500 +v -0.187400 1.125000 0.312500 +v 0.062600 1.125000 0.312500 +v -0.062500 1.125000 0.437500 +v 0.187500 1.125000 0.437500 +vt 0.785714 0.631579 +vt 1.000000 0.210526 +vt 1.000000 0.631579 +vt 0.214286 0.842105 +vt 0.714286 0.631579 +vt 0.785714 0.842105 +vt 0.214286 0.210526 +vt -0.000000 0.631579 +vt 0.000000 0.210526 +vt 0.500000 0.894737 +vt 0.571429 0.842105 +vt 0.571429 0.894737 +vt 0.785714 -0.000000 +vt 0.285714 0.210526 +vt 0.214286 0.000000 +vt 0.285714 0.631579 +vt 0.214286 0.631579 +vt 0.214286 0.894737 +vt 0.285714 0.842105 +vt 0.285714 0.894737 +vt 0.714286 0.210526 +vt 0.785714 0.210526 +vt 0.142857 0.894737 +vt 0.214286 0.842105 +vt 0.571429 0.894737 +vt 0.642857 0.842105 +vt 0.642857 0.894737 +vt 0.214286 0.894737 +vt 0.285714 0.842105 +vt 0.285714 0.894737 +vt 0.357143 0.894737 +vt 0.428571 0.842105 +vt 0.428571 0.894737 +vt 0.000000 0.842105 +vt 0.000000 0.894737 +vt 0.357143 0.894737 +vt 0.428571 0.842105 +vt 0.428571 0.894737 +vt 0.500000 0.842105 +vt 0.500000 0.894737 +vt 0.357143 0.842105 +vt 0.000000 0.894737 +vt 0.142857 0.842105 +vt 0.142857 0.894737 +vt 0.357143 0.842105 +vt 0.500000 0.842105 +vt 0.214286 0.842105 +vt 0.571429 0.842105 +vt 0.642857 0.842105 +vt 0.642857 0.894737 +vt 0.571429 1.000000 +vt 0.642857 0.894737 +vt 0.642857 1.000000 +vt 0.500000 0.894737 +vt 0.500000 1.000000 +vt 0.428571 1.000000 +vt 0.428571 0.894737 +vt 0.357143 0.894737 +vt 0.285714 1.000000 +vt 0.285714 0.894737 +vt 0.214286 0.894737 +vt 0.142857 1.000000 +vt 0.214286 1.000000 +vt 0.392857 0.289474 +vt 0.392857 0.394737 +vt 0.607143 0.552632 +vt 0.607143 0.447368 +vt 0.535714 0.605263 +vt 0.464286 0.236842 +vt 0.607143 0.236842 +vt 0.214286 0.684211 +vt 0.785714 0.684211 +vt 0.785714 0.157895 +vt 0.214286 0.157895 +vt 0.142857 0.842105 +vt 0.000000 0.842105 +vt 0.571429 0.894737 +vt 0.357143 1.000000 +vt 0.142857 0.894737 +vt 0.392857 0.605263 +vt 0.392857 0.500000 +vt 0.464286 0.342105 +vt 0.464286 0.447368 +vt 0.464286 0.552632 +vt 0.607143 0.342105 +vt 0.535714 0.500000 +vt 0.535714 0.394737 +vt 0.535714 0.289474 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7074 0.0000 0.7068 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7074 0.0000 -0.7068 +vn -0.7074 0.0000 0.7068 +vn -0.7074 0.0000 -0.7068 +vn 0.0000 1.0000 0.0000 +s off +f 2/1/1 3/2/1 1/3/1 +f 5/4/2 9/5/2 1/6/2 +f 8/7/3 5/8/3 7/9/3 +f 17/10/4 31/11/4 15/12/4 +f 3/13/5 11/14/5 7/15/5 +f 8/7/6 12/16/6 6/17/6 +f 25/18/4 39/19/4 23/20/4 +f 2/1/7 10/21/7 4/22/7 +f 27/23/8 41/24/8 25/18/8 +f 26/25/9 44/26/9 28/27/9 +f 16/28/10 34/29/10 18/30/10 +f 21/31/4 35/32/4 19/33/4 +f 44/34/5 27/23/5 28/35/5 +f 20/36/10 38/37/10 22/38/10 +f 22/38/9 40/39/9 24/40/9 +f 23/20/8 37/41/8 21/31/8 +f 13/42/2 30/43/2 14/44/2 +f 18/30/9 36/45/9 20/36/9 +f 19/33/8 33/46/8 17/10/8 +f 14/44/9 32/47/9 16/28/9 +f 24/40/10 42/48/10 26/25/10 +f 15/12/8 29/49/8 13/50/8 +f 31/51/11 30/52/11 29/53/11 +f 34/54/11 31/51/11 33/55/11 +f 34/54/11 35/56/11 36/57/11 +f 35/56/11 38/58/11 36/57/11 +f 38/58/11 39/59/11 40/60/11 +f 39/59/11 42/61/11 40/60/11 +f 43/62/11 42/61/11 41/63/11 +f 11/14/11 16/64/11 20/65/11 +f 9/5/11 25/66/11 21/67/11 +f 12/16/11 27/68/11 9/5/11 +f 14/69/11 10/21/11 13/70/11 +f 2/1/1 4/22/1 3/2/1 +f 5/4/2 6/71/2 12/16/2 +f 12/16/2 9/5/2 5/4/2 +f 9/5/2 2/72/2 1/6/2 +f 8/7/3 6/17/3 5/8/3 +f 17/10/4 33/46/4 31/11/4 +f 3/13/5 4/73/5 10/21/5 +f 10/21/5 11/14/5 3/13/5 +f 11/14/5 8/74/5 7/15/5 +f 8/7/6 11/14/6 12/16/6 +f 25/18/4 41/24/4 39/19/4 +f 2/1/7 9/5/7 10/21/7 +f 27/23/8 43/75/8 41/24/8 +f 26/25/9 42/48/9 44/26/9 +f 16/28/10 32/47/10 34/29/10 +f 21/31/4 37/41/4 35/32/4 +f 44/34/5 43/75/5 27/23/5 +f 20/36/10 36/45/10 38/37/10 +f 22/38/9 38/37/9 40/39/9 +f 23/20/8 39/19/8 37/41/8 +f 13/42/2 29/76/2 30/43/2 +f 18/30/9 34/29/9 36/45/9 +f 19/33/8 35/32/8 33/46/8 +f 14/44/9 30/43/9 32/47/9 +f 24/40/10 40/39/10 42/48/10 +f 15/12/8 31/11/8 29/49/8 +f 31/51/11 32/77/11 30/52/11 +f 34/54/11 32/77/11 31/51/11 +f 34/54/11 33/55/11 35/56/11 +f 35/56/11 37/78/11 38/58/11 +f 38/58/11 37/78/11 39/59/11 +f 39/59/11 41/63/11 42/61/11 +f 43/62/11 44/79/11 42/61/11 +f 28/80/11 12/16/11 24/81/11 +f 12/16/11 11/14/11 20/65/11 +f 24/81/11 12/16/11 20/65/11 +f 11/14/11 14/69/11 16/64/11 +f 16/64/11 18/82/11 20/65/11 +f 20/65/11 22/83/11 24/81/11 +f 24/81/11 26/84/11 28/80/11 +f 13/70/11 10/21/11 17/85/11 +f 10/21/11 9/5/11 21/67/11 +f 17/85/11 10/21/11 21/67/11 +f 9/5/11 27/68/11 25/66/11 +f 25/66/11 23/86/11 21/67/11 +f 21/67/11 19/87/11 17/85/11 +f 17/85/11 15/88/11 13/70/11 +f 12/16/11 28/80/11 27/68/11 +f 14/69/11 11/14/11 10/21/11 diff --git a/src/main/resources/assets/hbm/textures/entity/cart.png b/src/main/resources/assets/hbm/textures/entity/cart.png new file mode 100644 index 000000000..fa9a3b2e3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/entity/cart.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/cart_destroyer.png b/src/main/resources/assets/hbm/textures/entity/cart_destroyer.png new file mode 100644 index 000000000..0f4b970de Binary files /dev/null and b/src/main/resources/assets/hbm/textures/entity/cart_destroyer.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/cart_metal.png b/src/main/resources/assets/hbm/textures/entity/cart_metal.png new file mode 100644 index 000000000..2e830d528 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/entity/cart_metal.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/cart_metal_naked.png b/src/main/resources/assets/hbm/textures/entity/cart_metal_naked.png new file mode 100644 index 000000000..045563aea Binary files /dev/null and b/src/main/resources/assets/hbm/textures/entity/cart_metal_naked.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/cart_wood.png b/src/main/resources/assets/hbm/textures/entity/cart_wood.png new file mode 100644 index 000000000..cf0cc6500 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/entity/cart_wood.png differ diff --git a/src/main/resources/assets/hbm/textures/items/cart.destroyer.png b/src/main/resources/assets/hbm/textures/items/cart.destroyer.png index 02d13c107..dc14093df 100644 Binary files a/src/main/resources/assets/hbm/textures/items/cart.destroyer.png and b/src/main/resources/assets/hbm/textures/items/cart.destroyer.png differ diff --git a/src/main/resources/assets/hbm/textures/items/cart.empty.png b/src/main/resources/assets/hbm/textures/items/cart.empty.png new file mode 100644 index 000000000..be89e0b1e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/cart.empty.png differ diff --git a/src/main/resources/assets/hbm/textures/items/minecart_normal.png b/src/main/resources/assets/hbm/textures/items/minecart_normal.png new file mode 100755 index 000000000..2046f2bcb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/minecart_normal.png differ