diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 4dc0b868f..e917f2534 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -839,7 +839,6 @@ public class ModBlocks { public static Block machine_press; public static final int guiID_machine_press = 53; - public static Block machine_epress; public static final int guiID_machine_epress = 81; @@ -851,10 +850,8 @@ public class ModBlocks { public static Block machine_satlinker; public static final int guiID_satlinker = 64; - public static Block machine_telelinker; public static final int guiID_telelinker = 68; - public static Block machine_keyforge; public static final int guiID_keyforge = 67; @@ -884,6 +881,17 @@ public class ModBlocks { public static Block machine_storage_drum; public static final int guiID_storage_drum = 118; + public static Block anvil_iron; + public static Block anvil_lead; + public static Block anvil_steel; + public static Block anvil_meteorite; + public static Block anvil_starmetal; + public static Block anvil_ferrouranium; + public static Block anvil_schrabidate; + public static Block anvil_dnt; + public static Block anvil_murky; + public static final int guiID_anvil = 121; + public static Block turret_light; public static Block turret_heavy; public static Block turret_rocket; @@ -1771,6 +1779,16 @@ public class ModBlocks { machine_turbine = new MachineTurbine(Material.iron).setBlockName("machine_turbine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_turbine"); machine_large_turbine = new MachineLargeTurbine(Material.iron).setBlockName("machine_large_turbine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_large_turbine"); machine_chungus = new MachineChungus(Material.iron).setBlockName("machine_chungus").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_chungus"); + + anvil_iron = new NTMAnvil(Material.iron, 1).setBlockName("anvil_iron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_iron"); + anvil_lead = new NTMAnvil(Material.iron, 1).setBlockName("anvil_lead").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_lead"); + anvil_steel = new NTMAnvil(Material.iron, 2).setBlockName("anvil_steel").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); + anvil_meteorite = new NTMAnvil(Material.iron, 3).setBlockName("anvil_meteorite").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_meteorite"); + anvil_starmetal = new NTMAnvil(Material.iron, 3).setBlockName("anvil_starmetal").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_starmetal"); + anvil_ferrouranium = new NTMAnvil(Material.iron, 4).setBlockName("anvil_ferrouranium").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_ferrouranium"); + anvil_schrabidate = new NTMAnvil(Material.iron, 5).setBlockName("anvil_schrabidate").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_schrabidate"); + anvil_dnt = new NTMAnvil(Material.iron, 6).setBlockName("anvil_dnt").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_dnt"); + anvil_murky = new NTMAnvil(Material.iron, 1916169).setBlockName("anvil_murky").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); machine_deaerator = new MachineDeaerator(Material.iron).setBlockName("machine_deaerator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_deaerator"); @@ -2370,6 +2388,16 @@ public class ModBlocks { GameRegistry.registerBlock(bomber, bomber.getUnlocalizedName()); //Machines + GameRegistry.registerBlock(anvil_iron, ItemBlockAnvil.class, anvil_iron.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_lead, ItemBlockAnvil.class, anvil_lead.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_steel, ItemBlockAnvil.class, anvil_steel.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_meteorite, ItemBlockAnvil.class, anvil_meteorite.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_starmetal, ItemBlockAnvil.class, anvil_starmetal.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_ferrouranium, ItemBlockAnvil.class, anvil_ferrouranium.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_schrabidate, ItemBlockAnvil.class, anvil_schrabidate.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_dnt, ItemBlockAnvil.class, anvil_dnt.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_murky, ItemBlockAnvil.class, anvil_murky.getUnlocalizedName()); + GameRegistry.registerBlock(machine_press, machine_press.getUnlocalizedName()); GameRegistry.registerBlock(machine_epress, machine_epress.getUnlocalizedName()); GameRegistry.registerBlock(machine_difurnace_off, machine_difurnace_off.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/NTMAnvil.java b/src/main/java/com/hbm/blocks/machine/NTMAnvil.java new file mode 100644 index 000000000..9f7f0e678 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/NTMAnvil.java @@ -0,0 +1,133 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockFalling; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class NTMAnvil extends BlockFalling { + + public final int tier; + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + + public NTMAnvil(Material mat, int tier) { + super(mat); + this.setStepSound(Block.soundTypeAnvil); + this.setHardness(5.0F); + this.setResistance(100.0F); + this.tier = tier; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + + if(this == ModBlocks.anvil_murky) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":anvil_murky"); + } else { + this.iconTop = this.blockIcon; + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 1 ? this.iconTop : this.blockIcon; + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_anvil, world, x, y, z); + return true; + } + + return false; + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) + { + world.setBlockMetadataWithNotify(x, y, z, 3, 2); + } + if(i == 1) + { + world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + if(i == 2) + { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + } + if(i == 3) + { + world.setBlockMetadataWithNotify(x, y, z, 5, 2); + } + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + + if(meta == 2 || meta == 3) + this.setBlockBounds(0.0F, 0.0F, 0.25F, 1.0F, 0.75F, 0.75F); + + if(meta == 4 || meta == 5) + this.setBlockBounds(0.25F, 0.0F, 0.0F, 0.75F, 0.75F, 1.0F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + + if(meta == 2 || meta == 3) + this.setBlockBounds(0.0F, 0.0F, 0.25F, 1.0F, 0.75F, 0.75F); + + if(meta == 4 || meta == 5) + this.setBlockBounds(0.25F, 0.0F, 0.0F, 0.75F, 0.75F, 1.0F); + + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } +} diff --git a/src/main/java/com/hbm/handler/GUIHandler.java b/src/main/java/com/hbm/handler/GUIHandler.java index 884079a42..a5db0c794 100644 --- a/src/main/java/com/hbm/handler/GUIHandler.java +++ b/src/main/java/com/hbm/handler/GUIHandler.java @@ -1,6 +1,7 @@ package com.hbm.handler; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.NTMAnvil; import com.hbm.interfaces.Spaghetti; import com.hbm.inventory.container.*; import com.hbm.inventory.gui.*; @@ -841,6 +842,13 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_anvil: { + if(world.getBlock(x, y, z) instanceof NTMAnvil) { + return new ContainerAnvil(player.inventory); + } + return null; + } } // NON-TE CONTAINERS @@ -1669,6 +1677,13 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_anvil: { + if(world.getBlock(x, y, z) instanceof NTMAnvil) { + return new GUIAnvil(player.inventory); + } + return null; + } } // ITEM GUIS diff --git a/src/main/java/com/hbm/inventory/MachineRecipes.java b/src/main/java/com/hbm/inventory/MachineRecipes.java index 77eac7814..d3a3494e2 100644 --- a/src/main/java/com/hbm/inventory/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/MachineRecipes.java @@ -190,18 +190,6 @@ public class MachineRecipes { list.add(new GasCentOutput(1, new ItemStack(ModItems.sulfur), 3)); list.add(new GasCentOutput(1, new ItemStack(ModItems.sulfur), 4)); return list; - case COOLANT: - list.add(new GasCentOutput(1, new ItemStack(ModItems.niter), 1)); - list.add(new GasCentOutput(1, new ItemStack(ModItems.niter), 2)); - list.add(new GasCentOutput(1, new ItemStack(ModItems.niter), 3)); - list.add(new GasCentOutput(1, new ItemStack(ModItems.niter), 4)); - return list; - case CRYOGEL: - list.add(new GasCentOutput(1, new ItemStack(ModItems.powder_ice), 1)); - list.add(new GasCentOutput(1, new ItemStack(ModItems.powder_ice), 2)); - list.add(new GasCentOutput(1, new ItemStack(ModItems.niter), 3)); - list.add(new GasCentOutput(1, new ItemStack(ModItems.niter), 4)); - return list; case NITAN: list.add(new GasCentOutput(1, new ItemStack(ModItems.powder_nitan_mix), 1)); list.add(new GasCentOutput(1, new ItemStack(ModItems.powder_nitan_mix), 2)); diff --git a/src/main/java/com/hbm/inventory/container/ContainerAnvil.java b/src/main/java/com/hbm/inventory/container/ContainerAnvil.java new file mode 100644 index 000000000..f235e8540 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerAnvil.java @@ -0,0 +1,75 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotMachineOutput; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.InventoryBasic; +import net.minecraft.inventory.InventoryCraftResult; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerAnvil extends Container { + + public InventoryBasic input = new InventoryBasic("Input", false, 8); + public IInventory output = new InventoryCraftResult(); + + public ContainerAnvil(InventoryPlayer inventory) { + + this.addSlotToContainer(new Slot(input, 0, 17, 27)); + this.addSlotToContainer(new Slot(input, 1, 53, 27)); + this.addSlotToContainer(new SlotMachineOutput(output, 0, 89, 27) { + + }); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(inventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(inventory, i, 8 + i * 18, 142 + 56)); + } + + this.onCraftMatrixChanged(this.input); + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return true; + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(par2 <= 2) { + if(!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) { + return null; + } else { + var4.onPickupFromSlot(p_82846_1_, var5); + } + } else { + + if(!this.mergeItemStack(var5, 0, 2, false)) + return null; + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + } + + return var3; + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIAnvil.java b/src/main/java/com/hbm/inventory/gui/GUIAnvil.java new file mode 100644 index 000000000..96c267419 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIAnvil.java @@ -0,0 +1,41 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerAnvil; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIAnvil extends GuiContainer { + + public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_anvil.png"); + + public GUIAnvil(InventoryPlayer player) { + super(new ContainerAnvil(player)); + + this.xSize = 176; + this.ySize = 222; + + guiLeft = (this.width - this.xSize) / 2; + guiTop = (this.height - this.ySize) / 2; + } + + protected void drawGuiContainerForegroundLayer(int mX, int mY) { + String name = I18n.format("container.anvil"); + this.fontRendererObj.drawString(name, 61 - this.fontRendererObj.getStringWidth(name) / 2, 8, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + protected void drawGuiContainerBackgroundLayer(float inter, int mX, int mY) { + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(texture); + + this.drawTexturedModalRect(guiLeft, guiTop, 0, 0, this.xSize, this.ySize); + this.drawTexturedModalRect(guiLeft + 176, guiTop + 17, 176, 17, 3, 108); + } +} diff --git a/src/main/java/com/hbm/items/block/ItemBlockAnvil.java b/src/main/java/com/hbm/items/block/ItemBlockAnvil.java new file mode 100644 index 000000000..69b210e27 --- /dev/null +++ b/src/main/java/com/hbm/items/block/ItemBlockAnvil.java @@ -0,0 +1,29 @@ +package com.hbm.items.block; + +import java.util.List; + +import com.hbm.blocks.machine.NTMAnvil; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemBlockAnvil extends ItemBlock { + + public ItemBlockAnvil(Block block) { + super(block); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + super.addInformation(stack, player, list, bool); + + if(this.field_150939_a instanceof NTMAnvil) { + list.add(EnumChatFormatting.GOLD + "Tier " + ((NTMAnvil)this.field_150939_a).tier + " Anvil"); + } else { + list.add("can someone wake bob up and tell him he used ItemBlockAnvil.class on a non-anvil block? thanks."); + } + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java index 817699863..7cbd03436 100644 --- a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java +++ b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java @@ -235,7 +235,7 @@ public class ItemRBMKRod extends Item implements IItemHazard { case ARCH: return flux - (flux * flux / 1000D) * reactivity; case SIGMOID: return 100D / (1 + Math.pow(Math.E, -(flux - 50D) / 10D)) * reactivity; case SQUARE_ROOT: return Math.sqrt(flux) * reactivity; - case LINEAR: return flux * reactivity; + case LINEAR: return flux / 100D * reactivity; case QUADRATIC: return flux * flux / 100D * reactivity; } @@ -255,7 +255,7 @@ public class ItemRBMKRod extends Item implements IItemHazard { case ARCH: return "(" + x + " - " + x + "² / 1000) * " + reactivity; case SIGMOID: return "100 / (1 + e^(-(" + x + " - 50) / 10) * " + reactivity; case SQUARE_ROOT: return "sqrt(" + x + ") * " + reactivity; - case LINEAR: return x + " * " + reactivity; + case LINEAR: return x + " / 100 * " + reactivity; case QUADRATIC: return x + "² / 100 * " + reactivity; } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 419d3633f..868b46e99 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -29,12 +29,10 @@ import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.common.MinecraftForge; import java.util.HashMap; -import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Random; -import java.util.Set; import com.hbm.blocks.ModBlocks; import com.hbm.entity.effect.*; @@ -558,6 +556,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderGrate()); RenderingRegistry.registerBlockHandler(new RenderPipe()); RenderingRegistry.registerBlockHandler(new RenderBattery()); + RenderingRegistry.registerBlockHandler(new RenderAnvil()); RenderingRegistry.registerBlockHandler(new RenderRBMKRod()); RenderingRegistry.registerBlockHandler(new RenderRBMKReflector()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 6dbc6658d..90fbf0032 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1033,6 +1033,7 @@ public class ResourceManager { public static final IModelCustom rbmk_debris = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/rbmk/debris.obj")); public static final ResourceLocation rbmk_console_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/rbmk_control.png"); public static final IModelCustom hev_battery = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/battery.obj")); + public static final IModelCustom anvil = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/anvil.obj")); //RBMK DEBRIS public static final IModelCustom deb_blank = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/projectiles/deb_blank.obj")); diff --git a/src/main/java/com/hbm/render/block/RenderAnvil.java b/src/main/java/com/hbm/render/block/RenderAnvil.java new file mode 100644 index 000000000..6945f51a3 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderAnvil.java @@ -0,0 +1,78 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.machine.NTMAnvil; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderAnvil implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + + GL11.glTranslated(0, -0.5, 0); + GL11.glRotated(180, 0, 1, 0); + tessellator.startDrawingQuads(); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Top", block.getIcon(1, 0), tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Bottom", block.getIcon(0, 0), tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Front", block.getIcon(0, 0), tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Back", block.getIcon(0, 0), tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Left", block.getIcon(0, 0), tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Right", block.getIcon(0, 0), tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + float rotation = 0; + + if(world.getBlockMetadata(x, y, z) == 2) + rotation = 90F / 180F * (float) Math.PI; + + if(world.getBlockMetadata(x, y, z) == 3) + rotation = 270F / 180F * (float) Math.PI; + + if(world.getBlockMetadata(x, y, z) == 4) + rotation = 180F / 180F * (float)Math.PI; + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Top", block.getIcon(1, 0), tessellator, rotation, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Bottom", block.getIcon(0, 0), tessellator, rotation, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Front", block.getIcon(0, 0), tessellator, rotation, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Back", block.getIcon(0, 0), tessellator, rotation, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Left", block.getIcon(0, 0), tessellator, rotation, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.anvil, "Right", block.getIcon(0, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return NTMAnvil.renderID; + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index fabe75b77..c5e93e208 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -168,6 +168,7 @@ chem.YELLOWCAKE=Yellowcakeproduktion container.amsBase=AMS-Basis [WIP] container.amsEmitter=AMS-Emitter [WIP] container.amsLimiter=AMS-Stabilisator [WIP] +container.anvil=Amboss container.arcFurnace=Lichtbogenofen container.armorTable=Rüstungsmodifikationstisch container.assembler=Fertigungsmaschine @@ -2458,6 +2459,15 @@ tile.ams_base.name=AMS-Basis [WIP] tile.ams_emitter.name=AMS-Emitter [WIP] tile.ams_limiter.name=AMS-Stabilisator [WIP] tile.ancient_scrap.name=Antikes Altmetall +tile.anvil_dnt.name=Dineutroniumamboss +tile.anvil_ferrouranium.name=Ferrouranamboss +tile.anvil_iron.name=Eisenamboss +tile.anvil_lead.name=Bleiamboss +tile.anvil_meteorite.name=Meteoritenamboss +tile.anvil_murky.name=Düsteramboss +tile.anvil_schrabidate.name=Eisenschrabidatamboss +tile.anvil_starmetal.name=Sternenmetallamboss +tile.anvil_steel.name=Stahlamboss tile.asphalt.name=Asphalt tile.asphalt_light.name=Leuchtender Asphalt tile.barbed_wire.name=Stacheldraht @@ -2839,7 +2849,7 @@ tile.machine_schrabidium_battery.name=Schrabidium-Energiespeicherblock tile.machine_schrabidium_transmutator.name=Schrabidium-Transmutationsgerät tile.machine_selenium.name=Hochleistungs-Sternmotor tile.machine_shredder.name=Brecher -tile.machine_silex.name=Laser-Isotopentrenner +tile.machine_silex.name=Laser-Isotopentrenner (SILEX) tile.machine_siren.name=Sirene tile.machine_solar_boiler.name=Solarturmboiler tile.machine_spp_bottom.name=NPE-Potentialgenerator (Unterteil) diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index fa844788c..ed8fb694b 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -236,6 +236,7 @@ chem.YELLOWCAKE=Yellowcake Production container.amsBase=AMS Base [WIP] container.amsEmitter=AMS Emitter [WIP] container.amsLimiter=AMS Stabilizer [WIP] +container.anvil=Anvil container.arcFurnace=Arc Furnace container.armorTable=Armor Modification Table container.assembler=Assembly Machine @@ -2526,6 +2527,15 @@ tile.ams_base.name=AMS Base [WIP] tile.ams_emitter.name=AMS Emitter [WIP] tile.ams_limiter.name=AMS Stabilizer [WIP] tile.ancient_scrap.name=Ancient Scrap Metal +tile.anvil_dnt.name=Dineutronium Anvil +tile.anvil_ferrouranium.name=Ferrouranium Anvil +tile.anvil_iron.name=Iron Anvil +tile.anvil_lead.name=Lead Anvil +tile.anvil_meteorite.name=Meteorite Anvil +tile.anvil_murky.name=Murky Anvil +tile.anvil_schrabidate.name=Ferric Schrabidate Anvil +tile.anvil_starmetal.name=Starmetal Anvil +tile.anvil_steel.name=Steel Anvil tile.asphalt.name=Asphalt tile.asphalt_light.name=Glowing Asphalt tile.barbed_wire.name=Barbed Wire @@ -2923,7 +2933,7 @@ tile.machine_schrabidium_battery.name=Schrabidium Energy Storage Block tile.machine_schrabidium_transmutator.name=Schrabidium Transmutation Device tile.machine_selenium.name=Radial Performance Engine tile.machine_shredder.name=Shredder -tile.machine_silex.name=Laser Isotope Separation Chamber +tile.machine_silex.name=Laser Isotope Separation Chamber (SILEX) tile.machine_siren.name=Siren tile.machine_solar_boiler.name=Solar Tower Boiler tile.machine_spp_bottom.name=ZPE Potential Generator (Bottom) diff --git a/src/main/resources/assets/hbm/models/blocks/anvil.obj b/src/main/resources/assets/hbm/models/blocks/anvil.obj new file mode 100644 index 000000000..37ba2789c --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/anvil.obj @@ -0,0 +1,491 @@ +# Blender v2.79 (sub 0) OBJ File: 'anvil_cut.blend' +# www.blender.org +o Back +v -0.250000 0.000000 0.375000 +v 0.250000 0.000000 0.375000 +v -0.250000 0.062500 0.375000 +v 0.250000 0.062500 0.375000 +v -0.250000 0.062500 0.250000 +v 0.250000 0.062500 0.250000 +v -0.187500 0.125000 0.187500 +v 0.187500 0.125000 0.187500 +v -0.125000 0.187500 0.125000 +v 0.125000 0.187500 0.125000 +v -0.125000 0.312500 0.125000 +v 0.125000 0.312500 0.125000 +v -0.125000 0.437500 0.250000 +v 0.125000 0.437500 0.250000 +v -0.125000 0.562500 0.625000 +v 0.125000 0.562500 0.625000 +v -0.125000 0.688500 0.625000 +v 0.125000 0.688500 0.625000 +vt 0.750000 0.187500 +vt 0.250000 0.125000 +vt 0.750000 0.125000 +vt 0.750000 0.187500 +vt 0.312500 0.250000 +vt 0.250000 0.187500 +vt 0.625000 0.312500 +vt 0.687500 0.250000 +vt 0.375000 0.437500 +vt 0.375000 0.312500 +vt 0.500000 0.625000 +vt 0.375000 0.375000 +vt 0.500000 0.375000 +vt 0.625000 0.687500 +vt 0.375000 0.812500 +vt 0.375000 0.687500 +vt 0.250000 0.187500 +vt 0.625000 0.437500 +vt 0.375000 0.625000 +vt 0.625000 0.812500 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 0.7071 +s off +f 4/1/1 1/2/1 2/3/1 +f 6/4/2 7/5/2 5/6/2 +f 10/7/2 7/5/2 8/8/2 +f 10/7/1 11/9/1 9/10/1 +f 12/11/3 13/12/3 11/13/3 +f 16/14/1 17/15/1 15/16/1 +f 4/1/1 3/17/1 1/2/1 +f 6/4/2 8/8/2 7/5/2 +f 10/7/2 9/10/2 7/5/2 +f 10/7/1 12/18/1 11/9/1 +f 12/11/3 14/19/3 13/12/3 +f 16/14/1 18/20/1 17/15/1 +o Bottom +v -0.250000 0.000000 -0.375000 +v 0.250000 0.000000 -0.375000 +v -0.250000 0.000000 -0.250000 +v 0.250000 0.000000 -0.250000 +v -0.250000 0.000000 0.375000 +v 0.250000 0.000000 0.375000 +v -0.250000 0.000000 0.250000 +v 0.250000 0.000000 0.250000 +v -0.187500 0.000000 0.187500 +v 0.187500 0.000000 0.187500 +v -0.187500 0.000000 -0.187500 +v 0.187500 0.000000 -0.187500 +v -0.125000 0.437500 -0.187500 +v 0.125000 0.437500 -0.187500 +v -0.125000 0.437500 -0.375000 +v 0.125000 0.437500 -0.375000 +v -0.125000 0.437500 0.250000 +v 0.125000 0.437500 0.250000 +v -0.125000 0.562500 0.625000 +v 0.125000 0.562500 0.625000 +v -0.093750 0.468750 -0.375000 +v 0.093750 0.468750 -0.375000 +v -0.093750 0.468750 -0.500000 +v 0.093750 0.468750 -0.500000 +v -0.066291 0.496209 -0.500000 +v 0.000000 0.468750 -0.500000 +v 0.066291 0.496209 -0.500000 +v -0.056348 0.520215 -0.687500 +v 0.000000 0.496875 -0.687500 +v 0.056348 0.520215 -0.687500 +v 0.000000 0.656250 -0.937500 +vt 0.312500 0.687500 +vt 0.687500 0.312500 +vt 0.687500 0.687500 +vt 0.250000 0.250000 +vt 0.312500 0.312500 +vt 0.125000 0.250000 +vt 0.250000 0.750000 +vt 0.125000 0.750000 +vt 0.812500 0.375000 +vt 1.000000 0.625000 +vt 0.812500 0.625000 +vt 0.375000 0.625000 +vt 0.000000 0.375000 +vt 0.375000 0.375000 +vt 0.937500 0.625000 +vt 0.812500 0.437500 +vt 0.937500 0.437500 +vt 0.500000 0.250000 +vt 0.312500 0.312500 +vt 0.312500 0.250000 +vt 0.312500 0.687500 +vt 0.500000 0.750000 +vt 0.312500 0.750000 +vt 0.750000 0.312500 +vt 0.500000 0.312500 +vt 0.500000 0.687500 +vt 0.750000 0.687500 +vt 0.750000 0.750000 +vt 0.875000 0.750000 +vt 0.750000 0.250000 +vt 0.875000 0.250000 +vt 1.000000 0.375000 +vt 0.000000 0.625000 +vt 0.812500 0.625000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.9487 0.3162 +vn 0.3791 -0.9151 -0.1373 +vn -0.3791 -0.9151 -0.1373 +vn 0.3297 -0.7961 -0.5075 +vn -0.3297 -0.7961 -0.5075 +s off +f 28/21/4 29/22/4 30/23/4 +f 28/21/4 25/24/4 27/25/4 +f 23/26/4 26/27/4 24/28/4 +f 31/29/4 34/30/4 32/31/4 +f 36/32/5 37/33/5 35/34/5 +f 39/35/4 42/36/4 40/37/4 +f 47/38/6 45/39/6 44/40/6 +f 43/41/7 47/42/7 44/43/7 +f 47/38/8 49/44/8 48/45/8 +f 46/46/9 49/47/9 47/42/9 +f 29/22/4 22/48/4 30/23/4 +f 20/49/4 21/50/4 19/51/4 +f 28/21/4 27/25/4 29/22/4 +f 28/21/4 26/27/4 25/24/4 +f 23/26/4 25/24/4 26/27/4 +f 31/29/4 33/52/4 34/30/4 +f 36/32/5 38/53/5 37/33/5 +f 39/35/4 41/54/4 42/36/4 +f 47/38/6 48/45/6 45/39/6 +f 43/41/7 46/46/7 47/42/7 +f 29/22/4 21/50/4 22/48/4 +f 20/49/4 22/48/4 21/50/4 +o Top +v -0.250000 0.062500 -0.375000 +v 0.250000 0.062500 -0.375000 +v -0.250000 0.062500 -0.250000 +v 0.250000 0.062500 -0.250000 +v -0.250000 0.062500 0.375000 +v 0.250000 0.062500 0.375000 +v -0.250000 0.062500 0.250000 +v 0.250000 0.062500 0.250000 +v -0.125000 0.687500 -0.375000 +v 0.125000 0.687500 -0.375000 +v -0.125000 0.688500 0.625000 +v 0.125000 0.688500 0.625000 +v -0.093750 0.656250 -0.375000 +v 0.093750 0.656250 -0.375000 +v -0.093750 0.656250 -0.500000 +v 0.093750 0.656250 -0.500000 +v 0.000000 0.656250 -0.500000 +v -0.066291 0.628791 -0.500000 +v 0.066291 0.628791 -0.500000 +v 0.000000 0.656250 -0.687500 +v -0.056348 0.632910 -0.687500 +v 0.056348 0.632910 -0.687500 +v 0.000000 0.656250 -0.937500 +vt 0.375000 0.250000 +vt 0.250000 0.750000 +vt 0.250000 0.250000 +vt 1.000000 0.750000 +vt 0.875000 0.250000 +vt 1.000000 0.250000 +vt 1.000000 0.625000 +vt 0.000000 0.375000 +vt 1.000000 0.375000 +vt 0.812500 0.437500 +vt 0.937500 0.625000 +vt 0.812500 0.625000 +vt 0.312500 0.500000 +vt 0.500000 0.562500 +vt 0.312500 0.562500 +vt 0.500000 0.437500 +vt 0.312500 0.437500 +vt 0.750000 0.500000 +vt 0.500000 0.500000 +vt 0.375000 0.750000 +vt 0.875000 0.750000 +vt 0.000000 0.625000 +vt 0.937500 0.437500 +vn 0.0000 1.0000 0.0000 +vn 0.0000 1.0000 -0.0010 +vn -0.3827 0.9239 -0.0000 +vn 0.3827 0.9239 -0.0000 +s off +f 57/55/10 54/56/10 55/57/10 +f 50/58/10 53/59/10 51/60/10 +f 58/61/11 61/62/11 59/63/11 +f 63/64/10 64/65/10 62/66/10 +f 66/67/12 70/68/12 67/69/12 +f 71/70/13 66/67/13 68/71/13 +f 71/70/13 72/72/13 69/73/13 +f 69/73/12 72/72/12 70/68/12 +f 57/55/10 56/74/10 54/56/10 +f 50/58/10 52/75/10 53/59/10 +f 58/61/11 60/76/11 61/62/11 +f 63/64/10 65/77/10 64/65/10 +f 66/67/12 69/73/12 70/68/12 +f 71/70/13 69/73/13 66/67/13 +o Left +v -0.250000 0.000000 -0.375000 +v -0.250000 0.000000 -0.250000 +v -0.250000 0.000000 0.375000 +v -0.250000 0.000000 0.250000 +v -0.250000 0.062500 -0.375000 +v -0.250000 0.062500 -0.250000 +v -0.250000 0.062500 0.375000 +v -0.250000 0.062500 0.250000 +v -0.187500 0.000000 0.187500 +v -0.187500 0.125000 0.187500 +v -0.187500 0.000000 -0.187500 +v -0.187500 0.125000 -0.187500 +v -0.125000 0.187500 0.125000 +v -0.125000 0.187500 -0.125000 +v -0.125000 0.375000 -0.125000 +v -0.125000 0.437500 -0.187500 +v -0.125000 0.437500 -0.375000 +v -0.125000 0.687500 -0.375000 +v -0.125000 0.312500 0.125000 +v -0.125000 0.437500 0.250000 +v -0.125000 0.562500 0.625000 +v -0.125000 0.688500 0.625000 +v -0.093750 0.468750 -0.375000 +v -0.093750 0.656250 -0.375000 +v -0.093750 0.468750 -0.500000 +v -0.093750 0.656250 -0.500000 +v -0.066291 0.628791 -0.500000 +v -0.093750 0.562500 -0.500000 +v -0.066291 0.496209 -0.500000 +v -0.056348 0.632910 -0.687500 +v -0.079687 0.576563 -0.687500 +v -0.056348 0.520215 -0.687500 +v 0.000000 0.656250 -0.937500 +vt 0.125000 0.125000 +vt 0.000000 0.187500 +vt 0.000000 0.125000 +vt 0.812500 0.187500 +vt 0.687500 0.125000 +vt 0.812500 0.125000 +vt 0.687500 0.187500 +vt 0.562500 0.125000 +vt 0.125000 0.187500 +vt 0.187500 0.125000 +vt 0.187500 0.250000 +vt 0.562500 0.250000 +vt 0.250000 0.312500 +vt 0.500000 0.437500 +vt 0.500000 0.312500 +vt 0.250000 0.500000 +vt 0.625000 0.562500 +vt 0.187500 0.562500 +vt 0.000000 0.562500 +vt 0.000000 0.812500 +vt 1.000000 0.812500 +vt 1.000000 0.687500 +vt 0.125000 0.812500 +vt -0.000000 0.625000 +vt 0.125000 0.625000 +vt 0.312500 0.625000 +vt 0.500000 0.687500 +vt 0.312500 0.687500 +vt 0.312500 0.562500 +vt 0.500000 0.625000 +vt 0.750000 0.625000 +vt 0.500000 0.562500 +vt 0.750000 0.562500 +vt 0.000000 0.812500 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.7071 0.0000 +vn -0.9195 -0.3809 -0.0975 +vn -0.9231 0.3824 -0.0406 +vn -0.8529 -0.3533 -0.3845 +vn -0.9104 0.3771 -0.1700 +s off +f 74/78/14 77/79/14 73/80/14 +f 79/81/14 76/82/14 75/83/14 +f 80/84/15 81/85/15 76/82/15 +f 78/86/16 83/87/16 84/88/16 +f 84/88/14 81/85/14 82/89/14 +f 82/89/17 86/90/17 84/88/17 +f 91/91/14 86/90/14 85/92/14 +f 87/93/14 92/94/14 88/95/14 +f 89/96/14 88/95/14 90/97/14 +f 90/97/14 92/94/14 94/98/14 +f 93/99/14 94/98/14 92/94/14 +f 96/100/14 97/101/14 95/102/14 +f 100/103/18 104/104/18 101/105/18 +f 99/106/19 103/107/19 100/103/19 +f 103/107/20 105/108/20 104/104/20 +f 102/109/21 105/110/21 103/107/21 +f 74/78/14 78/86/14 77/79/14 +f 79/81/14 80/84/14 76/82/14 +f 80/84/15 82/89/15 81/85/15 +f 78/86/16 74/78/16 83/87/16 +f 84/88/14 83/87/14 81/85/14 +f 82/89/17 85/92/17 86/90/17 +f 91/91/14 87/93/14 86/90/14 +f 87/93/14 91/91/14 92/94/14 +f 90/97/14 88/95/14 92/94/14 +f 96/100/14 98/111/14 97/101/14 +f 100/103/18 103/107/18 104/104/18 +f 99/106/19 102/109/19 103/107/19 +o Right +v 0.250000 0.000000 -0.375000 +v 0.250000 0.000000 -0.250000 +v 0.250000 0.000000 0.375000 +v 0.250000 0.000000 0.250000 +v 0.250000 0.062500 -0.375000 +v 0.250000 0.062500 -0.250000 +v 0.250000 0.062500 0.375000 +v 0.250000 0.062500 0.250000 +v 0.187500 0.000000 0.187500 +v 0.187500 0.125000 0.187500 +v 0.187500 0.000000 -0.187500 +v 0.187500 0.125000 -0.187500 +v 0.125000 0.187500 0.125000 +v 0.125000 0.187500 -0.125000 +v 0.125000 0.375000 -0.125000 +v 0.125000 0.437500 -0.187500 +v 0.125000 0.437500 -0.375000 +v 0.125000 0.687500 -0.375000 +v 0.125000 0.312500 0.125000 +v 0.125000 0.437500 0.250000 +v 0.125000 0.562500 0.625000 +v 0.125000 0.688500 0.625000 +v 0.093750 0.468750 -0.375000 +v 0.093750 0.656250 -0.375000 +v 0.093750 0.468750 -0.500000 +v 0.093750 0.656250 -0.500000 +v 0.066291 0.496209 -0.500000 +v 0.093750 0.562500 -0.500000 +v 0.066291 0.628791 -0.500000 +v 0.056348 0.520215 -0.687500 +v 0.079687 0.576563 -0.687500 +v 0.056348 0.632910 -0.687500 +v 0.000000 0.656250 -0.937500 +vt 0.375000 0.187500 +vt 0.250000 0.125000 +vt 0.375000 0.125000 +vt 1.000000 0.125000 +vt 0.875000 0.187500 +vt 0.875000 0.125000 +vt 0.437500 0.125000 +vt 0.437500 0.250000 +vt 0.812500 0.125000 +vt 0.812500 0.250000 +vt 0.500000 0.312500 +vt 0.750000 0.312500 +vt 0.500000 0.437500 +vt 0.375000 0.562500 +vt 0.750000 0.500000 +vt 0.812500 0.562500 +vt 1.000000 0.562500 +vt 1.000000 0.812500 +vt 0.000000 0.812500 +vt 0.000000 0.687500 +vt 0.812500 0.625000 +vt 0.937500 0.812500 +vt 0.812500 0.812500 +vt 0.500000 0.312500 +vt 0.312500 0.375000 +vt 0.312500 0.312500 +vt 0.500000 0.375000 +vt 0.312500 0.437500 +vt 0.750000 0.437500 +vt 0.500000 0.437500 +vt 0.750000 0.375000 +vt 0.250000 0.187500 +vt 1.000000 0.187500 +vt 0.937500 0.625000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.7071 0.7071 0.0000 +vn 0.9195 -0.3809 -0.0975 +vn 0.9231 0.3824 -0.0406 +vn 0.9104 0.3771 -0.1700 +vn 0.8529 -0.3533 -0.3845 +s off +f 113/112/22 108/113/22 109/114/22 +f 106/115/22 111/116/22 107/117/22 +f 113/112/23 114/118/23 115/119/23 +f 111/116/24 116/120/24 107/117/24 +f 116/120/22 115/119/22 114/118/22 +f 117/121/25 118/122/25 115/119/25 +f 119/123/22 124/124/22 118/122/22 +f 125/125/22 120/126/22 121/127/22 +f 122/128/22 123/129/22 121/127/22 +f 125/125/22 123/129/22 127/130/22 +f 125/125/22 127/130/22 126/131/22 +f 128/132/22 131/133/22 129/134/22 +f 135/135/26 133/136/26 132/137/26 +f 136/138/27 134/139/27 133/136/27 +f 136/138/28 138/140/28 137/141/28 +f 135/135/29 138/142/29 136/138/29 +f 113/112/22 112/143/22 108/113/22 +f 106/115/22 110/144/22 111/116/22 +f 113/112/23 109/114/23 114/118/23 +f 111/116/24 117/121/24 116/120/24 +f 116/120/22 117/121/22 115/119/22 +f 117/121/25 119/123/25 118/122/25 +f 119/123/22 120/126/22 124/124/22 +f 125/125/22 124/124/22 120/126/22 +f 125/125/22 121/127/22 123/129/22 +f 128/132/22 130/145/22 131/133/22 +f 135/135/26 136/138/26 133/136/26 +f 136/138/27 137/141/27 134/139/27 +o Front +v -0.250000 0.000000 -0.375000 +v 0.250000 0.000000 -0.375000 +v -0.250000 0.062500 -0.375000 +v 0.250000 0.062500 -0.375000 +v -0.250000 0.062500 -0.250000 +v 0.250000 0.062500 -0.250000 +v -0.187500 0.125000 -0.187500 +v 0.187500 0.125000 -0.187500 +v -0.125000 0.187500 -0.125000 +v 0.125000 0.187500 -0.125000 +v -0.125000 0.375000 -0.125000 +v 0.125000 0.375000 -0.125000 +v -0.125000 0.437500 -0.187500 +v 0.125000 0.437500 -0.187500 +v -0.125000 0.437500 -0.375000 +v 0.125000 0.437500 -0.375000 +v -0.125000 0.687500 -0.375000 +v 0.125000 0.687500 -0.375000 +v -0.093750 0.468750 -0.500000 +v 0.093750 0.468750 -0.500000 +v -0.093750 0.656250 -0.500000 +v 0.093750 0.656250 -0.500000 +vt 0.250000 0.187500 +vt 0.750000 0.125000 +vt 0.750000 0.187500 +vt 0.750000 0.187500 +vt 0.312500 0.250000 +vt 0.250000 0.187500 +vt 0.687500 0.250000 +vt 0.375000 0.312500 +vt 0.625000 0.312500 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.562500 +vt 0.625000 0.562500 +vt 0.375000 0.812500 +vt 0.375000 0.562500 +vt 0.562500 0.625000 +vt 0.375000 0.812500 +vt 0.375000 0.625000 +vt 0.250000 0.125000 +vt 0.625000 0.562500 +vt 0.625000 0.812500 +vt 0.562500 0.812500 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 -0.7071 +s off +f 139/146/30 142/147/30 140/148/30 +f 143/149/31 146/150/31 144/151/31 +f 145/152/31 148/153/31 146/150/31 +f 147/154/30 150/155/30 148/153/30 +f 149/156/32 152/157/32 150/155/32 +f 153/158/30 156/159/30 154/160/30 +f 157/161/30 160/162/30 158/163/30 +f 139/146/30 141/164/30 142/147/30 +f 143/149/31 145/152/31 146/150/31 +f 145/152/31 147/154/31 148/153/31 +f 147/154/30 149/156/30 150/155/30 +f 149/156/32 151/165/32 152/157/32 +f 153/158/30 155/166/30 156/159/30 +f 157/161/30 159/167/30 160/162/30 diff --git a/src/main/resources/assets/hbm/models/machines/zpe.obj b/src/main/resources/assets/hbm/models/machines/zpe.obj new file mode 100644 index 000000000..4f7949e07 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/zpe.obj @@ -0,0 +1,910 @@ +# Blender v2.79 (sub 0) OBJ File: 'zpe.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 0.875000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 0.875000 -0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 0.875000 0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 0.875000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -0.437500 1.000000 0.437500 +v -0.437500 1.000000 -0.437500 +v 0.437500 1.000000 -0.437500 +v 0.437500 1.000000 0.437500 +v -0.437500 0.937500 0.437500 +v -0.437500 0.937500 -0.437500 +v 0.437500 0.937500 -0.437500 +v 0.437500 0.937500 0.437500 +v -0.500000 0.000000 0.500000 +v -0.500000 0.125000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 0.125000 -0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 0.125000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.125000 -0.500000 +v -0.250000 0.125000 0.250000 +v -0.250000 0.875000 0.250000 +v -0.250000 0.125000 -0.250000 +v -0.250000 0.875000 -0.250000 +v 0.250000 0.125000 0.250000 +v 0.250000 0.875000 0.250000 +v 0.250000 0.125000 -0.250000 +v 0.250000 0.875000 -0.250000 +v 0.500000 0.687500 0.187500 +v 0.500000 0.687500 -0.187500 +v 0.500000 0.312500 0.187500 +v 0.500000 0.312500 -0.187500 +v 0.437500 0.687500 -0.187500 +v 0.437500 0.687500 0.187500 +v 0.437500 0.312500 -0.187500 +v 0.437500 0.312500 0.187500 +v 0.437500 0.625000 -0.125000 +v 0.437500 0.625000 0.125000 +v 0.437500 0.375000 -0.125000 +v 0.437500 0.375000 0.125000 +v 0.250000 0.625000 -0.125000 +v 0.250000 0.625000 0.125000 +v 0.250000 0.375000 -0.125000 +v 0.250000 0.375000 0.125000 +v -0.500000 0.687500 -0.187500 +v -0.500000 0.687500 0.187500 +v -0.500000 0.312500 -0.187500 +v -0.500000 0.312500 0.187500 +v -0.437500 0.687500 0.187500 +v -0.437500 0.687500 -0.187500 +v -0.437500 0.312500 0.187500 +v -0.437500 0.312500 -0.187500 +v -0.437500 0.625000 0.125000 +v -0.437500 0.625000 -0.125000 +v -0.437500 0.375000 0.125000 +v -0.437500 0.375000 -0.125000 +v -0.250000 0.625000 0.125000 +v -0.250000 0.625000 -0.125000 +v -0.250000 0.375000 0.125000 +v -0.250000 0.375000 -0.125000 +v 0.187500 0.687500 -0.500000 +v -0.187500 0.687500 -0.500000 +v 0.187500 0.312500 -0.500000 +v -0.187500 0.312500 -0.500000 +v -0.187500 0.687500 -0.437500 +v 0.187500 0.687500 -0.437500 +v -0.187500 0.312500 -0.437500 +v 0.187500 0.312500 -0.437500 +v -0.125000 0.625000 -0.437500 +v 0.125000 0.625000 -0.437500 +v -0.125000 0.375000 -0.437500 +v 0.125000 0.375000 -0.437500 +v -0.125000 0.625000 -0.250000 +v 0.125000 0.625000 -0.250000 +v -0.125000 0.375000 -0.250000 +v 0.125000 0.375000 -0.250000 +v -0.187500 0.687500 0.500000 +v 0.187500 0.687500 0.500000 +v -0.187500 0.312500 0.500000 +v 0.187500 0.312500 0.500000 +v 0.187500 0.687500 0.437500 +v -0.187500 0.687500 0.437500 +v 0.187500 0.312500 0.437500 +v -0.187500 0.312500 0.437500 +v 0.125000 0.625000 0.437500 +v -0.125000 0.625000 0.437500 +v 0.125000 0.375000 0.437500 +v -0.125000 0.375000 0.437500 +v 0.125000 0.625000 0.250000 +v -0.125000 0.625000 0.250000 +v 0.125000 0.375000 0.250000 +v -0.125000 0.375000 0.250000 +v 0.187500 0.125000 -0.281250 +v 0.187500 0.125000 -0.406250 +v 0.312500 0.125000 -0.281250 +v 0.312500 0.125000 -0.406250 +v 0.187500 0.437500 -0.281250 +v 0.187500 0.437500 -0.406250 +v 0.312500 0.562500 -0.281250 +v 0.312500 0.562500 -0.406250 +v -0.312500 0.437500 -0.281250 +v -0.312500 0.437500 -0.406250 +v -0.187500 0.562500 -0.281250 +v -0.187500 0.562500 -0.406250 +v -0.312500 0.875000 -0.281250 +v -0.312500 0.875000 -0.406250 +v -0.187500 0.875000 -0.281250 +v -0.187500 0.875000 -0.406250 +v -0.187500 0.125000 0.281250 +v -0.187500 0.125000 0.406250 +v -0.312500 0.125000 0.281250 +v -0.312500 0.125000 0.406250 +v -0.187500 0.437500 0.281250 +v -0.187500 0.437500 0.406250 +v -0.312500 0.562500 0.281250 +v -0.312500 0.562500 0.406250 +v 0.312500 0.437500 0.281250 +v 0.312500 0.437500 0.406250 +v 0.187500 0.562500 0.281250 +v 0.187500 0.562500 0.406250 +v 0.312500 0.875000 0.281250 +v 0.312500 0.875000 0.406250 +v 0.187500 0.875000 0.281250 +v 0.187500 0.875000 0.406250 +v -0.281250 0.125000 -0.187500 +v -0.406250 0.125000 -0.187500 +v -0.281250 0.125000 -0.312500 +v -0.406250 0.125000 -0.312500 +v -0.281250 0.437500 -0.187500 +v -0.406250 0.437500 -0.187500 +v -0.281250 0.562500 -0.312500 +v -0.406250 0.562500 -0.312500 +v -0.281250 0.437500 0.312500 +v -0.406250 0.437500 0.312500 +v -0.281250 0.562500 0.187500 +v -0.406250 0.562500 0.187500 +v -0.281250 0.875000 0.312500 +v -0.406250 0.875000 0.312500 +v -0.281250 0.875000 0.187500 +v -0.406250 0.875000 0.187500 +v 0.281250 0.125000 0.187500 +v 0.406250 0.125000 0.187500 +v 0.281250 0.125000 0.312500 +v 0.406250 0.125000 0.312500 +v 0.281250 0.437500 0.187500 +v 0.406250 0.437500 0.187500 +v 0.281250 0.562500 0.312500 +v 0.406250 0.562500 0.312500 +v 0.281250 0.437500 -0.312500 +v 0.406250 0.437500 -0.312500 +v 0.281250 0.562500 -0.187500 +v 0.406250 0.562500 -0.187500 +v 0.281250 0.875000 -0.312500 +v 0.406250 0.875000 -0.312500 +v 0.281250 0.875000 -0.187500 +v 0.406250 0.875000 -0.187500 +v -0.312500 0.125000 0.312500 +v -0.312500 0.875000 0.312500 +v -0.312500 0.125000 -0.312500 +v -0.312500 0.875000 -0.312500 +v 0.312500 0.125000 0.312500 +v 0.312500 0.875000 0.312500 +v 0.312500 0.125000 -0.312500 +v 0.312500 0.875000 -0.312500 +v -0.375000 0.125000 0.375000 +v -0.375000 0.875000 0.375000 +v -0.375000 0.125000 -0.375000 +v -0.375000 0.875000 -0.375000 +v 0.375000 0.125000 0.375000 +v 0.375000 0.875000 0.375000 +v 0.375000 0.125000 -0.375000 +v 0.375000 0.875000 -0.375000 +v 0.500000 0.125000 0.437500 +v 0.500000 0.875000 0.437500 +v 0.500000 0.125000 0.500000 +v 0.500000 0.875000 0.500000 +v 0.437500 0.125000 0.437500 +v 0.437500 0.875000 0.437500 +v 0.437500 0.125000 0.500000 +v 0.437500 0.875000 0.500000 +v -0.437500 0.125000 0.437500 +v -0.437500 0.875000 0.437500 +v -0.437500 0.125000 0.500000 +v -0.437500 0.875000 0.500000 +v -0.500000 0.125000 0.437500 +v -0.500000 0.875000 0.437500 +v -0.500000 0.125000 0.500000 +v -0.500000 0.875000 0.500000 +v -0.500000 0.875000 -0.437500 +v -0.500000 0.125000 -0.437500 +v -0.500000 0.875000 -0.500000 +v -0.500000 0.125000 -0.500000 +v -0.437500 0.875000 -0.437500 +v -0.437500 0.125000 -0.437500 +v -0.437500 0.875000 -0.500000 +v -0.437500 0.125000 -0.500000 +v 0.437500 0.875000 -0.437500 +v 0.437500 0.125000 -0.437500 +v 0.437500 0.875000 -0.500000 +v 0.437500 0.125000 -0.500000 +v 0.500000 0.875000 -0.437500 +v 0.500000 0.125000 -0.437500 +v 0.500000 0.875000 -0.500000 +v 0.500000 0.125000 -0.500000 +v -0.437500 0.875000 0.468750 +v -0.437500 0.125000 0.468750 +v 0.437500 0.875000 0.468750 +v 0.437500 0.125000 0.468750 +v 0.468750 0.875000 0.437500 +v 0.468750 0.125000 0.437500 +v 0.468750 0.875000 -0.437500 +v 0.468750 0.125000 -0.437500 +v 0.437500 0.875000 -0.468750 +v 0.437500 0.125000 -0.468750 +v -0.437500 0.875000 -0.468750 +v -0.437500 0.125000 -0.468750 +v -0.468750 0.875000 -0.437500 +v -0.468750 0.125000 -0.437500 +v -0.468750 0.875000 0.437500 +v -0.468750 0.125000 0.437500 +vt 0.363636 0.692308 +vt -0.000000 0.653846 +vt 0.363636 0.653846 +vt 0.363636 0.692308 +vt -0.000000 0.653846 +vt 0.363636 0.653846 +vt 0.363636 0.692308 +vt 0.000000 0.653846 +vt 0.363636 0.653846 +vt 0.363636 0.692308 +vt -0.000000 0.653846 +vt 0.363636 0.653846 +vt 0.000000 0.346154 +vt 0.363636 0.346154 +vt 0.022727 0.711538 +vt 0.000000 0.692308 +vt 0.340909 0.711538 +vt 0.022727 0.730769 +vt 0.022727 0.711538 +vt 0.000000 0.692308 +vt 0.022727 0.711538 +vt -0.000000 0.692308 +vt 0.022727 0.711538 +vt 0.000000 0.692308 +vt 0.340909 1.000000 +vt 0.340909 0.730769 +vt 0.340909 0.711538 +vt 0.022727 0.730769 +vt 0.340909 0.711538 +vt 0.022727 0.730769 +vt 0.340909 0.711538 +vt 0.022727 0.730769 +vt 0.363636 0.346154 +vt 0.000000 0.307692 +vt 0.363636 0.307692 +vt 0.000000 0.307692 +vt 0.363636 0.346154 +vt 0.000000 0.346154 +vt -0.000000 0.307692 +vt 0.363636 0.346154 +vt -0.000000 0.346154 +vt 0.363636 0.346154 +vt 0.000000 0.307692 +vt 0.363636 0.307692 +vt 0.363636 0.653846 +vt -0.000000 0.653846 +vt 0.363636 0.307692 +vt -0.000000 0.000000 +vt 0.363636 0.000000 +vt 1.000000 0.230769 +vt 0.818182 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.230769 +vt 0.818182 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.230769 +vt 0.818182 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.230769 +vt 0.818182 0.000000 +vt 1.000000 0.000000 +vt 0.568182 0.211538 +vt 0.704545 0.096154 +vt 0.704545 0.211538 +vt 0.568182 0.076923 +vt 0.681818 0.057692 +vt 0.704545 0.076923 +vt 0.727273 0.211538 +vt 0.568182 0.096154 +vt 0.568182 0.230769 +vt 0.545455 0.096154 +vt 0.681818 0.250000 +vt 0.590909 0.307692 +vt 0.590909 0.250000 +vt 0.704545 0.230769 +vt 0.545455 0.211538 +vt 0.522727 0.115385 +vt 0.727273 0.096154 +vt 0.750000 0.192308 +vt 0.704545 0.211538 +vt 0.568182 0.096154 +vt 0.704545 0.096154 +vt 0.522727 0.192308 +vt 0.454545 0.115385 +vt 0.750000 0.115385 +vt 0.818182 0.192308 +vt 0.590909 0.057692 +vt 0.681818 0.000000 +vt 0.545455 0.211538 +vt 0.522727 0.115385 +vt 0.545455 0.096154 +vt 0.704545 0.076923 +vt 0.568182 0.211538 +vt 0.727273 0.211538 +vt 0.568182 0.230769 +vt 0.750000 0.115385 +vt 0.818182 0.192308 +vt 0.750000 0.192308 +vt 0.727273 0.096154 +vt 0.704545 0.230769 +vt 0.590909 0.250000 +vt 0.568182 0.076923 +vt 0.681818 0.057692 +vt 0.681818 0.250000 +vt 0.590909 0.307692 +vt 0.590909 0.057692 +vt 0.681818 0.000000 +vt 0.522727 0.192308 +vt 0.454545 0.115385 +vt 0.568182 0.096154 +vt 0.704545 0.211538 +vt 0.568182 0.211538 +vt 0.727273 0.096154 +vt 0.750000 0.192308 +vt 0.727273 0.211538 +vt 0.568182 0.230769 +vt 0.704545 0.096154 +vt 0.545455 0.096154 +vt 0.704545 0.076923 +vt 0.522727 0.192308 +vt 0.454545 0.115385 +vt 0.522727 0.115385 +vt 0.545455 0.211538 +vt 0.568182 0.076923 +vt 0.681818 0.057692 +vt 0.704545 0.230769 +vt 0.590909 0.250000 +vt 0.568182 0.211538 +vt 0.704545 0.096154 +vt 0.704545 0.211538 +vt 0.590909 0.057692 +vt 0.681818 0.000000 +vt 0.681818 0.250000 +vt 0.590909 0.307692 +vt 0.750000 0.115385 +vt 0.818182 0.192308 +vt 0.568182 0.076923 +vt 0.681818 0.057692 +vt 0.704545 0.076923 +vt 0.727273 0.211538 +vt 0.568182 0.096154 +vt 0.568182 0.230769 +vt 0.545455 0.096154 +vt 0.681818 0.250000 +vt 0.590909 0.307692 +vt 0.590909 0.250000 +vt 0.704545 0.230769 +vt 0.545455 0.211538 +vt 0.522727 0.115385 +vt 0.727273 0.096154 +vt 0.750000 0.192308 +vt 0.522727 0.192308 +vt 0.454545 0.115385 +vt 0.750000 0.115385 +vt 0.818182 0.192308 +vt 0.590909 0.057692 +vt 0.681818 0.000000 +vt 1.000000 0.480769 +vt 0.954545 0.634615 +vt 0.954545 0.480769 +vt 1.000000 0.480769 +vt 0.954545 0.634615 +vt 0.954545 0.480769 +vt 0.909091 0.307692 +vt 0.954545 0.403846 +vt 0.909091 0.442308 +vt 1.000000 0.307692 +vt 0.954545 0.307692 +vt 0.863636 0.307692 +vt 0.818182 0.403846 +vt 0.818182 0.307692 +vt 0.863636 0.442308 +vt 0.863636 0.596154 +vt 0.818182 0.480769 +vt 0.909091 0.596154 +vt 1.000000 0.634615 +vt 0.954545 0.769231 +vt 0.909091 0.673077 +vt 0.863636 0.769231 +vt 0.863636 0.673077 +vt 0.818182 0.769231 +vt 0.818182 0.634615 +vt 0.909091 0.769231 +vt 0.909091 0.307692 +vt 0.954545 0.403846 +vt 0.909091 0.442308 +vt 1.000000 0.307692 +vt 0.954545 0.307692 +vt 0.863636 0.307692 +vt 0.818182 0.403846 +vt 0.818182 0.307692 +vt 0.863636 0.442308 +vt 0.863636 0.596154 +vt 0.818182 0.480769 +vt 0.909091 0.596154 +vt 1.000000 0.634615 +vt 0.954545 0.769231 +vt 0.909091 0.673077 +vt 0.863636 0.769231 +vt 0.863636 0.673077 +vt 0.818182 0.769231 +vt 0.818182 0.634615 +vt 0.909091 0.769231 +vt 1.000000 0.480769 +vt 0.954545 0.634615 +vt 0.954545 0.480769 +vt 1.000000 0.480769 +vt 0.954545 0.634615 +vt 0.954545 0.480769 +vt 0.909091 0.307692 +vt 0.954545 0.403846 +vt 0.909091 0.442308 +vt 1.000000 0.307692 +vt 0.954545 0.307692 +vt 0.863636 0.307692 +vt 0.818182 0.403846 +vt 0.818182 0.307692 +vt 0.863636 0.442308 +vt 0.863636 0.596154 +vt 0.818182 0.480769 +vt 0.909091 0.596154 +vt 1.000000 0.634615 +vt 0.954545 0.769231 +vt 0.909091 0.673077 +vt 0.863636 0.769231 +vt 0.863636 0.673077 +vt 0.818182 0.769231 +vt 0.818182 0.634615 +vt 0.909091 0.769231 +vt 0.909091 0.307692 +vt 0.954545 0.403846 +vt 0.909091 0.442308 +vt 1.000000 0.307692 +vt 0.954545 0.307692 +vt 0.863636 0.307692 +vt 0.818182 0.403846 +vt 0.818182 0.307692 +vt 0.863636 0.442308 +vt 0.863636 0.596154 +vt 0.818182 0.480769 +vt 0.909091 0.596154 +vt 1.000000 0.634615 +vt 0.954545 0.769231 +vt 0.909091 0.673077 +vt 0.863636 0.769231 +vt 0.863636 0.673077 +vt 0.818182 0.769231 +vt 0.818182 0.634615 +vt 0.909091 0.769231 +vt 0.590909 1.000000 +vt 0.363636 0.769231 +vt 0.590909 0.769231 +vt 0.590909 1.000000 +vt 0.363636 0.769231 +vt 0.590909 0.769231 +vt 0.590909 1.000000 +vt 0.363636 0.769231 +vt 0.590909 0.769231 +vt 0.590909 1.000000 +vt 0.363636 0.769231 +vt 0.590909 0.769231 +vt 0.363636 0.538462 +vt 0.636364 0.769231 +vt 0.363636 0.769231 +vt 0.363636 0.538462 +vt 0.636364 0.769231 +vt 0.363636 0.769231 +vt 0.636364 0.769231 +vt 0.363636 0.538462 +vt 0.636364 0.538462 +vt 0.636364 0.769231 +vt 0.363636 0.538462 +vt 0.636364 0.538462 +vt 0.454545 0.230769 +vt 0.431818 -0.000000 +vt 0.454545 -0.000000 +vt 0.386364 -0.000000 +vt 0.409091 0.230769 +vt 0.386364 0.230769 +vt 0.386364 0.230769 +vt 0.363636 -0.000000 +vt 0.386364 -0.000000 +vt 0.363636 0.230769 +vt 0.409091 -0.000000 +vt 0.431818 0.230769 +vt 0.409091 0.230769 +vt 0.409091 -0.000000 +vt 0.431818 0.230769 +vt 0.431818 -0.000000 +vt 0.454545 0.230769 +vt 0.409091 0.230769 +vt 0.431818 -0.000000 +vt 0.431818 0.230769 +vt 0.363636 -0.000000 +vt 0.386364 0.230769 +vt 0.363636 0.230769 +vt 0.386364 -0.000000 +vt 0.409091 0.230769 +vt 0.386364 0.230769 +vt 0.454545 0.230769 +vt 0.431818 0.230769 +vt 0.454545 -0.000000 +vt 0.454545 0.230769 +vt 0.386364 -0.000000 +vt 0.409091 -0.000000 +vt 0.363636 -0.000000 +vt 0.363636 0.230769 +vt 0.409091 -0.000000 +vt 0.431818 -0.000000 +vt 0.681818 0.307692 +vt 0.363636 0.538462 +vt 0.363636 0.307692 +vt 0.681818 0.307692 +vt 0.363636 0.538462 +vt 0.363636 0.307692 +vt 0.363636 0.538462 +vt 0.681818 0.307692 +vt 0.681818 0.538462 +vt 0.681818 0.307692 +vt 0.363636 0.538462 +vt 0.363636 0.307692 +vt 0.022727 1.000000 +vt 0.340909 0.730769 +vt 0.340909 0.730769 +vt 0.340909 0.730769 +vt 0.000000 0.346154 +vt 0.363636 0.307692 +vt 0.000000 0.346154 +vt 0.818182 0.230769 +vt 0.818182 0.230769 +vt 0.818182 0.230769 +vt 0.818182 0.230769 +vt 0.681818 0.307692 +vt 0.454545 0.192308 +vt 0.818182 0.115385 +vt 0.590909 0.000000 +vt 0.818182 0.115385 +vt 0.681818 0.307692 +vt 0.590909 0.000000 +vt 0.454545 0.192308 +vt 0.454545 0.192308 +vt 0.590909 0.000000 +vt 0.681818 0.307692 +vt 0.818182 0.115385 +vt 0.681818 0.307692 +vt 0.454545 0.192308 +vt 0.818182 0.115385 +vt 0.590909 0.000000 +vt 1.000000 0.403846 +vt 1.000000 0.769231 +vt 1.000000 0.403846 +vt 1.000000 0.769231 +vt 1.000000 0.403846 +vt 1.000000 0.769231 +vt 1.000000 0.403846 +vt 1.000000 0.769231 +vt 0.363636 1.000000 +vt 0.363636 1.000000 +vt 0.363636 1.000000 +vt 0.363636 1.000000 +vt 0.636364 0.538462 +vt 0.636364 0.538462 +vt 0.363636 0.769231 +vt 0.363636 0.769231 +vt 0.363636 0.230769 +vt 0.363636 -0.000000 +vt 0.454545 -0.000000 +vt 0.454545 -0.000000 +vt 0.681818 0.538462 +vt 0.681818 0.538462 +vt 0.363636 0.307692 +vt 0.681818 0.538462 +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 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/6/2 +f 8/7/3 5/8/3 7/9/3 +f 6/10/4 1/11/4 5/12/4 +f 7/9/5 1/13/5 3/14/5 +f 4/4/6 11/15/6 8/16/6 +f 11/17/1 16/18/1 12/19/1 +f 8/7/6 12/19/6 6/20/6 +f 2/1/6 10/21/6 4/22/6 +f 6/10/6 9/23/6 2/24/6 +f 14/25/6 16/18/6 15/26/6 +f 9/27/3 14/28/3 10/21/3 +f 12/29/2 13/30/2 9/23/2 +f 10/31/4 15/32/4 11/15/4 +f 18/33/1 19/34/1 17/35/1 +f 20/36/2 23/37/2 19/38/2 +f 24/39/3 21/40/3 23/41/3 +f 22/42/4 17/43/4 21/44/4 +f 23/41/5 17/45/5 19/46/5 +f 22/47/6 20/48/6 18/49/6 +f 26/50/1 27/51/1 25/52/1 +f 28/53/2 31/54/2 27/55/2 +f 32/56/3 29/57/3 31/58/3 +f 30/59/4 25/60/4 29/61/4 +f 33/62/3 36/63/3 34/64/3 +f 40/65/1 43/66/1 39/67/1 +f 36/63/2 37/68/2 34/64/2 +f 35/69/5 39/67/5 36/63/5 +f 34/64/6 38/70/6 33/62/6 +f 33/62/4 40/71/4 35/69/4 +f 41/72/6 46/73/6 42/74/6 +f 37/75/1 42/74/1 38/70/1 +f 38/76/1 44/77/1 40/71/1 +f 39/78/1 41/79/1 37/68/1 +f 49/80/1 52/81/1 50/82/1 +f 42/83/4 48/84/4 44/77/4 +f 43/85/2 45/86/2 41/79/2 +f 44/87/5 47/88/5 43/66/5 +f 56/89/3 59/90/3 55/91/3 +f 52/81/4 53/92/4 50/82/4 +f 51/93/5 55/91/5 52/81/5 +f 50/82/6 54/94/6 49/80/6 +f 49/80/2 56/95/2 51/93/2 +f 57/96/6 62/97/6 58/98/6 +f 53/99/3 58/98/3 54/94/3 +f 54/100/3 60/101/3 56/95/3 +f 55/102/3 57/103/3 53/92/3 +f 58/104/2 64/105/2 60/101/2 +f 59/106/4 61/107/4 57/103/4 +f 60/108/5 63/109/5 59/90/5 +f 65/110/2 68/111/2 66/112/2 +f 72/113/4 75/114/4 71/115/4 +f 68/111/1 69/116/1 66/112/1 +f 67/117/5 71/115/5 68/111/5 +f 66/112/6 70/118/6 65/110/6 +f 65/110/3 72/119/3 67/117/3 +f 73/120/6 78/121/6 74/122/6 +f 69/123/4 74/122/4 70/118/4 +f 70/124/4 76/125/4 72/119/4 +f 71/126/4 73/127/4 69/116/4 +f 81/128/4 84/129/4 82/130/4 +f 74/131/3 80/132/3 76/125/3 +f 75/133/1 77/134/1 73/127/1 +f 76/135/5 79/136/5 75/114/5 +f 88/137/2 91/138/2 87/139/2 +f 84/129/3 85/140/3 82/130/3 +f 83/141/5 87/139/5 84/129/5 +f 82/130/6 86/142/6 81/128/6 +f 81/128/1 88/143/1 83/141/1 +f 89/144/6 94/145/6 90/146/6 +f 85/147/2 90/146/2 86/142/2 +f 86/148/2 92/149/2 88/143/2 +f 87/150/2 89/151/2 85/140/2 +f 90/152/1 96/153/1 92/149/1 +f 91/154/3 93/155/3 89/151/3 +f 92/156/5 95/157/5 91/138/5 +f 117/158/5 122/159/5 118/160/5 +f 101/161/5 106/162/5 102/163/5 +f 100/164/2 102/165/2 104/166/2 +f 97/167/1 102/165/1 98/168/1 +f 99/169/4 101/170/4 97/171/4 +f 100/164/3 103/172/3 99/169/3 +f 104/166/6 107/173/6 103/172/6 +f 107/173/4 101/174/4 103/172/4 +f 102/163/2 108/175/2 104/166/2 +f 105/176/1 110/177/1 106/162/1 +f 108/178/3 111/179/3 107/180/3 +f 107/180/4 109/181/4 105/182/4 +f 108/178/2 110/177/2 112/183/2 +f 116/184/4 118/185/4 120/186/4 +f 113/187/3 118/185/3 114/188/3 +f 115/189/2 117/190/2 113/191/2 +f 116/184/1 119/192/1 115/189/1 +f 120/186/6 123/193/6 119/192/6 +f 123/193/2 117/194/2 119/192/2 +f 118/160/4 124/195/4 120/186/4 +f 121/196/3 126/197/3 122/159/3 +f 124/198/1 127/199/1 123/200/1 +f 123/200/2 125/201/2 121/202/2 +f 124/198/4 126/197/4 128/203/4 +f 149/204/5 154/205/5 150/206/5 +f 133/207/5 138/208/5 134/209/5 +f 132/210/1 134/211/1 136/212/1 +f 129/213/4 134/211/4 130/214/4 +f 131/215/3 133/216/3 129/217/3 +f 132/210/2 135/218/2 131/215/2 +f 136/212/6 139/219/6 135/218/6 +f 139/219/3 133/220/3 135/218/3 +f 134/209/1 140/221/1 136/212/1 +f 137/222/4 142/223/4 138/208/4 +f 140/224/2 143/225/2 139/226/2 +f 139/226/3 141/227/3 137/228/3 +f 140/224/1 142/223/1 144/229/1 +f 148/230/3 150/231/3 152/232/3 +f 145/233/2 150/231/2 146/234/2 +f 147/235/1 149/236/1 145/237/1 +f 148/230/4 151/238/4 147/235/4 +f 152/232/6 155/239/6 151/238/6 +f 155/239/1 149/240/1 151/238/1 +f 150/206/3 156/241/3 152/232/3 +f 153/242/2 158/243/2 154/205/2 +f 156/244/4 159/245/4 155/246/4 +f 155/246/1 157/247/1 153/248/1 +f 156/244/3 158/243/3 160/249/3 +f 162/250/1 163/251/1 161/252/1 +f 164/253/2 167/254/2 163/255/2 +f 168/256/3 165/257/3 167/258/3 +f 166/259/4 161/260/4 165/261/4 +f 172/262/2 175/263/2 171/264/2 +f 170/265/1 171/266/1 169/267/1 +f 176/268/3 173/269/3 175/270/3 +f 174/271/4 169/272/4 173/273/4 +f 182/274/2 177/275/2 181/276/2 +f 183/277/4 180/278/4 184/279/4 +f 190/280/2 185/281/2 189/282/2 +f 182/283/1 183/277/1 184/279/1 +f 191/284/4 188/285/4 192/286/4 +f 179/287/3 178/288/3 180/278/3 +f 187/289/3 186/290/3 188/285/3 +f 190/280/1 191/284/1 192/286/1 +f 195/291/1 194/292/1 193/293/1 +f 198/294/3 199/295/3 197/296/3 +f 206/297/3 207/298/3 205/299/3 +f 194/292/4 197/300/4 193/293/4 +f 203/301/1 202/302/1 201/303/1 +f 195/291/2 200/304/2 196/305/2 +f 202/306/4 205/299/4 201/307/4 +f 203/301/2 208/308/2 204/309/2 +f 212/310/4 209/311/4 210/312/4 +f 216/313/3 213/314/3 214/315/3 +f 220/316/2 217/317/2 218/318/2 +f 224/319/1 221/320/1 222/321/1 +f 2/1/1 4/22/1 3/2/1 +f 4/4/2 8/16/2 7/5/2 +f 8/7/3 6/20/3 5/8/3 +f 6/10/4 2/24/4 1/11/4 +f 7/9/5 5/8/5 1/13/5 +f 4/4/6 10/31/6 11/15/6 +f 11/17/1 15/26/1 16/18/1 +f 8/7/6 11/17/6 12/19/6 +f 2/1/6 9/27/6 10/21/6 +f 6/10/6 12/29/6 9/23/6 +f 14/25/6 13/322/6 16/18/6 +f 9/27/3 13/323/3 14/28/3 +f 12/29/2 16/324/2 13/30/2 +f 10/31/4 14/325/4 15/32/4 +f 18/33/1 20/326/1 19/34/1 +f 20/36/2 24/327/2 23/37/2 +f 24/39/3 22/47/3 21/40/3 +f 22/42/4 18/328/4 17/43/4 +f 23/41/5 21/40/5 17/45/5 +f 22/47/6 24/39/6 20/48/6 +f 26/50/1 28/329/1 27/51/1 +f 28/53/2 32/330/2 31/54/2 +f 32/56/3 30/331/3 29/57/3 +f 30/59/4 26/332/4 25/60/4 +f 33/62/3 35/69/3 36/63/3 +f 40/65/1 44/87/1 43/66/1 +f 36/63/2 39/78/2 37/68/2 +f 35/69/5 40/65/5 39/67/5 +f 34/64/6 37/75/6 38/70/6 +f 33/62/4 38/76/4 40/71/4 +f 41/72/6 45/333/6 46/73/6 +f 37/75/1 41/72/1 42/74/1 +f 38/76/1 42/83/1 44/77/1 +f 39/78/1 43/85/1 41/79/1 +f 49/80/1 51/93/1 52/81/1 +f 42/83/4 46/334/4 48/84/4 +f 43/85/2 47/335/2 45/86/2 +f 44/87/5 48/336/5 47/88/5 +f 56/89/3 60/108/3 59/90/3 +f 52/81/4 55/102/4 53/92/4 +f 51/93/5 56/89/5 55/91/5 +f 50/82/6 53/99/6 54/94/6 +f 49/80/2 54/100/2 56/95/2 +f 57/96/6 61/337/6 62/97/6 +f 53/99/3 57/96/3 58/98/3 +f 54/100/3 58/104/3 60/101/3 +f 55/102/3 59/106/3 57/103/3 +f 58/104/2 62/338/2 64/105/2 +f 59/106/4 63/339/4 61/107/4 +f 60/108/5 64/340/5 63/109/5 +f 65/110/2 67/117/2 68/111/2 +f 72/113/4 76/135/4 75/114/4 +f 68/111/1 71/126/1 69/116/1 +f 67/117/5 72/113/5 71/115/5 +f 66/112/6 69/123/6 70/118/6 +f 65/110/3 70/124/3 72/119/3 +f 73/120/6 77/341/6 78/121/6 +f 69/123/4 73/120/4 74/122/4 +f 70/124/4 74/131/4 76/125/4 +f 71/126/4 75/133/4 73/127/4 +f 81/128/4 83/141/4 84/129/4 +f 74/131/3 78/342/3 80/132/3 +f 75/133/1 79/343/1 77/134/1 +f 76/135/5 80/344/5 79/136/5 +f 88/137/2 92/156/2 91/138/2 +f 84/129/3 87/150/3 85/140/3 +f 83/141/5 88/137/5 87/139/5 +f 82/130/6 85/147/6 86/142/6 +f 81/128/1 86/148/1 88/143/1 +f 89/144/6 93/345/6 94/145/6 +f 85/147/2 89/144/2 90/146/2 +f 86/148/2 90/152/2 92/149/2 +f 87/150/2 91/154/2 89/151/2 +f 90/152/1 94/346/1 96/153/1 +f 91/154/3 95/347/3 93/155/3 +f 92/156/5 96/348/5 95/157/5 +f 117/158/5 121/196/5 122/159/5 +f 101/161/5 105/176/5 106/162/5 +f 100/164/2 98/168/2 102/165/2 +f 97/167/1 101/349/1 102/165/1 +f 99/169/4 103/172/4 101/170/4 +f 100/164/3 104/166/3 103/172/3 +f 104/166/6 108/175/6 107/173/6 +f 107/173/4 105/182/4 101/174/4 +f 102/163/2 106/162/2 108/175/2 +f 105/176/1 109/350/1 110/177/1 +f 108/178/3 112/183/3 111/179/3 +f 107/180/4 111/179/4 109/181/4 +f 108/178/2 106/162/2 110/177/2 +f 116/184/4 114/188/4 118/185/4 +f 113/187/3 117/351/3 118/185/3 +f 115/189/2 119/192/2 117/190/2 +f 116/184/1 120/186/1 119/192/1 +f 120/186/6 124/195/6 123/193/6 +f 123/193/2 121/202/2 117/194/2 +f 118/160/4 122/159/4 124/195/4 +f 121/196/3 125/352/3 126/197/3 +f 124/198/1 128/203/1 127/199/1 +f 123/200/2 127/199/2 125/201/2 +f 124/198/4 122/159/4 126/197/4 +f 149/204/5 153/242/5 154/205/5 +f 133/207/5 137/222/5 138/208/5 +f 132/210/1 130/214/1 134/211/1 +f 129/213/4 133/353/4 134/211/4 +f 131/215/3 135/218/3 133/216/3 +f 132/210/2 136/212/2 135/218/2 +f 136/212/6 140/221/6 139/219/6 +f 139/219/3 137/228/3 133/220/3 +f 134/209/1 138/208/1 140/221/1 +f 137/222/4 141/354/4 142/223/4 +f 140/224/2 144/229/2 143/225/2 +f 139/226/3 143/225/3 141/227/3 +f 140/224/1 138/208/1 142/223/1 +f 148/230/3 146/234/3 150/231/3 +f 145/233/2 149/355/2 150/231/2 +f 147/235/1 151/238/1 149/236/1 +f 148/230/4 152/232/4 151/238/4 +f 152/232/6 156/241/6 155/239/6 +f 155/239/1 153/248/1 149/240/1 +f 150/206/3 154/205/3 156/241/3 +f 153/242/2 157/356/2 158/243/2 +f 156/244/4 160/249/4 159/245/4 +f 155/246/1 159/245/1 157/247/1 +f 156/244/3 154/205/3 158/243/3 +f 162/250/1 164/357/1 163/251/1 +f 164/253/2 168/358/2 167/254/2 +f 168/256/3 166/359/3 165/257/3 +f 166/259/4 162/360/4 161/260/4 +f 172/262/2 176/361/2 175/263/2 +f 170/265/1 172/362/1 171/266/1 +f 176/268/3 174/363/3 173/269/3 +f 174/271/4 170/364/4 169/272/4 +f 182/274/2 178/288/2 177/275/2 +f 183/277/4 179/287/4 180/278/4 +f 190/280/2 186/365/2 185/281/2 +f 182/283/1 181/366/1 183/277/1 +f 191/284/4 187/289/4 188/285/4 +f 179/287/3 177/275/3 178/288/3 +f 187/289/3 185/367/3 186/290/3 +f 190/280/1 189/282/1 191/284/1 +f 195/291/1 196/305/1 194/292/1 +f 198/294/3 200/304/3 199/295/3 +f 206/297/3 208/308/3 207/298/3 +f 194/292/4 198/368/4 197/300/4 +f 203/301/1 204/309/1 202/302/1 +f 195/291/2 199/295/2 200/304/2 +f 202/306/4 206/297/4 205/299/4 +f 203/301/2 207/298/2 208/308/2 +f 212/310/4 211/369/4 209/311/4 +f 216/313/3 215/370/3 213/314/3 +f 220/316/2 219/371/2 217/317/2 +f 224/319/1 223/372/1 221/320/1 diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_base.png b/src/main/resources/assets/hbm/textures/blocks/anvil_base.png new file mode 100644 index 000000000..dd343f902 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_base.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_dnt.png b/src/main/resources/assets/hbm/textures/blocks/anvil_dnt.png new file mode 100644 index 000000000..d7c7df524 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_dnt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_ferrouranium.png b/src/main/resources/assets/hbm/textures/blocks/anvil_ferrouranium.png new file mode 100644 index 000000000..1a39bff99 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_ferrouranium.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_iron.png b/src/main/resources/assets/hbm/textures/blocks/anvil_iron.png new file mode 100644 index 000000000..dd343f902 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_iron.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_lead.png b/src/main/resources/assets/hbm/textures/blocks/anvil_lead.png new file mode 100644 index 000000000..049673551 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_lead.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_meteorite.png b/src/main/resources/assets/hbm/textures/blocks/anvil_meteorite.png new file mode 100644 index 000000000..ac7cea8db Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_meteorite.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_murky.png b/src/main/resources/assets/hbm/textures/blocks/anvil_murky.png new file mode 100644 index 000000000..33655cb07 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_murky.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_schrabidate.png b/src/main/resources/assets/hbm/textures/blocks/anvil_schrabidate.png new file mode 100644 index 000000000..5efbbc81f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_schrabidate.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_starmetal.png b/src/main/resources/assets/hbm/textures/blocks/anvil_starmetal.png new file mode 100644 index 000000000..07938003f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_starmetal.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_steel.png b/src/main/resources/assets/hbm/textures/blocks/anvil_steel.png new file mode 100644 index 000000000..9ce5b55e9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_anvil.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_anvil.png new file mode 100755 index 000000000..98575bddc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_anvil.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pellet_rtg_americium.png b/src/main/resources/assets/hbm/textures/items/pellet_rtg_americium.png new file mode 100644 index 000000000..090fe7429 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pellet_rtg_americium.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pellet_rtg_americium_tier2.png b/src/main/resources/assets/hbm/textures/items/pellet_rtg_americium_tier2.png new file mode 100644 index 000000000..8076bf64b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pellet_rtg_americium_tier2.png differ