fixes, lung irritant notifications, small crucible

This commit is contained in:
Bob 2022-09-11 22:58:51 +02:00
parent 7a500e3fb5
commit 8353e313d6
26 changed files with 815 additions and 25 deletions

View File

@ -634,6 +634,7 @@ public class ModBlocks {
public static Block machine_stirling;
public static Block machine_stirling_steel;
public static Block machine_sawmill;
public static Block machine_crucible;
public static Block machine_difurnace_off;
public static Block machine_difurnace_on;
@ -1808,6 +1809,7 @@ public class ModBlocks {
machine_stirling = new MachineStirling().setBlockName("machine_stirling").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_stirling_steel = new MachineStirling().setBlockName("machine_stirling_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_sawmill = new MachineSawmill().setBlockName("machine_sawmill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
machine_crucible = new MachineCrucible().setBlockName("machine_crucible").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_crucible");
machine_difurnace_off = new MachineDiFurnace(false).setBlockName("machine_difurnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
machine_difurnace_on = new MachineDiFurnace(true).setBlockName("machine_difurnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F);
@ -2993,6 +2995,7 @@ public class ModBlocks {
register(machine_stirling);
register(machine_stirling_steel);
register(machine_sawmill);
register(machine_crucible);
GameRegistry.registerBlock(machine_difurnace_off, machine_difurnace_off.getUnlocalizedName());
GameRegistry.registerBlock(machine_difurnace_on, machine_difurnace_on.getUnlocalizedName());
GameRegistry.registerBlock(machine_difurnace_rtg_off, machine_difurnace_rtg_off.getUnlocalizedName());

View File

@ -33,8 +33,9 @@ public class BlockGasCoal extends BlockGasBase {
EntityLivingBase living = (EntityLivingBase) entity;
if(!ArmorRegistry.hasProtection(living, 3, HazardClass.PARTICLE_COARSE))
if(!ArmorRegistry.hasProtection(living, 3, HazardClass.PARTICLE_COARSE)) {
HbmLivingProps.incrementBlackLung(living, 10);
}
}
}

View File

@ -0,0 +1,34 @@
package com.hbm.blocks.machine;
import com.hbm.blocks.BlockDummyable;
import com.hbm.tileentity.machine.TileEntityCrucible;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class MachineCrucible extends BlockDummyable {
public MachineCrucible() {
super(Material.rock);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12)
return new TileEntityCrucible();
return null;
}
@Override
public int[] getDimensions() {
return new int[] {1, 0, 1, 1, 1, 1};
}
@Override
public int getOffset() {
return 1;
}
}

View File

@ -4,6 +4,8 @@ import net.minecraftforge.common.config.Configuration;
public class GeneralConfig {
public static boolean enableThermosPreventer = true;
public static boolean enableDebugMode = true;
public static boolean enableMycelium = false;
public static boolean enablePlutoniumOre = false;
@ -52,6 +54,7 @@ public class GeneralConfig {
public static void loadFromConfig(Configuration config) {
final String CATEGORY_GENERAL = CommonConfig.CATEGORY_GENERAL;
enableThermosPreventer = config.get(CATEGORY_GENERAL, "0.00_crashOnThermos", true, "When set to true, will prevent the mod to launch on Thermos servers. Only disable this if you understand what \"tileentities.yml\" is, and how it severely cripples the mod.").getBoolean(true);
enableDebugMode = config.get(CATEGORY_GENERAL, "1.00_enableDebugMode", false, "Enable debugging mode").getBoolean(false);
enableMycelium = config.get(CATEGORY_GENERAL, "1.01_enableMyceliumSpread", false, "Allows glowing mycelium to spread").getBoolean(false);
enablePlutoniumOre = config.get(CATEGORY_GENERAL, "1.02_enablePlutoniumNetherOre", false, "Enables plutonium ore generation in the nether").getBoolean(false);

View File

@ -10,6 +10,8 @@ import com.hbm.lib.ModDamageSource;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.PlayerInformPacket;
import com.hbm.util.ChatBuilder;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.block.Block;
@ -19,8 +21,10 @@ import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.ai.attributes.IAttributeInstance;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Blocks;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import net.minecraftforge.common.IExtendedEntityProperties;
@ -211,6 +215,10 @@ public class HbmLivingProps implements IExtendedEntityProperties {
if(RadiationConfig.disableAsbestos) return;
setAsbestos(entity, getAsbestos(entity) + asbestos);
incrementFibrosis(entity, asbestos);
if(entity instanceof EntityPlayerMP) {
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("").nextTranslation("info.asbestos").color(EnumChatFormatting.RED).flush(), MainRegistry.proxy.ID_GAS_HAZARD, 3000), (EntityPlayerMP) entity);
}
}
@ -234,6 +242,10 @@ public class HbmLivingProps implements IExtendedEntityProperties {
if(RadiationConfig.disableCoal) return;
setBlackLung(entity, getBlackLung(entity) + blacklung);
incrementFibrosis(entity, blacklung);
if(entity instanceof EntityPlayerMP) {
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("").nextTranslation("info.coaldust").color(EnumChatFormatting.RED).flush(), MainRegistry.proxy.ID_GAS_HAZARD, 3000), (EntityPlayerMP) entity);
}
}
/// PULMONARY FIBROSIS ///

View File

@ -8,7 +8,6 @@ import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerMachineCoal;
import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityMachineCoal;
@ -71,27 +70,25 @@ public class GUIMachineCoal extends GuiInfoContainer {
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
//It's as horrifying as it is functional.
TileEntityMachineCoal dud = diFurnace;
if(diFurnace.isInvalid() && diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) instanceof TileEntityMachineCoal)
dud = (TileEntityMachineCoal) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
diFurnace = (TileEntityMachineCoal) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
if(dud.power > 0) {
int i = (int)dud.getPowerScaled(52);
if(diFurnace.power > 0) {
int i = (int)diFurnace.getPowerScaled(52);
drawTexturedModalRect(guiLeft + 152, guiTop + 69 - i, 176, 52 - i, 16, i);
}
if(dud.burnTime > 0)
if(diFurnace.burnTime > 0)
{
drawTexturedModalRect(guiLeft + 79, guiTop + 34, 208, 0, 18, 18);
}
if(dud.tank.getFill() <= 0)
if(diFurnace.tank.getFill() <= 0)
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6);
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3);
dud.tank.renderTank(guiLeft + 8, guiTop + 69, this.zLevel, 16, 52);
diFurnace.tank.renderTank(guiLeft + 8, guiTop + 69, this.zLevel, 16, 52);
}
}

