From 23fb11a3e4d65a8181b534a090fa0f407e022717 Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 21 Apr 2021 22:56:36 +0200 Subject: [PATCH] finished RBMK auto control GUI, basic functionality, block spiders --- .../com/hbm/entity/mob/EntityBlockSpider.java | 54 + .../hbm/inventory/gui/GUIRBMKControlAuto.java | 110 +- .../java/com/hbm/items/tool/ItemWandD.java | 20 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + src/main/java/com/hbm/main/MainRegistry.java | 1 + .../java/com/hbm/main/ResourceManager.java | 2 + .../render/entity/mob/RenderBlockSpider.java | 20 + .../hbm/render/model/ModelBlockSpider.java | 69 + .../rbmk/TileEntityRBMKControlAuto.java | 113 +- .../assets/hbm/models/mobs/blockspider.obj | 1206 +++++++++++++++++ .../hbm/textures/entity/blockspider.png | Bin 0 -> 531 bytes 11 files changed, 1571 insertions(+), 25 deletions(-) create mode 100644 src/main/java/com/hbm/entity/mob/EntityBlockSpider.java create mode 100644 src/main/java/com/hbm/render/entity/mob/RenderBlockSpider.java create mode 100644 src/main/java/com/hbm/render/model/ModelBlockSpider.java create mode 100644 src/main/resources/assets/hbm/models/mobs/blockspider.obj create mode 100644 src/main/resources/assets/hbm/textures/entity/blockspider.png diff --git a/src/main/java/com/hbm/entity/mob/EntityBlockSpider.java b/src/main/java/com/hbm/entity/mob/EntityBlockSpider.java new file mode 100644 index 000000000..95ee5fa98 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityBlockSpider.java @@ -0,0 +1,54 @@ +package com.hbm.entity.mob; + +import net.minecraft.block.Block; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.EntityAINearestAttackableTarget; +import net.minecraft.entity.ai.EntityAIWander; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class EntityBlockSpider extends EntityMob { + + public EntityBlockSpider(World world) { + super(world); + + this.setSize(0.95F, 1.25F); + this.getNavigator().setAvoidsWater(true); + this.tasks.addTask(1, new EntityAIWander(this, 0.5F)); + this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1F); + } + + @Override + public boolean isAIEnabled() { + return true; + } + + @Override + protected void entityInit() { + super.entityInit(); + + this.dataWatcher.addObject(12, 1); + this.dataWatcher.addObject(13, 0); + } + + public void makeBlock(Block block, int meta) { + + int b = Block.getIdFromBlock(block); + + this.dataWatcher.updateObject(12, b); + this.dataWatcher.updateObject(13, meta); + + double health = Math.max(1D, block.getExplosionResistance(null)); + + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(health); + this.setHealth(this.getMaxHealth()); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java index 415b4c413..51cca4ec8 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java @@ -1,64 +1,128 @@ package com.hbm.inventory.gui; +import org.apache.commons.lang3.math.NumberUtils; +import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerRBMKControlAuto; import com.hbm.lib.RefStrings; +import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlAuto; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; public class GUIRBMKControlAuto extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/reactors/gui_rbmk_control_auto.png"); private TileEntityRBMKControlAuto rod; + + private GuiTextField[] fields; public GUIRBMKControlAuto(InventoryPlayer invPlayer, TileEntityRBMKControlAuto tedf) { super(new ContainerRBMKControlAuto(invPlayer, tedf)); rod = tedf; + fields = new GuiTextField[4]; + this.xSize = 176; this.ySize = 186; } + public void initGui() { + super.initGui(); + Keyboard.enableRepeatEvents(true); + + for(int i = 0; i < 4; i++) { + this.fields[i] = new GuiTextField(this.fontRendererObj, guiLeft + 30, guiTop + 27 + 11 * i, 26, 6); + this.fields[i].setTextColor(-1); + this.fields[i].setDisabledTextColour(-1); + this.fields[i].setEnableBackgroundDrawing(false); + + if(i < 2) + this.fields[i].setMaxStringLength(3); + else + this.fields[i].setMaxStringLength(4); + } + + this.fields[0].setText(String.valueOf((int)rod.levelUpper)); + this.fields[1].setText(String.valueOf((int)rod.levelLower)); + this.fields[2].setText(String.valueOf((int)rod.heatUpper)); + this.fields[3].setText(String.valueOf((int)rod.heatLower)); + } + @Override public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 124, guiTop + 29, 16, 56, mouseX, mouseY, new String[]{ (int)(rod.level * 100) + "%" } ); + + String func = "Function: "; + + switch(rod.function) { + case LINEAR: func += " Linear"; break; + case QUAD_UP: func += " Quadratic"; break; + case QUAD_DOWN: func += " Negative Quadratic"; break; + } + + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 69, guiTop + 27, 26, 19, mouseX, mouseY, new String[]{ (int)(rod.level * 100) + "%" } ); } @Override protected void mouseClicked(int x, int y, int i) { super.mouseClicked(x, y, i); - /*for(int k = 0; k < 5; k++) { + for(int j = 0; j < 4; j++) { + this.fields[j].mouseClicked(x, y, i); + } + + if(guiLeft + 28 <= x && guiLeft + 28 + 30 > x && guiTop + 70 < y && guiTop + 70 +10 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + + double[] vals = new double[] {0D ,0D, 0D, 0D}; + + for(int k = 0; k < 4; k++) { + + double clamp = k < 2 ? 100 : 9999; + + if(NumberUtils.isNumber(fields[k].getText())) { + int j = (int)MathHelper.clamp_double(Double.parseDouble(fields[k].getText()), 0, clamp); + fields[k].setText(j + ""); + vals[k] = j; + } else { + fields[k].setText("0"); + } + } + + data.setDouble("levelUpper", vals[0]); + data.setDouble("levelLower", vals[1]); + data.setDouble("heatUpper", vals[2]); + data.setDouble("heatLower", vals[3]); + + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rod.xCoord, rod.yCoord, rod.zCoord)); + } + + for(int k = 0; k < 3; k++) { //manual rod control - if(guiLeft + 118 <= x && guiLeft + 118 + 30 > x && guiTop + 26 + k * 11 < y && guiTop + 26 + 10 + k * 11 >= y) { + if(guiLeft + 61 <= x && guiLeft + 61 + 22 > x && guiTop + 48 + k * 11 < y && guiTop + 48 + 10 + k * 11 >= y) { mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); NBTTagCompound data = new NBTTagCompound(); - data.setDouble("level", 1.0D - (k * 0.25D)); + data.setInteger("function", k); PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rod.xCoord, rod.yCoord, rod.zCoord)); } - - //color groups - if(guiLeft + 28 <= x && guiLeft + 28 + 12 > x && guiTop + 26 + k * 11 < y && guiTop + 26 + 10 + k * 11 >= y) { - - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - NBTTagCompound data = new NBTTagCompound(); - data.setInteger("color", k); - PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rod.xCoord, rod.yCoord, rod.zCoord)); - } - }*/ + } } @Override @@ -80,6 +144,22 @@ public class GUIRBMKControlAuto extends GuiInfoContainer { if(height > 0) drawTexturedModalRect(guiLeft + 124, guiTop + 29, 176, 56 - height, 8, height); - drawTexturedModalRect(guiLeft + 59, guiTop + 27, 184, 0, 26, 19); + int f = rod.function.ordinal(); + drawTexturedModalRect(guiLeft + 59, guiTop + 27, 184, f * 19, 26, 19); + + for(int i = 0; i < 4; i++) { + this.fields[i].drawTextBox(); + } + } + + @Override + protected void keyTyped(char c, int i) { + + for(int j = 0; j < 4; j++) { + if(this.fields[j].textboxKeyTyped(c, i)) + return; + } + + super.keyTyped(c, i); } } diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index d4ac178bc..6f38bd8aa 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -2,16 +2,12 @@ package com.hbm.items.tool; import java.util.List; +import com.hbm.entity.mob.EntityBlockSpider; import com.hbm.lib.Library; -import com.hbm.main.MainRegistry; -import com.hbm.world.dungeon.AncientTomb; -import com.hbm.world.dungeon.Spaceship; -import com.hbm.world.generator.CellularDungeonFactory; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; @@ -29,8 +25,16 @@ public class ItemWandD extends Item { int x = pos.blockX; int z = pos.blockZ; - int y = world.getHeightValue(x, z); - + //int y = world.getHeightValue(x, z); + int y = pos.blockY; + + EntityBlockSpider spider = new EntityBlockSpider(world); + spider.setPosition(x + 0.5, y, z + 0.5); + spider.makeBlock(world.getBlock(x, y, z), world.getBlockMetadata(x, y, z)); + world.setBlockToAir(x, y, z); + world.spawnEntityInWorld(spider); + + /*NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rift"); data.setDouble("posX", x); @@ -47,7 +51,7 @@ public class ItemWandD extends Item { //CellularDungeonFactory.jungle.generate(world, x, y + 4, z, world.rand); //CellularDungeonFactory.jungle.generate(world, x, y + 8, z, world.rand); - new AncientTomb().build(world, world.rand, x, y + 10, z); + //new AncientTomb().build(world, world.rand, x, y + 10, z); //new ArcticVault().trySpawn(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 66cf7d0f2..13c75515b 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -503,6 +503,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityQuackos.class, new RenderQuacc(new ModelChicken(), 7.5F)); RenderingRegistry.registerEntityRenderingHandler(EntityFBI.class, new RenderFBI()); RenderingRegistry.registerEntityRenderingHandler(EntityRADBeast.class, new RenderRADBeast()); + RenderingRegistry.registerEntityRenderingHandler(EntityBlockSpider.class, new RenderBlockSpider()); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); RenderingRegistry.registerEntityRenderingHandler(EntityBSmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.b_smoke1, ModItems.b_smoke2, ModItems.b_smoke3, ModItems.b_smoke4, ModItems.b_smoke5, ModItems.b_smoke6, ModItems.b_smoke7, ModItems.b_smoke8 })); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 7b908dada..41469d03a 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -622,6 +622,7 @@ public class MainRegistry { EntityRegistry.registerModEntity(EntityWastePearl.class, "entity_waste_pearl", 150, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityBOTPrimeHead.class, "entity_balls_o_tron", 151, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityBOTPrimeBody.class, "entity_balls_o_tron_seg", 152, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityBlockSpider.class, "entity_taintcrawler", 153, this, 1000, 1, true); EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00); EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 1f7c9c6ad..fd8e76eff 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -238,6 +238,7 @@ public class ResourceManager { public static final IModelCustom teslacrab = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/teslacrab.obj")); public static final IModelCustom taintcrab = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/taintcrab.obj")); public static final IModelCustom maskman = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/maskman.obj")); + public static final IModelCustom spider = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/blockspider.obj")); //Belt public static final IModelCustom arrow = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/arrow.obj")); @@ -496,6 +497,7 @@ public class ResourceManager { public static final ResourceLocation taintcrab_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/taintcrab.png"); public static final ResourceLocation maskman_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/maskman.png"); public static final ResourceLocation iou = new ResourceLocation(RefStrings.MODID, "textures/entity/iou.png"); + public static final ResourceLocation spider_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/blockspider.png"); diff --git a/src/main/java/com/hbm/render/entity/mob/RenderBlockSpider.java b/src/main/java/com/hbm/render/entity/mob/RenderBlockSpider.java new file mode 100644 index 000000000..3c8cd5882 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderBlockSpider.java @@ -0,0 +1,20 @@ +package com.hbm.render.entity.mob; + +import com.hbm.main.ResourceManager; +import com.hbm.render.model.ModelBlockSpider; + +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class RenderBlockSpider extends RenderLiving { + + public RenderBlockSpider() { + super(new ModelBlockSpider(), 1.0F); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return ResourceManager.spider_tex; + } +} diff --git a/src/main/java/com/hbm/render/model/ModelBlockSpider.java b/src/main/java/com/hbm/render/model/ModelBlockSpider.java new file mode 100644 index 000000000..a5fe9d714 --- /dev/null +++ b/src/main/java/com/hbm/render/model/ModelBlockSpider.java @@ -0,0 +1,69 @@ +package com.hbm.render.model; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.entity.Entity; +import net.minecraft.util.MathHelper; + +public class ModelBlockSpider extends ModelBase { + + private final RenderBlocks field_147920_a = new RenderBlocks(); + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + + GL11.glPushMatrix(); + + GL11.glRotatef(90, 0, -1, 0); + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(0, -1.5F, 0); + + float rot = -(MathHelper.cos(f * 0.6662F * 2.0F + 0.0F) * 0.4F) * f1 * 57.3F; + + int blockid = entity.getDataWatcher().getWatchableObjectInt(12); + int meta = entity.getDataWatcher().getWatchableObjectInt(13); + Block block = Block.getBlockById(blockid); + + if(block == null) { + GL11.glPopMatrix(); + return; + } + + GL11.glPushMatrix(); + GL11.glTranslated(0, rot * 0.005, 0); + GL11.glRotatef(rot, 0, 1, 0); + ResourceManager.spider.renderPart("Leg1"); + ResourceManager.spider.renderPart("Leg3"); + ResourceManager.spider.renderPart("Leg5"); + ResourceManager.spider.renderPart("Leg7"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, rot * -0.005, 0); + GL11.glRotatef(rot, 0, -1, 0); + ResourceManager.spider.renderPart("Leg2"); + ResourceManager.spider.renderPart("Leg4"); + ResourceManager.spider.renderPart("Leg6"); + ResourceManager.spider.renderPart("Leg8"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationBlocksTexture); + GL11.glTranslated(0, 0.75, 0); + this.field_147920_a.renderBlockAsItem(block, meta, entity.getBrightness(f5)); + GL11.glPopMatrix(); + //this.field_147920_a.setRenderBoundsFromBlock(block); + //this.field_147920_a.renderBlockSandFalling(block, entity.worldObj, (int)Math.floor(entity.posX), (int)Math.floor(entity.posY), (int)Math.floor(entity.posZ), blockid); + + GL11.glPopMatrix(); + } + +} diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java index 4f02a28ef..c8fb7b78c 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlAuto.java @@ -1,10 +1,119 @@ package com.hbm.tileentity.machine.rbmk; -public class TileEntityRBMKControlAuto extends TileEntityRBMKControl { +import com.hbm.interfaces.IControlReceiver; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual.RBMKColor; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.Vec3; + +public class TileEntityRBMKControlAuto extends TileEntityRBMKControl implements IControlReceiver { + + public RBMKFunction function = RBMKFunction.LINEAR; + public double levelLower; + public double levelUpper; + public double heatLower; + public double heatUpper; @Override public String getName() { return "container.rbmkControlAuto"; } -} + @Override + public boolean hasPermission(EntityPlayer player) { + return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 20; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + double fauxLevel = 0; + + if(this.heat < heatLower) { + fauxLevel = this.levelLower; + + } else if(this.heat > heatUpper) { + fauxLevel = this.levelUpper; + + } else { + + switch(this.function) { + case LINEAR: + //my brain hasn't been this challenged since my math finals in '19 + fauxLevel = (this.heat - this.heatLower) * ((this.levelUpper - this.levelLower) / (this.heatUpper - this.heatLower)) + this.heatLower; + break; + + //TODO: all this bullshit + case QUAD_UP: + + //AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + //AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + //AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + //this.targetLevel = Math.pow((this.heat - this.heatLower) / 100, 2) * (this.levelUpper - this.levelLower) + this.levelLower; + break; + case QUAD_DOWN: + break; + } + } + + this.targetLevel = fauxLevel * 0.01D; + } + + super.updateEntity(); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + this.levelLower = nbt.getDouble("levelLower"); + this.levelUpper = nbt.getDouble("levelUpper"); + this.heatLower = nbt.getDouble("heatLower"); + this.heatUpper = nbt.getDouble("heatUpper"); + + if(nbt.hasKey("function")) + this.function = RBMKFunction.values()[nbt.getInteger("function")]; + else + this.function = null; + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setDouble("levelLower", levelLower); + nbt.setDouble("levelUpper", levelUpper); + nbt.setDouble("heatLower", heatLower); + nbt.setDouble("heatUpper", heatUpper); + + if(function != null) + nbt.setInteger("function", function.ordinal()); + } + + @Override + public void receiveControl(NBTTagCompound data) { + + if(data.hasKey("function")) { + int c = Math.abs(data.getInteger("function")) % RBMKColor.values().length; + this.function = RBMKFunction.values()[c]; + + } else { + + this.levelLower = data.getDouble("levelLower"); + this.levelUpper = data.getDouble("levelUpper"); + this.heatLower = data.getDouble("heatLower"); + this.heatUpper = data.getDouble("heatUpper"); + } + + this.markDirty(); + } + + public static enum RBMKFunction { + LINEAR, + QUAD_UP, + QUAD_DOWN + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/mobs/blockspider.obj b/src/main/resources/assets/hbm/models/mobs/blockspider.obj new file mode 100644 index 000000000..54535385d --- /dev/null +++ b/src/main/resources/assets/hbm/models/mobs/blockspider.obj @@ -0,0 +1,1206 @@ +# Blender v2.79 (sub 0) OBJ File: 'spider.blend' +# www.blender.org +o Leg8 +v -0.132583 0.312500 0.220971 +v -0.132583 0.437500 0.220971 +v -0.486136 0.312500 0.574524 +v -0.486136 0.437500 0.574524 +v -0.220971 0.312500 0.132583 +v -0.220971 0.437500 0.132583 +v -0.574524 0.312500 0.486136 +v -0.574524 0.437500 0.486136 +v -0.484368 0.312500 0.576292 +v -0.401310 0.355253 0.493234 +v -0.572756 0.312500 0.487904 +v -0.489699 0.355253 0.404846 +v -0.726213 1.252193 0.818137 +v -0.643155 1.294945 0.735079 +v -0.814601 1.252193 0.729748 +v -0.731543 1.294945 0.646691 +v -0.644923 1.169945 0.733311 +v -0.644923 1.294945 0.733311 +v -0.733311 1.169945 0.644923 +v -0.733311 1.294945 0.644923 +v -0.821700 1.294945 0.910088 +v -0.821700 1.169945 0.910088 +v -0.910088 1.169945 0.821700 +v -0.910088 1.294945 0.821700 +v -0.819932 1.294945 0.911856 +v -0.736874 1.252193 0.828798 +v -0.825262 1.252193 0.740409 +v -0.908320 1.294945 0.823467 +v -1.061777 0.355253 1.153701 +v -0.978719 0.312500 1.070643 +v -1.067107 0.312500 0.982254 +v -1.150165 0.355253 1.065312 +v -1.048196 0.392848 1.136584 +v -0.980487 0.312500 1.068875 +v -1.068875 0.312500 0.980487 +v -1.136584 0.392848 1.048196 +v -1.275456 0.009826 1.363844 +v -1.207746 -0.070522 1.296135 +v -1.296135 -0.070522 1.207746 +v -1.363844 0.009826 1.275456 +vt 0.062500 0.000000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 0.125000 0.500000 +vt 0.187500 -0.000000 +vt 0.187500 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.062500 0.500000 +vt 0.125000 0.000000 +vt 0.375000 1.000000 +vt 0.312500 -0.000000 +vt 0.375000 -0.000000 +vt 0.312500 1.000000 +vt 0.250000 -0.000000 +vt 0.437500 1.000000 +vt 0.437500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.062500 1.000000 +vt 0.125000 0.750000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.062500 0.750000 +vt 0.187500 0.750000 +vt 0.187500 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.625000 -0.000000 +vt 0.562500 1.000000 +vt 0.562500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.687500 -0.000000 +vt 0.625000 1.000000 +vt 0.750000 -0.000000 +vt 0.687500 1.000000 +vt 0.812500 0.500000 +vt 0.750000 0.625000 +vt 0.750000 0.500000 +vt 0.937500 -0.000000 +vt 0.875000 0.500000 +vt 0.875000 -0.000000 +vt 1.000000 -0.000000 +vt 0.937500 0.500000 +vt 0.812500 -0.000000 +vt 0.750000 -0.000000 +vt 0.250000 1.000000 +vt 0.000000 0.750000 +vt 0.750000 1.000000 +vt 0.812500 0.625000 +vt 1.000000 0.500000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.6645 0.3420 -0.6645 +vn -0.6645 -0.3420 0.6645 +vn -0.6645 0.3420 0.6645 +vn 0.6645 -0.3420 -0.6645 +vn -0.4545 -0.7660 0.4545 +vn 0.5417 -0.6428 -0.5417 +vn -0.5417 0.6428 0.5417 +s off +f 2/1/1 3/2/1 1/3/1 +f 8/4/2 5/5/2 7/6/2 +f 7/6/3 1/7/3 3/8/3 +f 4/9/4 6/10/4 8/4/4 +f 16/11/5 10/12/5 12/13/5 +f 14/14/1 9/15/1 10/12/1 +f 15/16/2 12/13/2 11/17/2 +f 13/18/6 11/17/6 9/19/6 +f 19/20/2 24/21/2 20/22/2 +f 17/23/3 23/24/3 19/20/3 +f 20/22/4 21/25/4 18/26/4 +f 18/26/1 22/27/1 17/28/1 +f 28/29/7 29/30/7 25/31/7 +f 25/31/1 30/32/1 26/33/1 +f 27/34/2 32/35/2 28/29/2 +f 26/36/8 31/37/8 27/34/8 +f 37/38/9 39/39/9 38/40/9 +f 35/41/2 40/42/2 36/43/2 +f 34/44/10 39/45/10 35/41/10 +f 36/43/11 37/38/11 33/46/11 +f 33/46/1 38/40/1 34/47/1 +f 2/1/1 4/9/1 3/2/1 +f 8/4/2 6/10/2 5/5/2 +f 7/6/3 5/5/3 1/7/3 +f 4/9/4 2/1/4 6/10/4 +f 16/11/5 14/14/5 10/12/5 +f 14/14/1 13/48/1 9/15/1 +f 15/16/2 16/11/2 12/13/2 +f 13/18/6 15/16/6 11/17/6 +f 19/20/2 23/24/2 24/21/2 +f 17/23/3 22/49/3 23/24/3 +f 20/22/4 24/21/4 21/25/4 +f 18/26/1 21/25/1 22/27/1 +f 28/29/7 32/35/7 29/30/7 +f 25/31/1 29/30/1 30/32/1 +f 27/34/2 31/37/2 32/35/2 +f 26/36/8 30/50/8 31/37/8 +f 37/38/9 40/51/9 39/39/9 +f 35/41/2 39/45/2 40/42/2 +f 34/44/10 38/52/10 39/45/10 +f 36/43/11 40/42/11 37/38/11 +f 33/46/1 37/38/1 38/40/1 +o Leg7 +v -0.004334 0.312500 0.257658 +v -0.004334 0.437500 0.257658 +v -0.133744 0.312500 0.740621 +v -0.133744 0.437500 0.740621 +v -0.125075 0.312500 0.225305 +v -0.125075 0.437500 0.225305 +v -0.254485 0.312500 0.708268 +v -0.254485 0.437500 0.708268 +v -0.131329 0.312500 0.741268 +v -0.100928 0.355253 0.627808 +v -0.252070 0.312500 0.708915 +v -0.221669 0.355253 0.595456 +v -0.219851 1.252193 1.071634 +v -0.189449 1.294945 0.958174 +v -0.340591 1.252193 1.039281 +v -0.310190 1.294945 0.925822 +v -0.191864 1.169945 0.957527 +v -0.191864 1.294945 0.957527 +v -0.312605 1.169945 0.925175 +v -0.312605 1.294945 0.925175 +v -0.256569 1.294945 1.199009 +v -0.256569 1.169945 1.199009 +v -0.377310 1.169945 1.166656 +v -0.377310 1.294945 1.166656 +v -0.254154 1.294945 1.199656 +v -0.223753 1.252193 1.086197 +v -0.344493 1.252193 1.053845 +v -0.374895 1.294945 1.167304 +v -0.342675 0.355253 1.530022 +v -0.312274 0.312500 1.416563 +v -0.433015 0.312500 1.384211 +v -0.463416 0.355253 1.497670 +v -0.339472 0.392848 1.508409 +v -0.314689 0.312500 1.415916 +v -0.435430 0.312500 1.383564 +v -0.460213 0.392848 1.476056 +v -0.422655 0.009826 1.818852 +v -0.397872 -0.070522 1.726359 +v -0.518613 -0.070522 1.694006 +v -0.543396 0.009826 1.786499 +vt 0.062500 0.000000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 0.125000 0.500000 +vt 0.187500 -0.000000 +vt 0.187500 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.062500 0.500000 +vt 0.125000 0.000000 +vt 0.375000 1.000000 +vt 0.312500 -0.000000 +vt 0.375000 -0.000000 +vt 0.312500 1.000000 +vt 0.250000 -0.000000 +vt 0.437500 1.000000 +vt 0.437500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.062500 1.000000 +vt 0.125000 0.750000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.062500 0.750000 +vt 0.187500 0.750000 +vt 0.187500 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.625000 -0.000000 +vt 0.562500 1.000000 +vt 0.562500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.687500 -0.000000 +vt 0.625000 1.000000 +vt 0.750000 -0.000000 +vt 0.687500 1.000000 +vt 0.812500 0.500000 +vt 0.750000 0.625000 +vt 0.750000 0.500000 +vt 0.937500 -0.000000 +vt 0.875000 0.500000 +vt 0.875000 -0.000000 +vt 1.000000 -0.000000 +vt 0.937500 0.500000 +vt 0.812500 -0.000000 +vt 0.750000 -0.000000 +vt 0.250000 1.000000 +vt 0.000000 0.750000 +vt 0.750000 1.000000 +vt 0.812500 0.625000 +vt 1.000000 0.500000 +vn 0.9659 0.0000 0.2588 +vn -0.9659 0.0000 -0.2588 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.2432 0.3420 -0.9077 +vn -0.2432 -0.3420 0.9077 +vn -0.2432 0.3420 0.9077 +vn 0.2432 -0.3420 -0.9077 +vn -0.1664 -0.7660 0.6209 +vn 0.1983 -0.6428 -0.7399 +vn -0.1983 0.6428 0.7399 +s off +f 42/53/12 43/54/12 41/55/12 +f 48/56/13 45/57/13 47/58/13 +f 47/58/14 41/59/14 43/60/14 +f 44/61/15 46/62/15 48/56/15 +f 56/63/16 50/64/16 52/65/16 +f 54/66/12 49/67/12 50/64/12 +f 55/68/13 52/65/13 51/69/13 +f 53/70/17 51/69/17 49/71/17 +f 59/72/13 64/73/13 60/74/13 +f 57/75/14 63/76/14 59/72/14 +f 60/74/15 61/77/15 58/78/15 +f 58/78/12 62/79/12 57/80/12 +f 68/81/18 69/82/18 65/83/18 +f 65/83/12 70/84/12 66/85/12 +f 67/86/13 72/87/13 68/81/13 +f 66/88/19 71/89/19 67/86/19 +f 77/90/20 79/91/20 78/92/20 +f 75/93/13 80/94/13 76/95/13 +f 74/96/21 79/97/21 75/93/21 +f 76/95/22 77/90/22 73/98/22 +f 73/98/12 78/92/12 74/99/12 +f 42/53/12 44/61/12 43/54/12 +f 48/56/13 46/62/13 45/57/13 +f 47/58/14 45/57/14 41/59/14 +f 44/61/15 42/53/15 46/62/15 +f 56/63/16 54/66/16 50/64/16 +f 54/66/12 53/100/12 49/67/12 +f 55/68/13 56/63/13 52/65/13 +f 53/70/17 55/68/17 51/69/17 +f 59/72/13 63/76/13 64/73/13 +f 57/75/14 62/101/14 63/76/14 +f 60/74/15 64/73/15 61/77/15 +f 58/78/12 61/77/12 62/79/12 +f 68/81/18 72/87/18 69/82/18 +f 65/83/12 69/82/12 70/84/12 +f 67/86/13 71/89/13 72/87/13 +f 66/88/19 70/102/19 71/89/19 +f 77/90/20 80/103/20 79/91/20 +f 75/93/13 79/97/13 80/94/13 +f 74/96/21 78/104/21 79/97/21 +f 76/95/22 80/94/22 77/90/22 +f 73/98/12 77/90/12 78/92/12 +o Leg6 +v 0.125075 0.312500 0.225305 +v 0.125075 0.437500 0.225305 +v 0.254485 0.312500 0.708268 +v 0.254485 0.437500 0.708268 +v 0.004334 0.312500 0.257658 +v 0.004334 0.437500 0.257658 +v 0.133744 0.312500 0.740621 +v 0.133744 0.437500 0.740621 +v 0.256900 0.312500 0.707621 +v 0.226498 0.355253 0.594162 +v 0.136159 0.312500 0.739973 +v 0.105758 0.355253 0.626514 +v 0.345421 1.252193 1.037987 +v 0.315020 1.294945 0.924528 +v 0.224680 1.252193 1.070339 +v 0.194279 1.294945 0.956880 +v 0.312605 1.169945 0.925175 +v 0.312605 1.294945 0.925175 +v 0.191864 1.169945 0.957527 +v 0.191864 1.294945 0.957527 +v 0.377310 1.294945 1.166656 +v 0.377310 1.169945 1.166656 +v 0.256569 1.169945 1.199009 +v 0.256569 1.294945 1.199009 +v 0.379725 1.294945 1.166009 +v 0.349323 1.252193 1.052550 +v 0.228583 1.252193 1.084903 +v 0.258984 1.294945 1.198362 +v 0.468246 0.355253 1.496376 +v 0.437845 0.312500 1.382917 +v 0.317104 0.312500 1.415269 +v 0.347505 0.355253 1.528728 +v 0.460213 0.392848 1.476056 +v 0.435430 0.312500 1.383564 +v 0.314689 0.312500 1.415916 +v 0.339473 0.392848 1.508409 +v 0.543396 0.009826 1.786499 +v 0.518613 -0.070522 1.694006 +v 0.397872 -0.070522 1.726359 +v 0.422656 0.009826 1.818851 +vt 0.062500 0.000000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 0.125000 0.500000 +vt 0.187500 -0.000000 +vt 0.187500 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.062500 0.500000 +vt 0.125000 0.000000 +vt 0.375000 1.000000 +vt 0.312500 -0.000000 +vt 0.375000 -0.000000 +vt 0.312500 1.000000 +vt 0.250000 -0.000000 +vt 0.437500 1.000000 +vt 0.437500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.062500 1.000000 +vt 0.125000 0.750000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.062500 0.750000 +vt 0.187500 0.750000 +vt 0.187500 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.625000 -0.000000 +vt 0.562500 1.000000 +vt 0.562500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.687500 -0.000000 +vt 0.625000 1.000000 +vt 0.750000 -0.000000 +vt 0.687500 1.000000 +vt 0.812500 0.500000 +vt 0.750000 0.625000 +vt 0.750000 0.500000 +vt 0.937500 -0.000000 +vt 0.875000 0.500000 +vt 0.875000 -0.000000 +vt 1.000000 -0.000000 +vt 0.937500 0.500000 +vt 0.812500 -0.000000 +vt 0.750000 -0.000000 +vt 0.250000 1.000000 +vt 0.000000 0.750000 +vt 0.750000 1.000000 +vt 0.812500 0.625000 +vt 1.000000 0.500000 +vn 0.9659 0.0000 -0.2588 +vn -0.9659 0.0000 0.2588 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 -0.0000 +vn -0.2432 0.3420 -0.9077 +vn 0.2432 -0.3420 0.9077 +vn 0.2432 0.3420 0.9077 +vn -0.2432 -0.3420 -0.9077 +vn 0.1664 -0.7660 0.6209 +vn -0.1983 -0.6428 -0.7399 +vn 0.1983 0.6428 0.7399 +s off +f 82/105/23 83/106/23 81/107/23 +f 88/108/24 85/109/24 87/110/24 +f 87/110/25 81/111/25 83/112/25 +f 84/113/26 86/114/26 88/108/26 +f 96/115/27 90/116/27 92/117/27 +f 94/118/23 89/119/23 90/116/23 +f 95/120/24 92/117/24 91/121/24 +f 93/122/28 91/121/28 89/123/28 +f 99/124/24 104/125/24 100/126/24 +f 97/127/25 103/128/25 99/124/25 +f 100/126/26 101/129/26 98/130/26 +f 98/130/23 102/131/23 97/132/23 +f 108/133/29 109/134/29 105/135/29 +f 105/135/23 110/136/23 106/137/23 +f 107/138/24 112/139/24 108/133/24 +f 106/140/30 111/141/30 107/138/30 +f 117/142/31 119/143/31 118/144/31 +f 115/145/24 120/146/24 116/147/24 +f 114/148/32 119/149/32 115/145/32 +f 116/147/33 117/142/33 113/150/33 +f 113/150/23 118/144/23 114/151/23 +f 82/105/23 84/113/23 83/106/23 +f 88/108/24 86/114/24 85/109/24 +f 87/110/25 85/109/25 81/111/25 +f 84/113/26 82/105/26 86/114/26 +f 96/115/27 94/118/27 90/116/27 +f 94/118/23 93/152/23 89/119/23 +f 95/120/24 96/115/24 92/117/24 +f 93/122/28 95/120/28 91/121/28 +f 99/124/24 103/128/24 104/125/24 +f 97/127/25 102/153/25 103/128/25 +f 100/126/26 104/125/26 101/129/26 +f 98/130/23 101/129/23 102/131/23 +f 108/133/29 112/139/29 109/134/29 +f 105/135/23 109/134/23 110/136/23 +f 107/138/24 111/141/24 112/139/24 +f 106/140/30 110/154/30 111/141/30 +f 117/142/31 120/155/31 119/143/31 +f 115/145/24 119/149/24 120/146/24 +f 114/148/32 118/156/32 119/149/32 +f 116/147/33 120/146/33 117/142/33 +f 113/150/23 117/142/23 118/144/23 +o Leg5 +v 0.220971 0.312500 0.132582 +v 0.220971 0.437500 0.132582 +v 0.574524 0.312500 0.486136 +v 0.574524 0.437500 0.486136 +v 0.132583 0.312500 0.220971 +v 0.132583 0.437500 0.220971 +v 0.486136 0.312500 0.574524 +v 0.486136 0.437500 0.574524 +v 0.576292 0.312500 0.484368 +v 0.493234 0.355253 0.401310 +v 0.487904 0.312500 0.572756 +v 0.404846 0.355253 0.489699 +v 0.818137 1.252193 0.726213 +v 0.735079 1.294945 0.643155 +v 0.729748 1.252193 0.814601 +v 0.646691 1.294945 0.731543 +v 0.733311 1.169945 0.644923 +v 0.733311 1.294945 0.644923 +v 0.644923 1.169945 0.733311 +v 0.644923 1.294945 0.733311 +v 0.910088 1.294945 0.821699 +v 0.910088 1.169945 0.821699 +v 0.821700 1.169945 0.910088 +v 0.821700 1.294945 0.910088 +v 0.911856 1.294945 0.819932 +v 0.828798 1.252193 0.736874 +v 0.740410 1.252193 0.825262 +v 0.823467 1.294945 0.908320 +v 1.153701 0.355253 1.061776 +v 1.070643 0.312500 0.978719 +v 0.982255 0.312500 1.067107 +v 1.065312 0.355253 1.150165 +v 1.136585 0.392848 1.048196 +v 1.068875 0.312500 0.980486 +v 0.980487 0.312500 1.068875 +v 1.048196 0.392848 1.136584 +v 1.363844 0.009826 1.275455 +v 1.296135 -0.070522 1.207746 +v 1.207747 -0.070522 1.296135 +v 1.275456 0.009826 1.363844 +vt 0.062500 0.000000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 0.125000 0.500000 +vt 0.187500 -0.000000 +vt 0.187500 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.062500 0.500000 +vt 0.125000 0.000000 +vt 0.375000 1.000000 +vt 0.312500 -0.000000 +vt 0.375000 -0.000000 +vt 0.312500 1.000000 +vt 0.250000 -0.000000 +vt 0.437500 1.000000 +vt 0.437500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.062500 1.000000 +vt 0.125000 0.750000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.062500 0.750000 +vt 0.187500 0.750000 +vt 0.187500 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.625000 -0.000000 +vt 0.562500 1.000000 +vt 0.562500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.687500 -0.000000 +vt 0.625000 1.000000 +vt 0.750000 -0.000000 +vt 0.687500 1.000000 +vt 0.812500 0.500000 +vt 0.750000 0.625000 +vt 0.750000 0.500000 +vt 0.937500 -0.000000 +vt 0.875000 0.500000 +vt 0.875000 -0.000000 +vt 1.000000 -0.000000 +vt 0.937500 0.500000 +vt 0.812500 -0.000000 +vt 0.750000 -0.000000 +vt 0.250000 1.000000 +vt 0.000000 0.750000 +vt 0.750000 1.000000 +vt 0.812500 0.625000 +vt 1.000000 0.500000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.6645 0.3420 -0.6645 +vn 0.6645 -0.3420 0.6645 +vn 0.6645 0.3420 0.6645 +vn -0.6645 -0.3420 -0.6645 +vn 0.4545 -0.7660 0.4545 +vn -0.5417 -0.6428 -0.5417 +vn 0.5417 0.6428 0.5417 +s off +f 122/157/34 123/158/34 121/159/34 +f 128/160/35 125/161/35 127/162/35 +f 127/162/36 121/163/36 123/164/36 +f 124/165/37 126/166/37 128/160/37 +f 136/167/38 130/168/38 132/169/38 +f 134/170/34 129/171/34 130/168/34 +f 135/172/35 132/169/35 131/173/35 +f 133/174/39 131/173/39 129/175/39 +f 139/176/35 144/177/35 140/178/35 +f 137/179/36 143/180/36 139/176/36 +f 140/178/37 141/181/37 138/182/37 +f 138/182/34 142/183/34 137/184/34 +f 148/185/40 149/186/40 145/187/40 +f 145/187/34 150/188/34 146/189/34 +f 147/190/35 152/191/35 148/185/35 +f 146/192/41 151/193/41 147/190/41 +f 157/194/42 159/195/42 158/196/42 +f 155/197/35 160/198/35 156/199/35 +f 154/200/43 159/201/43 155/197/43 +f 156/199/44 157/194/44 153/202/44 +f 153/202/34 158/196/34 154/203/34 +f 122/157/34 124/165/34 123/158/34 +f 128/160/35 126/166/35 125/161/35 +f 127/162/36 125/161/36 121/163/36 +f 124/165/37 122/157/37 126/166/37 +f 136/167/38 134/170/38 130/168/38 +f 134/170/34 133/204/34 129/171/34 +f 135/172/35 136/167/35 132/169/35 +f 133/174/39 135/172/39 131/173/39 +f 139/176/35 143/180/35 144/177/35 +f 137/179/36 142/205/36 143/180/36 +f 140/178/37 144/177/37 141/181/37 +f 138/182/34 141/181/34 142/183/34 +f 148/185/40 152/191/40 149/186/40 +f 145/187/34 149/186/34 150/188/34 +f 147/190/35 151/193/35 152/191/35 +f 146/192/41 150/206/41 151/193/41 +f 157/194/42 160/207/42 159/195/42 +f 155/197/35 159/201/35 160/198/35 +f 154/200/43 158/208/43 159/201/43 +f 156/199/44 160/198/44 157/194/44 +f 153/202/34 157/194/34 158/196/34 +o Leg4 +v -0.220971 0.312500 -0.132583 +v -0.220971 0.437500 -0.132583 +v -0.574524 0.312500 -0.486136 +v -0.574524 0.437500 -0.486136 +v -0.132583 0.312500 -0.220971 +v -0.132583 0.437500 -0.220971 +v -0.486136 0.312500 -0.574524 +v -0.486136 0.437500 -0.574524 +v -0.576292 0.312500 -0.484368 +v -0.493234 0.355253 -0.401310 +v -0.487904 0.312500 -0.572757 +v -0.404846 0.355253 -0.489699 +v -0.818137 1.252193 -0.726213 +v -0.735079 1.294945 -0.643155 +v -0.729748 1.252193 -0.814601 +v -0.646691 1.294945 -0.731543 +v -0.733311 1.169945 -0.644923 +v -0.733311 1.294945 -0.644923 +v -0.644923 1.169945 -0.733311 +v -0.644923 1.294945 -0.733311 +v -0.910088 1.294945 -0.821700 +v -0.910088 1.169945 -0.821700 +v -0.821700 1.169945 -0.910088 +v -0.821700 1.294945 -0.910088 +v -0.911856 1.294945 -0.819932 +v -0.828798 1.252193 -0.736874 +v -0.740409 1.252193 -0.825262 +v -0.823467 1.294945 -0.908320 +v -1.153701 0.355253 -1.061777 +v -1.070643 0.312500 -0.978719 +v -0.982254 0.312500 -1.067107 +v -1.065312 0.355253 -1.150165 +v -1.136584 0.392848 -1.048196 +v -1.068875 0.312500 -0.980487 +v -0.980487 0.312500 -1.068875 +v -1.048196 0.392848 -1.136585 +v -1.363844 0.009826 -1.275456 +v -1.296135 -0.070522 -1.207747 +v -1.207746 -0.070522 -1.296135 +v -1.275456 0.009826 -1.363844 +vt 0.062500 0.000000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 0.125000 0.500000 +vt 0.187500 -0.000000 +vt 0.187500 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.062500 0.500000 +vt 0.125000 0.000000 +vt 0.375000 1.000000 +vt 0.312500 -0.000000 +vt 0.375000 -0.000000 +vt 0.312500 1.000000 +vt 0.250000 -0.000000 +vt 0.437500 1.000000 +vt 0.437500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.062500 1.000000 +vt 0.125000 0.750000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.062500 0.750000 +vt 0.187500 0.750000 +vt 0.187500 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.625000 -0.000000 +vt 0.562500 1.000000 +vt 0.562500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.687500 -0.000000 +vt 0.625000 1.000000 +vt 0.750000 -0.000000 +vt 0.687500 1.000000 +vt 0.812500 0.500000 +vt 0.750000 0.625000 +vt 0.750000 0.500000 +vt 0.937500 -0.000000 +vt 0.875000 0.500000 +vt 0.875000 -0.000000 +vt 1.000000 -0.000000 +vt 0.937500 0.500000 +vt 0.812500 -0.000000 +vt 0.750000 -0.000000 +vt 0.250000 1.000000 +vt 0.000000 0.750000 +vt 0.750000 1.000000 +vt 0.812500 0.625000 +vt 1.000000 0.500000 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.6645 0.3420 0.6645 +vn -0.6645 -0.3420 -0.6645 +vn -0.6645 0.3420 -0.6645 +vn 0.6645 -0.3420 0.6645 +vn -0.4545 -0.7660 -0.4545 +vn 0.5417 -0.6428 0.5417 +vn -0.5417 0.6428 -0.5417 +s off +f 162/209/45 163/210/45 161/211/45 +f 168/212/46 165/213/46 167/214/46 +f 167/214/47 161/215/47 163/216/47 +f 164/217/48 166/218/48 168/212/48 +f 176/219/49 170/220/49 172/221/49 +f 174/222/45 169/223/45 170/220/45 +f 175/224/46 172/221/46 171/225/46 +f 173/226/50 171/225/50 169/227/50 +f 179/228/46 184/229/46 180/230/46 +f 177/231/47 183/232/47 179/228/47 +f 180/230/48 181/233/48 178/234/48 +f 178/234/45 182/235/45 177/236/45 +f 188/237/51 189/238/51 185/239/51 +f 185/239/45 190/240/45 186/241/45 +f 187/242/46 192/243/46 188/237/46 +f 186/244/52 191/245/52 187/242/52 +f 197/246/53 199/247/53 198/248/53 +f 195/249/46 200/250/46 196/251/46 +f 194/252/54 199/253/54 195/249/54 +f 196/251/55 197/246/55 193/254/55 +f 193/254/45 198/248/45 194/255/45 +f 162/209/45 164/217/45 163/210/45 +f 168/212/46 166/218/46 165/213/46 +f 167/214/47 165/213/47 161/215/47 +f 164/217/48 162/209/48 166/218/48 +f 176/219/49 174/222/49 170/220/49 +f 174/222/45 173/256/45 169/223/45 +f 175/224/46 176/219/46 172/221/46 +f 173/226/50 175/224/50 171/225/50 +f 179/228/46 183/232/46 184/229/46 +f 177/231/47 182/257/47 183/232/47 +f 180/230/48 184/229/48 181/233/48 +f 178/234/45 181/233/45 182/235/45 +f 188/237/51 192/243/51 189/238/51 +f 185/239/45 189/238/45 190/240/45 +f 187/242/46 191/245/46 192/243/46 +f 186/244/52 190/258/52 191/245/52 +f 197/246/53 200/259/53 199/247/53 +f 195/249/46 199/253/46 200/250/46 +f 194/252/54 198/260/54 199/253/54 +f 196/251/55 200/250/55 197/246/55 +f 193/254/45 197/246/45 198/248/45 +o Leg3 +v -0.125075 0.312500 -0.225305 +v -0.125075 0.437500 -0.225305 +v -0.254485 0.312500 -0.708268 +v -0.254485 0.437500 -0.708268 +v -0.004334 0.312500 -0.257658 +v -0.004334 0.437500 -0.257658 +v -0.133744 0.312500 -0.740621 +v -0.133744 0.437500 -0.740621 +v -0.256899 0.312500 -0.707621 +v -0.226498 0.355253 -0.594162 +v -0.136159 0.312500 -0.739974 +v -0.105757 0.355253 -0.626514 +v -0.345421 1.252193 -1.037987 +v -0.315019 1.294945 -0.924528 +v -0.224680 1.252193 -1.070339 +v -0.194279 1.294945 -0.956880 +v -0.312605 1.169945 -0.925175 +v -0.312605 1.294945 -0.925175 +v -0.191864 1.169945 -0.957527 +v -0.191864 1.294945 -0.957527 +v -0.377309 1.294945 -1.166656 +v -0.377309 1.169945 -1.166656 +v -0.256569 1.169945 -1.199009 +v -0.256569 1.294945 -1.199009 +v -0.379724 1.294945 -1.166009 +v -0.349323 1.252193 -1.052550 +v -0.228582 1.252193 -1.084903 +v -0.258983 1.294945 -1.198362 +v -0.468246 0.355253 -1.496376 +v -0.437844 0.312500 -1.382917 +v -0.317104 0.312500 -1.415269 +v -0.347505 0.355253 -1.528728 +v -0.460213 0.392848 -1.476056 +v -0.435429 0.312500 -1.383564 +v -0.314689 0.312500 -1.415916 +v -0.339472 0.392848 -1.508409 +v -0.543396 0.009826 -1.786499 +v -0.518612 -0.070522 -1.694006 +v -0.397872 -0.070522 -1.726359 +v -0.422655 0.009826 -1.818852 +vt 0.062500 0.000000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 0.125000 0.500000 +vt 0.187500 -0.000000 +vt 0.187500 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.062500 0.500000 +vt 0.125000 0.000000 +vt 0.375000 1.000000 +vt 0.312500 -0.000000 +vt 0.375000 -0.000000 +vt 0.312500 1.000000 +vt 0.250000 -0.000000 +vt 0.437500 1.000000 +vt 0.437500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.062500 1.000000 +vt 0.125000 0.750000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.062500 0.750000 +vt 0.187500 0.750000 +vt 0.187500 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.625000 -0.000000 +vt 0.562500 1.000000 +vt 0.562500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.687500 -0.000000 +vt 0.625000 1.000000 +vt 0.750000 -0.000000 +vt 0.687500 1.000000 +vt 0.812500 0.500000 +vt 0.750000 0.625000 +vt 0.750000 0.500000 +vt 0.937500 -0.000000 +vt 0.875000 0.500000 +vt 0.875000 -0.000000 +vt 1.000000 -0.000000 +vt 0.937500 0.500000 +vt 0.812500 -0.000000 +vt 0.750000 -0.000000 +vt 0.250000 1.000000 +vt 0.000000 0.750000 +vt 0.750000 1.000000 +vt 0.812500 0.625000 +vt 1.000000 0.500000 +vn -0.9659 0.0000 0.2588 +vn 0.9659 0.0000 -0.2588 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.2432 0.3420 0.9077 +vn -0.2432 -0.3420 -0.9077 +vn -0.2432 0.3420 -0.9077 +vn 0.2432 -0.3420 0.9077 +vn -0.1664 -0.7660 -0.6209 +vn 0.1983 -0.6428 0.7399 +vn -0.1983 0.6428 -0.7399 +s off +f 202/261/56 203/262/56 201/263/56 +f 208/264/57 205/265/57 207/266/57 +f 207/266/58 201/267/58 203/268/58 +f 204/269/59 206/270/59 208/264/59 +f 216/271/60 210/272/60 212/273/60 +f 214/274/56 209/275/56 210/272/56 +f 215/276/57 212/273/57 211/277/57 +f 213/278/61 211/277/61 209/279/61 +f 219/280/57 224/281/57 220/282/57 +f 217/283/58 223/284/58 219/280/58 +f 220/282/59 221/285/59 218/286/59 +f 218/286/56 222/287/56 217/288/56 +f 228/289/62 229/290/62 225/291/62 +f 225/291/56 230/292/56 226/293/56 +f 227/294/57 232/295/57 228/289/57 +f 226/296/63 231/297/63 227/294/63 +f 237/298/64 239/299/64 238/300/64 +f 235/301/57 240/302/57 236/303/57 +f 234/304/65 239/305/65 235/301/65 +f 236/303/66 237/298/66 233/306/66 +f 233/306/56 238/300/56 234/307/56 +f 202/261/56 204/269/56 203/262/56 +f 208/264/57 206/270/57 205/265/57 +f 207/266/58 205/265/58 201/267/58 +f 204/269/59 202/261/59 206/270/59 +f 216/271/60 214/274/60 210/272/60 +f 214/274/56 213/308/56 209/275/56 +f 215/276/57 216/271/57 212/273/57 +f 213/278/61 215/276/61 211/277/61 +f 219/280/57 223/284/57 224/281/57 +f 217/283/58 222/309/58 223/284/58 +f 220/282/59 224/281/59 221/285/59 +f 218/286/56 221/285/56 222/287/56 +f 228/289/62 232/295/62 229/290/62 +f 225/291/56 229/290/56 230/292/56 +f 227/294/57 231/297/57 232/295/57 +f 226/296/63 230/310/63 231/297/63 +f 237/298/64 240/311/64 239/299/64 +f 235/301/57 239/305/57 240/302/57 +f 234/304/65 238/312/65 239/305/65 +f 236/303/66 240/302/66 237/298/66 +f 233/306/56 237/298/56 238/300/56 +o Leg2 +v 0.004334 0.312500 -0.257658 +v 0.004334 0.437500 -0.257658 +v 0.133744 0.312500 -0.740621 +v 0.133744 0.437500 -0.740621 +v 0.125075 0.312500 -0.225305 +v 0.125075 0.437500 -0.225305 +v 0.254485 0.312500 -0.708268 +v 0.254485 0.437500 -0.708268 +v 0.131329 0.312500 -0.741268 +v 0.100928 0.355253 -0.627808 +v 0.252070 0.312500 -0.708915 +v 0.221669 0.355253 -0.595456 +v 0.219851 1.252193 -1.071634 +v 0.189449 1.294945 -0.958174 +v 0.340591 1.252193 -1.039281 +v 0.310190 1.294945 -0.925822 +v 0.191864 1.169945 -0.957527 +v 0.191864 1.294945 -0.957527 +v 0.312605 1.169945 -0.925175 +v 0.312605 1.294945 -0.925175 +v 0.256569 1.294945 -1.199009 +v 0.256569 1.169945 -1.199009 +v 0.377310 1.169945 -1.166656 +v 0.377310 1.294945 -1.166656 +v 0.254154 1.294945 -1.199656 +v 0.223753 1.252193 -1.086197 +v 0.344493 1.252193 -1.053845 +v 0.374895 1.294945 -1.167304 +v 0.342675 0.355253 -1.530022 +v 0.312274 0.312500 -1.416563 +v 0.433015 0.312500 -1.384211 +v 0.463416 0.355253 -1.497670 +v 0.339472 0.392848 -1.508409 +v 0.314689 0.312500 -1.415916 +v 0.435430 0.312500 -1.383564 +v 0.460213 0.392848 -1.476056 +v 0.422655 0.009826 -1.818852 +v 0.397872 -0.070522 -1.726359 +v 0.518613 -0.070522 -1.694006 +v 0.543396 0.009826 -1.786499 +vt 0.062500 0.000000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 0.125000 0.500000 +vt 0.187500 -0.000000 +vt 0.187500 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.062500 0.500000 +vt 0.125000 0.000000 +vt 0.375000 1.000000 +vt 0.312500 -0.000000 +vt 0.375000 -0.000000 +vt 0.312500 1.000000 +vt 0.250000 -0.000000 +vt 0.437500 1.000000 +vt 0.437500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.062500 1.000000 +vt 0.125000 0.750000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.062500 0.750000 +vt 0.187500 0.750000 +vt 0.187500 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.625000 -0.000000 +vt 0.562500 1.000000 +vt 0.562500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.687500 -0.000000 +vt 0.625000 1.000000 +vt 0.750000 -0.000000 +vt 0.687500 1.000000 +vt 0.812500 0.500000 +vt 0.750000 0.625000 +vt 0.750000 0.500000 +vt 0.937500 -0.000000 +vt 0.875000 0.500000 +vt 0.875000 -0.000000 +vt 1.000000 -0.000000 +vt 0.937500 0.500000 +vt 0.812500 -0.000000 +vt 0.750000 -0.000000 +vt 0.250000 1.000000 +vt 0.000000 0.750000 +vt 0.750000 1.000000 +vt 0.812500 0.625000 +vt 1.000000 0.500000 +vn -0.9659 0.0000 -0.2588 +vn 0.9659 0.0000 0.2588 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.2432 0.3420 0.9077 +vn 0.2432 -0.3420 -0.9077 +vn 0.2432 0.3420 -0.9077 +vn -0.2432 -0.3420 0.9077 +vn 0.1664 -0.7660 -0.6209 +vn -0.1983 -0.6428 0.7399 +vn 0.1983 0.6428 -0.7399 +s off +f 242/313/67 243/314/67 241/315/67 +f 248/316/68 245/317/68 247/318/68 +f 247/318/69 241/319/69 243/320/69 +f 244/321/70 246/322/70 248/316/70 +f 256/323/71 250/324/71 252/325/71 +f 254/326/67 249/327/67 250/324/67 +f 255/328/68 252/325/68 251/329/68 +f 253/330/72 251/329/72 249/331/72 +f 259/332/68 264/333/68 260/334/68 +f 257/335/69 263/336/69 259/332/69 +f 260/334/70 261/337/70 258/338/70 +f 258/338/67 262/339/67 257/340/67 +f 268/341/73 269/342/73 265/343/73 +f 265/343/67 270/344/67 266/345/67 +f 267/346/68 272/347/68 268/341/68 +f 266/348/74 271/349/74 267/346/74 +f 277/350/75 279/351/75 278/352/75 +f 275/353/68 280/354/68 276/355/68 +f 274/356/76 279/357/76 275/353/76 +f 276/355/77 277/350/77 273/358/77 +f 273/358/67 278/352/67 274/359/67 +f 242/313/67 244/321/67 243/314/67 +f 248/316/68 246/322/68 245/317/68 +f 247/318/69 245/317/69 241/319/69 +f 244/321/70 242/313/70 246/322/70 +f 256/323/71 254/326/71 250/324/71 +f 254/326/67 253/360/67 249/327/67 +f 255/328/68 256/323/68 252/325/68 +f 253/330/72 255/328/72 251/329/72 +f 259/332/68 263/336/68 264/333/68 +f 257/335/69 262/361/69 263/336/69 +f 260/334/70 264/333/70 261/337/70 +f 258/338/67 261/337/67 262/339/67 +f 268/341/73 272/347/73 269/342/73 +f 265/343/67 269/342/67 270/344/67 +f 267/346/68 271/349/68 272/347/68 +f 266/348/74 270/362/74 271/349/74 +f 277/350/75 280/363/75 279/351/75 +f 275/353/68 279/357/68 280/354/68 +f 274/356/76 278/364/76 279/357/76 +f 276/355/77 280/354/77 277/350/77 +f 273/358/67 277/350/67 278/352/67 +o Leg1 +v 0.132583 0.312500 -0.220971 +v 0.132583 0.437500 -0.220971 +v 0.486136 0.312500 -0.574524 +v 0.486136 0.437500 -0.574524 +v 0.220971 0.312500 -0.132583 +v 0.220971 0.437500 -0.132583 +v 0.574524 0.312500 -0.486136 +v 0.574524 0.437500 -0.486136 +v 0.484368 0.312500 -0.576292 +v 0.401310 0.355253 -0.493234 +v 0.572757 0.312500 -0.487904 +v 0.489699 0.355253 -0.404846 +v 0.726213 1.252193 -0.818137 +v 0.643155 1.294945 -0.735079 +v 0.814601 1.252193 -0.729748 +v 0.731543 1.294945 -0.646690 +v 0.644923 1.169945 -0.733311 +v 0.644923 1.294945 -0.733311 +v 0.733311 1.169945 -0.644923 +v 0.733311 1.294945 -0.644923 +v 0.821700 1.294945 -0.910088 +v 0.821700 1.169945 -0.910088 +v 0.910088 1.169945 -0.821699 +v 0.910088 1.294945 -0.821699 +v 0.819932 1.294945 -0.911856 +v 0.736874 1.252193 -0.828798 +v 0.825262 1.252193 -0.740409 +v 0.908320 1.294945 -0.823467 +v 1.061777 0.355253 -1.153700 +v 0.978719 0.312500 -1.070643 +v 1.067107 0.312500 -0.982254 +v 1.150165 0.355253 -1.065312 +v 1.048196 0.392848 -1.136584 +v 0.980487 0.312500 -1.068875 +v 1.068875 0.312500 -0.980487 +v 1.136585 0.392848 -1.048196 +v 1.275456 0.009826 -1.363844 +v 1.207747 -0.070522 -1.296135 +v 1.296135 -0.070522 -1.207746 +v 1.363844 0.009826 -1.275456 +vt 0.062500 0.000000 +vt 0.000000 0.500000 +vt 0.000000 0.000000 +vt 0.125000 0.500000 +vt 0.187500 -0.000000 +vt 0.187500 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.062500 0.500000 +vt 0.125000 0.000000 +vt 0.375000 1.000000 +vt 0.312500 -0.000000 +vt 0.375000 -0.000000 +vt 0.312500 1.000000 +vt 0.250000 -0.000000 +vt 0.437500 1.000000 +vt 0.437500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.062500 1.000000 +vt 0.125000 0.750000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.062500 0.750000 +vt 0.187500 0.750000 +vt 0.187500 1.000000 +vt 0.250000 0.750000 +vt 0.250000 1.000000 +vt 0.625000 -0.000000 +vt 0.562500 1.000000 +vt 0.562500 -0.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.687500 -0.000000 +vt 0.625000 1.000000 +vt 0.750000 -0.000000 +vt 0.687500 1.000000 +vt 0.812500 0.500000 +vt 0.750000 0.625000 +vt 0.750000 0.500000 +vt 0.937500 -0.000000 +vt 0.875000 0.500000 +vt 0.875000 -0.000000 +vt 1.000000 -0.000000 +vt 0.937500 0.500000 +vt 0.812500 -0.000000 +vt 0.750000 -0.000000 +vt 0.250000 1.000000 +vt 0.000000 0.750000 +vt 0.750000 1.000000 +vt 0.812500 0.625000 +vt 1.000000 0.500000 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.6645 0.3420 0.6645 +vn 0.6645 -0.3420 -0.6645 +vn 0.6645 0.3420 -0.6645 +vn -0.6645 -0.3420 0.6645 +vn 0.4545 -0.7660 -0.4545 +vn -0.5417 -0.6428 0.5417 +vn 0.5417 0.6428 -0.5417 +s off +f 282/365/78 283/366/78 281/367/78 +f 288/368/79 285/369/79 287/370/79 +f 287/370/80 281/371/80 283/372/80 +f 284/373/81 286/374/81 288/368/81 +f 296/375/82 290/376/82 292/377/82 +f 294/378/78 289/379/78 290/376/78 +f 295/380/79 292/377/79 291/381/79 +f 293/382/83 291/381/83 289/383/83 +f 299/384/79 304/385/79 300/386/79 +f 297/387/80 303/388/80 299/384/80 +f 300/386/81 301/389/81 298/390/81 +f 298/390/78 302/391/78 297/392/78 +f 308/393/84 309/394/84 305/395/84 +f 305/395/78 310/396/78 306/397/78 +f 307/398/79 312/399/79 308/393/79 +f 306/400/85 311/401/85 307/398/85 +f 317/402/86 319/403/86 318/404/86 +f 315/405/79 320/406/79 316/407/79 +f 314/408/87 319/409/87 315/405/87 +f 316/407/88 317/402/88 313/410/88 +f 313/410/78 318/404/78 314/411/78 +f 282/365/78 284/373/78 283/366/78 +f 288/368/79 286/374/79 285/369/79 +f 287/370/80 285/369/80 281/371/80 +f 284/373/81 282/365/81 286/374/81 +f 296/375/82 294/378/82 290/376/82 +f 294/378/78 293/412/78 289/379/78 +f 295/380/79 296/375/79 292/377/79 +f 293/382/83 295/380/83 291/381/83 +f 299/384/79 303/388/79 304/385/79 +f 297/387/80 302/413/80 303/388/80 +f 300/386/81 304/385/81 301/389/81 +f 298/390/78 301/389/78 302/391/78 +f 308/393/84 312/399/84 309/394/84 +f 305/395/78 309/394/78 310/396/78 +f 307/398/79 311/401/79 312/399/79 +f 306/400/85 310/414/85 311/401/85 +f 317/402/86 320/415/86 319/403/86 +f 315/405/79 319/409/79 320/406/79 +f 314/408/87 318/416/87 319/409/87 +f 316/407/88 320/406/88 317/402/88 +f 313/410/78 317/402/78 318/404/78 +o Cube_Cube.001 +v -0.500000 0.250000 0.500000 +v -0.500000 1.250000 0.500000 +v -0.500000 0.250000 -0.500000 +v -0.500000 1.250000 -0.500000 +v 0.500000 0.250000 0.500000 +v 0.500000 1.250000 0.500000 +v 0.500000 0.250000 -0.500000 +v 0.500000 1.250000 -0.500000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 322//89 323//89 321//89 +f 324//90 327//90 323//90 +f 328//91 325//91 327//91 +f 326//92 321//92 325//92 +f 327//93 321//93 323//93 +f 324//94 326//94 328//94 +f 322//89 324//89 323//89 +f 324//90 328//90 327//90 +f 328//91 326//91 325//91 +f 326//92 322//92 321//92 +f 327//93 325//93 321//93 +f 324//94 322//94 326//94 diff --git a/src/main/resources/assets/hbm/textures/entity/blockspider.png b/src/main/resources/assets/hbm/textures/entity/blockspider.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e1285c16ec077516f8c0793a02f0f64d8b1d3f GIT binary patch literal 531 zcmV+u0_^>XP)r_g8Wnd)qNsEv_U9XSM`)#l%}pr70`zj`6A z+s&v$GBm|nZP0AGB0clTLOe6GL5F-nGBm|b?EjjB{(6OY-`OFDq!W8AX0S(A8WNLs z51uAALI=5(X4D}Wn(}ja5c(94#mDl0Oe$fR)=cSHb=D?l_