diff --git a/changelog b/changelog index acd5b1383..beb97cf8c 100644 --- a/changelog +++ b/changelog @@ -1,6 +1,8 @@ ## Added * Large Radar * A giant version of the radar with 3x the scan range +* Strand caster + * Watercooled foundry basin that processes large amounts of material at once ## Changed * Nuclear craters have been reworked @@ -23,7 +25,8 @@ * Trenchmaster general damage multiplier has been halved, making it twice as strong * Updated generation rules for layers like schist and hematite, they will now only replace things tagged as stone, just like most ores * Mushroom clouds now have two additional outer condensation rings, those are not entirely finished and are still subject to change -* Small radars are now a tad cheaper +* Small radars are now a lot cheaper +* Increased crucible pouring speed by 50% ## Fixed * Fixed a rare crash caused by radars force-loading chunks conflicting with certain mods' chunk loading changes @@ -32,3 +35,5 @@ * Fixed large thermobaric artillery rocket still using the wrong slag block * Fixed some of the assembly templates having broken names due to using the wrong way of translating the output * Fixed the soyuz launcher's NEI construction recipe showing the wrong amount of blocks +* Fixed molten meteorite cobble dropping itself in addition to turning into lava +* Fixed S~Cola RAD not being radish-colored diff --git a/gradle.properties b/gradle.properties index e134592d6..a48d727f4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4837 +mod_build_number=4844 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/blocks/generic/BlockOre.java b/src/main/java/com/hbm/blocks/generic/BlockOre.java index 97aae0c8c..269f6b037 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOre.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOre.java @@ -205,6 +205,9 @@ public class BlockOre extends Block { if(this == ModBlocks.ore_cobalt || this == ModBlocks.ore_nether_cobalt) { return ModItems.fragment_cobalt; } + if(this == ModBlocks.block_meteor_molten) { + return null; + } return Item.getItemFromBlock(this); } @@ -345,8 +348,7 @@ public class BlockOre extends Block { public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int i) { if(this == ModBlocks.block_meteor_molten) { - if(!world.isRemote) - world.setBlock(x, y, z, Blocks.lava); + if(!world.isRemote) world.setBlock(x, y, z, Blocks.lava); } } } diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index ee56d55cb..a5ffef0e6 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -314,8 +314,8 @@ public class OreDictManager { GOLD.plate(plate_gold).dust(powder_gold).ore(ore_gneiss_gold); LAPIS.dust(powder_lapis); NETHERQUARTZ.gem(Items.quartz).dust(powder_quartz).ore(Blocks.quartz_ore); - DIAMOND.dust(powder_diamond).ore(gravel_diamond); - EMERALD.dust(powder_emerald); + DIAMOND.dust(powder_diamond).ore(gravel_diamond, ore_sellafield_diamond); + EMERALD.dust(powder_emerald, ore_sellafield_emerald); /* * RADIOACTIVE diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java b/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java index a2e959621..f30b6d7a1 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java @@ -2,7 +2,6 @@ package com.hbm.inventory.gui; import com.hbm.inventory.container.ContainerMachineStrandCaster; import com.hbm.inventory.material.Mats; -import com.hbm.inventory.material.NTMMaterial.SmeltingBehavior; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineStrandCaster; import com.hbm.util.I18nUtil; @@ -21,78 +20,77 @@ import java.util.List; public class GUIMachineStrandCaster extends GuiInfoContainer { - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_strand_caster.png"); - private TileEntityMachineStrandCaster caster; + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_strand_caster.png"); + private TileEntityMachineStrandCaster caster; - public GUIMachineStrandCaster(InventoryPlayer invPlayer, TileEntityMachineStrandCaster tedf) { - super(new ContainerMachineStrandCaster(invPlayer, tedf)); - caster = tedf; + public GUIMachineStrandCaster(InventoryPlayer invPlayer, TileEntityMachineStrandCaster tedf) { + super(new ContainerMachineStrandCaster(invPlayer, tedf)); + caster = tedf; - this.xSize = 176; - this.ySize = 214; - } + this.xSize = 176; + this.ySize = 214; + } - @Override - public void drawScreen(int x, int y, float interp) { - super.drawScreen(x, y, interp); + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); - drawStackInfo(x, y, 16, 17); + drawStackInfo(x, y, 16, 17); - caster.water.renderTankInfo(this, x, y, guiLeft + 82, guiTop + 14, 16, 24); - caster.steam.renderTankInfo(this, x, y, guiLeft + 82, guiTop + 64, 16, 24); - } + caster.water.renderTankInfo(this, x, y, guiLeft + 82, guiTop + 14, 16, 24); + caster.steam.renderTankInfo(this, x, y, guiLeft + 82, guiTop + 65, 16, 24); + } - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.caster.hasCustomInventoryName() ? this.caster.getInventoryName() : I18n.format(this.caster.getInventoryName()); + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.caster.hasCustomInventoryName() ? this.caster.getInventoryName() : I18n.format(this.caster.getInventoryName()); - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 4, 0xffffff); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 4, 0xffffff); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - if (caster.amount != 0) { + if(caster.amount != 0) { - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - int targetHeight = Math.min((caster.amount) * 79 / caster.getCapacity(), 92); + int targetHeight = Math.min((caster.amount) * 79 / caster.getCapacity(), 92); - int hex = caster.type.moltenColor; - //hex = 0xC18336; - Color color = new Color(hex); - GL11.glColor3f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F); - drawTexturedModalRect(guiLeft + 17, guiTop + 93 - targetHeight, 176, 89 - targetHeight, 34, targetHeight); - GL11.glEnable(GL11.GL_BLEND); - GL11.glColor4f(1F, 1F, 1F, 0.3F); - drawTexturedModalRect(guiLeft + 17, guiTop + 93 - targetHeight, 176, 89 - targetHeight, 34, targetHeight); - GL11.glDisable(GL11.GL_BLEND); + int hex = caster.type.moltenColor; + // hex = 0xC18336; + Color color = new Color(hex); + GL11.glColor3f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F); + drawTexturedModalRect(guiLeft + 17, guiTop + 93 - targetHeight, 176, 89 - targetHeight, 34, targetHeight); + GL11.glEnable(GL11.GL_BLEND); + GL11.glColor4f(1F, 1F, 1F, 0.3F); + drawTexturedModalRect(guiLeft + 17, guiTop + 93 - targetHeight, 176, 89 - targetHeight, 34, targetHeight); + GL11.glDisable(GL11.GL_BLEND); - } - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glColor3f(255, 255, 255); + } + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor3f(255, 255, 255); - caster.water.renderTank(guiLeft + 82, guiTop + 38, this.zLevel, 16, 24); - caster.steam.renderTank(guiLeft + 82, guiTop + 90, this.zLevel, 16, 24); + caster.water.renderTank(guiLeft + 82, guiTop + 38, this.zLevel, 16, 24); + caster.steam.renderTank(guiLeft + 82, guiTop + 89, this.zLevel, 16, 24); - } + } + protected void drawStackInfo(int mouseX, int mouseY, int x, int y) { - protected void drawStackInfo(int mouseX, int mouseY, int x, int y) { + List list = new ArrayList(); - List list = new ArrayList(); - - if (caster.type == null) list.add(EnumChatFormatting.RED + "Empty"); - else - list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey(caster.type.getUnlocalizedName()) + ": " + Mats.formatAmount(caster.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))); - - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + x, guiTop + y, 36, 81, mouseX, mouseY, list); - } + if(caster.type == null) + list.add(EnumChatFormatting.RED + "Empty"); + else + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey(caster.type.getUnlocalizedName()) + ": " + Mats.formatAmount(caster.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + x, guiTop + y, 36, 81, mouseX, mouseY, list); + } } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index a5cbbc5ea..89362f753 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4837)"; + public static final String VERSION = "1.0.27 BETA (4844)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/render/tileentity/RenderRadarScreen.java b/src/main/java/com/hbm/render/tileentity/RenderRadarScreen.java index 92342b53b..90130463e 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRadarScreen.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRadarScreen.java @@ -56,6 +56,7 @@ public class RenderRadarScreen extends TileEntitySpecialRenderer implements IIte GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glShadeModel(GL11.GL_SMOOTH); tess.draw(); diff --git a/src/main/java/com/hbm/render/tileentity/RenderStrandCaster.java b/src/main/java/com/hbm/render/tileentity/RenderStrandCaster.java index 6d9579ab0..5655e97fc 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderStrandCaster.java +++ b/src/main/java/com/hbm/render/tileentity/RenderStrandCaster.java @@ -16,7 +16,6 @@ import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; -import java.awt.*; import java.nio.DoubleBuffer; public class RenderStrandCaster extends TileEntitySpecialRenderer implements IItemRendererProvider { @@ -70,7 +69,7 @@ public class RenderStrandCaster extends TileEntitySpecialRenderer implements IIt buf.put(new double[] { 0, 0, -1, 0.5} ); buf.rewind(); GL11.glClipPlane(GL11.GL_CLIP_PLANE0, buf); - GL11.glTranslated(0,0,-offset + 3.4); + GL11.glTranslated(0,0,Math.max(-offset + 3.4, 0)); ResourceManager.strand_caster.renderPart("plate"); GL11.glDisable(GL11.GL_CLIP_PLANE0); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java index 5b8d04cc7..7b99b1719 100644 --- a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java +++ b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java @@ -45,6 +45,7 @@ public class RenderAccessoryUtility { private static ResourceLocation vaer = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeVaer.png"); private static ResourceLocation adam = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeAdam.png"); private static ResourceLocation alcater = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeAlcater.png"); + private static ResourceLocation jame = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeJame.png"); public static ResourceLocation getCloakFromPlayer(EntityPlayer player) { @@ -127,6 +128,9 @@ public class RenderAccessoryUtility { if(uuid.equals(Library.Alcater)) { return alcater; } + if(uuid.equals(Library.ege444)) { + return jame; + } if(Library.contributors.contains(uuid)) { return wiki; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java index 62f04d8e4..8a73e683f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java @@ -34,300 +34,299 @@ import net.minecraftforge.common.util.ForgeDirection; //god thank you bob for this base class public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase implements IGUIProvider, ICrucibleAcceptor, ISidedInventory, IFluidStandardTransceiver, INBTPacketReceiver, IInventory { - public FluidTank water; - public FluidTank steam; + public FluidTank water; + public FluidTank steam; - public String getName() { - return "container.machineStrandCaster"; - } + public String getName() { + return "container.machineStrandCaster"; + } - @Override - public String getInventoryName() { - return getName(); - } + @Override + public String getInventoryName() { + return getName(); + } - public TileEntityMachineStrandCaster() { - super(7); - water = new FluidTank(Fluids.WATER, 64_000); - steam = new FluidTank(Fluids.SPENTSTEAM, 64_000); - } + public TileEntityMachineStrandCaster() { + super(7); + water = new FluidTank(Fluids.WATER, 64_000); + steam = new FluidTank(Fluids.SPENTSTEAM, 64_000); + } + @Override + public void updateEntity() { - @Override - public void updateEntity() { + if(!worldObj.isRemote) { - if (!worldObj.isRemote) { + if(this.lastType != this.type || this.lastAmount != this.amount) { + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + this.lastType = this.type; + this.lastAmount = this.amount; + } - if (this.lastType != this.type || this.lastAmount != this.amount) { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - this.lastType = this.type; - this.lastAmount = this.amount; - } + if(this.amount >= this.getCapacity()) { + // In case of overfill problems, spit out the excess as scrap + if(amount > getCapacity()) { + ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(type, amount)); + EntityItem item = new EntityItem(worldObj, xCoord + 0.5, yCoord + 2, zCoord + 0.5, scrap); + worldObj.spawnEntityInWorld(item); + } + this.amount = this.getCapacity(); - if (this.amount >= this.getCapacity()) { - //In case of overfill problems, spit out the excess as scrap - if (amount > getCapacity()) { - ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(type, amount)); - EntityItem item = new EntityItem(worldObj, xCoord + 0.5, yCoord + 2, zCoord + 0.5, scrap); - worldObj.spawnEntityInWorld(item); - } - this.amount = this.getCapacity(); + } - } + if(this.amount == 0) { + this.type = null; + } - if (this.amount == 0) { - this.type = null; - } + this.updateConnections(); - this.updateConnections(); + ItemMold.Mold mold = this.getInstalledMold(); - ItemMold.Mold mold = this.getInstalledMold(); + if(canProcess()) { - if (canProcess()) { + int itemsCasted = Math.min(amount / mold.getCost(), 9); - int itemsCasted = Math.min(amount / mold.getCost(), 9); + for(int j = 0; j < itemsCasted; j++) { + this.amount -= mold.getCost(); - for (int j = 0; j < itemsCasted; j++) { - this.amount -= mold.getCost(); + ItemStack out = mold.getOutput(type); - ItemStack out = mold.getOutput(type); - - for (int i = 1; i < 7; i++) { - if (slots[i] == null) { - slots[i] = out.copy(); - break; - } - - if (slots[i].isItemEqual(out) && slots[i].stackSize + out.stackSize <= out.getMaxStackSize()) { - slots[i].stackSize += out.stackSize; - break; - } - - } - } - markChanged(); - - water.setFill(water.getFill() - getWaterRequired() * itemsCasted); - steam.setFill(steam.getFill() + getWaterRequired() * itemsCasted); - } - } - - NBTTagCompound data = new NBTTagCompound(); - - water.writeToNBT(data, "w"); - steam.writeToNBT(data, "s"); - - this.networkPack(data, 150); - - } - - public boolean canProcess() { - ItemMold.Mold mold = this.getInstalledMold(); - if (type != null && mold != null && this.amount >= mold.getCost() * 9 && mold.getOutput(type) != null) { - for (int i = 1; i < 7; i++) { - if (slots[i] == null || slots[i].isItemEqual(mold.getOutput(type)) && slots[i].stackSize + mold.getOutput(type).stackSize <= mold.getOutput(type).getMaxStackSize()) - return water.getFill() >= getWaterRequired() && steam.getFill() < steam.getMaxFill(); - - } - } - - return false; - } - - public DirPos[] getFluidConPos() { - - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); - ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - return new DirPos[]{ - new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ, rot), - new DirPos(xCoord - rot.offsetX - dir.offsetX, yCoord, zCoord - rot.offsetZ - dir.offsetZ, rot.getOpposite()), - new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX * 5, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ * 5, rot), - new DirPos(xCoord - rot.offsetX - dir.offsetX * 5, yCoord, zCoord - rot.offsetZ + dir.offsetZ * 5, rot.getOpposite()), - }; - } - - public int[][] getMetalPourPos() { - - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); - ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - return new int[][]{ - new int[]{xCoord + rot.offsetX - dir.offsetX, yCoord + 2, zCoord + rot.offsetZ - dir.offsetZ}, - new int[]{xCoord - dir.offsetX, yCoord + 2, zCoord - dir.offsetZ}, - new int[]{xCoord + rot.offsetX, yCoord + 2, zCoord + rot.offsetZ}, - new int[]{xCoord, yCoord + 2, zCoord}, - }; - } - - @Override - public ItemMold.Mold getInstalledMold() { - if (slots[0] == null) return null; - - if (slots[0].getItem() == ModItems.mold) { - return ((ItemMold) slots[0].getItem()).getMold(slots[0]); - } - - return null; - } - - @Override - public int getMoldSize() { - return getInstalledMold().size; - } - - @Override - public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { - - if (side != ForgeDirection.UP) return false; - for (int[] pos : getMetalPourPos()) { - if (pos[0] == x && pos[1] == y && pos[2] == z) { - return this.standardCheck(world, x, y, z, side, stack); - } - } - return false; - - } - - @Override - public boolean standardCheck(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { - if (this.type != null && this.type != stack.material) return false; - return !(this.amount >= this.getCapacity() || getInstalledMold() == null); - } - - @Override - public int getCapacity() { - ItemMold.Mold mold = this.getInstalledMold(); - return mold == null ? 50000 : mold.getCost() * 10; - } - - private int getWaterRequired() { - return getInstalledMold() != null ? 5 * getInstalledMold().getCost() : 50; - } - - private void updateConnections() { - for (DirPos pos : getFluidConPos()) { - this.trySubscribe(water.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - } - for (DirPos pos : getFluidConPos()) { - sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - } - } - - @Override - public FluidTank[] getSendingTanks() { - return new FluidTank[]{steam}; - } - - @Override - public FluidTank[] getReceivingTanks() { - return new FluidTank[]{water}; - } - - @Override - public FluidTank[] getAllTanks() { - return new FluidTank[]{water, steam}; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerMachineStrandCaster(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIMachineStrandCaster(player.inventory, this); - } - - public void networkPack(NBTTagCompound nbt, int range) { - if (!worldObj.isRemote) - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); - } - - @Override - public void networkUnpack(NBTTagCompound nbt) { - water.readFromNBT(nbt, "w"); - steam.readFromNBT(nbt, "s"); - - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - water.writeToNBT(nbt, "w"); - steam.writeToNBT(nbt, "s"); - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - water.readFromNBT(nbt, "w"); - steam.readFromNBT(nbt, "s"); - } - - @Override - public boolean isItemValidForSlot(int i, ItemStack stack) { - - if (i == 0) { - return stack.getItem() == ModItems.mold; - } - - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() { - return 65536.0D; - } - - @Override - public int[] getAccessibleSlotsFromSide(int meta) { - return new int[]{1, 2, 3, 4, 5, 6}; - } - - public void markChanged() { - this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { - return false; - } else { - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 128; - } - } - - - @Override - public boolean canInsertItem(int slot, ItemStack itemStack, int side) { - return this.isItemValidForSlot(slot, itemStack); - } - - @Override - public boolean canExtractItem(int slot, ItemStack itemStack, int side) { - return !this.isItemValidForSlot(slot, itemStack); - } - - AxisAlignedBB bb = null; - - @Override - public AxisAlignedBB getRenderBoundingBox() { - - if (bb == null) { - bb = AxisAlignedBB.getBoundingBox( - xCoord - 7, - yCoord, - zCoord - 7, - xCoord + 7, - yCoord + 3, - zCoord + 7 - ); - } - return bb; - } + for(int i = 1; i < 7; i++) { + if(slots[i] == null) { + slots[i] = out.copy(); + break; + } + if(slots[i].isItemEqual(out) && slots[i].stackSize + out.stackSize <= out.getMaxStackSize()) { + slots[i].stackSize += out.stackSize; + break; + } + + } + } + markChanged(); + + water.setFill(water.getFill() - getWaterRequired() * itemsCasted); + steam.setFill(steam.getFill() + getWaterRequired() * itemsCasted); + } + } + + NBTTagCompound data = new NBTTagCompound(); + + water.writeToNBT(data, "w"); + steam.writeToNBT(data, "s"); + + this.networkPack(data, 150); + + } + + public boolean canProcess() { + ItemMold.Mold mold = this.getInstalledMold(); + if(type != null && mold != null && this.amount >= mold.getCost() * 9 && mold.getOutput(type) != null) { + for(int i = 1; i < 7; i++) { + if(slots[i] == null || slots[i].isItemEqual(mold.getOutput(type)) && slots[i].stackSize + mold.getOutput(type).stackSize <= mold.getOutput(type).getMaxStackSize()) + return water.getFill() >= getWaterRequired() && steam.getFill() < steam.getMaxFill(); + + } + } + + return false; + } + + public DirPos[] getFluidConPos() { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + return new DirPos[] { + new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ, rot), + new DirPos(xCoord - rot.offsetX - dir.offsetX, yCoord, zCoord - rot.offsetZ - dir.offsetZ, rot.getOpposite()), + new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX * 5, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ * 5, rot), + new DirPos(xCoord - rot.offsetX - dir.offsetX * 5, yCoord, zCoord - rot.offsetZ + dir.offsetZ * 5, rot.getOpposite()) + }; + } + + public int[][] getMetalPourPos() { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + return new int[][] { + new int[] { xCoord + rot.offsetX - dir.offsetX, yCoord + 2, zCoord + rot.offsetZ - dir.offsetZ }, + new int[] { xCoord - dir.offsetX, yCoord + 2, zCoord - dir.offsetZ }, + new int[] { xCoord + rot.offsetX, yCoord + 2, zCoord + rot.offsetZ }, + new int[] { xCoord, yCoord + 2, zCoord } + }; + } + + @Override + public ItemMold.Mold getInstalledMold() { + if(slots[0] == null) + return null; + + if(slots[0].getItem() == ModItems.mold) { + return ((ItemMold) slots[0].getItem()).getMold(slots[0]); + } + + return null; + } + + @Override + public int getMoldSize() { + return getInstalledMold().size; + } + + @Override + public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { + + if(side != ForgeDirection.UP) + return false; + for(int[] pos : getMetalPourPos()) { + if(pos[0] == x && pos[1] == y && pos[2] == z) { + return this.standardCheck(world, x, y, z, side, stack); + } + } + return false; + + } + + @Override + public boolean standardCheck(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { + if(this.type != null && this.type != stack.material) + return false; + return !(this.amount >= this.getCapacity() || getInstalledMold() == null); + } + + @Override + public int getCapacity() { + ItemMold.Mold mold = this.getInstalledMold(); + return mold == null ? 50000 : mold.getCost() * 10; + } + + private int getWaterRequired() { + return getInstalledMold() != null ? 5 * getInstalledMold().getCost() : 50; + } + + private void updateConnections() { + for(DirPos pos : getFluidConPos()) { + this.trySubscribe(water.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + for(DirPos pos : getFluidConPos()) { + sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } + + @Override + public FluidTank[] getSendingTanks() { + return new FluidTank[] { steam }; + } + + @Override + public FluidTank[] getReceivingTanks() { + return new FluidTank[] { water }; + } + + @Override + public FluidTank[] getAllTanks() { + return new FluidTank[] { water, steam }; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineStrandCaster(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineStrandCaster(player.inventory, this); + } + + public void networkPack(NBTTagCompound nbt, int range) { + if(!worldObj.isRemote) + PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); + } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + water.readFromNBT(nbt, "w"); + steam.readFromNBT(nbt, "s"); + + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + water.writeToNBT(nbt, "w"); + steam.writeToNBT(nbt, "s"); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + water.readFromNBT(nbt, "w"); + steam.readFromNBT(nbt, "s"); + } + + @Override + public boolean isItemValidForSlot(int i, ItemStack stack) { + + if(i == 0) { + return stack.getItem() == ModItems.mold; + } + + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public int[] getAccessibleSlotsFromSide(int meta) { + return new int[] { 1, 2, 3, 4, 5, 6 }; + } + + public void markChanged() { + this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { + return false; + } else { + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 128; + } + } + + @Override + public boolean canInsertItem(int slot, ItemStack itemStack, int side) { + return this.isItemValidForSlot(slot, itemStack); + } + + @Override + public boolean canExtractItem(int slot, ItemStack itemStack, int side) { + return !this.isItemValidForSlot(slot, itemStack); + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 7, + yCoord, + zCoord - 7, + xCoord + 7, + yCoord + 3, + zCoord + 7); + } + return bb; + } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 5076c1fd6..d89423eae 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -4299,6 +4299,10 @@ tile.ore_random.name=%s-Erz tile.ore_rare.name=Seltenerden-Erz tile.ore_reiium.name=Reiit tile.ore_schrabidium.name=Schrabidiumerz +tile.ore_sellafield_diamond.name=Sellafit-Diamanterz +tile.ore_sellafield_emerald.name=Sellafit-Smaragderz +tile.ore_sellafield_schrabidium.name=Sellafit-Schrabidiumerz +tile.ore_sellafield_uranium_scorched.name=Verschmortes Sellafit-Uranerz tile.ore_sulfur.name=Schwefelerz tile.ore_tektite_osmiridium.name=Osmiridiumreiches Tektit tile.ore_thorium.name=Thoriumerz diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index e8a6504bc..37c9c6234 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -5291,6 +5291,10 @@ tile.ore_random.name=%s Ore tile.ore_rare.name=Rare Earth Ore tile.ore_reiium.name=Reiite tile.ore_schrabidium.name=Schrabidium Ore +tile.ore_sellafield_diamond.name=Sellafite Diamond Ore +tile.ore_sellafield_emerald.name=Sellafite Emerald Ore +tile.ore_sellafield_schrabidium.name=Sellafite Schrabidium Ore +tile.ore_sellafield_uranium_scorched.name=Scorched Sellafite Uranium Ore tile.ore_sulfur.name=Sulfur Ore tile.ore_tektite_osmiridium.name=Osmiridium-Infused Tektite tile.ore_thorium.name=Thorium Ore diff --git a/src/main/resources/assets/hbm/models/machines/strand_caster.obj b/src/main/resources/assets/hbm/models/machines/strand_caster.obj index 2a009d538..eb3b63b98 100644 --- a/src/main/resources/assets/hbm/models/machines/strand_caster.obj +++ b/src/main/resources/assets/hbm/models/machines/strand_caster.obj @@ -1,11 +1,55 @@ -# Blender 3.6.1 +# Blender v2.79 (sub 0) OBJ File: 'strand_caster.blend' # www.blender.org -mtllib strand_caster.mtl +o plate +v -0.500000 0.937500 -1.500000 +v 0.500000 0.937500 -1.500000 +v -0.500000 0.937500 -5.250000 +v 0.500000 0.937500 -5.250000 +v -0.500000 1.062500 -5.250000 +v -0.500000 1.062500 -1.500000 +v 0.500000 1.062500 -1.500000 +v 0.500000 1.062500 -5.250000 +vt 0.890625 0.566667 +vt 0.656250 0.700000 +vt 0.656250 0.566667 +vt 0.656250 0.566667 +vt 0.890625 0.700000 +vt 0.656250 0.700000 +vt 0.664062 0.700000 +vt 0.656250 0.566667 +vt 0.664062 0.566667 +vt 0.890625 0.683333 +vt 0.656250 0.700000 +vt 0.656250 0.683333 +vt 0.656250 0.583333 +vt 0.890625 0.566667 +vt 0.890625 0.583333 +vt 0.890625 0.700000 +vt 0.890625 0.566667 +vt 0.656250 0.700000 +vt 0.890625 0.700000 +vt 0.656250 0.566667 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 3/1/1 2/2/1 1/3/1 +f 7/4/2 5/5/2 6/6/2 +f 3/7/3 8/8/3 4/9/3 +f 4/10/4 7/11/4 2/12/4 +f 1/13/5 5/14/5 3/15/5 +f 3/1/1 4/16/1 2/2/1 +f 7/4/2 8/17/2 5/5/2 +f 3/7/3 5/18/3 8/8/3 +f 4/10/4 8/19/4 7/11/4 +f 1/13/5 6/20/5 5/14/5 o caster v -1.000000 0.000000 1.000000 v 1.000000 0.000000 1.000000 -v -1.000000 -0.000000 -6.000000 -v 1.000000 -0.000000 -6.000000 +v -1.000000 0.000000 -6.000000 +v 1.000000 0.000000 -6.000000 v -1.000000 0.750000 -6.000000 v -1.000000 0.750000 1.000000 v 1.000000 0.750000 1.000000 @@ -32,12 +76,14 @@ v -0.750000 2.000000 -0.750000 v 0.750000 2.000000 -0.750000 v -0.750000 0.500000 -1.500000 v -0.750000 0.500000 0.750000 +v 0.750000 0.500000 0.750000 v 0.750000 0.500000 -1.500000 v -0.750000 0.750000 -5.750000 v -0.750000 0.750000 0.750000 v 0.750000 0.750000 0.750000 v 0.750000 0.750000 -5.750000 v -0.750000 0.500000 -5.750000 +v -0.750000 0.500000 0.750000 v 0.750000 0.500000 0.750000 v 0.750000 0.500000 -5.750000 v 0.750000 1.250000 -1.500000 @@ -266,8 +312,8 @@ v 0.750000 0.750000 -0.125000 v 0.750000 2.000000 -0.125000 v 0.838388 0.750000 -0.088388 v 0.838388 2.000000 -0.088388 -v 0.875000 0.750000 -0.000000 -v 0.875000 2.000000 -0.000000 +v 0.875000 0.750000 0.000000 +v 0.875000 2.000000 0.000000 v 0.838388 0.750000 0.088388 v 0.838388 2.000000 0.088388 v 0.750000 0.750000 0.125000 @@ -298,8 +344,8 @@ v -0.750000 0.750000 0.125000 v -0.750000 2.000000 0.125000 v -0.838388 0.750000 0.088388 v -0.838388 2.000000 0.088388 -v -0.875000 0.750000 -0.000000 -v -0.875000 2.000000 -0.000000 +v -0.875000 0.750000 0.000000 +v -0.875000 2.000000 0.000000 v -0.838388 0.750000 -0.088388 v -0.838388 2.000000 -0.088388 v -0.750000 0.750000 0.375000 @@ -322,49 +368,6 @@ v -0.875000 0.750000 -0.500000 v -0.875000 2.000000 -0.500000 v -0.838388 0.750000 -0.588388 v -0.838388 2.000000 -0.588388 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn -0.0000 -0.0000 1.0000 -vn 1.0000 -0.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 0.7071 -0.7071 -vn -0.0000 -0.7071 0.7071 -vn -0.0000 -0.7071 -0.7071 -vn -0.0000 0.7071 0.7071 -vn -0.7311 0.2611 0.6303 -vn -0.9955 -0.0000 -0.0949 -vn -0.9947 -0.0393 -0.0948 -vn -0.6333 -0.2962 -0.7150 -vn -0.0000 -0.3827 -0.9239 -vn 0.6333 -0.2962 -0.7150 -vn 0.9955 -0.0000 -0.0949 -vn 0.7311 0.2611 0.6303 -vn 0.9947 -0.0393 -0.0948 -vn -0.6630 -0.0000 -0.7486 -vn 0.6630 -0.0000 -0.7486 -vn 0.6794 0.4063 -0.6110 -vn 0.9987 0.0196 -0.0473 -vn 0.7574 -0.0000 0.6530 -vn -0.9987 0.0196 -0.0473 -vn -0.7263 -0.3800 0.5728 -vn -0.7574 -0.0000 0.6530 -vn -0.6794 0.4063 -0.6110 -vn -0.0000 -0.5562 0.8311 -vn 0.7263 -0.3800 0.5728 -vn 0.7071 -0.5000 0.5000 -vn -0.7071 -0.5000 0.5000 -vn -0.0000 0.5628 -0.8266 -vn -0.7071 0.5000 -0.5000 -vn 0.3827 -0.0000 -0.9239 -vn 0.7071 -0.0000 -0.7071 -vn 0.7071 -0.0000 0.7071 -vn 0.3827 -0.0000 0.9239 -vn -0.3827 -0.0000 0.9239 -vn -0.7071 -0.0000 0.7071 -vn -0.7071 -0.0000 -0.7071 -vn -0.3827 -0.0000 -0.9239 -vn 0.7071 0.5000 -0.5000 vt 0.484375 0.100000 vt 0.046875 0.366667 vt 0.046875 0.100000 @@ -379,13 +382,34 @@ vt 0.484375 -0.000000 vt 0.656250 0.600000 vt 0.531250 0.466667 vt 0.656250 0.466667 +vt 0.656250 0.466667 +vt 0.531250 0.600000 +vt 0.531250 0.466667 +vt 0.531250 0.466667 +vt 0.656250 0.600000 vt 0.531250 0.600000 vt 0.531250 0.200000 +vt 0.656250 0.466667 +vt 0.656250 0.600000 +vt 0.531250 0.466667 +vt 0.656250 0.466667 vt 0.539062 0.616667 +vt 0.531250 0.600000 vt 0.648438 0.616667 vt 0.539062 0.733333 +vt 0.539062 0.616667 +vt 0.656250 0.600000 +vt 0.539062 0.616667 +vt 0.539062 0.616667 +vt 0.531250 0.600000 +vt 0.539062 0.733333 vt 0.648438 0.966667 vt 0.539062 0.966667 +vt 0.648438 0.616667 +vt 0.539062 0.733333 +vt 0.648438 0.616667 +vt 0.648438 0.616667 +vt 0.539062 0.733333 vt 0.468750 0.733333 vt 0.062500 0.766667 vt 0.062500 0.733333 @@ -401,7 +425,7 @@ vt 0.765625 0.100000 vt 0.906250 0.200000 vt 1.000000 -0.000000 vt 1.000000 0.200000 -vt 0.058594 0.500000 +vt 0.062500 0.500000 vt 0.468750 0.700000 vt 0.468750 0.966667 vt 0.062500 0.966667 @@ -425,6 +449,7 @@ vt 0.695312 0.450000 vt 0.687500 0.450000 vt 0.695312 0.466667 vt 0.679688 0.450000 +vt 0.695312 0.450000 vt 0.835938 0.550000 vt 0.851562 0.566667 vt 0.835938 0.566667 @@ -433,10 +458,37 @@ vt 0.656250 0.516667 vt 0.656250 0.500000 vt 0.695312 0.433333 vt 0.835938 0.450000 +vt 0.695312 0.450000 vt 0.835938 0.433333 vt 0.843750 0.450000 +vt 0.695312 0.466667 +vt 0.679688 0.500000 +vt 0.851562 0.500000 +vt 0.679688 0.450000 +vt 0.695312 0.450000 vt 0.835938 0.466667 vt 0.851562 0.450000 +vt 0.695312 0.433333 +vt 0.835938 0.450000 +vt 0.679688 0.516667 +vt 0.835938 0.550000 +vt 0.851562 0.566667 +vt 0.835938 0.566667 +vt 0.656250 0.516667 +vt 0.656250 0.500000 +vt 0.695312 0.550000 +vt 0.679688 0.566667 +vt 0.835938 0.466667 +vt 0.851562 0.450000 +vt 0.835938 0.433333 +vt 0.843750 0.450000 +vt 0.687500 0.433333 +vt 0.687500 0.450000 +vt 0.875000 0.500000 +vt 0.851562 0.516667 +vt 0.902344 0.391667 +vt 0.667969 0.408333 +vt 0.667969 0.391667 vt 0.902344 0.391667 vt 0.667969 0.408333 vt 0.667969 0.391667 @@ -445,19 +497,37 @@ vt 0.914062 0.408333 vt 0.902344 0.408333 vt 0.656250 0.391667 vt 0.667969 0.433333 +vt 0.902344 0.408333 +vt 0.667969 0.433333 +vt 0.914062 0.408333 +vt 0.656250 0.391667 +vt 0.902344 0.366667 vt 0.531250 0.100000 vt 0.000000 0.366667 vt 0.046875 -0.000000 vt 0.656250 0.200000 vt 0.648438 0.733333 -vt 0.621094 0.200000 +vt 0.648438 0.733333 +vt 0.648438 0.733333 +vt 0.648438 0.733333 +vt 0.625000 0.200000 +vt 0.531250 0.200000 vt 0.695312 0.566667 vt 0.875000 0.516667 vt 0.843750 0.433333 +vt 0.835938 0.450000 +vt 0.695312 0.566667 +vt 0.835938 0.450000 +vt 0.843750 0.433333 +vt 0.875000 0.516667 vt 0.667969 0.366667 vt 0.914062 0.391667 vt 0.656250 0.408333 vt 0.902344 0.433333 +vt 0.902344 0.433333 +vt 0.914062 0.391667 +vt 0.656250 0.408333 +vt 0.667969 0.366667 vt 0.921875 0.200000 vt 0.929688 0.400000 vt 0.921875 0.400000 @@ -469,11 +539,113 @@ vt 0.945312 0.400000 vt 0.937500 0.400000 vt 0.968750 0.200000 vt 0.976562 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.937500 0.400000 +vt 0.929688 0.200000 +vt 0.929688 0.400000 +vt 0.914062 0.200000 +vt 0.921875 0.400000 +vt 0.914062 0.400000 +vt 0.921875 0.200000 +vt 0.921875 0.400000 +vt 0.921875 0.200000 +vt 0.929688 0.400000 +vt 0.914062 0.200000 +vt 0.914062 0.400000 +vt 0.929688 0.200000 +vt 0.937500 0.400000 +vt 0.953125 0.200000 +vt 0.960938 0.400000 +vt 0.953125 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.968750 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.960938 0.200000 +vt 0.945312 0.200000 +vt 0.953125 0.400000 +vt 0.929688 0.200000 +vt 0.945312 0.200000 +vt 0.953125 0.200000 +vt 0.914062 0.200000 +vt 0.914062 0.400000 +vt 0.953125 0.200000 +vt 0.960938 0.400000 +vt 0.953125 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.968750 0.400000 +vt 0.960938 0.200000 +vt 0.945312 0.200000 +vt 0.921875 0.200000 +vt 0.929688 0.400000 +vt 0.921875 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.937500 0.400000 vt 0.929688 0.200000 vt 0.914062 0.200000 vt 0.914062 0.400000 vt 0.953125 0.200000 +vt 0.960938 0.400000 vt 0.953125 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.968750 0.400000 +vt 0.960938 0.200000 +vt 0.945312 0.200000 +vt 0.921875 0.200000 +vt 0.929688 0.400000 +vt 0.921875 0.400000 +vt 0.960938 0.200000 +vt 0.968750 0.400000 +vt 0.960938 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.937500 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.937500 0.400000 +vt 0.929688 0.200000 +vt 0.929688 0.400000 +vt 0.914062 0.200000 +vt 0.921875 0.400000 +vt 0.914062 0.400000 +vt 0.921875 0.200000 +vt 0.921875 0.400000 +vt 0.921875 0.200000 +vt 0.929688 0.400000 +vt 0.914062 0.200000 +vt 0.914062 0.400000 +vt 0.929688 0.200000 +vt 0.937500 0.400000 +vt 0.953125 0.200000 +vt 0.960938 0.400000 +vt 0.953125 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.968750 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.960938 0.200000 +vt 0.945312 0.200000 +vt 0.953125 0.400000 +vt 0.929688 0.200000 +vt 0.945312 0.200000 +vt 0.953125 0.200000 +vt 0.914062 0.200000 +vt 0.914062 0.400000 +vt 0.953125 0.200000 +vt 0.960938 0.400000 +vt 0.953125 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.968750 0.400000 +vt 0.960938 0.200000 vt 0.945312 0.200000 vt 0.695312 0.341667 vt 0.703125 0.333333 @@ -500,6 +672,42 @@ vt 0.742188 0.325000 vt 0.742188 0.200000 vt 0.750000 0.308333 vt 0.742188 0.308333 +vt 0.718750 0.358333 +vt 0.726562 0.333333 +vt 0.726562 0.358333 +vt 0.734375 0.200000 +vt 0.734375 0.308333 +vt 0.695312 0.200000 +vt 0.703125 0.308333 +vt 0.695312 0.308333 +vt 0.718750 0.200000 +vt 0.718750 0.308333 +vt 0.703125 0.200000 +vt 0.695312 0.341667 +vt 0.703125 0.333333 +vt 0.703125 0.350000 +vt 0.687500 0.200000 +vt 0.687500 0.308333 +vt 0.710938 0.333333 +vt 0.710938 0.358333 +vt 0.718750 0.333333 +vt 0.726562 0.308333 +vt 0.703125 0.316667 +vt 0.734375 0.333333 +vt 0.742188 0.341667 +vt 0.734375 0.350000 +vt 0.734375 0.316667 +vt 0.742188 0.333333 +vt 0.710938 0.200000 +vt 0.695312 0.333333 +vt 0.710938 0.308333 +vt 0.687500 0.333333 +vt 0.695312 0.325000 +vt 0.750000 0.333333 +vt 0.742188 0.325000 +vt 0.742188 0.200000 +vt 0.750000 0.308333 +vt 0.742188 0.308333 vt 0.734375 0.200000 vt 0.734375 0.308333 vt 0.695312 0.200000 @@ -513,434 +721,501 @@ vt 0.687500 0.308333 vt 0.710938 0.200000 vt 0.687500 0.366667 vt 0.679688 0.200000 +vt 0.687500 0.200000 vt 0.679688 0.366667 +vt 0.671875 0.200000 vt 0.671875 0.366667 vt 0.664062 0.200000 vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.679688 0.200000 +vt 0.687500 0.366667 +vt 0.687500 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.679688 0.200000 +vt 0.687500 0.366667 +vt 0.687500 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.687500 0.366667 +vt 0.679688 0.200000 +vt 0.687500 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.687500 0.366667 +vt 0.679688 0.200000 +vt 0.687500 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.687500 0.366667 +vt 0.679688 0.200000 +vt 0.687500 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 vt 0.976562 0.200000 vt 0.750000 0.200000 vt 0.726562 0.200000 +vt 0.750000 0.200000 +vt 0.726562 0.200000 vt 0.656250 0.366667 -s 0 -usemtl -f 3/1/1 2/2/1 1/3/1 -f 5/4/2 35/5/2 8/6/2 -f 3/1/3 8/7/3 4/8/3 -f 2/2/4 6/9/4 1/3/4 -f 4/8/5 7/10/5 2/2/5 -f 1/3/6 5/11/6 3/1/6 -f 12/12/4 9/13/4 10/14/4 -f 13/14/3 16/15/3 14/13/3 -f 10/13/5 16/12/5 12/15/5 -f 9/16/1 14/14/1 10/13/1 -f 11/12/6 13/13/6 9/14/6 -f 11/12/2 19/17/2 15/15/2 -f 17/18/5 23/19/5 19/17/5 -f 16/12/2 18/17/2 12/15/2 -f 15/12/2 20/17/2 16/15/2 -f 12/12/2 17/17/2 11/15/2 -f 22/19/2 23/20/2 21/21/2 -f 19/18/4 24/19/4 20/17/4 -f 20/18/6 22/19/6 18/17/6 -f 18/18/3 21/19/3 17/17/3 -f 35/22/6 37/23/6 34/24/6 -f 7/10/2 33/25/2 6/26/2 -f 37/27/5 31/28/5 39/29/5 -f 27/30/6 29/31/6 30/32/6 -f 39/29/3 29/31/3 40/33/3 -f 25/34/4 37/35/4 26/36/4 -f 8/6/2 34/37/2 7/10/2 -f 6/26/2 32/38/2 5/4/2 -f 37/23/2 36/39/2 30/40/2 -f 33/41/5 36/39/5 32/42/5 -f 32/43/4 38/44/4 35/45/4 -f 34/46/3 30/40/3 33/47/3 -f 28/48/7 40/33/7 27/49/7 -f 157/50/6 153/51/6 162/52/6 -f 183/53/3 180/54/3 179/55/3 -f 155/56/3 160/57/3 156/58/3 -f 160/59/5 154/60/5 156/57/5 -f 178/61/6 184/62/6 182/63/6 -f 163/64/4 153/65/4 154/66/4 -f 164/67/1 177/68/1 161/57/1 -f 178/69/4 181/70/4 177/68/4 -f 161/59/5 179/55/5 158/64/5 -f 171/55/2 162/52/2 163/64/2 -f 161/59/5 169/60/5 167/57/5 -f 177/71/5 183/72/5 179/55/5 -f 157/67/1 165/68/1 160/57/1 -f 179/55/2 159/52/2 158/64/2 -f 166/61/6 176/62/6 174/63/6 -f 160/59/5 171/55/5 163/64/5 -f 162/52/6 166/61/6 157/50/6 -f 158/64/4 170/65/4 169/66/4 -f 159/52/6 178/61/6 164/50/6 -f 164/50/6 170/51/6 159/52/6 -f 165/71/5 175/72/5 171/55/5 -f 166/69/4 173/70/4 165/68/4 -f 168/56/3 161/57/3 167/58/3 -f 175/53/3 172/54/3 171/55/3 -f 191/73/2 188/74/2 187/75/2 -f 190/73/2 185/74/2 186/75/2 -f 187/75/5 200/76/5 191/73/5 -f 190/73/3 197/77/3 189/78/3 -f 185/74/4 194/79/4 186/75/4 -f 189/78/6 193/80/6 185/74/6 -f 192/78/6 195/80/6 188/74/6 -f 191/73/3 199/77/3 192/78/3 -f 188/74/4 196/79/4 187/75/4 -f 186/75/5 198/76/5 190/73/5 -f 3/1/1 4/8/1 2/2/1 -f 5/4/2 32/38/2 35/5/2 -f 3/1/3 5/81/3 8/7/3 -f 2/2/4 7/82/4 6/9/4 -f 4/8/5 8/6/5 7/10/5 -f 1/3/6 6/83/6 5/11/6 -f 12/12/4 11/15/4 9/13/4 -f 13/14/3 15/12/3 16/15/3 -f 10/13/5 14/14/5 16/12/5 -f 9/16/1 13/84/1 14/14/1 -f 11/12/6 15/15/6 13/13/6 -f 11/12/2 17/18/2 19/17/2 -f 17/18/5 21/85/5 23/19/5 -f 16/12/2 20/18/2 18/17/2 -f 15/12/2 19/18/2 20/17/2 -f 12/12/2 18/18/2 17/17/2 -f 22/19/2 24/85/2 23/20/2 -f 19/18/4 23/85/4 24/19/4 -f 20/18/6 24/85/6 22/19/6 -f 18/18/3 22/85/3 21/19/3 -f 35/22/6 38/44/6 37/23/6 -f 7/10/2 34/37/2 33/25/2 -f 39/29/5 28/86/5 37/27/5 -f 28/86/5 26/16/5 37/27/5 -f 30/32/6 25/34/6 27/30/6 -f 27/30/6 40/33/6 29/31/6 -f 39/29/3 31/28/3 29/31/3 -f 25/34/4 30/32/4 37/35/4 -f 8/6/2 35/5/2 34/37/2 -f 6/26/2 33/25/2 32/38/2 -f 37/23/2 38/44/2 36/39/2 -f 33/41/5 30/40/5 36/39/5 -f 32/43/4 36/39/4 38/44/4 -f 34/46/3 37/23/3 30/40/3 -f 28/48/7 39/29/7 40/33/7 -f 157/50/6 155/87/6 153/51/6 -f 183/53/3 184/88/3 180/54/3 -f 155/56/3 157/67/3 160/57/3 -f 160/59/5 163/64/5 154/60/5 -f 178/61/6 180/54/6 184/62/6 -f 163/64/4 162/52/4 153/65/4 -f 164/67/1 178/69/1 177/68/1 -f 178/69/4 182/89/4 181/70/4 -f 161/59/5 177/71/5 179/55/5 -f 171/55/2 172/54/2 162/52/2 -f 161/59/5 158/64/5 169/60/5 -f 177/71/5 181/68/5 183/72/5 -f 157/67/1 166/69/1 165/68/1 -f 179/55/2 180/54/2 159/52/2 -f 166/61/6 172/54/6 176/62/6 -f 160/59/5 165/71/5 171/55/5 -f 162/52/6 172/54/6 166/61/6 -f 158/64/4 159/52/4 170/65/4 -f 159/52/6 180/54/6 178/61/6 -f 164/50/6 168/87/6 170/51/6 -f 165/71/5 173/68/5 175/72/5 -f 166/69/4 174/89/4 173/70/4 -f 168/56/3 164/67/3 161/57/3 -f 175/53/3 176/88/3 172/54/3 -f 191/73/2 192/78/2 188/74/2 -f 190/73/2 189/78/2 185/74/2 -f 187/75/5 196/90/5 200/76/5 -f 190/73/3 198/91/3 197/77/3 -f 185/74/4 193/92/4 194/79/4 -f 189/78/6 197/93/6 193/80/6 -f 192/78/6 199/93/6 195/80/6 -f 191/73/3 200/91/3 199/77/3 -f 188/74/4 195/92/4 196/79/4 -f 186/75/5 194/90/5 198/76/5 +vt 0.656250 0.366667 +vt 0.656250 0.366667 +vt 0.656250 0.366667 +vt 0.656250 0.366667 +vt 0.656250 0.366667 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.0000 -0.7071 0.7071 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 0.7071 0.7071 +vn -0.7311 0.2611 0.6303 +vn -0.9955 -0.0000 -0.0949 +vn -0.9947 -0.0393 -0.0948 +vn -0.6333 -0.2962 -0.7150 +vn -0.0000 -0.3827 -0.9239 +vn 0.6333 -0.2962 -0.7150 +vn 0.9955 -0.0000 -0.0949 +vn 0.7311 0.2611 0.6303 +vn 0.9947 -0.0393 -0.0948 +vn -0.6630 -0.0000 -0.7486 +vn 0.6630 -0.0000 -0.7486 +vn 0.6794 0.4063 -0.6110 +vn 0.9987 0.0196 -0.0473 +vn 0.7574 -0.0000 0.6530 +vn -0.9987 0.0196 -0.0473 +vn -0.7263 -0.3800 0.5728 +vn -0.7574 -0.0000 0.6530 +vn -0.6794 0.4063 -0.6110 +vn 0.0000 -0.5562 0.8311 +vn 0.7263 -0.3800 0.5728 +vn 0.7071 -0.5000 0.5000 +vn -0.7071 -0.5000 0.5000 +vn 0.0000 0.5628 -0.8266 +vn -0.7071 0.5000 -0.5000 +vn 0.3827 0.0000 -0.9239 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.3827 0.0000 0.9239 +vn -0.3827 0.0000 0.9239 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.3827 0.0000 -0.9239 +vn 0.7071 0.5000 -0.5000 +s off +f 11/21/6 10/22/6 9/23/6 +f 13/24/7 44/25/7 16/26/7 +f 11/21/8 16/27/8 12/28/8 +f 10/22/9 14/29/9 9/23/9 +f 12/28/10 15/30/10 10/22/10 +f 9/23/11 13/31/11 11/21/11 +f 20/32/9 17/33/9 18/34/9 +f 21/35/8 24/36/8 22/37/8 +f 18/38/10 24/39/10 20/40/10 +f 17/41/6 22/42/6 18/38/6 +f 19/43/11 21/44/11 17/45/11 +f 19/43/7 27/46/7 23/47/7 +f 25/48/10 31/49/10 27/46/10 +f 24/39/7 26/50/7 20/40/7 +f 23/51/7 28/52/7 24/36/7 +f 20/32/7 25/53/7 19/54/7 +f 30/55/7 31/56/7 29/57/7 +f 27/58/9 32/59/9 28/52/9 +f 28/60/11 30/55/11 26/50/11 +f 26/61/8 29/62/8 25/53/8 +f 44/63/11 47/64/11 43/65/11 +f 15/30/7 42/66/7 14/67/7 +f 39/68/10 40/69/10 49/70/10 +f 35/71/11 37/72/11 38/73/11 +f 49/70/8 37/72/8 50/74/8 +f 33/75/9 39/76/9 34/77/9 +f 16/26/7 43/78/7 15/30/7 +f 14/67/7 41/79/7 13/24/7 +f 47/64/7 45/80/7 46/81/7 +f 42/82/10 45/80/10 41/83/10 +f 41/84/9 48/85/9 44/86/9 +f 43/87/8 46/81/8 42/88/8 +f 36/89/12 50/74/12 35/90/12 +f 167/91/11 163/92/11 172/93/11 +f 193/94/8 190/95/8 189/96/8 +f 165/97/8 170/98/8 166/99/8 +f 170/100/10 164/101/10 166/102/10 +f 188/103/11 194/104/11 192/105/11 +f 173/106/9 163/107/9 164/108/9 +f 174/109/6 187/110/6 171/111/6 +f 188/112/9 191/113/9 187/110/9 +f 171/114/10 189/96/10 168/115/10 +f 181/116/7 172/93/7 173/106/7 +f 171/114/10 179/117/10 177/118/10 +f 187/119/10 193/120/10 189/96/10 +f 167/121/6 175/122/6 170/98/6 +f 189/96/7 169/123/7 168/115/7 +f 176/124/11 186/125/11 184/126/11 +f 170/100/10 181/116/10 173/106/10 +f 172/93/11 176/124/11 167/91/11 +f 168/115/9 180/127/9 179/128/9 +f 169/123/11 188/103/11 174/129/11 +f 174/129/11 180/130/11 169/123/11 +f 175/131/10 185/132/10 181/116/10 +f 176/133/9 183/134/9 175/122/9 +f 178/135/8 171/111/8 177/136/8 +f 185/137/8 182/138/8 181/116/8 +f 201/139/7 198/140/7 197/141/7 +f 200/142/7 195/143/7 196/144/7 +f 197/141/10 210/145/10 201/139/10 +f 200/142/8 207/146/8 199/147/8 +f 195/143/9 204/148/9 196/144/9 +f 199/147/11 203/149/11 195/143/11 +f 202/150/11 205/151/11 198/140/11 +f 201/139/8 209/152/8 202/150/8 +f 198/140/9 206/153/9 197/141/9 +f 196/144/10 208/154/10 200/142/10 +f 11/21/6 12/28/6 10/22/6 +f 13/24/7 41/79/7 44/25/7 +f 11/21/8 13/155/8 16/27/8 +f 10/22/9 15/156/9 14/29/9 +f 12/28/10 16/26/10 15/30/10 +f 9/23/11 14/157/11 13/31/11 +f 20/32/9 19/54/9 17/33/9 +f 21/35/8 23/51/8 24/36/8 +f 18/38/10 22/42/10 24/39/10 +f 17/41/6 21/158/6 22/42/6 +f 19/43/11 23/47/11 21/44/11 +f 19/43/7 25/48/7 27/46/7 +f 25/48/10 29/159/10 31/49/10 +f 24/39/7 28/60/7 26/50/7 +f 23/51/7 27/58/7 28/52/7 +f 20/32/7 26/61/7 25/53/7 +f 30/55/7 32/160/7 31/56/7 +f 27/58/9 31/161/9 32/59/9 +f 28/60/11 32/160/11 30/55/11 +f 26/61/8 30/162/8 29/62/8 +f 44/63/11 48/85/11 47/64/11 +f 15/30/7 43/78/7 42/66/7 +f 49/70/10 36/163/10 39/68/10 +f 36/163/10 34/164/10 39/68/10 +f 38/73/11 33/75/11 35/71/11 +f 35/71/11 50/74/11 37/72/11 +f 49/70/8 40/69/8 37/72/8 +f 33/75/9 38/73/9 39/76/9 +f 16/26/7 44/25/7 43/78/7 +f 14/67/7 42/66/7 41/79/7 +f 47/64/7 48/85/7 45/80/7 +f 42/82/10 46/81/10 45/80/10 +f 41/84/9 45/80/9 48/85/9 +f 43/87/8 47/64/8 46/81/8 +f 36/89/12 49/70/12 50/74/12 +f 167/91/11 165/165/11 163/92/11 +f 193/94/8 194/166/8 190/95/8 +f 165/97/8 167/121/8 170/98/8 +f 170/100/10 173/106/10 164/101/10 +f 188/103/11 190/95/11 194/104/11 +f 173/106/9 172/93/9 163/107/9 +f 174/109/6 188/112/6 187/110/6 +f 188/112/9 192/167/9 191/113/9 +f 171/114/10 187/119/10 189/96/10 +f 181/116/7 182/138/7 172/93/7 +f 171/114/10 168/115/10 179/117/10 +f 187/119/10 191/168/10 193/120/10 +f 167/121/6 176/133/6 175/122/6 +f 189/96/7 190/95/7 169/123/7 +f 176/124/11 182/138/11 186/125/11 +f 170/100/10 175/131/10 181/116/10 +f 172/93/11 182/138/11 176/124/11 +f 168/115/9 169/123/9 180/127/9 +f 169/123/11 190/95/11 188/103/11 +f 174/129/11 178/169/11 180/130/11 +f 175/131/10 183/170/10 185/132/10 +f 176/133/9 184/171/9 183/134/9 +f 178/135/8 174/109/8 171/111/8 +f 185/137/8 186/172/8 182/138/8 +f 201/139/7 202/150/7 198/140/7 +f 200/142/7 199/147/7 195/143/7 +f 197/141/10 206/173/10 210/145/10 +f 200/142/8 208/174/8 207/146/8 +f 195/143/9 203/175/9 204/148/9 +f 199/147/11 207/176/11 203/149/11 +f 202/150/11 209/177/11 205/151/11 +f 201/139/8 210/178/8 209/152/8 +f 198/140/9 205/179/9 206/153/9 +f 196/144/10 204/180/10 208/154/10 s 1 -f 80/94/8 81/95/4 79/96/8 -f 44/97/3 45/98/9 43/99/3 -f 68/100/10 69/101/2 67/102/10 -f 46/103/9 47/104/1 45/98/9 -f 84/100/10 85/101/2 83/102/10 -f 66/105/4 67/102/10 65/95/4 -f 48/106/1 49/96/8 47/107/1 -f 64/94/8 65/95/4 63/96/8 -f 50/94/8 51/95/4 49/96/8 -f 62/106/1 63/96/8 61/107/1 -f 52/105/4 53/102/10 51/95/4 -f 72/108/7 42/99/3 71/109/7 -f 60/103/9 61/104/1 59/98/9 -f 54/100/10 55/101/2 53/102/10 -f 41/97/3 59/98/9 42/99/3 -f 56/110/2 57/109/7 55/101/2 -f 82/105/4 83/102/10 81/95/4 -f 70/110/2 71/109/7 69/101/2 -f 58/108/7 43/99/3 57/109/7 -f 78/106/1 79/96/8 77/107/1 -f 88/108/7 74/99/3 87/109/7 -f 76/103/9 77/104/1 75/98/9 -f 73/97/3 75/98/9 74/99/3 -f 86/110/2 87/109/7 85/101/2 -f 96/94/8 97/95/4 95/96/8 -f 100/100/10 101/101/2 99/102/10 -f 98/105/4 99/102/10 97/95/4 -f 94/106/1 95/96/8 93/107/1 -f 104/108/7 90/99/3 103/109/7 -f 92/103/9 93/104/1 91/98/9 -f 89/97/3 91/98/9 90/99/3 -f 102/110/2 103/109/7 101/101/2 -f 144/94/8 145/95/4 143/96/8 -f 108/97/3 109/98/9 107/99/3 -f 132/100/10 133/101/2 131/102/10 -f 110/103/9 111/104/1 109/98/9 -f 148/100/10 149/101/2 147/102/10 -f 130/105/4 131/102/10 129/95/4 -f 112/106/1 113/96/8 111/107/1 -f 128/94/8 129/95/4 127/96/8 -f 114/94/8 115/95/4 113/96/8 -f 126/106/1 127/96/8 125/107/1 -f 116/105/4 117/102/10 115/95/4 -f 136/108/7 106/99/3 135/109/7 -f 124/103/9 125/104/1 123/98/9 -f 118/100/10 119/101/2 117/102/10 -f 105/97/3 123/98/9 106/99/3 -f 120/110/2 121/109/7 119/101/2 -f 146/105/4 147/102/10 145/95/4 -f 134/110/2 135/109/7 133/101/2 -f 122/108/7 107/99/3 121/109/7 -f 142/106/1 143/96/8 141/107/1 -f 152/108/7 138/99/3 151/109/7 -f 140/103/9 141/104/1 139/98/9 -f 137/97/3 139/98/9 138/99/3 -f 150/110/2 151/109/7 149/101/2 -f 204/111/11 211/112/12 203/113/13 -f 202/114/14 209/115/3 201/116/15 -f 209/115/3 208/117/16 201/116/15 -f 214/118/17 206/119/18 207/120/19 -f 203/113/13 210/121/20 202/114/14 -f 215/122/21 207/120/19 208/117/16 -f 209/115/3 222/123/22 215/122/21 -f 221/124/23 213/125/24 214/118/17 -f 218/126/25 210/121/20 211/112/12 -f 215/122/21 221/124/23 214/118/17 -f 219/127/26 211/112/12 212/128/27 -f 217/129/28 209/115/3 210/121/20 -f 204/111/11 205/130/29 212/128/27 -f 212/128/27 205/130/29 219/127/26 -f 205/131/29 206/119/18 213/125/24 -f 213/125/24 220/132/30 205/131/29 -f 236/133/31 205/134/29 220/135/30 -f 230/116/15 245/122/21 223/117/16 -f 222/123/22 235/136/5 221/137/23 -f 234/138/32 218/139/25 219/140/26 -f 232/141/7 222/123/22 216/142/33 -f 235/136/5 220/135/30 221/137/23 -f 233/143/6 217/129/28 218/139/25 -f 227/111/11 241/112/12 228/113/13 -f 238/144/8 219/140/26 205/145/29 -f 228/113/13 240/121/20 229/114/14 -f 239/115/3 252/123/22 245/122/21 -f 248/126/25 240/121/20 241/112/12 -f 240/121/20 230/116/15 229/114/14 -f 244/118/17 225/119/18 224/120/19 -f 245/122/21 224/120/19 223/117/16 -f 251/124/23 243/125/24 244/118/17 -f 231/146/34 216/142/33 217/129/28 -f 245/122/21 251/124/23 244/118/17 -f 242/128/27 248/126/25 241/112/12 -f 247/129/28 239/115/3 240/121/20 -f 227/111/11 226/130/29 242/128/27 -f 242/128/27 226/130/29 249/127/26 -f 226/131/29 225/119/18 243/125/24 -f 243/125/24 250/132/30 226/131/29 -f 258/133/31 226/134/29 250/135/30 -f 252/123/22 257/136/5 251/137/23 -f 256/138/32 248/139/25 249/140/26 -f 254/141/7 252/123/22 246/142/33 -f 257/136/5 250/135/30 251/137/23 -f 255/143/6 247/129/28 248/139/25 -f 260/144/8 249/140/26 226/145/29 -f 253/146/34 246/142/33 247/129/28 -f 262/147/35 263/148/36 261/144/35 -f 264/149/36 265/48/5 263/148/36 -f 266/150/5 267/151/37 265/48/5 -f 268/152/37 269/84/38 267/151/37 -f 274/149/36 275/48/5 273/148/36 -f 272/147/35 273/148/36 271/144/35 -f 276/150/5 277/151/37 275/48/5 -f 278/152/37 279/84/38 277/151/37 -f 284/149/36 285/48/5 283/148/36 -f 282/147/35 283/148/36 281/144/35 -f 286/150/5 287/151/37 285/48/5 -f 288/152/37 289/84/38 287/151/37 -f 294/147/39 295/148/40 293/144/39 -f 296/149/40 297/48/6 295/148/40 -f 298/150/6 299/151/41 297/48/6 -f 300/152/41 291/84/42 299/151/41 -f 304/147/39 305/148/40 303/144/39 -f 306/149/40 307/48/6 305/148/40 -f 308/150/6 309/151/41 307/48/6 -f 310/152/41 301/84/42 309/151/41 -f 314/147/39 315/148/40 313/144/39 -f 316/149/40 317/48/6 315/148/40 -f 318/150/6 319/151/41 317/48/6 -f 320/152/41 311/84/42 319/151/41 -f 80/94/8 82/105/4 81/95/4 -f 44/97/3 46/103/9 45/98/9 -f 68/100/10 70/110/2 69/101/2 -f 46/103/9 48/153/1 47/104/1 -f 84/100/10 86/110/2 85/101/2 -f 66/105/4 68/100/10 67/102/10 -f 48/106/1 50/94/8 49/96/8 -f 64/94/8 66/105/4 65/95/4 -f 50/94/8 52/105/4 51/95/4 -f 62/106/1 64/94/8 63/96/8 -f 52/105/4 54/100/10 53/102/10 -f 72/108/7 41/97/3 42/99/3 -f 60/103/9 62/153/1 61/104/1 -f 54/100/10 56/110/2 55/101/2 -f 41/97/3 60/103/9 59/98/9 -f 56/110/2 58/108/7 57/109/7 -f 82/105/4 84/100/10 83/102/10 -f 70/110/2 72/108/7 71/109/7 -f 58/108/7 44/97/3 43/99/3 -f 78/106/1 80/94/8 79/96/8 -f 88/108/7 73/97/3 74/99/3 -f 76/103/9 78/153/1 77/104/1 -f 73/97/3 76/103/9 75/98/9 -f 86/110/2 88/108/7 87/109/7 -f 96/94/8 98/105/4 97/95/4 -f 100/100/10 102/110/2 101/101/2 -f 98/105/4 100/100/10 99/102/10 -f 94/106/1 96/94/8 95/96/8 -f 104/108/7 89/97/3 90/99/3 -f 92/103/9 94/153/1 93/104/1 -f 89/97/3 92/103/9 91/98/9 -f 102/110/2 104/108/7 103/109/7 -f 144/94/8 146/105/4 145/95/4 -f 108/97/3 110/103/9 109/98/9 -f 132/100/10 134/110/2 133/101/2 -f 110/103/9 112/153/1 111/104/1 -f 148/100/10 150/110/2 149/101/2 -f 130/105/4 132/100/10 131/102/10 -f 112/106/1 114/94/8 113/96/8 -f 128/94/8 130/105/4 129/95/4 -f 114/94/8 116/105/4 115/95/4 -f 126/106/1 128/94/8 127/96/8 -f 116/105/4 118/100/10 117/102/10 -f 136/108/7 105/97/3 106/99/3 -f 124/103/9 126/153/1 125/104/1 -f 118/100/10 120/110/2 119/101/2 -f 105/97/3 124/103/9 123/98/9 -f 120/110/2 122/108/7 121/109/7 -f 146/105/4 148/100/10 147/102/10 -f 134/110/2 136/108/7 135/109/7 -f 122/108/7 108/97/3 107/99/3 -f 142/106/1 144/94/8 143/96/8 -f 152/108/7 137/97/3 138/99/3 -f 140/103/9 142/153/1 141/104/1 -f 137/97/3 140/103/9 139/98/9 -f 150/110/2 152/108/7 151/109/7 -f 204/111/11 212/128/27 211/112/12 -f 202/114/14 210/121/20 209/115/3 -f 209/115/3 215/122/21 208/117/16 -f 214/118/17 213/125/24 206/119/18 -f 203/113/13 211/112/12 210/121/20 -f 215/122/21 214/118/17 207/120/19 -f 209/115/3 216/142/33 222/123/22 -f 221/124/23 220/132/30 213/125/24 -f 218/126/25 217/129/28 210/121/20 -f 215/122/21 222/123/22 221/124/23 -f 219/127/26 218/126/25 211/112/12 -f 217/129/28 216/142/33 209/115/3 -f 236/133/31 238/154/8 205/134/29 -f 230/116/15 239/115/3 245/122/21 -f 222/123/22 237/155/43 235/136/5 -f 234/138/32 233/143/6 218/139/25 -f 232/141/7 237/155/43 222/123/22 -f 235/136/5 236/133/31 220/135/30 -f 233/143/6 231/146/34 217/129/28 -f 227/111/11 242/128/27 241/112/12 -f 238/144/8 234/138/32 219/140/26 -f 228/113/13 241/112/12 240/121/20 -f 239/115/3 246/142/33 252/123/22 -f 248/126/25 247/129/28 240/121/20 -f 240/121/20 239/115/3 230/116/15 -f 244/118/17 243/125/24 225/119/18 -f 245/122/21 244/118/17 224/120/19 -f 251/124/23 250/132/30 243/125/24 -f 231/146/34 232/141/7 216/142/33 -f 245/122/21 252/123/22 251/124/23 -f 242/128/27 249/127/26 248/126/25 -f 247/129/28 246/142/33 239/115/3 -f 258/133/31 260/154/8 226/134/29 -f 252/123/22 259/155/43 257/136/5 -f 256/138/32 255/143/6 248/139/25 -f 254/141/7 259/155/43 252/123/22 -f 257/136/5 258/133/31 250/135/30 -f 255/143/6 253/146/34 247/129/28 -f 260/144/8 256/138/32 249/140/26 -f 253/146/34 254/141/7 246/142/33 -f 262/147/35 264/149/36 263/148/36 -f 264/149/36 266/150/5 265/48/5 -f 266/150/5 268/152/37 267/151/37 -f 268/152/37 270/156/38 269/84/38 -f 274/149/36 276/150/5 275/48/5 -f 272/147/35 274/149/36 273/148/36 -f 276/150/5 278/152/37 277/151/37 -f 278/152/37 280/156/38 279/84/38 -f 284/149/36 286/150/5 285/48/5 -f 282/147/35 284/149/36 283/148/36 -f 286/150/5 288/152/37 287/151/37 -f 288/152/37 290/156/38 289/84/38 -f 294/147/39 296/149/40 295/148/40 -f 296/149/40 298/150/6 297/48/6 -f 298/150/6 300/152/41 299/151/41 -f 300/152/41 292/156/42 291/84/42 -f 304/147/39 306/149/40 305/148/40 -f 306/149/40 308/150/6 307/48/6 -f 308/150/6 310/152/41 309/151/41 -f 310/152/41 302/156/42 301/84/42 -f 314/147/39 316/149/40 315/148/40 -f 316/149/40 318/150/6 317/48/6 -f 318/150/6 320/152/41 319/151/41 -f 320/152/41 312/156/42 311/84/42 -o plate -v -0.500000 0.937500 -1.500000 -v 0.500000 0.937500 -1.500000 -v -0.500000 0.937500 -5.250000 -v 0.500000 0.937500 -5.250000 -v -0.500000 1.062500 -5.250000 -v -0.500000 1.062500 -1.500000 -v 0.500000 1.062500 -1.500000 -v 0.500000 1.062500 -5.250000 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn 1.0000 -0.0000 -0.0000 -vn -1.0000 -0.0000 -0.0000 -vt 0.890625 0.566667 -vt 0.656250 0.700000 -vt 0.656250 0.566667 -vt 0.890625 0.700000 -vt 0.664062 0.700000 -vt 0.664062 0.566667 -vt 0.890625 0.683333 -vt 0.656250 0.683333 -vt 0.656250 0.583333 -vt 0.890625 0.583333 -s 0 -usemtl -f 323/157/44 322/158/44 321/159/44 -f 327/159/45 325/160/45 326/158/45 -f 323/161/46 328/159/46 324/162/46 -f 324/163/47 327/158/47 322/164/47 -f 321/165/48 325/157/48 323/166/48 -f 323/157/44 324/160/44 322/158/44 -f 327/159/45 328/157/45 325/160/45 -f 323/161/46 325/158/46 328/159/46 -f 324/163/47 328/160/47 327/158/47 -f 321/165/48 326/159/48 325/157/48 +f 90/181/13 91/182/9 89/183/13 +f 54/184/8 55/185/14 53/186/8 +f 78/187/15 79/188/7 77/189/15 +f 56/190/14 57/191/6 55/185/14 +f 94/192/15 95/193/7 93/194/15 +f 76/195/9 77/189/15 75/196/9 +f 58/197/6 59/198/13 57/199/6 +f 74/200/13 75/196/9 73/201/13 +f 60/202/13 61/203/9 59/198/13 +f 72/204/6 73/201/13 71/205/6 +f 62/206/9 63/207/15 61/203/9 +f 82/208/12 52/209/8 81/210/12 +f 70/211/14 71/212/6 69/213/14 +f 64/214/15 65/215/7 63/207/15 +f 51/216/8 69/213/14 52/209/8 +f 66/217/7 67/218/12 65/215/7 +f 92/219/9 93/194/15 91/182/9 +f 80/220/7 81/210/12 79/188/7 +f 68/221/12 53/186/8 67/218/12 +f 88/222/6 89/183/13 87/223/6 +f 98/224/12 84/225/8 97/226/12 +f 86/227/14 87/228/6 85/229/14 +f 83/230/8 85/229/14 84/225/8 +f 96/231/7 97/226/12 95/193/7 +f 106/232/13 107/233/9 105/234/13 +f 110/235/15 111/236/7 109/237/15 +f 108/238/9 109/237/15 107/233/9 +f 104/239/6 105/234/13 103/240/6 +f 114/241/12 100/242/8 113/243/12 +f 102/244/14 103/245/6 101/246/14 +f 99/247/8 101/246/14 100/242/8 +f 112/248/7 113/243/12 111/236/7 +f 154/249/13 155/250/9 153/251/13 +f 118/252/8 119/253/14 117/254/8 +f 142/255/15 143/256/7 141/257/15 +f 120/258/14 121/259/6 119/253/14 +f 158/260/15 159/261/7 157/262/15 +f 140/263/9 141/257/15 139/264/9 +f 122/265/6 123/266/13 121/267/6 +f 138/268/13 139/264/9 137/269/13 +f 124/270/13 125/271/9 123/266/13 +f 136/272/6 137/269/13 135/273/6 +f 126/274/9 127/275/15 125/271/9 +f 146/276/12 116/277/8 145/278/12 +f 134/279/14 135/280/6 133/281/14 +f 128/282/15 129/283/7 127/275/15 +f 115/284/8 133/281/14 116/277/8 +f 130/285/7 131/286/12 129/283/7 +f 156/287/9 157/262/15 155/250/9 +f 144/288/7 145/278/12 143/256/7 +f 132/289/12 117/254/8 131/286/12 +f 152/290/6 153/251/13 151/291/6 +f 162/292/12 148/293/8 161/294/12 +f 150/295/14 151/296/6 149/297/14 +f 147/298/8 149/297/14 148/293/8 +f 160/299/7 161/294/12 159/261/7 +f 214/300/16 221/301/17 213/302/18 +f 212/303/19 219/304/8 211/305/20 +f 219/304/8 218/306/21 211/305/20 +f 224/307/22 216/308/23 217/309/24 +f 213/302/18 220/310/25 212/303/19 +f 225/311/26 217/309/24 218/306/21 +f 219/304/8 232/312/27 225/311/26 +f 231/313/28 223/314/29 224/307/22 +f 228/315/30 220/310/25 221/301/17 +f 225/311/26 231/313/28 224/307/22 +f 229/316/31 221/301/17 222/317/32 +f 227/318/33 219/304/8 220/310/25 +f 214/300/16 215/319/34 222/317/32 +f 222/317/32 215/319/34 229/316/31 +f 215/320/34 216/308/23 223/314/29 +f 223/314/29 230/321/35 215/320/34 +f 246/322/36 215/323/34 230/324/35 +f 240/325/20 255/326/26 233/327/21 +f 232/312/27 245/328/10 231/329/28 +f 244/330/37 228/331/30 229/332/31 +f 242/333/12 232/312/27 226/334/38 +f 245/328/10 230/324/35 231/329/28 +f 243/335/11 227/318/33 228/331/30 +f 237/336/16 251/337/17 238/338/18 +f 248/339/13 229/332/31 215/340/34 +f 238/338/18 250/341/25 239/342/19 +f 249/343/8 262/344/27 255/326/26 +f 258/345/30 250/341/25 251/337/17 +f 250/341/25 240/325/20 239/342/19 +f 254/346/22 235/347/23 234/348/24 +f 255/326/26 234/348/24 233/327/21 +f 261/349/28 253/350/29 254/346/22 +f 241/351/39 226/334/38 227/318/33 +f 255/326/26 261/349/28 254/346/22 +f 252/352/32 258/345/30 251/337/17 +f 257/353/33 249/343/8 250/341/25 +f 237/336/16 236/354/34 252/352/32 +f 252/352/32 236/354/34 259/355/31 +f 236/356/34 235/347/23 253/350/29 +f 253/350/29 260/357/35 236/356/34 +f 268/358/36 236/359/34 260/360/35 +f 262/344/27 267/361/10 261/362/28 +f 266/363/37 258/364/30 259/365/31 +f 264/366/12 262/344/27 256/367/38 +f 267/361/10 260/360/35 261/362/28 +f 265/368/11 257/353/33 258/364/30 +f 270/369/13 259/365/31 236/370/34 +f 263/371/39 256/367/38 257/353/33 +f 272/372/40 273/373/41 271/374/40 +f 274/375/41 275/376/10 273/373/41 +f 276/377/10 277/378/42 275/376/10 +f 278/379/42 279/380/43 277/378/42 +f 284/381/41 285/382/10 283/383/41 +f 282/384/40 283/383/41 281/385/40 +f 286/386/10 287/387/42 285/382/10 +f 288/388/42 289/389/43 287/387/42 +f 294/390/41 295/391/10 293/392/41 +f 292/393/40 293/392/41 291/394/40 +f 296/395/10 297/396/42 295/391/10 +f 298/397/42 299/398/43 297/396/42 +f 304/399/44 305/400/45 303/401/44 +f 306/402/45 307/403/11 305/400/45 +f 308/404/11 309/405/46 307/403/11 +f 310/406/46 301/407/47 309/405/46 +f 314/408/44 315/409/45 313/410/44 +f 316/411/45 317/412/11 315/409/45 +f 318/413/11 319/414/46 317/412/11 +f 320/415/46 311/416/47 319/414/46 +f 324/417/44 325/418/45 323/419/44 +f 326/420/45 327/421/11 325/418/45 +f 328/422/11 329/423/46 327/421/11 +f 330/424/46 321/425/47 329/423/46 +f 90/181/13 92/219/9 91/182/9 +f 54/184/8 56/190/14 55/185/14 +f 78/187/15 80/220/7 79/188/7 +f 56/190/14 58/426/6 57/191/6 +f 94/192/15 96/231/7 95/193/7 +f 76/195/9 78/187/15 77/189/15 +f 58/197/6 60/202/13 59/198/13 +f 74/200/13 76/195/9 75/196/9 +f 60/202/13 62/206/9 61/203/9 +f 72/204/6 74/200/13 73/201/13 +f 62/206/9 64/214/15 63/207/15 +f 82/208/12 51/216/8 52/209/8 +f 70/211/14 72/427/6 71/212/6 +f 64/214/15 66/217/7 65/215/7 +f 51/216/8 70/211/14 69/213/14 +f 66/217/7 68/221/12 67/218/12 +f 92/219/9 94/192/15 93/194/15 +f 80/220/7 82/208/12 81/210/12 +f 68/221/12 54/184/8 53/186/8 +f 88/222/6 90/181/13 89/183/13 +f 98/224/12 83/230/8 84/225/8 +f 86/227/14 88/428/6 87/228/6 +f 83/230/8 86/227/14 85/229/14 +f 96/231/7 98/224/12 97/226/12 +f 106/232/13 108/238/9 107/233/9 +f 110/235/15 112/248/7 111/236/7 +f 108/238/9 110/235/15 109/237/15 +f 104/239/6 106/232/13 105/234/13 +f 114/241/12 99/247/8 100/242/8 +f 102/244/14 104/429/6 103/245/6 +f 99/247/8 102/244/14 101/246/14 +f 112/248/7 114/241/12 113/243/12 +f 154/249/13 156/287/9 155/250/9 +f 118/252/8 120/258/14 119/253/14 +f 142/255/15 144/288/7 143/256/7 +f 120/258/14 122/430/6 121/259/6 +f 158/260/15 160/299/7 159/261/7 +f 140/263/9 142/255/15 141/257/15 +f 122/265/6 124/270/13 123/266/13 +f 138/268/13 140/263/9 139/264/9 +f 124/270/13 126/274/9 125/271/9 +f 136/272/6 138/268/13 137/269/13 +f 126/274/9 128/282/15 127/275/15 +f 146/276/12 115/284/8 116/277/8 +f 134/279/14 136/431/6 135/280/6 +f 128/282/15 130/285/7 129/283/7 +f 115/284/8 134/279/14 133/281/14 +f 130/285/7 132/289/12 131/286/12 +f 156/287/9 158/260/15 157/262/15 +f 144/288/7 146/276/12 145/278/12 +f 132/289/12 118/252/8 117/254/8 +f 152/290/6 154/249/13 153/251/13 +f 162/292/12 147/298/8 148/293/8 +f 150/295/14 152/432/6 151/296/6 +f 147/298/8 150/295/14 149/297/14 +f 160/299/7 162/292/12 161/294/12 +f 214/300/16 222/317/32 221/301/17 +f 212/303/19 220/310/25 219/304/8 +f 219/304/8 225/311/26 218/306/21 +f 224/307/22 223/314/29 216/308/23 +f 213/302/18 221/301/17 220/310/25 +f 225/311/26 224/307/22 217/309/24 +f 219/304/8 226/334/38 232/312/27 +f 231/313/28 230/321/35 223/314/29 +f 228/315/30 227/318/33 220/310/25 +f 225/311/26 232/312/27 231/313/28 +f 229/316/31 228/315/30 221/301/17 +f 227/318/33 226/334/38 219/304/8 +f 246/322/36 248/433/13 215/323/34 +f 240/325/20 249/343/8 255/326/26 +f 232/312/27 247/434/48 245/328/10 +f 244/330/37 243/335/11 228/331/30 +f 242/333/12 247/434/48 232/312/27 +f 245/328/10 246/322/36 230/324/35 +f 243/335/11 241/351/39 227/318/33 +f 237/336/16 252/352/32 251/337/17 +f 248/339/13 244/330/37 229/332/31 +f 238/338/18 251/337/17 250/341/25 +f 249/343/8 256/367/38 262/344/27 +f 258/345/30 257/353/33 250/341/25 +f 250/341/25 249/343/8 240/325/20 +f 254/346/22 253/350/29 235/347/23 +f 255/326/26 254/346/22 234/348/24 +f 261/349/28 260/357/35 253/350/29 +f 241/351/39 242/333/12 226/334/38 +f 255/326/26 262/344/27 261/349/28 +f 252/352/32 259/355/31 258/345/30 +f 257/353/33 256/367/38 249/343/8 +f 268/358/36 270/435/13 236/359/34 +f 262/344/27 269/436/48 267/361/10 +f 266/363/37 265/368/11 258/364/30 +f 264/366/12 269/436/48 262/344/27 +f 267/361/10 268/358/36 260/360/35 +f 265/368/11 263/371/39 257/353/33 +f 270/369/13 266/363/37 259/365/31 +f 263/371/39 264/366/12 256/367/38 +f 272/372/40 274/375/41 273/373/41 +f 274/375/41 276/377/10 275/376/10 +f 276/377/10 278/379/42 277/378/42 +f 278/379/42 280/437/43 279/380/43 +f 284/381/41 286/386/10 285/382/10 +f 282/384/40 284/381/41 283/383/41 +f 286/386/10 288/388/42 287/387/42 +f 288/388/42 290/438/43 289/389/43 +f 294/390/41 296/395/10 295/391/10 +f 292/393/40 294/390/41 293/392/41 +f 296/395/10 298/397/42 297/396/42 +f 298/397/42 300/439/43 299/398/43 +f 304/399/44 306/402/45 305/400/45 +f 306/402/45 308/404/11 307/403/11 +f 308/404/11 310/406/46 309/405/46 +f 310/406/46 302/440/47 301/407/47 +f 314/408/44 316/411/45 315/409/45 +f 316/411/45 318/413/11 317/412/11 +f 318/413/11 320/415/46 319/414/46 +f 320/415/46 312/441/47 311/416/47 +f 324/417/44 326/420/45 325/418/45 +f 326/420/45 328/422/11 327/421/11 +f 328/422/11 330/424/46 329/423/46 +f 330/424/46 322/442/47 321/425/47 diff --git a/src/main/resources/assets/hbm/textures/items/bottle_rad.png b/src/main/resources/assets/hbm/textures/items/bottle_rad.png index 554d5cdf8..b1aa2e0a1 100644 Binary files a/src/main/resources/assets/hbm/textures/items/bottle_rad.png and b/src/main/resources/assets/hbm/textures/items/bottle_rad.png differ diff --git a/src/main/resources/assets/hbm/textures/models/capes/CapeJame.png b/src/main/resources/assets/hbm/textures/models/capes/CapeJame.png new file mode 100644 index 000000000..4a7615d18 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/capes/CapeJame.png differ