View File

@ -7,6 +7,7 @@ import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.container.ContainerElectricFurnace;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityMachineElectricFurnace;
@ -57,24 +58,19 @@ public class GUIMachineElectricFurnace extends GuiInfoContainer {
//if initial ZE is still present, it'll be used instead
//works so that container packets can still be used
//efficiency!
TileEntityMachineElectricFurnace fs = null;
if(diFurnace.isInvalid() && diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) instanceof TileEntityMachineElectricFurnace)
fs = (TileEntityMachineElectricFurnace) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
else
fs = diFurnace;
diFurnace = (TileEntityMachineElectricFurnace) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord);
if(fs.hasPower()) {
if(diFurnace.hasPower()) {
int i = (int)diFurnace.getPowerScaled(52);
drawTexturedModalRect(guiLeft + 20, guiTop + 69 - i, 200, 52 - i, 16, i);
}
if(diFurnace.canProcess() && diFurnace.hasPower())
{
if(diFurnace.getWorldObj().getBlock(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) == ModBlocks.machine_electric_furnace_on) {
drawTexturedModalRect(guiLeft + 56, guiTop + 35, 176, 0, 16, 16);
}
int j1 = fs.getProgressScaled(24);
int j1 = diFurnace.getProgressScaled(24);
drawTexturedModalRect(guiLeft + 79, guiTop + 34, 176, 17, j1 + 1, 17);
this.drawInfoPanel(guiLeft + 151, guiTop + 19, 8, 8, 8);

View File

@ -63,7 +63,6 @@ public class AssemblerRecipes {
for(File file : files) {
if(file.getName().equals("hbmAssembler.json")) {
config = file;
}
}

View File

@ -264,6 +264,7 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityHeaterOilburner.class, new RenderOilburner());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStirling.class, new RenderStirling());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySawmill.class, new RenderSawmill());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCrucible.class, new RenderCrucible());
//AMS
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSBase.class, new RenderAMSBase());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSEmitter.class, new RenderAMSEmitter());

View File

@ -863,6 +863,18 @@ public class MainRegistry {
ToolConfig.loadFromConfig(config);
WeaponConfig.loadFromConfig(config);
MobConfig.loadFromConfig(config);
try {
if(GeneralConfig.enableThermosPreventer && Class.forName("thermos.Thermos") != null) {
throw new IllegalStateException("The mod tried to start on a Thermos server and therefore stopped. To allow the server to start on Thermos, change the appropriate "
+ "config entry (0.00 in hbm.cfg). This was done because, by default, Thermos "
+ "uses a so-called \"optimization\" feature that reduces tile ticking a lot, which will inevitably break a lot of machines. Most people aren't even aware "
+ "of this, and start blaming random mods for all their stuff breaking. In order to adjust or even disable this feature, edit \"tileentities.yml\" in your "
+ "Thermos install folder. If you believe that crashing the server until a config option is changed is annoying, then I would agree, but it's still preferable "
+ "over wasting hours trying to fix an issue that is really just an \"intended feature\" added by Thermos itself, and not a bug in the mod. You'll have to "
+ "change Thermos' config anyway so that extra change in NTM's config can't be that big of a burden.");
}
} catch(ClassNotFoundException e) { }
config.save();
}

View File

@ -64,6 +64,7 @@ public class ResourceManager {
//Heat Engines
public static final IModelCustom stirling = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/stirling.obj"));
public static final IModelCustom sawmill = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/sawmill.obj"));
public static final IModelCustom crucible_heat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/crucible.obj"));
//Furnaces
public static final IModelCustom furnace_iron = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/furnace_iron.obj"));
@ -385,6 +386,7 @@ public class ResourceManager {
public static final ResourceLocation stirling_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/stirling.png");
public static final ResourceLocation stirling_steel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/stirling_steel.png");
public static final ResourceLocation sawmill_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/sawmill.png");
public static final ResourceLocation crucible_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crucible_heat.png");
//Furnaces
public static final ResourceLocation furnace_iron_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/furnace_iron.png");

View File

@ -26,6 +26,7 @@ public class ServerProxy {
public static final int ID_DETONATOR = 6;
public static final int ID_FLUID_ID = 7;
public static final int ID_GUN_MODE = 8;
public static final int ID_GAS_HAZARD = 9;
public void registerRenderInfo() { }
public void registerTileEntitySpecialRenderer() { }

View File

@ -0,0 +1,46 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;
public class RenderCrucible extends TileEntitySpecialRenderer implements IItemRendererProvider {
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE);
bindTexture(ResourceManager.crucible_tex);
ResourceManager.crucible_heat.renderAll();
GL11.glPopMatrix();
}
@Override
public Item getItemForRenderer() {
return Item.getItemFromBlock(ModBlocks.machine_crucible);
}
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() {
GL11.glTranslated(0, -1.5, 0);
GL11.glScaled(3.25, 3.25, 3.25);
}
public void renderCommon() {
bindTexture(ResourceManager.crucible_tex);
ResourceManager.crucible_heat.renderAll();
}};
}
}

View File

@ -250,6 +250,8 @@ public class TileMappings {
put(TileEntityFurnaceSteel.class, "tileentity_furnace_steel");
put(TileEntityStirling.class, "tileentity_stirling");
put(TileEntitySawmill.class, "tileentity_sawmill");
put(TileEntityCrucible.class, "tileentity_crucible");
put(TileEntityMachineAutocrafter.class, "tileentity_autocrafter");
put(TileEntityDiFurnaceRTG.class, "tileentity_rtg_difurnace");
put(TileEntityMachineRadiolysis.class, "tileentity_radiolysis");

View File

@ -0,0 +1,21 @@
package com.hbm.tileentity.machine;
import com.hbm.tileentity.TileEntityMachineBase;
public class TileEntityCrucible extends TileEntityMachineBase {
public TileEntityCrucible() {
super(1);
}
@Override
public String getName() {
return null;
}
@Override
public void updateEntity() {
}
}

View File

@ -23,6 +23,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl
public static final long maxPower = 100000;
public int maxProgress = 100;
public int consumption = 50;
private int cooldown = 0;
private static final int[] slots_io = new int[] { 0, 1, 2 };
@ -96,7 +97,8 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl
}
public boolean canProcess() {
if(slots[1] == null) {
if(slots[1] == null || cooldown > 0) {
return false;
}
ItemStack itemStack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[1]);
@ -145,9 +147,13 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl
@Override
public void updateEntity() {
boolean flag1 = false;
boolean markDirty = false;
if(!worldObj.isRemote) {
if(cooldown > 0) {
cooldown--;
}
power = Library.chargeTEFromItems(slots, 0, power, maxPower);
@ -165,6 +171,10 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl
consumption += speedLevel * 50;
maxProgress += powerLevel * 10;
consumption -= powerLevel * 15;
if(!hasPower()) {
cooldown = 20;
}
if(hasPower() && canProcess()) {
progress++;
@ -174,7 +184,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl
if(this.progress >= maxProgress) {
this.progress = 0;
this.processItem();
flag1 = true;
markDirty = true;
}
} else {
progress = 0;
@ -187,7 +197,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl
}
if(trigger) {
flag1 = true;
markDirty = true;
MachineElectricFurnace.updateBlockState(this.progress > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
}
@ -198,7 +208,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl
this.networkPack(data, 50);
if(flag1) {
if(markDirty) {
this.markDirty();
}
}

View File

@ -629,6 +629,8 @@ hbmfluid.watz=Giftiger Schlamm
hbmfluid.xenon=Xenongas
hbmfluid.xpjuice=Erfahrungssaft
info.asbestos=Meine Lunge brennt.
info.coaldust=Das Atmen fällt mir schwer.
info.coil=Spulenstärke
info.templatefolder=Hergestellt mit %s
info.template_in=Input:

View File

@ -857,6 +857,8 @@ hbmpseudofluid.pf6=Plutonium Hexafluoride
hbmpseudofluid.mud_heavy=Heavy Sludge Fraction
hbmpseudofluid.mud=Poisonous Sludge Gas
info.asbestos=My lungs are burning.
info.coaldust=It's hard to breathe here.
info.coil=Coil Strength
info.templatefolder=Created with %s
info.template_in=Input:

View File

@ -0,0 +1,646 @@
# Blender v2.79 (sub 0) OBJ File: 'crucible.blend'
# www.blender.org
o Lava
v -1.000000 0.500000 -1.000000
v -1.000000 0.500000 1.000000
v 1.000000 0.500000 1.000000
v 1.000000 0.500000 -1.000000
vt 0.999900 0.000100
vt 0.000100 0.999900
vt 0.000100 0.000100
vt 0.999900 0.999900
vn 0.0000 1.0000 0.0000
s off
f 2/1/1 4/2/1 1/3/1
f 2/1/1 3/4/1 4/2/1
o Main
v -1.500000 0.000000 1.500000
v 1.500000 0.000000 1.500000
v -1.500000 0.000000 -1.500000
v 1.500000 0.000000 -1.500000
v -1.000000 1.500000 1.000000
v 1.000000 1.500000 1.000000
v -1.000000 1.500000 -1.000000
v 1.000000 1.500000 -1.000000
v -1.250000 1.500000 1.250000
v 1.250000 1.500000 1.250000
v -1.250000 1.500000 -1.250000
v 1.250000 1.500000 -1.250000
v -1.250000 0.500000 1.250000
v 1.250000 0.500000 1.250000
v -1.250000 0.500000 -1.250000
v 1.250000 0.500000 -1.250000
v -1.500000 0.250000 -1.500000
v -1.500000 0.250000 1.500000
v 1.500000 0.250000 1.500000
v 1.500000 0.250000 -1.500000
v -1.000000 0.500000 -1.000000
v -1.000000 0.500000 1.000000
v 1.000000 0.500000 1.000000
v 1.000000 0.500000 -1.000000
v 1.250000 1.250000 0.875000
v 1.250000 0.375000 0.875000
v 1.250000 1.250000 0.625000
v 1.250000 0.375000 0.625000
v 1.375000 0.375000 0.875000
v 1.375000 1.125000 0.875000
v 1.375000 0.375000 0.625000
v 1.375000 1.125000 0.625000
v 1.250000 1.250000 -0.625000
v 1.250000 0.375000 -0.625000
v 1.250000 1.250000 -0.875000
v 1.250000 0.375000 -0.875000
v 1.375000 0.375000 -0.625000
v 1.375000 1.125000 -0.625000
v 1.375000 0.375000 -0.875000
v 1.375000 1.125000 -0.875000
v -1.250000 1.250000 -0.875000
v -1.250000 0.375000 -0.875000
v -1.250000 1.250000 -0.625000
v -1.250000 0.375000 -0.625000
v -1.375000 0.375000 -0.875000
v -1.375000 1.125000 -0.875000
v -1.375000 0.375000 -0.625000
v -1.375000 1.125000 -0.625000
v -1.250000 1.250000 0.625000
v -1.250000 0.375000 0.625000
v -1.250000 1.250000 0.875000
v -1.250000 0.375000 0.875000
v -1.375000 0.375000 0.625000
v -1.375000 1.125000 0.625000
v -1.375000 0.375000 0.875000
v -1.375000 1.125000 0.875000
v 0.875000 1.250000 -1.250000
v 0.875000 0.375000 -1.250000
v 0.625000 1.250000 -1.250000
v 0.625000 0.375000 -1.250000
v 0.875000 0.375000 -1.375000
v 0.875000 1.125000 -1.375000
v 0.625000 0.375000 -1.375000
v 0.625000 1.125000 -1.375000
v -0.625000 1.250000 -1.250000
v -0.625000 0.375000 -1.250000
v -0.875000 1.250000 -1.250000
v -0.875000 0.375000 -1.250000
v -0.625000 0.375000 -1.375000
v -0.625000 1.125000 -1.375000
v -0.875000 0.375000 -1.375000
v -0.875000 1.125000 -1.375000
v -0.875000 1.250000 1.250000
v -0.875000 0.375000 1.250000
v -0.625000 1.250000 1.250000
v -0.625000 0.375000 1.250000
v -0.875000 0.375000 1.375000
v -0.875000 1.125000 1.375000
v -0.625000 0.375000 1.375000
v -0.625000 1.125000 1.375000
v 0.625000 1.250000 1.250000
v 0.625000 0.375000 1.250000
v 0.875000 1.250000 1.250000
v 0.875000 0.375000 1.250000
v 0.625000 0.375000 1.375000
v 0.625000 1.125000 1.375000
v 0.875000 0.375000 1.375000
v 0.875000 1.125000 1.375000
v 1.500000 0.625000 0.125000
v 1.500000 0.375000 0.125000
v 1.500000 0.625000 -0.125000
v 1.500000 0.375000 -0.125000
v 1.500000 0.625000 0.187500
v 1.500000 0.375000 0.187500
v 1.500000 0.625000 -0.187500
v 1.500000 0.375000 -0.187500
v 1.500000 0.312500 0.125000
v 1.500000 0.312500 -0.125000
v 1.250000 0.875000 0.125000
v 1.250000 0.625000 0.125000
v 1.250000 0.625000 -0.125000
v 1.250000 0.875000 -0.125000
v 1.250000 0.875000 0.187500
v 1.250000 0.625000 0.187500
v 1.250000 0.625000 -0.187500
v 1.250000 0.875000 -0.187500
v 1.250000 0.562500 0.125000
v 1.250000 0.562500 -0.125000
v -1.500000 0.625000 -0.125000
v -1.500000 0.375000 -0.125000
v -1.500000 0.625000 0.125000
v -1.500000 0.375000 0.125000
v -1.500000 0.625000 -0.187500
v -1.500000 0.375000 -0.187500
v -1.500000 0.625000 0.187500
v -1.500000 0.375000 0.187500
v -1.500000 0.312500 -0.125000
v -1.500000 0.312500 0.125000
v -1.250000 0.875000 -0.125000
v -1.250000 0.625000 -0.125000
v -1.250000 0.625000 0.125000
v -1.250000 0.875000 0.125000
v -1.250000 0.875000 -0.187500
v -1.250000 0.625000 -0.187500
v -1.250000 0.625000 0.187500
v -1.250000 0.875000 0.187500
v -1.250000 0.562500 -0.125000
v -1.250000 0.562500 0.125000
v -0.500000 0.000000 0.500000
v 0.500000 0.000000 0.500000
v -0.500000 0.000000 -0.500000
v 0.500000 0.000000 -0.500000
v -0.500000 0.062500 -0.500000
v -0.500000 0.062500 0.500000
v 0.500000 0.062500 0.500000
v 0.500000 0.062500 -0.500000
v -0.437500 0.062500 -0.437500
v -0.437500 0.062500 0.437500
v 0.437500 0.062500 0.437500
v 0.437500 0.062500 -0.437500
v -0.437500 0.000000 -0.437500
v -0.437500 0.000000 0.437500
v 0.437500 0.000000 0.437500
v 0.437500 0.000000 -0.437500
v 1.250000 0.875000 0.125000
v 1.250000 0.625000 0.125000
v 1.250000 0.625000 -0.125000
v 1.250000 0.875000 -0.125000
v -1.250000 0.875000 -0.125000
v -1.250000 0.625000 -0.125000
v -1.250000 0.625000 0.125000
v -1.250000 0.875000 0.125000
vt 0.631579 0.428571
vt 0.421053 0.142857
vt 0.631579 0.000000
vt 0.105263 0.964286
vt 0.052632 0.642857
vt 0.105263 0.678571
vt 0.526316 0.964286
vt 0.052632 1.000000
vt 0.526316 0.678571
vt 0.578947 1.000000
vt 0.578947 0.642857
vt 0.052632 0.642857
vt 0.578947 0.500000
vt 0.578947 0.642857
vt 0.052632 0.642857
vt 0.578947 0.500000
vt 0.578947 0.642857
vt 0.342105 0.553571
vt 0.578947 0.642857
vt 0.289474 0.553571
vt 0.342105 0.553571
vt 0.052632 0.500000
vt 0.631579 0.464286
vt 0.000000 0.464286
vt 0.000000 0.428571
vt 0.631579 0.428571
vt 0.000000 0.464286
vt 0.000000 0.428571
vt 0.631579 0.428571
vt 0.000000 0.464286
vt 0.000000 0.428571
vt 0.631579 0.428571
vt 0.000000 0.464286
vt 0.000000 0.428571
vt 0.052632 0.500000
vt 0.631579 0.464286
vt 0.578947 0.500000
vt 0.052632 0.500000
vt 0.631579 0.464286
vt 0.052632 0.500000
vt 0.631579 0.464286
vt 0.578947 0.500000
vt 0.578947 1.000000
vt 1.000000 0.857143
vt 1.000000 1.000000
vt 0.105263 0.964286
vt 0.526316 0.678571
vt 0.526316 0.964286
vt 0.578947 1.000000
vt 1.000000 0.857143
vt 1.000000 1.000000
vt 0.578947 1.000000
vt 1.000000 0.857143
vt 1.000000 1.000000
vt 0.578947 1.000000
vt 1.000000 0.857143
vt 1.000000 1.000000
vt 0.605263 0.696429
vt 0.657895 0.678571
vt 0.657895 0.696429
vt 0.605263 0.571429
vt 0.657895 0.678571
vt 0.605263 0.678571
vt 0.605263 0.696429
vt 0.657895 0.696429
vt 0.578947 0.571429
vt 0.578947 0.696429
vt 0.605263 0.571429
vt 0.605263 0.678571
vt 0.684211 0.571429
vt 0.657895 0.571429
vt 0.578947 0.571429
vt 0.578947 0.696429
vt 0.684211 0.571429
vt 0.657895 0.571429
vt 0.605263 0.696429
vt 0.657895 0.678571
vt 0.657895 0.696429
vt 0.605263 0.571429
vt 0.657895 0.678571
vt 0.605263 0.678571
vt 0.605263 0.696429
vt 0.657895 0.696429
vt 0.578947 0.571429
vt 0.578947 0.696429
vt 0.605263 0.571429
vt 0.605263 0.678571
vt 0.684211 0.571429
vt 0.657895 0.571429
vt 0.578947 0.571429
vt 0.578947 0.696429
vt 0.684211 0.571429
vt 0.657895 0.571429
vt 0.605263 0.696429
vt 0.657895 0.678571
vt 0.657895 0.696429
vt 0.605263 0.571429
vt 0.657895 0.678571
vt 0.605263 0.678571
vt 0.605263 0.696429
vt 0.657895 0.696429
vt 0.578947 0.571429
vt 0.578947 0.696429
vt 0.605263 0.571429
vt 0.605263 0.678571
vt 0.684211 0.571429
vt 0.657895 0.571429
vt 0.578947 0.571429
vt 0.578947 0.696429
vt 0.684211 0.571429
vt 0.657895 0.571429
vt 0.605263 0.696429
vt 0.657895 0.678571
vt 0.657895 0.696429
vt 0.605263 0.571429
vt 0.657895 0.678571
vt 0.605263 0.678571
vt 0.605263 0.696429
vt 0.657895 0.696429
vt 0.578947 0.571429
vt 0.578947 0.696429
vt 0.605263 0.571429
vt 0.605263 0.678571
vt 0.684211 0.571429
vt 0.657895 0.571429
vt 0.578947 0.571429
vt 0.578947 0.696429
vt 0.684211 0.571429
vt 0.657895 0.571429
vt 0.763158 0.741071
vt 0.763158 0.732143
vt 0.776316 0.741071
vt 0.710526 0.857143
vt 0.697368 0.821429
vt 0.710526 0.821429
vt 0.763158 0.821429
vt 0.776316 0.857143
vt 0.763158 0.857143
vt 0.763158 0.812500
vt 0.710526 0.812500
vt 0.776316 0.821429
vt 0.710526 0.741071
vt 0.697368 0.741071
vt 0.710526 0.732143
vt 0.776316 0.776786
vt 0.763158 0.776786
vt 0.710526 0.776786
vt 0.776316 0.812500
vt 0.763158 0.776786
vt 0.776316 0.776786
vt 0.644737 0.812500
vt 0.697368 0.776786
vt 0.697368 0.812500
vt 0.631579 0.812500
vt 0.578947 0.776786
vt 0.631579 0.776786
vt 0.828947 0.812500
vt 0.842105 0.776786
vt 0.842105 0.812500
vt 0.644737 0.776786
vt 0.710526 0.857143
vt 0.710526 0.776786
vt 0.894737 0.776786
vt 0.894737 0.812500
vt 0.828947 0.776786
vt 0.776316 0.732143
vt 0.763158 0.696429
vt 0.776316 0.696429
vt 0.644737 0.732143
vt 0.697368 0.696429
vt 0.697368 0.732143
vt 0.631579 0.732143
vt 0.578947 0.696429
vt 0.631579 0.696429
vt 0.828947 0.732143
vt 0.842105 0.696429
vt 0.842105 0.732143
vt 0.644737 0.696429
vt 0.710526 0.776786
vt 0.710526 0.696429
vt 0.894737 0.696429
vt 0.894737 0.732143
vt 0.828947 0.696429
vt 0.421053 0.285714
vt 0.000000 0.000000
vt 0.210526 0.285714
vt 0.210526 0.142857
vt 0.657895 0.178571
vt 0.868421 0.169643
vt 0.868421 0.178571
vt 0.881579 0.160714
vt 0.868421 0.026786
vt 0.881579 0.017857
vt 0.868421 0.000000
vt 0.657895 0.008929
vt 0.657895 0.000000
vt 0.894737 0.160714
vt 0.894737 0.017857
vt 0.631579 0.017857
vt 0.644737 0.160714
vt 0.631579 0.160714
vt 0.671053 0.160714
vt 0.855263 0.151786
vt 0.855263 0.160714
vt 0.644737 0.017857
vt 0.657895 0.151786
vt 0.657895 0.169643
vt 0.868421 0.008929
vt 0.671053 0.017857
vt 0.671053 0.026786
vt 0.855263 0.026786
vt 0.855263 0.017857
vt 0.868421 0.151786
vt 0.657895 0.026786
vt 0.671053 0.151786
vt 0.631579 0.535714
vt 0.578947 0.571429
vt 0.578947 0.535714
vt 0.289474 0.553571
vt 0.342105 0.517857
vt 0.631579 0.535714
vt 0.578947 0.571429
vt 0.578947 0.535714
vt 0.052632 0.642857
vt 0.342105 0.517857
vt 0.578947 0.857143
vt 0.105263 0.678571
vt 0.578947 0.857143
vt 0.578947 0.857143
vt 0.578947 0.857143
vt 0.684211 0.696429
vt 0.684211 0.696429
vt 0.684211 0.696429
vt 0.684211 0.696429
vt 0.684211 0.696429
vt 0.684211 0.696429
vt 0.684211 0.696429
vt 0.684211 0.696429
vt 0.697368 0.857143
vt 0.697368 0.776786
vt 0.578947 0.812500
vt 0.763158 0.857143
vt 0.578947 0.732143
vt 0.763158 0.776786
vt 0.631579 0.571429
vt 0.289474 0.517857
vt 0.631579 0.571429
vt 0.289474 0.517857
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.7071 0.7071 0.0000
vn 0.0000 0.7071 -0.7071
vn -0.7071 0.7071 0.0000
vn -0.5774 -0.5774 -0.5774
vn -0.5774 -0.5774 0.5774
vn -0.7071 -0.7071 0.0000
vn 0.5774 -0.5774 0.5773
vn 0.5774 -0.5774 -0.5774
vn 0.7071 -0.7071 0.0000
vn 0.5774 -0.5774 0.5774
s off
f 8/5/2 135/6/2 7/7/2
f 9/8/3 14/9/3 10/10/3
f 11/11/3 13/12/3 9/8/3
f 12/13/3 15/14/3 11/11/3
f 10/10/3 16/15/3 12/13/3
f 16/16/4 19/17/4 15/18/4
f 13/19/5 18/20/5 14/21/5
f 14/9/6 152/22/6 16/15/6
f 13/23/7 153/24/7 156/25/7
f 17/26/8 23/27/8 18/20/8
f 8/5/6 23/28/6 6/29/6
f 5/30/7 21/31/7 7/32/7
f 7/33/4 24/34/4 8/35/4
f 6/36/5 22/37/5 5/38/5
f 18/39/9 24/40/9 20/41/9
f 20/42/10 21/43/10 19/17/10
f 19/44/11 22/45/11 17/46/11
f 9/47/6 25/48/6 11/49/6
f 26/50/3 28/51/3 25/52/3
f 11/53/5 28/54/5 12/55/5
f 10/56/4 26/57/4 9/58/4
f 12/59/7 27/60/7 10/61/7
f 37/62/9 44/63/9 39/64/9
f 33/65/6 36/66/6 34/67/6
f 29/68/9 36/66/9 31/69/9
f 30/70/5 34/67/5 29/71/5
f 41/72/6 44/63/6 42/73/6
f 32/74/4 36/66/4 35/75/4
f 38/76/5 42/73/5 37/77/5
f 40/78/4 44/63/4 43/79/4
f 53/80/11 60/81/11 55/82/11
f 49/83/7 52/84/7 50/85/7
f 45/86/11 52/84/11 47/87/11
f 46/88/4 50/85/4 45/89/4
f 57/90/7 60/81/7 58/91/7
f 48/92/5 52/84/5 51/93/5
f 54/94/4 58/91/4 53/95/4
f 56/96/5 60/81/5 59/97/5
f 69/98/10 76/99/10 71/100/10
f 65/101/4 68/102/4 66/103/4
f 61/104/10 68/102/10 63/105/10
f 62/106/6 66/103/6 61/107/6
f 73/108/4 76/99/4 74/109/4
f 64/110/7 68/102/7 67/111/7
f 70/112/6 74/109/6 69/113/6
f 72/114/7 76/99/7 75/115/7
f 85/116/8 92/117/8 87/118/8
f 81/119/5 84/120/5 82/121/5
f 77/122/8 84/120/8 79/123/8
f 78/124/7 82/121/7 77/125/7
f 89/126/5 92/117/5 90/127/5
f 80/128/6 84/120/6 83/129/6
f 86/130/7 90/127/7 85/131/7
f 88/132/6 92/117/6 91/133/6
f 116/134/7 122/135/7 120/136/7
f 93/137/6 98/138/6 94/139/6
f 96/140/6 99/141/6 95/142/6
f 94/139/6 102/143/6 96/140/6
f 94/139/6 98/138/6 101/144/6
f 96/140/6 102/143/6 100/145/6
f 114/146/7 118/147/7 121/148/7
f 114/146/7 122/135/7 116/134/7
f 116/134/7 119/149/7 115/150/7
f 113/151/7 118/147/7 114/146/7
f 100/152/12 112/153/12 109/154/12
f 97/155/5 108/156/5 98/157/5
f 93/158/4 104/159/4 103/160/4
f 99/161/9 106/162/9 95/163/9
f 93/158/9 107/164/9 97/155/9
f 96/140/9 104/165/9 94/139/9
f 98/157/13 111/166/13 101/144/13
f 95/163/5 105/167/5 96/168/5
f 101/144/14 112/153/14 102/143/14
f 99/161/4 109/154/4 110/169/4
f 120/170/15 132/171/15 129/172/15
f 117/173/4 128/174/4 118/175/4
f 113/176/5 124/177/5 123/178/5
f 119/179/11 126/180/11 115/181/11
f 113/176/11 127/182/11 117/173/11
f 116/134/11 124/183/11 114/146/11
f 118/175/16 131/184/16 121/148/16
f 115/181/4 125/185/4 116/186/4
f 121/148/17 132/171/17 122/135/17
f 119/179/5 129/172/5 130/187/5
f 6/29/2 136/188/2 8/5/2
f 5/189/2 134/190/2 6/29/2
f 7/7/2 133/191/2 5/189/2
f 134/192/7 140/193/7 136/194/7
f 140/195/2 141/196/2 137/197/2
f 135/198/6 138/199/6 133/200/6
f 136/201/5 137/197/5 135/202/5
f 133/203/4 139/204/4 134/205/4
f 143/206/6 148/207/6 144/208/6
f 138/209/2 143/210/2 139/204/2
f 139/211/2 144/208/2 140/193/2
f 137/212/2 142/213/2 138/199/2
f 148/207/2 146/214/2 145/215/2
f 141/216/7 146/214/7 142/213/7
f 144/217/4 145/215/4 141/196/4
f 142/218/5 147/219/5 143/210/5
f 151/220/6 149/221/6 150/222/6
f 18/39/6 149/223/6 14/9/6
f 151/224/6 18/39/6 20/41/6
f 152/22/6 20/41/6 16/15/6
f 155/225/7 153/226/7 154/227/7
f 19/44/7 153/24/7 15/228/7
f 155/229/7 19/44/7 17/46/7
f 156/25/7 17/46/7 13/23/7
f 8/5/2 136/188/2 135/6/2
f 9/8/3 13/12/3 14/9/3
f 11/11/3 15/14/3 13/12/3
f 12/13/3 16/15/3 15/14/3
f 10/10/3 14/9/3 16/15/3
f 16/16/4 20/42/4 19/17/4
f 13/19/5 17/26/5 18/20/5
f 14/9/6 149/223/6 152/22/6
f 13/23/7 15/228/7 153/24/7
f 17/26/8 22/37/8 23/27/8
f 8/5/6 24/40/6 23/28/6
f 5/30/7 22/45/7 21/31/7
f 7/33/4 21/43/4 24/34/4
f 6/36/5 23/27/5 22/37/5
f 18/39/9 23/28/9 24/40/9
f 20/42/10 24/34/10 21/43/10
f 19/44/11 21/31/11 22/45/11
f 9/47/6 26/230/6 25/48/6
f 26/50/3 27/231/3 28/51/3
f 11/53/5 25/232/5 28/54/5
f 10/56/4 27/233/4 26/57/4
f 12/59/7 28/234/7 27/60/7
f 37/62/9 42/73/9 44/63/9
f 33/65/6 35/75/6 36/66/6
f 29/68/9 34/67/9 36/66/9
f 30/70/5 33/65/5 34/67/5
f 41/72/6 43/79/6 44/63/6
f 32/74/4 31/235/4 36/66/4
f 38/76/5 41/72/5 42/73/5
f 40/78/4 39/236/4 44/63/4
f 53/80/11 58/91/11 60/81/11
f 49/83/7 51/93/7 52/84/7
f 45/86/11 50/85/11 52/84/11
f 46/88/4 49/83/4 50/85/4
f 57/90/7 59/97/7 60/81/7
f 48/92/5 47/237/5 52/84/5
f 54/94/4 57/90/4 58/91/4
f 56/96/5 55/238/5 60/81/5
f 69/98/10 74/109/10 76/99/10
f 65/101/4 67/111/4 68/102/4
f 61/104/10 66/103/10 68/102/10
f 62/106/6 65/101/6 66/103/6
f 73/108/4 75/115/4 76/99/4
f 64/110/7 63/239/7 68/102/7
f 70/112/6 73/108/6 74/109/6
f 72/114/7 71/240/7 76/99/7
f 85/116/8 90/127/8 92/117/8
f 81/119/5 83/129/5 84/120/5
f 77/122/8 82/121/8 84/120/8
f 78/124/7 81/119/7 82/121/7
f 89/126/5 91/133/5 92/117/5
f 80/128/6 79/241/6 84/120/6
f 86/130/7 89/126/7 90/127/7
f 88/132/6 87/242/6 92/117/6
f 93/137/6 97/243/6 98/138/6
f 96/140/6 100/145/6 99/141/6
f 94/139/6 101/144/6 102/143/6
f 114/146/7 121/148/7 122/135/7
f 116/134/7 120/136/7 119/149/7
f 113/151/7 117/244/7 118/147/7
f 100/152/12 102/143/12 112/153/12
f 97/155/5 107/164/5 108/156/5
f 93/158/4 94/245/4 104/159/4
f 99/161/9 110/169/9 106/162/9
f 93/158/9 103/160/9 107/164/9
f 96/140/9 105/246/9 104/165/9
f 98/157/13 108/156/13 111/166/13
f 95/163/5 106/162/5 105/167/5
f 101/144/14 111/166/14 112/153/14
f 99/161/4 100/152/4 109/154/4
f 120/170/18 122/135/18 132/171/18
f 117/173/4 127/182/4 128/174/4
f 113/176/5 114/247/5 124/177/5
f 119/179/11 130/187/11 126/180/11
f 113/176/11 123/178/11 127/182/11
f 116/134/11 125/248/11 124/183/11
f 118/175/16 128/174/16 131/184/16
f 115/181/4 126/180/4 125/185/4
f 121/148/17 131/184/17 132/171/17
f 119/179/5 120/170/5 129/172/5
f 6/29/2 134/190/2 136/188/2
f 5/189/2 133/191/2 134/190/2
f 7/7/2 135/6/2 133/191/2
f 134/192/7 139/211/7 140/193/7
f 140/195/2 144/217/2 141/196/2
f 135/198/6 137/212/6 138/199/6
f 136/201/5 140/195/5 137/197/5
f 133/203/4 138/209/4 139/204/4
f 143/206/6 147/219/6 148/207/6
f 138/209/2 142/218/2 143/210/2
f 139/211/2 143/206/2 144/208/2
f 137/212/2 141/216/2 142/213/2
f 148/207/2 147/219/2 146/214/2
f 141/216/7 145/215/7 146/214/7
f 144/217/4 148/207/4 145/215/4
f 142/218/5 146/214/5 147/219/5
f 151/220/6 152/249/6 149/221/6
f 18/39/6 150/250/6 149/223/6
f 151/224/6 150/250/6 18/39/6
f 152/22/6 151/224/6 20/41/6
f 155/225/7 156/251/7 153/226/7
f 19/44/7 154/252/7 153/24/7
f 155/229/7 154/252/7 19/44/7
f 156/25/7 155/229/7 17/46/7

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 B

After

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB