From 566534366ed1d85934274731f5d83b0b351f926b Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 29 Aug 2021 17:11:00 +0200 Subject: [PATCH] fixed radiation system, patched up item renderers, a bit of everything --- src/main/java/com/hbm/blocks/ModBlocks.java | 5 +- .../com/hbm/blocks/bomb/BlockVolcano.java | 8 +- .../com/hbm/blocks/fluid/VolcanicBlock.java | 29 + .../com/hbm/blocks/generic/BlockGoldSand.java | 8 + .../blocks/machine/MachineFractionTower.java | 24 +- .../com/hbm/blocks/machine/MachineOrbus.java | 19 + .../com/hbm/crafting/ConsumableRecipes.java | 1 + .../java/com/hbm/crafting/MineralRecipes.java | 3 +- .../java/com/hbm/crafting/ToolRecipes.java | 2 + .../com/hbm/handler/EntityEffectHandler.java | 8 +- .../java/com/hbm/handler/WeaponAbility.java | 27 + .../ChunkRadiationHandlerSimple.java | 11 +- .../com/hbm/inventory/AssemblerRecipes.java | 1 + .../hbm/inventory/CrystallizerRecipes.java | 1 + .../com/hbm/inventory/MachineRecipes.java | 4 +- .../com/hbm/inventory/RefineryRecipes.java | 8 +- src/main/java/com/hbm/items/ModItems.java | 6 +- .../com/hbm/items/armor/ItemModHealth.java | 7 + .../java/com/hbm/lib/ModDamageSource.java | 4 +- .../java/com/hbm/main/CraftingManager.java | 6 +- .../java/com/hbm/main/ModEventHandler.java | 4 - .../java/com/hbm/main/ResourceManager.java | 1 + .../hbm/render/item/ItemRenderLibrary.java | 20 + .../hbm/render/tileentity/RenderSpacer.java | 4 +- .../TileEntityMachineFractionTower.java | 28 +- .../machine/TileEntityMachineOrbus.java | 20 +- .../tileentity/machine/TileEntitySpacer.java | 28 + src/main/resources/assets/hbm/lang/de_DE.lang | 21 +- src/main/resources/assets/hbm/lang/en_US.lang | 19 +- .../hbm/models/machines/fraction_spacer.obj | 1058 ++++++++++------- .../hbm/textures/blocks/glass_quartz.png | Bin 5466 -> 145 bytes .../models/machines/fraction_spacer.png | Bin 0 -> 1380 bytes 32 files changed, 895 insertions(+), 490 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/models/machines/fraction_spacer.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 90ff697ee..87bfe4c2d 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -382,6 +382,7 @@ public class ModBlocks { public static Block sand_polonium; public static Block sand_quartz; public static Block sand_gold; + public static Block sand_gold198; public static Block ash_digamma; public static Block glass_boron; public static Block glass_lead; @@ -1509,6 +1510,7 @@ public class ModBlocks { sand_polonium = new BlockFalling(Material.sand).setBlockName("sand_polonium").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_polonium"); sand_quartz = new BlockFalling(Material.sand).setBlockName("sand_quartz").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_quartz"); sand_gold = new BlockGoldSand(Material.sand).setBlockName("sand_gold").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_gold"); + sand_gold198 = new BlockGoldSand(Material.sand).setBlockName("sand_gold198").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.machineTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_gold"); glass_boron = new BlockNTMGlass(0, RefStrings.MODID + ":glass_boron", Material.glass).setBlockName("glass_boron").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); glass_lead = new BlockNTMGlass(0, RefStrings.MODID + ":glass_lead", Material.glass).setBlockName("glass_lead").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); glass_uranium = new BlockNTMGlass(1, RefStrings.MODID + ":glass_uranium", Material.glass).setBlockName("glass_uranium").setLightLevel(5F/15F).setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.machineTab).setHardness(0.3F); @@ -1916,7 +1918,7 @@ public class ModBlocks { machine_flare = new MachineGasFlare(Material.iron).setBlockName("machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_flare"); machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_refinery"); machine_fraction_tower = new MachineFractionTower(Material.iron).setBlockName("machine_fraction_tower").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - fraction_spacer = new FractionSpacer(Material.iron).setBlockName("fraction_spacer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fraction_spacer"); + fraction_spacer = new FractionSpacer(Material.iron).setBlockName("fraction_spacer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_drill"); drill_pipe = new BlockNoDrop(Material.iron).setBlockName("drill_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":drill_pipe"); machine_mining_laser = new MachineMiningLaser(Material.iron).setBlockName("machine_mining_laser").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_mining_laser"); @@ -2577,6 +2579,7 @@ public class ModBlocks { GameRegistry.registerBlock(sand_polonium, sand_polonium.getUnlocalizedName()); GameRegistry.registerBlock(sand_quartz, sand_quartz.getUnlocalizedName()); GameRegistry.registerBlock(sand_gold, sand_gold.getUnlocalizedName()); + GameRegistry.registerBlock(sand_gold198, sand_gold198.getUnlocalizedName()); GameRegistry.registerBlock(glass_boron, glass_boron.getUnlocalizedName()); GameRegistry.registerBlock(glass_lead, glass_lead.getUnlocalizedName()); GameRegistry.registerBlock(glass_uranium, glass_uranium.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java b/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java index 17e1969cc..6bfbd676e 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java @@ -172,8 +172,12 @@ public class BlockVolcano extends Block { if(meta == META_STATIC_EXTINGUISHING) return 0.00003D; //about once every hour - if(isGrowing(meta)) - return 0.014D; //about 500x an hour + + if(isGrowing(meta)) { + + if(meta != META_GROWING_ACTIVE || y < 199) + return 0.007D; //about 250x an hour + } return 0; } diff --git a/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java b/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java index 7a83f73cf..d81ec02ad 100644 --- a/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java +++ b/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java @@ -135,4 +135,33 @@ public class VolcanicBlock extends BlockFluidClassic { public int getRenderBlockPass() { return 0; } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World world, int x, int y, int z, Random rand) { + + double dx; + double dy; + double dz; + + if(world.getBlock(x, y + 1, z).getMaterial() == Material.air && !world.getBlock(x, y + 1, z).isOpaqueCube()) { + if(rand.nextInt(100) == 0) { + dx = (double) ((float) x + rand.nextFloat()); + dy = (double) y + this.maxY; + dz = (double) ((float) z + rand.nextFloat()); + world.spawnParticle("lava", dx, dy, dz, 0.0D, 0.0D, 0.0D); + world.playSound(dx, dy, dz, "liquid.lavapop", 0.2F + rand.nextFloat() * 0.2F, 0.9F + rand.nextFloat() * 0.15F, false); + } + + if(rand.nextInt(200) == 0) { + world.playSound((double) x, (double) y, (double) z, "liquid.lava", 0.2F + rand.nextFloat() * 0.2F, 0.9F + rand.nextFloat() * 0.15F, false); + } + } + + if(rand.nextInt(10) == 0 && World.doesBlockHaveSolidTopSurface(world, x, y - 1, z) && !world.getBlock(x, y - 2, z).getMaterial().blocksMovement()) { + dx = (double) ((float) x + rand.nextFloat()); + dy = (double) y - 1.05D; + dz = (double) ((float) z + rand.nextFloat()); + world.spawnParticle("dripLava", dx, dy, dz, 0.0D, 0.0D, 0.0D); + } + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockGoldSand.java b/src/main/java/com/hbm/blocks/generic/BlockGoldSand.java index 44687a3fe..d8da15f8e 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGoldSand.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGoldSand.java @@ -1,5 +1,9 @@ package com.hbm.blocks.generic; +import com.hbm.blocks.ModBlocks; +import com.hbm.extprop.HbmLivingProps; +import com.hbm.extprop.HbmLivingProps.ContaminationEffect; + import net.minecraft.block.BlockFalling; import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; @@ -18,6 +22,10 @@ public class BlockGoldSand extends BlockFalling { if(entity instanceof EntityLivingBase) { entity.attackEntityFrom(DamageSource.inFire, 2F); + + if(this == ModBlocks.sand_gold198) { + HbmLivingProps.addCont((EntityLivingBase)entity, new ContaminationEffect(5F, 300, false)); + } } } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java b/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java index 8ed63752a..ba7c68a28 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java @@ -1,19 +1,18 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; -import com.hbm.blocks.ModBlocks; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.items.ModItems; -import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineFractionTower; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class MachineFractionTower extends BlockDummyable { @@ -26,6 +25,8 @@ public class MachineFractionTower extends BlockDummyable { if(meta >= 12) return new TileEntityMachineFractionTower(); + if(meta >= extra) + return new TileEntityProxyCombo(false, false, true); return null; } @@ -43,7 +44,7 @@ public class MachineFractionTower extends BlockDummyable { @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(!player.isSneaking()) { + if(!world.isRemote && !player.isSneaking()) { if(player.getHeldItem() == null || player.getHeldItem().getItem() == ModItems.fluid_identifier) { int[] pos = this.findCore(world, x, y, z); @@ -60,6 +61,8 @@ public class MachineFractionTower extends BlockDummyable { if(player.getHeldItem() == null) { + player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "=== FRACTIONING TOWER Y:" + pos[1] + " ===")); + for(int i = 0; i < frac.tanks.length; i++) player.addChatComponentMessage(new ChatComponentText(frac.tanks[i].getTankType() + ": " + frac.tanks[i].getFill() + "/" + frac.tanks[i].getMaxFill() + "mB")); } else { @@ -82,4 +85,17 @@ public class MachineFractionTower extends BlockDummyable { return true; } } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + x = x + dir.offsetX * o; + z = z + dir.offsetZ * o; + + this.makeExtra(world, x + 1, y, z); + this.makeExtra(world, x - 1, y, z); + this.makeExtra(world, x, y, z + 1); + this.makeExtra(world, x, y, z - 1); + } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineOrbus.java b/src/main/java/com/hbm/blocks/machine/MachineOrbus.java index 921d05390..60b36984b 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineOrbus.java +++ b/src/main/java/com/hbm/blocks/machine/MachineOrbus.java @@ -11,6 +11,7 @@ import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class MachineOrbus extends BlockDummyable { @@ -54,4 +55,22 @@ public class MachineOrbus extends BlockDummyable { return true; } } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + x = x + dir.offsetX * o; + z = z + dir.offsetZ * o; + + ForgeDirection d2 = dir.getRotation(ForgeDirection.UP); + dir = dir.getOpposite(); + + for(int i = 0; i < 5; i += 4) { + this.makeExtra(world, x, y + i, z); + this.makeExtra(world, x + dir.offsetX, y + i, z + dir.offsetZ); + this.makeExtra(world, x + d2.offsetX, y + i, z + d2.offsetZ); + this.makeExtra(world, x + dir.offsetX + d2.offsetX, y + i, z + dir.offsetZ + d2.offsetZ); + } + } } diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index cc17e5e89..ab27f0b60 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -176,6 +176,7 @@ public class ConsumableRecipes { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.injector_5htp, 1), new Object[] { ModItems.five_htp, ModItems.circuit_targeting_tier1, ModItems.plate_saturnite }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.injector_knife, 1), new Object[] { ModItems.injector_5htp, Items.iron_sword }); GameRegistry.addRecipe(new ItemStack(ModItems.shackles, 1), new Object[] { "CIC", "C C", "I I", 'I', ModItems.ingot_chainsteel, 'C', ModBlocks.chain }); + GameRegistry.addRecipe(new ItemStack(ModItems.black_diamond, 1), new Object[] { "NIN", "IGI", "NIN", 'N', ModItems.nugget_au198, 'I', ModItems.ink, 'G', ModItems.gem_volcanic }); //Stealth boy GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stealth_boy, 1), new Object[] { " B", "LI", "LC", 'B', Item.getItemFromBlock(Blocks.stone_button), 'L', Items.leather, 'I', "ingotSteel", 'C', ModItems.circuit_red_copper })); diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index 87d495b33..f650729c7 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -22,8 +22,9 @@ public class MineralRecipes { public static void register() { add1To9Pair(ModItems.powder_coal, ModItems.powder_coal_tiny); - + add1To9Pair(ModBlocks.sand_gold, ModItems.powder_gold); + add1To9Pair(ModBlocks.sand_gold198, ModItems.powder_au198); add1To9Pair(ModBlocks.block_aluminium, ModItems.ingot_aluminium); add1To9Pair(ModBlocks.block_graphite, ModItems.ingot_graphite); diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 1d38fce58..1fc889d9a 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -79,7 +79,9 @@ public class ToolRecipes { //Super pickaxes GameRegistry.addRecipe(new ItemStack(ModItems.bismuth_pickaxe, 1), new Object[] { " BM", "BPB", "TB ", 'B', ModItems.ingot_bismuth, 'M', ModItems.ingot_meteorite, 'P', ModItems.starmetal_pickaxe, 'T', ModItems.bolt_tungsten }); + GameRegistry.addRecipe(new ItemStack(ModItems.volcanic_pickaxe, 1), new Object[] { " BM", "BPB", "TB ", 'B', ModItems.gem_volcanic, 'M', ModItems.ingot_meteorite, 'P', ModItems.starmetal_pickaxe, 'T', ModItems.bolt_tungsten }); GameRegistry.addRecipe(new ItemStack(ModItems.chlorophyte_pickaxe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', ModItems.ingot_fiberglass, 'P', ModItems.bismuth_pickaxe, 'F', ModItems.bolt_dura_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.chlorophyte_pickaxe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', ModItems.ingot_fiberglass, 'P', ModItems.volcanic_pickaxe, 'F', ModItems.bolt_dura_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.mese_pickaxe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_desh, 'D', ModItems.powder_dineutronium, 'A', ModItems.plate_paa, 'P', ModItems.chlorophyte_pickaxe, 'F', ModItems.shimmer_handle }); //Chainsaws diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 0355027e2..1eff9cd7c 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -9,6 +9,7 @@ import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.extprop.HbmLivingProps; import com.hbm.extprop.HbmLivingProps.ContaminationEffect; import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; @@ -30,7 +31,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -282,12 +282,12 @@ public class EntityEffectHandler { //T-30 minutes, take damage every 20 seconds if(contagion < 30 * minute && rand.nextInt(400) == 0) { - entity.attackEntityFrom(DamageSource.magic, 1F); + entity.attackEntityFrom(ModDamageSource.mku, 1F); } //T-5 minutes, take damage every 5 seconds if(contagion < 5 * minute && rand.nextInt(100) == 0) { - entity.attackEntityFrom(DamageSource.magic, 2F); + entity.attackEntityFrom(ModDamageSource.mku, 2F); } if(contagion < 30 * minute && (contagion + entity.getEntityId()) % 200 < 20) { @@ -302,7 +302,7 @@ public class EntityEffectHandler { //end of contagion, drop dead if(contagion == 0) { - entity.attackEntityFrom(DamageSource.magic, 1000F); + entity.attackEntityFrom(ModDamageSource.mku, 1000F); } } } diff --git a/src/main/java/com/hbm/handler/WeaponAbility.java b/src/main/java/com/hbm/handler/WeaponAbility.java index 19361c3e3..6500993b3 100644 --- a/src/main/java/com/hbm/handler/WeaponAbility.java +++ b/src/main/java/com/hbm/handler/WeaponAbility.java @@ -156,6 +156,33 @@ public abstract class WeaponAbility { } } + public static class FireAbility extends WeaponAbility { + + int duration; + + public FireAbility(int duration) { + this.duration = duration; + } + + @Override + public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { + + if(victim instanceof EntityLivingBase) { + victim.setFire(duration); + } + } + + @Override + public String getName() { + return "weapon.ability.fire"; + } + + @Override + public String getFullName() { + return I18n.format(getName()) + " (" + duration + ")"; + } + } + public static class ChainsawAbility extends WeaponAbility { int divider; diff --git a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java index fc1028024..6fe44d201 100644 --- a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java +++ b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandlerSimple.java @@ -39,11 +39,7 @@ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { if(world.blockExists(x, 0, z)) { ChunkCoordIntPair coords = new ChunkCoordIntPair(x >> 4, z >> 4); - - if(radWorld.radiation.containsKey(coords)) { - radWorld.radiation.put(coords, rad); - } - + radWorld.radiation.put(coords, rad); world.getChunkFromBlockCoords(x, z).isModified = true; } } @@ -70,6 +66,9 @@ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { for(Entry chunk : buff.entrySet()) { + if(chunk.getValue() == 0) + continue; + ChunkCoordIntPair coord = chunk.getKey(); for(int i = -1; i <= 1; i++) { @@ -85,6 +84,8 @@ public class ChunkRadiationHandlerSimple extends ChunkRadiationHandler { float newRad = rad + chunk.getValue() * percent; newRad = Math.max(0F, newRad * 0.99F - 0.05F); radiation.put(newCoord, newRad); + } else { + radiation.put(newCoord, chunk.getValue() * percent); } } } diff --git a/src/main/java/com/hbm/inventory/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/AssemblerRecipes.java index e87d041b9..d0f1b0a6d 100644 --- a/src/main/java/com/hbm/inventory/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/AssemblerRecipes.java @@ -276,6 +276,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.pipes_steel, 1), new OreDictStack("ingotDesh", 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.blades_advanced_alloy, 2), new OreDictStack("ingotSteel", 16), new OreDictStack("plateTitanium", 16), new ComparableStack(Blocks.glass, 4), new ComparableStack(ModItems.circuit_gold, 1), },400); makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack("ingotSteel", 2), new OreDictStack("plateSteel", 6), new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.oil_tar, 4), },150); makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack("plateSteel", 16), new ComparableStack(ModItems.ingot_tcalloy, 16), new ComparableStack(ModBlocks.steel_scaffold, 16), new ComparableStack(ModItems.oil_tar, 16), },150); + makeRecipe(new ComparableStack(ModBlocks.machine_orbus, 1), new AStack[] {new OreDictStack("ingotSteel", 12), new ComparableStack(ModItems.ingot_tcalloy, 12), new OreDictStack("plateSaturnite", 12), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc_polonium, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_drill, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 6), new OreDictStack("ingotSteel", 4), new ComparableStack(ModItems.wire_red_copper, 4), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.ingot_dura_steel, 2), new ComparableStack(ModItems.bolt_dura_steel, 2), new ComparableStack(ModItems.drill_titanium, 1), },200); makeRecipe(new ComparableStack(ModBlocks.machine_mining_laser, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 3), new OreDictStack("plateSteel", 16), new ComparableStack(ModItems.crystal_redstone, 3), new ComparableStack(Items.diamond, 3), new ComparableStack(ModItems.ingot_polymer, 4), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.ingot_dura_steel, 4), new ComparableStack(ModItems.bolt_dura_steel, 6), new ComparableStack(ModBlocks.machine_battery, 3), },400); makeRecipe(new ComparableStack(ModBlocks.machine_turbofan, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.turbine_tungsten, 1), new ComparableStack(ModItems.turbine_titanium, 7), new ComparableStack(ModItems.bolt_compound, 8), new OreDictStack("ingotMingrade", 12), new ComparableStack(ModItems.wire_red_copper, 24), },500); diff --git a/src/main/java/com/hbm/inventory/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/CrystallizerRecipes.java index c68de7b10..071f6a3f8 100644 --- a/src/main/java/com/hbm/inventory/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/CrystallizerRecipes.java @@ -49,6 +49,7 @@ public class CrystallizerRecipes { recipes.put("oreStarmetal", new ItemStack(ModItems.crystal_starmetal)); recipes.put("oreRareEarth", new ItemStack(ModItems.crystal_rare)); recipes.put("oreCobalt", new ItemStack(ModItems.crystal_cobalt)); + recipes.put("oreCinnabar", new ItemStack(ModItems.crystal_cinnebar)); recipes.put(new ComparableStack(ModBlocks.ore_nether_fire), new ItemStack(ModItems.crystal_phosphorus)); recipes.put(new ComparableStack(ModBlocks.ore_tikite), new ItemStack(ModItems.crystal_trixite)); diff --git a/src/main/java/com/hbm/inventory/MachineRecipes.java b/src/main/java/com/hbm/inventory/MachineRecipes.java index b4d9fc04a..79a20498e 100644 --- a/src/main/java/com/hbm/inventory/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/MachineRecipes.java @@ -2148,8 +2148,8 @@ public class MachineRecipes { output[1] = new FluidStack(RefineryRecipes.smear_frac_lube * 10, FluidType.LUBRICANT); break; case FP_NAPHTHA: - output[0] = new FluidStack(RefineryRecipes.napth_frac_heat * 10, FluidType.HEATINGOIL); - output[1] = new FluidStack(RefineryRecipes.napth_frac_diesel * 10, FluidType.DIESEL); + output[0] = new FluidStack(RefineryRecipes.napht_frac_heat * 10, FluidType.HEATINGOIL); + output[1] = new FluidStack(RefineryRecipes.napht_frac_diesel * 10, FluidType.DIESEL); break; case FP_LIGHTOIL: output[0] = new FluidStack(RefineryRecipes.light_frac_diesel * 10, FluidType.DIESEL); diff --git a/src/main/java/com/hbm/inventory/RefineryRecipes.java b/src/main/java/com/hbm/inventory/RefineryRecipes.java index 7f1572542..b48bf7913 100644 --- a/src/main/java/com/hbm/inventory/RefineryRecipes.java +++ b/src/main/java/com/hbm/inventory/RefineryRecipes.java @@ -1,6 +1,5 @@ package com.hbm.inventory; -import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -10,7 +9,6 @@ import com.hbm.items.machine.ItemFluidIcon; import com.hbm.util.Tuple.Quartet; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; public class RefineryRecipes { @@ -24,8 +22,8 @@ public class RefineryRecipes { public static final int heavy_frac_smear = 70; public static final int smear_frac_heat = 60; public static final int smear_frac_lube = 40; - public static final int napth_frac_heat = 40; - public static final int napth_frac_diesel = 60; + public static final int napht_frac_heat = 40; + public static final int napht_frac_diesel = 60; public static final int light_frac_diesel = 40; public static final int light_frac_kero = 60; @@ -49,7 +47,7 @@ public class RefineryRecipes { public static void registerFractions() { fractions.put(FluidType.HEAVYOIL, new Quartet(FluidType.BITUMEN, FluidType.SMEAR, heavy_frac_bitu, heavy_frac_smear)); fractions.put(FluidType.SMEAR, new Quartet(FluidType.HEATINGOIL, FluidType.LUBRICANT, smear_frac_heat, smear_frac_lube)); - fractions.put(FluidType.NAPHTHA, new Quartet(FluidType.HEATINGOIL, FluidType.DIESEL, napth_frac_heat, napth_frac_diesel)); + fractions.put(FluidType.NAPHTHA, new Quartet(FluidType.HEATINGOIL, FluidType.DIESEL, napht_frac_heat, napht_frac_diesel)); fractions.put(FluidType.LIGHTOIL, new Quartet(FluidType.DIESEL, FluidType.KEROSENE, light_frac_diesel, light_frac_kero)); } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 35ef6ba08..582e6e42b 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -7,7 +7,6 @@ import com.hbm.handler.ToolAbility.LuckAbility; import com.hbm.handler.WeaponAbility; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.handler.guncfg.*; -import static com.hbm.handler.indexing.AmmoIndex.AmmoTrait.*; import com.hbm.items.armor.*; import com.hbm.items.bomb.*; import com.hbm.items.food.*; @@ -2113,6 +2112,7 @@ public class ModItems { public static Item heart_container; public static Item heart_booster; public static Item heart_fab; + public static Item black_diamond; public static Item wd40; public static Item scrumpy; public static Item wild_p; @@ -3185,6 +3185,7 @@ public class ModItems { heart_container = new ItemModHealth(20F).setUnlocalizedName("heart_container").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":heart_container"); heart_booster = new ItemModHealth(40F).setUnlocalizedName("heart_booster").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":heart_booster"); heart_fab = new ItemModHealth(60F).setUnlocalizedName("heart_fab").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":heart_fab"); + black_diamond = new ItemModHealth(40F).setUnlocalizedName("black_diamond").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":black_diamond"); wd40 = new ItemModWD40().setUnlocalizedName("wd40").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":wd40"); scrumpy = new ItemModRevive(1).setUnlocalizedName("scrumpy").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":scrumpy"); wild_p = new ItemModRevive(3).setUnlocalizedName("wild_p").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":wild_p"); @@ -5006,7 +5007,7 @@ public class ModItems { .addBreakAbility(new ToolAbility.SmelterAbility()) .addBreakAbility(new ToolAbility.LuckAbility(3)) .addBreakAbility(new ToolAbility.SilkAbility()) - .addHitAbility(new WeaponAbility.StunAbility(5)) + .addHitAbility(new WeaponAbility.FireAbility(5)) .addHitAbility(new WeaponAbility.VampireAbility(2F)) .addHitAbility(new WeaponAbility.BeheaderAbility()) .setDepthRockBreaker().setUnlocalizedName("volcanic_pickaxe").setTextureName(RefStrings.MODID + ":volcanic_pickaxe"); @@ -7341,6 +7342,7 @@ public class ModItems { GameRegistry.registerItem(heart_container, heart_container.getUnlocalizedName()); GameRegistry.registerItem(heart_booster, heart_booster.getUnlocalizedName()); GameRegistry.registerItem(heart_fab, heart_fab.getUnlocalizedName()); + GameRegistry.registerItem(black_diamond, black_diamond.getUnlocalizedName()); GameRegistry.registerItem(wd40, wd40.getUnlocalizedName()); GameRegistry.registerItem(scrumpy, scrumpy.getUnlocalizedName()); GameRegistry.registerItem(wild_p, wild_p.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ItemModHealth.java b/src/main/java/com/hbm/items/armor/ItemModHealth.java index 2cac42972..b0d8a67ed 100644 --- a/src/main/java/com/hbm/items/armor/ItemModHealth.java +++ b/src/main/java/com/hbm/items/armor/ItemModHealth.java @@ -4,6 +4,7 @@ import java.util.List; import com.google.common.collect.Multimap; import com.hbm.handler.ArmorModHandler; +import com.hbm.items.ModItems; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; @@ -28,6 +29,12 @@ public class ItemModHealth extends ItemArmorMod { list.add(color + "+" + (Math.round(health * 10 / 2) * 0.1) + " health"); list.add(""); + + if(this == ModItems.black_diamond) { + list.add(EnumChatFormatting.DARK_GRAY + "Nostalgia"); + list.add(""); + } + super.addInformation(itemstack, player, list, bool); } diff --git a/src/main/java/com/hbm/lib/ModDamageSource.java b/src/main/java/com/hbm/lib/ModDamageSource.java index f3cd61a7e..a448b955f 100644 --- a/src/main/java/com/hbm/lib/ModDamageSource.java +++ b/src/main/java/com/hbm/lib/ModDamageSource.java @@ -1,15 +1,12 @@ package com.hbm.lib; import com.hbm.entity.projectile.EntityBullet; -import com.hbm.entity.projectile.EntityBulletBase; -import com.hbm.entity.projectile.EntityCombineBall; import com.hbm.entity.projectile.EntityDischarge; import com.hbm.entity.projectile.EntityFire; import com.hbm.entity.projectile.EntityLN2; import com.hbm.entity.projectile.EntityLaserBeam; import com.hbm.entity.projectile.EntityMinerBeam; import com.hbm.entity.projectile.EntityPlasmaBeam; -import com.hbm.entity.projectile.EntityRainbow; import net.minecraft.entity.Entity; import net.minecraft.util.DamageSource; @@ -51,6 +48,7 @@ public class ModDamageSource extends DamageSource { public static DamageSource lunar = (new DamageSource("lunar")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource monoxide = (new DamageSource("monoxide")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource asbestos = (new DamageSource("asbestos")).setDamageIsAbsolute().setDamageBypassesArmor(); + public static DamageSource mku = (new DamageSource("mku")).setDamageIsAbsolute().setDamageBypassesArmor(); public static final String s_bullet = "revolverBullet"; public static final String s_emplacer = "chopperBullet"; diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 114c83f8e..a690fff5b 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -251,6 +251,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.solar_mirror, 3), new Object[] { "AAA", " B ", "SSS", 'A', "plateAluminum", 'B', ModBlocks.steel_beam, 'S', "ingotSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.anvil_iron, 1), new Object[] { "III", " B ", "III", 'I', "ingotIron", 'B', "blockIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.anvil_lead, 1), new Object[] { "III", " B ", "III", 'I', "ingotLead", 'B', "blockLead" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_fraction_tower), new Object[] { "SHS", "SGS", "SHS", 'S', "plateSteel", 'H', ModItems.hull_big_steel, 'G', ModBlocks.steel_grate })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.fraction_spacer), new Object[] { "BHB", 'H', ModItems.hull_big_steel, 'B', Blocks.iron_bars }); GameRegistry.addRecipe(new ItemStack(ModBlocks.muffler, 1), new Object[] { "III", "IWI", "III", 'I', ModItems.plate_polymer, 'W', Blocks.wool }); @@ -692,7 +694,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.barrel_iron, 1), new Object[] { ModBlocks.barrel_corroded, ModItems.oil_tar }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.barrel_steel, 1), new Object[] { "IPI", "ITI", "IPI", 'I', "plateSteel", 'P', "ingotSteel", 'T', ModItems.oil_tar })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.barrel_tcalloy, 1), new Object[] { "IPI", "I I", "IPI", 'I', "ingotTcAlloy", 'P', "plateTitanium" })); - GameRegistry.addRecipe(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "IPI", "IPI", 'I', ModItems.plate_saturnite, 'P', ModItems.coil_advanced_torus }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "IBI", "IPI", 'I', ModItems.plate_saturnite, 'P', ModItems.coil_advanced_torus, 'B', ModItems.battery_sc_technetium }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.tesla, 1), new Object[] { "CCC", "PIP", "WTW", 'C', ModItems.coil_copper, 'I', "ingotIron", 'P', "ingotPolymer", 'T', ModBlocks.machine_transformer, 'W', "plankWood" })); GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_plasma_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_gold, 'B', ModBlocks.machine_lithium_battery, 'H', ModBlocks.fusion_heater }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.circuit_red_copper, 48), new Object[] { ModBlocks.fusion_core }); @@ -976,6 +978,7 @@ public class CraftingManager { GameRegistry.addSmelting(new ItemStack(ModBlocks.gravel_diamond), new ItemStack(Items.diamond), 3.0F); GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_uranium), new ItemStack(ModBlocks.glass_uranium), 0.25F); GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_polonium), new ItemStack(ModBlocks.glass_polonium), 0.75F); + GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_quartz), new ItemStack(ModBlocks.glass_quartz), 0.75F); GameRegistry.addSmelting(new ItemStack(ModBlocks.waste_trinitite), new ItemStack(ModBlocks.glass_trinitite), 0.25F); GameRegistry.addSmelting(new ItemStack(ModBlocks.waste_trinitite_red), new ItemStack(ModBlocks.glass_trinitite), 0.25F); GameRegistry.addSmelting(new ItemStack(ModBlocks.sand_boron), new ItemStack(ModBlocks.glass_boron), 0.25F); @@ -1010,6 +1013,7 @@ public class CraftingManager { GameRegistry.addSmelting(ModItems.crystal_cobalt, new ItemStack(ModItems.ingot_cobalt, 2), 2.0F); GameRegistry.addSmelting(ModItems.crystal_starmetal, new ItemStack(ModItems.ingot_starmetal, 2), 2.0F); GameRegistry.addSmelting(ModItems.crystal_trixite, new ItemStack(ModItems.ingot_plutonium, 4), 2.0F); + GameRegistry.addSmelting(ModItems.crystal_cinnebar, new ItemStack(ModItems.cinnebar, 4), 2.0F); GameRegistry.addSmelting(ModItems.circuit_schrabidium, new ItemStack(ModItems.circuit_gold, 1), 1.0F); GameRegistry.addSmelting(ModItems.circuit_gold, new ItemStack(ModItems.circuit_red_copper, 1), 1.0F); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 0d8817d36..a76327a04 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -146,10 +146,6 @@ public class ModEventHandler { ); } - if(event.player.getDisplayName().equals("the_NCR") && System.currentTimeMillis() < 1629649410000L) { - event.player.inventory.addItemStackToInventory(new ItemStack(ModItems.v1)); - } - if(MobConfig.enableDucks && event.player instanceof EntityPlayerMP && !event.player.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG).getBoolean("hasDucked")) PacketDispatcher.wrapper.sendTo(new PlayerInformPacket("Press O to Duck!"), (EntityPlayerMP) event.player); } diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 30087cb0c..2131dfdf2 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -326,6 +326,7 @@ public class ResourceManager { //Refinery public static final ResourceLocation refinery_tex = new ResourceLocation(RefStrings.MODID, "textures/models/refinery.png"); public static final ResourceLocation fraction_tower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fraction_tower.png"); + public static final ResourceLocation fraction_spacer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fraction_spacer.png"); //Flare Stack public static final ResourceLocation oilflare_tex = new ResourceLocation(RefStrings.MODID, "textures/models/oilFlareTexture.png"); diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index e6a1244dd..b10a4204e 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -1032,6 +1032,17 @@ public class ItemRenderLibrary { GL11.glShadeModel(GL11.GL_FLAT); }}); + renderers.put(Item.getItemFromBlock(ModBlocks.machine_orbus), new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -3, 0); + GL11.glScaled(2, 2, 2); + } + public void renderCommon() { + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.orbus_tex); ResourceManager.orbus.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}); + renderers.put(Item.getItemFromBlock(ModBlocks.watz), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -1, 0); @@ -1052,6 +1063,15 @@ public class ItemRenderLibrary { GL11.glScaled(1, 1, 1); bindTexture(ResourceManager.fraction_tower_tex); ResourceManager.fraction_tower.renderAll(); }}); + + renderers.put(Item.getItemFromBlock(ModBlocks.fraction_spacer), new ItemRenderBase() { + public void renderInventory() { + GL11.glScaled(3.25, 3.25, 3.25); + } + public void renderCommon() { + GL11.glScaled(1, 1, 1); + bindTexture(ResourceManager.fraction_spacer_tex); ResourceManager.fraction_spacer.renderAll(); + }}); } private static void bindTexture(ResourceLocation res) { diff --git a/src/main/java/com/hbm/render/tileentity/RenderSpacer.java b/src/main/java/com/hbm/render/tileentity/RenderSpacer.java index a5b3a932a..6797b12b1 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderSpacer.java +++ b/src/main/java/com/hbm/render/tileentity/RenderSpacer.java @@ -15,9 +15,9 @@ public class RenderSpacer extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5D, y, z + 0.5D); GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glEnable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.universal); + bindTexture(ResourceManager.fraction_spacer_tex); ResourceManager.fraction_spacer.renderAll(); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFractionTower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFractionTower.java index d2b41c5d2..42cd07224 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFractionTower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFractionTower.java @@ -13,8 +13,10 @@ import com.hbm.util.Tuple.Quartet; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; import scala.actors.threadpool.Arrays; public class TileEntityMachineFractionTower extends TileEntity implements IFluidSource, IFluidAcceptor { @@ -66,6 +68,11 @@ public class TileEntityMachineFractionTower extends TileEntity implements IFluid if(worldObj.getTotalWorldTime() % 20 == 0) fractionate(); + + if(worldObj.getTotalWorldTime() % 10 == 0) { + fillFluidInit(tanks[1].getTankType()); + fillFluidInit(tanks[2].getTankType()); + } } } @@ -99,6 +106,22 @@ public class TileEntityMachineFractionTower extends TileEntity implements IFluid private boolean hasSpace(int left, int right) { return tanks[1].getFill() + left <= tanks[1].getMaxFill() && tanks[2].getFill() + right <= tanks[2].getMaxFill(); } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + for(int i = 0; i < 3; i++) + tanks[i].readFromNBT(nbt, "tank" + i); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + for(int i = 0; i < 3; i++) + tanks[i].writeToNBT(nbt, "tank" + i); + } @Override public void setFillstate(int fill, int index) { @@ -145,8 +168,11 @@ public class TileEntityMachineFractionTower extends TileEntity implements IFluid @Override public void fillFluidInit(FluidType type) { - // TODO Auto-generated method stub + for(int i = 2; i < 6; i++) { + ForgeDirection dir = ForgeDirection.getOrientation(i); + fillFluid(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2, this.getTact(), type); + } } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOrbus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOrbus.java index 44533d435..483e145d1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOrbus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOrbus.java @@ -1,10 +1,12 @@ package com.hbm.tileentity.machine; +import com.hbm.blocks.BlockDummyable; import com.hbm.handler.FluidTypeHandler.FluidType; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineOrbus extends TileEntityBarrel { @@ -22,14 +24,16 @@ public class TileEntityMachineOrbus extends TileEntityBarrel { @Override public void fillFluidInit(FluidType type) { - fillFluid(this.xCoord + 1, this.yCoord, this.zCoord + 3, getTact(), type); - fillFluid(this.xCoord - 1, this.yCoord, this.zCoord + 3, getTact(), type); - fillFluid(this.xCoord + 1, this.yCoord, this.zCoord - 3, getTact(), type); - fillFluid(this.xCoord - 1, this.yCoord, this.zCoord - 3, getTact(), type); - fillFluid(this.xCoord + 3, this.yCoord, this.zCoord + 1, getTact(), type); - fillFluid(this.xCoord - 3, this.yCoord, this.zCoord + 1, getTact(), type); - fillFluid(this.xCoord + 3, this.yCoord, this.zCoord - 1, getTact(), type); - fillFluid(this.xCoord - 3, this.yCoord, this.zCoord - 1, getTact(), type); + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); + ForgeDirection d2 = dir.getRotation(ForgeDirection.DOWN); + + for(int i = -1; i < 7; i += 7) { + this.fillFluid(xCoord, yCoord + i, zCoord, this.getTact(), this.tank.getTankType()); + this.fillFluid(xCoord + dir.offsetX, yCoord + i, zCoord + dir.offsetZ, this.getTact(), this.tank.getTankType()); + this.fillFluid(xCoord + d2.offsetX, yCoord + i, zCoord + d2.offsetZ, this.getTact(), this.tank.getTankType()); + this.fillFluid(xCoord + dir.offsetX + d2.offsetX, yCoord + i, zCoord + dir.offsetZ + d2.offsetZ, this.getTact(), this.tank.getTankType()); + } } AxisAlignedBB bb = null; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySpacer.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySpacer.java index ddd30d8e1..93e5024f7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySpacer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySpacer.java @@ -1,6 +1,9 @@ package com.hbm.tileentity.machine; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; public class TileEntitySpacer extends TileEntity { @@ -8,4 +11,29 @@ public class TileEntitySpacer extends TileEntity { public boolean canUpdate() { return false; } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord, + zCoord - 1, + xCoord + 2, + yCoord + 1, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 7b6668c59..79dac7987 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -180,6 +180,7 @@ container.arcFurnace=Lichtbogenofen container.armorTable=Rüstungsmodifikationstisch container.assembler=Fertigungsmaschine container.barrel=Fass +container.bat9000=Big-Ass Tank 9000 container.battery=Energiespeicher container.bombMulti=Mehrzweckbombe container.centrifuge=Zentrifuge @@ -316,6 +317,7 @@ death.attack.laser.item=%1$s wurde von %2$s mit %3$s zerbröselt. death.attack.lead=%1$s starb an Bleivergiftung. death.attack.lunar=%1$s vergaß lebenswichtige Organe aufzuladen. death.attack.meteorite=%1$s wurde von einem fallenden Stein aus dem Weltall erschlagen. +death.attack.mku=%1$s starb aus unbekannten Gründen. death.attack.monoxide=%1$s vergaß, die Batterien im Kohlenmonoxid-Detektor auszutauschen. death.attack.mudPoisoning=%1$s starb an Giftschlamm. death.attack.nuclearBlast=%1$s wurde von einer Atomexplosion weggeblasen. @@ -770,6 +772,7 @@ item.bj_helmet.name=Augenklappe mit Infrarot-Sensor item.bj_legs.name=Lunare Kybernetischer Beinersatz item.bj_plate.name=Lunare Kybernetische Panzerung item.bj_plate_jetpack.name=Lunare Kybernetische Panzerung (Geflügelt) +item.black_diamond.name=Black Diamond item.black_hole.name=Miniatur Schwarzes Loch item.blade_meteorite.name=Meteoritenklinge item.blade_titanium.name=Titanturbinenschaufel @@ -1040,6 +1043,7 @@ item.crystal_charred.name=Verkohlter Kristall item.crystal_coal.name=Kohlekristalle item.crystal_cobalt.name=Kobaltkristalle item.crystal_copper.name=Kupferkristalle +item.crystal_cinnebar.name=Zinnoberkristalle item.crystal_diamond.name=Diamantkristalle item.crystal_energy.name=Energiekristall item.crystal_fluorite.name=Fluoritkristalle @@ -2458,6 +2462,7 @@ item.upgrade_speed_2.name=Geschwindigkeitsupgrade Mk.II item.upgrade_speed_3.name=Geschwindigkeitsupgrade Mk.III item.upgrade_template.name=Maschinenupgrade-Vorlage item.v1.name=V1 +item.volcanic_pickaxe.name=Geschmolzene Spitzhacke item.wand_d.name=Debug-Zauberstab item.wand_k.name=Konstruktions-Zauberstab item.wand_s.name=Struktur-Zauberstab @@ -2708,7 +2713,8 @@ tile.brick_concrete_broken.name=Gebrochene Betonziegel tile.brick_concrete_cracked.name=Rissige Betonziegel tile.brick_concrete_marked.name=Beschriebene Betonziegel tile.brick_concrete_mossy.name=Bemooste Betonziegel -tile.brick_dungeon.name=Berzelianitziiegel +tile.brick_ducrete.name=Ducrete-Ziegel +tile.brick_dungeon.name=Berzelianitziegel tile.brick_dungeon_circle.name=Berzelianitkreis tile.brick_dungeon_flat.name=Berzelianitblock tile.brick_dungeon_tile.name=Berzelianitfliese @@ -2807,6 +2813,8 @@ tile.dfc_injector.name=DFC-Brennstoffinjektor tile.dfc_receiver.name=DFC-Receiver tile.dfc_stabilizer.name=DFC-Stabilisator tile.drill_pipe.name=Bohrgestänge +tile.ducrete.name=Ducrete-Fliese +tile.ducrete_smooth.name=Ducrete tile.dummy_block.name=Dummyblock tile.dummy_port.name=Dummyblock (Stromanschluss) tile.dungeon_chain.name=Metallkette @@ -2830,6 +2838,7 @@ tile.flame_war.name=Flamewar aus der Box tile.float_bomb.name=Schwebebombe tile.fluid_duct.name=Universelles Flüssigkeitsrohr tile.foam_layer.name=Schaumdecke +tile.fraction_spacer.name=Fraktionierungsturm-Teiler tile.frozen_dirt.name=Gefrorene Erde tile.frozen_grass.name=Gefrorenes Gras tile.frozen_log.name=Gefrorener Baumstamm @@ -2861,6 +2870,7 @@ tile.glass_ash.name=Ascheglas tile.glass_boron.name=Borglas tile.glass_lead.name=Bleiglas tile.glass_polonium.name=Poloniumglas +tile.glass_quartz.name=Quarzglas tile.glass_trinitite.name=Trinity-Glas tile.glass_uranium.name=Uranglas tile.gneiss_brick.name=Schieferziegel @@ -2952,6 +2962,7 @@ tile.machine_fensu.name=FEnSU tile.machine_flare.name=Abfackelturm tile.machine_fluidtank.name=Tank tile.machine_forcefield.name=Kraftfeldgenerator +tile.machine_fraction_tower.name=Fraktionierungsturm tile.machine_gascent.name=Gaszentrifuge tile.machine_generator.name=Atomreaktor (Alt) tile.machine_geo.name=Gepthermiegenerator @@ -2965,6 +2976,7 @@ tile.machine_minirtg.name=Radioisotopenzelle tile.machine_missile_assembly.name=Raketenmontagestation tile.machine_nuke_furnace_off.name=Atombetriebener Ofen tile.machine_nuke_furnace_on.name=Atombetriebener Ofen +tile.machine_orbus.name=Schwerer Magnetischer Lagerbehälter tile.machine_powerrtg.name=PT-Isotopenzelle tile.machine_press.name=Befeuerte Presse tile.machine_puf6_tank.name=Plutoniumhexafluorid-Tank @@ -3150,6 +3162,7 @@ tile.red_cable.name=Rotes Kupferkabel tile.red_pylon.name=Strommasten tile.red_wire_coated.name=Geschirmtes rotes Kupferkabel tile.reinforced_brick.name=Verstärkter Stein +tile.reinforced_ducrete.name=Verstärkter Ducrete tile.reinforced_glass.name=Verstärktes Glas tile.reinforced_lamp_off.name=Verstärkte Lampe tile.reinforced_lamp_on.name=Verstärkte Lampe @@ -3162,8 +3175,10 @@ tile.safe.name=Panzerschrank tile.sand_boron.name=Borsand tile.sand_boron_layer.name=Borsanddecke tile.sand_gold.name=Goldsand +tile.sand_gold198.name=Gold-198-Sand tile.sand_lead.name=Bleisand tile.sand_polonium.name=Poloniumsand +tile.sand_quartz.name=Quarzsand tile.sand_uranium.name=Uransand tile.sat_dock.name=Frachtlandeplattform tile.sat_foeq.name=PEAF - Mk.I FOEQ Dunasonde mit experimenter nuklearer Schubdüse (Dekoblock) @@ -3223,6 +3238,7 @@ tile.turret_friendly.name=Gatlingeschütz "Mister Friendly" tile.turret_fritz.name=Schwered Flammenwerfergeschütz "Fritz" tile.turret_heavy.name=Schweres MG-Geschütz tile.turret_howard.name=Goalkeeper-Zwilling CIWS "Howard" +tile.turret_howard_damaged.name=Goalkeeper-Zwilling CIWS "turret_howard_damaged" tile.turret_jeremy.name=Autokanonengeschütz "Jeremy" tile.turret_light.name=Leichtes MG-Geschütz tile.turret_maxwell.name=Hochenergie-MASER-Geschütz "Maxwell" @@ -3322,8 +3338,9 @@ tool.ability.silktouch=Behutsamkeit tool.ability.smelter=Auto-Ofen weapon.ability.beheader=Köpfer -weapon.ability.chainsaw=Skelettensäge # Should rhyme with the translation for "chainsaw" +weapon.ability.chainsaw=Skelettensäge +weapon.ability.fire=Flammend weapon.ability.radiation=Radioaktive Schneide weapon.ability.phosphorus=Phosphorspitze weapon.ability.stun=Betäubend diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 2ae1a5b7f..99d0eeb97 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -248,6 +248,7 @@ container.arcFurnace=Arc Furnace container.armorTable=Armor Modification Table container.assembler=Assembly Machine container.barrel=Barrel +container.bat9000=Big-Ass Tank 9000 container.battery=Energy Storage container.bombMulti=Multi Purpose Bomb container.centrifuge=Centrifuge @@ -384,6 +385,7 @@ death.attack.laser.item=%1$s was turned into ash by %2$s using %3$s. death.attack.lead=%1$s died from lead poisoning. death.attack.lunar=%1$s forgot to charge their vital organs. death.attack.meteorite=%1$s was hit by a falling rock from outer space. +death.attack.mku=%1$s died from unknown causes. death.attack.monoxide=%1$s forgot to change the batteries in their carbon monoxide detector. death.attack.mudPoisoning=%1$s died in poisonous mud. death.attack.nuclearBlast=%1$s was blown away by a nuclear explosion. @@ -838,6 +840,7 @@ item.bj_helmet.name=Eyepatch with Thermal Sensor item.bj_legs.name=Lunar Cybernetic Leg Replacements item.bj_plate.name=Lunar Cybernetic Plating item.bj_plate_jetpack.name=Lunar Cybernetic Plating (Winged) +item.black_diamond.name=Black Diamond item.black_hole.name=Miniature Black Hole item.blade_meteorite.name=Meteorite Blade item.blade_titanium.name=Titanium Blade @@ -1108,6 +1111,7 @@ item.crystal_charred.name=Charred Crystal item.crystal_coal.name=Coal Crystals item.crystal_cobalt.name=Cobalt Crystals item.crystal_copper.name=Copper Crystals +item.crystal_cinnebar.name=Cinnabar Crystals item.crystal_diamond.name=Diamond Crystals item.crystal_energy.name=Energy Crystal item.crystal_fluorite.name=Fluorite Crystals @@ -2525,6 +2529,7 @@ item.upgrade_speed_2.name=Speed Upgrade Mk.II item.upgrade_speed_3.name=Speed Upgrade Mk.III item.upgrade_template.name=Machine Upgrade Template item.v1.name=V1 +item.volcanic_pickaxe.name=Molten Pickaxe item.wand_d.name=Debug Wand item.wand_k.name=Construction Wand item.wand_s.name=Structure Wand @@ -2775,6 +2780,7 @@ tile.brick_concrete_broken.name=Broken Concrete Bricks tile.brick_concrete_cracked.name=Cracked Concrete Bricks tile.brick_concrete_marked.name=Marked Concrete Bricks tile.brick_concrete_mossy.name=Mossy Concrete Bricks +tile.brick_ducrete.name=Ducrete Bricks tile.brick_dungeon.name=Berzelianite Bricks tile.brick_dungeon_circle.name=Berzelianite Cirlce tile.brick_dungeon_flat.name=Berzelianite Block @@ -2890,6 +2896,8 @@ tile.dfc_injector.name=DFC Fuel Injector tile.dfc_receiver.name=DFC Receiver tile.dfc_stabilizer.name=DFC Stabilizer tile.drill_pipe.name=Drill Pipe +tile.ducrete.name=Ducrete Tile +tile.ducrete_smooth.name=Ducrete tile.dummy_block.name=Dummy Block tile.dummy_port.name=Dummy Block (Electricity Port) tile.dungeon_chain.name=Metal Chain @@ -2913,6 +2921,7 @@ tile.flame_war.name=Flame War in a Box tile.float_bomb.name=Levitation Bomb tile.fluid_duct.name=Universal Fluid Duct tile.foam_layer.name=Foam layer +tile.fraction_spacer.name=Fractioning Tower Separator tile.frozen_dirt.name=Frozen Dirt tile.frozen_grass.name=Frozen Grass tile.frozen_log.name=Frozen Log @@ -2944,6 +2953,7 @@ tile.glass_ash.name=Ash Glass tile.glass_boron.name=Boron Glass tile.glass_lead.name=Lead Glass tile.glass_polonium.name=Polonium Glass +tile.glass_quartz.name=Quartz Glass tile.glass_trinitite.name=Trinity Glass tile.glass_uranium.name=Uranium Glass tile.gneiss_brick.name=Schist Brick @@ -3035,6 +3045,7 @@ tile.machine_fensu.name=FEnSU tile.machine_flare.name=Gas Flare tile.machine_fluidtank.name=Tank tile.machine_forcefield.name=Forcefield Emitter +tile.machine_fraction_tower.name=Fractioning Tower tile.machine_gascent.name=Gas Centrifuge tile.machine_generator.name=Nuclear Reactor (Old) tile.machine_geo.name=Geothermal Electric Generator @@ -3048,6 +3059,7 @@ tile.machine_minirtg.name=Radio Isotope Cell tile.machine_missile_assembly.name=Missile Assembly Station tile.machine_nuke_furnace_off.name=Nuclear Furnace tile.machine_nuke_furnace_on.name=Nuclear Furnace +tile.machine_orbus.name=Heavy Magnetic Storage Tank tile.machine_powerrtg.name=PT Isotope Cell tile.machine_press.name=Burner Press tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank @@ -3233,6 +3245,7 @@ tile.red_cable.name=Red Copper Cable tile.red_pylon.name=Electricity Pole tile.red_wire_coated.name=Coated Red Copper Cable tile.reinforced_brick.name=Reinforced Stone +tile.reinforced_ducrete.name=Reinforced Ducrete tile.reinforced_glass.name=Reinforced Glass tile.reinforced_lamp_off.name=Reinforced Lamp tile.reinforced_lamp_on.name=Reinforced Lamp @@ -3245,8 +3258,10 @@ tile.safe.name=Safe tile.sand_boron.name=Boron Sand tile.sand_boron_layer.name=Boron Sand Layer tile.sand_gold.name=Gold Sand +tile.sand_gold198.name=Gold-198 Sand tile.sand_lead.name=Lead Sand tile.sand_polonium.name=Polonium Sand +tile.sand_quartz.name=Quartz Sand tile.sand_uranium.name=Uranium Sand tile.sat_dock.name=Cargo Landing Pad tile.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion (Deco Block) @@ -3306,6 +3321,7 @@ tile.turret_friendly.name=Chaingun Turret "Mister Friendly" tile.turret_fritz.name=Heavy Flamethrower Turret "Fritz" tile.turret_heavy.name=Heavy Machine Gun Turret tile.turret_howard.name=Goalkeeper Twin Chaingun CIWS "Howard" +tile.turret_howard_damaged.name=Goalkeeper Twin Chaingun CIWS "Methusalem" tile.turret_jeremy.name=Autocannon Turret "Jeremy" tile.turret_light.name=Light Machine Gun Turret tile.turret_maxwell.name=High-Energy MASER Turret "Maxwell" @@ -3404,8 +3420,9 @@ tool.ability.silktouch=Silk Touch tool.ability.smelter=Auto-Smelter weapon.ability.beheader=Decapitator -weapon.ability.chainsaw=Painsaw # Should rhyme with the translation for "chainsaw" +weapon.ability.chainsaw=Painsaw +weapon.ability.fire=Flaming weapon.ability.radiation=Radioactive Blade weapon.ability.phosphorus=Phosphorus Tip weapon.ability.stun=Stunning diff --git a/src/main/resources/assets/hbm/models/machines/fraction_spacer.obj b/src/main/resources/assets/hbm/models/machines/fraction_spacer.obj index 28cea0bb1..9a02a68a8 100644 --- a/src/main/resources/assets/hbm/models/machines/fraction_spacer.obj +++ b/src/main/resources/assets/hbm/models/machines/fraction_spacer.obj @@ -81,270 +81,412 @@ v 1.875000 1.000000 0.781250 v 1.875000 1.000000 -0.781250 v -0.781250 1.000000 1.875000 v 0.781250 1.000000 1.875000 -v -1.375000 0.750000 0.562500 +v -1.875000 0.750000 0.562500 +v -1.875000 0.750000 -0.562500 v -1.375000 0.750000 -0.562500 -v 0.562500 0.750000 1.375000 -v -0.562500 0.750000 1.375000 -v -0.562500 0.750000 -1.375000 -v 0.562500 0.750000 -1.375000 +v -1.375000 0.750000 0.562500 +v 1.875000 0.750000 -0.562500 +v 1.875000 0.750000 0.562500 v 1.375000 0.750000 0.562500 v 1.375000 0.750000 -0.562500 -v -1.875000 0.750000 -0.781250 -v -1.875000 0.750000 0.781250 -v 0.781250 0.750000 -1.875000 -v -0.781250 0.750000 -1.875000 -v 1.875000 0.750000 0.781250 -v 1.875000 0.750000 -0.781250 -v -0.781250 0.750000 1.875000 -v 0.781250 0.750000 1.875000 -v -1.375000 0.250000 0.562500 +v 0.562500 0.750000 1.875000 +v -0.562500 0.750000 1.875000 +v -0.562500 0.750000 1.375000 +v 0.562500 0.750000 1.375000 +v -0.562500 0.750000 -1.875000 +v 0.562500 0.750000 -1.875000 +v 0.562500 0.750000 -1.375000 +v -0.562500 0.750000 -1.375000 +v -0.928078 0.750000 1.723573 +v -1.723573 0.750000 0.928078 +v -1.370019 0.750000 0.574524 +v -0.574524 0.750000 1.370019 +v 0.928077 0.750000 -1.723573 +v 1.723572 0.750000 -0.928078 +v 1.370019 0.750000 -0.574524 +v 0.574524 0.750000 -1.370020 +v 1.723573 0.750000 0.928077 +v 0.928078 0.750000 1.723573 +v 0.574524 0.750000 1.370019 +v 1.370019 0.750000 0.574524 +v -1.723573 0.750000 -0.928077 +v -0.928078 0.750000 -1.723573 +v -0.574524 0.750000 -1.370019 +v -1.370020 0.750000 -0.574524 +v -1.875000 0.250000 0.562500 +v -1.875000 0.250000 -0.562500 v -1.375000 0.250000 -0.562500 -v 0.562500 0.250000 1.375000 -v -0.562500 0.250000 1.375000 -v -0.562500 0.250000 -1.375000 -v 0.562500 0.250000 -1.375000 +v -1.375000 0.250000 0.562500 +v 1.875000 0.250000 -0.562500 +v 1.875000 0.250000 0.562500 v 1.375000 0.250000 0.562500 v 1.375000 0.250000 -0.562500 -v -1.875000 0.250000 -0.781250 -v -1.875000 0.250000 0.781250 -v 0.781250 0.250000 -1.875000 -v -0.781250 0.250000 -1.875000 -v 1.875000 0.250000 0.781250 -v 1.875000 0.250000 -0.781250 -v -0.781250 0.250000 1.875000 -v 0.781250 0.250000 1.875000 -vt 0.989583 0.814815 -vt 0.979167 0.708995 -vt 0.989583 0.708995 -vt 0.343750 0.809524 -vt 0.333333 0.708995 -vt 0.343750 0.714286 -vt 0.312500 0.841270 -vt 0.250000 0.746032 -vt 0.312500 0.746032 -vt 0.979167 0.798942 -vt 0.916667 0.703704 -vt 0.979167 0.703704 -vt 0.708333 0.603175 -vt 0.770833 0.507936 -vt 0.770833 0.603175 -vt 0.645833 0.507936 -vt 0.708333 0.603175 -vt 0.645833 0.603175 -vt 0.916667 0.867725 -vt 0.916667 0.798942 -vt 0.250000 0.677249 -vt 0.312500 0.677249 -vt 0.312500 0.910053 -vt 0.250000 0.841270 -vt 0.916667 0.634921 -vt 0.979167 0.634921 -vt 0.572917 0.714286 -vt 0.583333 0.814815 -vt 0.572917 0.809524 -vt 0.411458 0.645503 -vt 0.510417 0.634921 -vt 0.505208 0.645503 -vt 0.505208 0.878307 -vt 0.406250 0.888889 -vt 0.411458 0.878307 -vt 0.510417 0.888889 -vt 0.406250 0.634921 -vt 0.802083 0.613757 -vt 0.791667 0.507936 -vt 0.802083 0.507936 -vt 0.979167 0.328042 -vt 0.989583 0.433862 -vt 0.979167 0.433862 -vt 0.979167 0.000000 -vt 0.989583 0.074074 -vt 0.979167 0.074074 -vt 0.791667 0.613757 -vt 0.781250 0.507936 -vt 0.791667 0.507936 -vt 0.979167 0.253968 -vt 0.989583 0.328042 -vt 0.989583 0.179894 -vt 0.979167 0.179894 -vt 0.989583 0.253968 -vt 0.979167 0.253968 -vt 0.989583 0.507936 -vt 0.979167 0.507936 -vt 0.718750 0.253968 -vt 0.895833 0.328042 -vt 0.822917 0.507936 -vt 0.312500 0.677249 -vt 0.322917 0.751323 -vt 0.312500 0.751323 -vt 0.979167 0.634921 -vt 0.989583 0.634921 -vt 0.322917 0.857143 -vt 0.312500 0.857143 -vt 1.000000 0.105820 -vt 0.989583 0.000000 -vt 1.000000 0.000000 -vt 0.312500 0.931217 -vt 0.989583 0.179894 -vt 1.000000 0.179894 -vt 0.781250 0.613757 -vt 0.770833 0.507936 -vt 0.781250 0.507936 -vt 0.822917 0.253968 -vt 0.723958 0.243386 -vt 0.817708 0.243386 -vt 0.645833 0.179894 -vt 0.656250 0.174603 -vt 0.656250 0.079365 -vt 0.645833 0.074074 -vt 0.723958 0.010582 -vt 0.718750 0.000000 -vt 0.817708 0.010582 -vt 0.895833 0.074074 -vt 0.885417 0.079365 -vt 0.885417 0.174603 -vt 0.895833 0.179894 -vt 0.833333 0.814815 -vt 0.656250 0.888889 -vt 0.583333 0.708995 -vt 0.236354 0.338624 -vt 0.101562 0.349206 -vt 0.096979 0.338624 -vt 0.010417 0.441799 -vt 0.000000 0.437143 -vt 0.010417 0.574074 -vt 0.000000 0.578730 -vt 0.096979 0.677249 -vt 0.231771 0.666667 -vt 0.236354 0.677249 -vt 0.322917 0.574074 -vt 0.333333 0.578730 -vt 0.322917 0.441799 -vt 0.333333 0.437143 -vt 0.101562 0.328042 -vt 0.236354 0.338624 -vt 0.096979 0.338624 -vt 0.000000 0.240106 -vt 0.010417 0.103175 -vt 0.000000 0.098519 -vt 0.101562 0.010582 -vt 0.231771 0.010582 -vt 0.096979 0.000000 -vt 0.236354 0.000000 -vt 0.322917 0.103175 -vt 0.333333 0.098519 -vt 0.322917 0.235450 -vt 0.333333 0.240106 -vt 0.231771 0.328042 -vt 0.979167 0.098519 -vt 0.895833 0.000000 -vt 0.979167 0.000000 -vt 0.979167 0.240106 -vt 0.895833 0.098519 -vt 0.000000 0.902116 -vt 0.083333 0.994709 -vt 0.000000 0.994709 -vt 0.979167 0.612487 -vt 0.895833 0.480212 -vt 0.979167 0.480212 -vt 0.083333 0.677249 -vt 0.166667 0.818836 -vt 0.083333 0.818836 -vt 0.000000 0.769841 -vt 0.083333 0.902116 -vt 0.979167 0.480212 -vt 0.895833 0.338624 -vt 0.979167 0.338624 -vt 1.000000 1.000000 -vt 0.916667 0.867725 -vt 1.000000 0.867725 -vt 0.250000 0.917354 -vt 0.166667 0.775767 -vt 0.250000 0.775767 -vt 0.916667 0.859788 -vt 0.833333 0.727513 -vt 0.916667 0.727513 -vt 0.979167 0.240106 -vt 0.895833 0.240106 -vt 0.833333 0.634921 -vt 0.916667 0.634921 -vt 0.166667 0.677249 -vt 0.250000 0.677249 -vt 0.916667 0.952381 -vt 0.833333 0.859788 -vt 0.166667 0.917354 -vt 0.083333 0.917354 -vt 0.000000 0.677249 -vt 0.083333 0.769841 -vt 0.604167 0.523810 -vt 0.554688 0.634921 -vt 0.536458 0.592593 -vt 0.424479 0.634921 -vt 0.442708 0.592593 -vt 0.333333 0.542328 -vt 0.375000 0.523810 -vt 0.333333 0.410053 -vt 0.375000 0.428571 -vt 0.442708 0.359788 -vt 0.554688 0.317460 -vt 0.536458 0.359788 -vt 0.604167 0.428571 -vt 0.645833 0.410053 -vt 0.645833 0.542328 -vt 0.442708 0.275132 -vt 0.333333 0.224868 -vt 0.375000 0.206349 -vt 0.333333 0.092593 -vt 0.375000 0.111111 -vt 0.424479 0.000000 -vt 0.442708 0.042328 -vt 0.554688 0.000000 -vt 0.536458 0.042328 -vt 0.604167 0.111111 -vt 0.645833 0.224868 -vt 0.604167 0.206349 -vt 0.536458 0.275132 -vt 0.554688 0.317460 -vt 0.424479 0.317460 -vt 0.979167 0.814815 -vt 0.333333 0.814815 -vt 0.708333 0.507936 -vt 0.708333 0.507936 -vt 0.979167 0.867725 -vt 0.250000 0.910053 -vt 0.583333 0.708995 -vt 0.791667 0.613757 -vt 0.989583 0.000000 -vt 0.781250 0.613757 -vt 0.989583 0.253968 -vt 0.718750 0.507936 -vt 0.645833 0.433862 -vt 0.645833 0.328042 -vt 0.822917 0.253968 -vt 0.895833 0.433862 -vt 0.322917 0.677249 -vt 0.989583 0.105820 -vt 0.322917 0.931217 -vt 0.770833 0.613757 -vt 0.718750 0.253968 -vt 0.822917 0.000000 -vt 0.656250 0.634921 -vt 0.760417 0.634921 -vt 0.833333 0.708995 -vt 0.760417 0.888889 -vt 0.583333 0.814815 -vt 0.231771 0.349206 -vt 0.101562 0.666667 -vt 0.010417 0.235450 -vt 0.895833 0.240106 -vt 0.895833 0.612487 -vt 0.166667 0.677249 -vt 0.895833 0.480212 -vt 0.916667 1.000000 -vt 0.166667 0.917354 -vt 0.833333 0.952381 -vt 0.083333 0.677249 -vt 0.424479 0.317460 -vt 0.645833 0.092593 +v 0.562500 0.250000 1.875000 +v -0.562500 0.250000 1.875000 +v -0.562500 0.250000 1.375000 +v 0.562500 0.250000 1.375000 +v -0.562500 0.250000 -1.875000 +v 0.562500 0.250000 -1.875000 +v 0.562500 0.250000 -1.375000 +v -0.562500 0.250000 -1.375000 +v -0.928078 0.250000 1.723573 +v -1.723573 0.250000 0.928078 +v -1.370019 0.250000 0.574524 +v -0.574524 0.250000 1.370019 +v 0.928077 0.250000 -1.723573 +v 1.723572 0.250000 -0.928078 +v 1.370019 0.250000 -0.574524 +v 0.574524 0.250000 -1.370020 +v 1.723573 0.250000 0.928077 +v 0.928078 0.250000 1.723573 +v 0.574524 0.250000 1.370019 +v 1.370019 0.250000 0.574524 +v -1.723573 0.250000 -0.928077 +v -0.928078 0.250000 -1.723573 +v -0.574524 0.250000 -1.370019 +v -1.370020 0.250000 -0.574524 +v -1.875000 0.750000 0.562500 +v -1.875000 0.750000 -0.562500 +v -1.375000 0.750000 -0.562500 +v -1.375000 0.750000 0.562500 +v 1.875000 0.750000 -0.562500 +v 1.875000 0.750000 0.562500 +v 1.375000 0.750000 0.562500 +v 1.375000 0.750000 -0.562500 +v 0.562500 0.750000 1.875000 +v -0.562500 0.750000 1.875000 +v -0.562500 0.750000 1.375000 +v 0.562500 0.750000 1.375000 +v -0.562500 0.750000 -1.875000 +v 0.562500 0.750000 -1.875000 +v 0.562500 0.750000 -1.375000 +v -0.562500 0.750000 -1.375000 +v -0.928078 0.750000 1.723573 +v -1.723573 0.750000 0.928078 +v -1.370019 0.750000 0.574524 +v -0.574524 0.750000 1.370019 +v 0.928077 0.750000 -1.723573 +v 1.723572 0.750000 -0.928078 +v 1.370019 0.750000 -0.574524 +v 0.574524 0.750000 -1.370020 +v 1.723573 0.750000 0.928077 +v 0.928078 0.750000 1.723573 +v 0.574524 0.750000 1.370019 +v 1.370019 0.750000 0.574524 +v -1.723573 0.750000 -0.928077 +v -0.928078 0.750000 -1.723573 +v -0.574524 0.750000 -1.370019 +v -1.370020 0.750000 -0.574524 +v -1.875000 0.250000 0.562500 +v -1.875000 0.250000 -0.562500 +v -1.375000 0.250000 -0.562500 +v -1.375000 0.250000 0.562500 +v 1.875000 0.250000 -0.562500 +v 1.875000 0.250000 0.562500 +v 1.375000 0.250000 0.562500 +v 1.375000 0.250000 -0.562500 +v 0.562500 0.250000 1.875000 +v -0.562500 0.250000 1.875000 +v -0.562500 0.250000 1.375000 +v 0.562500 0.250000 1.375000 +v -0.562500 0.250000 -1.875000 +v 0.562500 0.250000 -1.875000 +v 0.562500 0.250000 -1.375000 +v -0.562500 0.250000 -1.375000 +v -0.928078 0.250000 1.723573 +v -1.723573 0.250000 0.928078 +v -1.370019 0.250000 0.574524 +v -0.574524 0.250000 1.370019 +v 0.928077 0.250000 -1.723573 +v 1.723572 0.250000 -0.928078 +v 1.370019 0.250000 -0.574524 +v 0.574524 0.250000 -1.370020 +v 1.723573 0.250000 0.928077 +v 0.928078 0.250000 1.723573 +v 0.574524 0.250000 1.370019 +v 1.370019 0.250000 0.574524 +v -1.723573 0.250000 -0.928077 +v -0.928078 0.250000 -1.723573 +v -0.574524 0.250000 -1.370019 +v -1.370020 0.250000 -0.574524 +vt 0.000000 1.000000 +vt 0.096154 0.980769 +vt 0.096154 1.000000 +vt 0.389423 0.846154 +vt 0.480769 0.826923 +vt 0.475962 0.846154 +vt 0.668269 0.846154 +vt 0.581731 0.961538 +vt 0.581731 0.846154 +vt 0.283654 0.846154 +vt 0.197115 0.961538 +vt 0.197115 0.846154 +vt 0.475962 0.961538 +vt 0.389423 0.961538 +vt 0.091346 0.846154 +vt 0.004808 0.961538 +vt 0.004808 0.846154 +vt 0.293269 0.846154 +vt 0.379808 0.961538 +vt 0.293269 0.961538 +vt 0.572115 0.846154 +vt 0.485577 0.961538 +vt 0.485577 0.846154 +vt 0.764423 0.846154 +vt 0.677885 0.961538 +vt 0.677885 0.846154 +vt 0.187500 0.846154 +vt 0.100962 0.961538 +vt 0.100962 0.846154 +vt 0.096154 0.826923 +vt 0.673077 0.826923 +vt 0.288462 0.826923 +vt 0.192308 0.826923 +vt 0.379808 0.846154 +vt 0.576923 0.826923 +vt 0.384615 0.826923 +vt 0.480769 0.807692 +vt 0.288462 0.807692 +vt 0.576923 0.807692 +vt 0.000000 0.826923 +vt 0.096154 0.807692 +vt 0.192308 0.807692 +vt 0.673077 0.807692 +vt 0.769231 0.807692 +vt 0.769231 0.826923 +vt 0.384615 0.807692 +vt 0.394231 0.461538 +vt 0.230769 0.326923 +vt 0.298077 0.000000 +vt 0.480769 1.000000 +vt 0.576923 0.980769 +vt 0.576923 1.000000 +vt 0.192308 0.980769 +vt 0.192308 1.000000 +vt 0.673077 0.980769 +vt 0.673077 1.000000 +vt 0.384615 1.000000 +vt 0.480769 0.980769 +vt 0.769231 1.000000 +vt 0.288462 0.980769 +vt 0.288462 1.000000 +vt 0.283654 0.961538 +vt 0.187500 0.961538 +vt 0.091346 0.961538 +vt 0.764423 0.961538 +vt 0.668269 0.961538 +vt 0.572115 0.961538 +vt 0.230769 0.326923 +vt 0.067308 0.461538 +vt -0.000000 0.134615 +vt 0.000000 0.480769 +vt 0.125000 0.461538 +vt 0.125000 0.480769 +vt 0.250000 0.461538 +vt 0.250000 0.480769 +vt 0.375000 0.461538 +vt 0.375000 0.480769 +vt 0.379808 0.461538 +vt 0.500000 0.480769 +vt 0.625000 0.461538 +vt 0.625000 0.480769 +vt 0.750000 0.461538 +vt 0.750000 0.480769 +vt 0.875000 0.461538 +vt 0.875000 0.480769 +vt 0.879808 0.461538 +vt 1.000000 0.480769 +vt 0.125000 0.653846 +vt 0.000000 0.634615 +vt 0.125000 0.634615 +vt 0.250000 0.634615 +vt 0.129808 0.653846 +vt 0.375000 0.653846 +vt 0.375000 0.634615 +vt 0.500000 0.653846 +vt 0.379808 0.653846 +vt 0.625000 0.653846 +vt 0.500000 0.634615 +vt 0.625000 0.634615 +vt 0.750000 0.653846 +vt 0.750000 0.634615 +vt 0.875000 0.653846 +vt 0.875000 0.634615 +vt 1.000000 0.653846 +vt 0.879808 0.653846 +vt 0.879808 0.807692 +vt 1.000000 0.807692 +vt 0.004808 0.807692 +vt 0.125000 0.807692 +vt 0.754808 0.807692 +vt 0.875000 0.807692 +vt 0.504808 0.807692 +vt 0.625000 0.807692 +vt 0.254808 0.807692 +vt 0.375000 0.807692 +vt 0.379808 0.807692 +vt 0.500000 0.807692 +vt 0.129808 0.807692 +vt 0.250000 0.653846 +vt 0.250000 0.807692 +vt 0.629808 0.807692 +vt 0.750000 0.807692 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.461538 +vt 0.548077 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.461538 +vt 0.548077 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.461538 0.461538 +vt 0.548077 0.384615 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.461538 0.461538 +vt 0.548077 0.384615 +vt 0.461538 0.384615 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.548077 0.461538 +vt 0.461538 0.384615 +vt 0.461538 0.461538 +vt 0.000000 0.980769 +vt 0.000000 0.807692 +vt 0.394231 -0.000000 +vt 0.461538 0.134615 +vt 0.461538 0.326923 +vt 0.298077 0.461538 +vt 0.230769 0.134615 +vt 0.384615 0.980769 +vt 0.769231 0.980769 +vt 0.067308 -0.000000 +vt 0.163462 -0.000000 +vt 0.230769 0.134615 +vt 0.163462 0.461538 +vt -0.000000 0.326923 +vt 0.004808 0.461538 +vt 0.129808 0.461538 +vt 0.254808 0.461538 +vt 0.500000 0.461538 +vt 0.504808 0.461538 +vt 0.629808 0.461538 +vt 0.754808 0.461538 +vt 1.000000 0.461538 +vt 0.004808 0.653846 +vt 0.254808 0.653846 +vt 0.504808 0.653846 +vt 0.629808 0.653846 +vt 0.754808 0.653846 +vt 1.000000 0.634615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.461538 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.461538 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.461538 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.461538 +vt 0.548077 0.384615 +vt 0.548077 0.384615 +vt 0.548077 0.384615 vn -1.0000 0.0000 0.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 -1.0000 @@ -360,187 +502,219 @@ f 2/1/1 4/2/1 1/3/1 f 6/4/2 8/5/2 5/6/2 f 10/7/3 12/8/3 9/9/3 f 14/10/4 16/11/4 13/12/4 -f 6/13/5 17/14/5 18/15/5 -f 20/16/1 22/17/1 19/18/1 -f 14/10/6 18/19/6 15/20/6 -f 9/9/7 17/21/7 5/22/7 -f 19/23/8 11/24/8 10/7/8 -f 13/12/9 21/25/9 20/26/9 -f 19/27/2 24/28/2 20/29/2 -f 9/30/2 26/31/2 10/32/2 -f 13/33/2 28/34/2 14/35/2 -f 20/29/2 27/36/2 13/33/2 -f 28/34/2 6/4/2 14/35/2 -f 5/6/2 25/37/2 9/30/2 -f 26/31/2 19/27/2 10/32/2 -f 7/38/5 30/39/5 8/40/5 -f 27/41/4 32/42/4 28/43/4 -f 8/44/7 33/45/7 25/46/7 -f 23/47/1 35/48/1 24/49/1 -f 24/50/9 31/51/9 27/41/9 -f 25/46/3 36/52/3 26/53/3 -f 26/53/8 34/54/8 23/55/8 -f 28/43/6 29/56/6 7/57/6 -f 35/58/10 36/59/10 30/60/10 -f 38/61/7 40/62/7 37/63/7 -f 1/3/9 42/64/9 41/65/9 -f 37/63/3 44/66/3 43/67/3 -f 45/68/5 39/69/5 38/70/5 -f 44/66/8 2/71/8 43/67/8 -f 48/72/6 45/68/6 47/73/6 -f 41/74/4 48/75/4 47/76/4 -f 39/77/10 18/78/10 17/79/10 -f 18/78/10 48/80/10 15/81/10 -f 48/80/10 16/82/10 15/81/10 -f 42/83/10 21/84/10 16/82/10 -f 4/85/10 22/86/10 21/84/10 -f 22/86/10 44/87/10 11/88/10 -f 44/87/10 12/89/10 11/88/10 -f 40/90/10 17/79/10 12/89/10 -f 43/91/2 1/92/2 47/93/2 -f 56/94/10 57/95/10 55/96/10 -f 55/96/10 63/97/10 49/98/10 -f 49/98/10 61/99/10 50/100/10 -f 61/99/10 53/101/10 50/100/10 -f 53/101/10 60/102/10 54/103/10 -f 54/103/10 62/104/10 52/105/10 -f 52/105/10 64/106/10 51/107/10 -f 64/106/10 56/94/10 51/107/10 -f 74/108/2 65/109/2 66/110/2 -f 67/111/2 74/108/2 66/110/2 -f 80/112/2 67/111/2 68/113/2 -f 68/113/2 77/114/2 80/112/2 -f 78/115/2 69/116/2 70/117/2 -f 75/118/2 70/117/2 71/119/2 -f 76/120/2 71/119/2 72/121/2 -f 72/121/2 73/122/2 76/120/2 -f 56/123/8 72/124/8 51/125/8 -f 55/126/1 65/127/1 56/123/1 -f 64/128/6 73/129/6 59/130/6 -f 59/131/5 74/132/5 57/133/5 -f 50/134/4 67/135/4 49/136/4 -f 62/137/4 76/138/4 64/128/4 -f 54/139/5 69/140/5 53/141/5 -f 58/142/1 78/143/1 60/144/1 -f 51/145/3 71/146/3 52/147/3 -f 63/148/3 80/149/3 61/150/3 -f 50/151/6 69/140/6 68/152/6 -f 61/150/8 77/153/8 58/154/8 -f 52/147/7 70/155/7 54/156/7 -f 57/157/7 79/158/7 63/148/7 -f 49/136/9 66/159/9 55/160/9 -f 60/161/9 75/162/9 62/137/9 -f 85/163/2 89/164/2 82/165/2 -f 82/165/2 90/166/2 81/167/2 -f 81/167/2 95/168/2 84/169/2 -f 84/169/2 96/170/2 83/171/2 -f 96/170/2 87/172/2 83/171/2 -f 87/172/2 94/173/2 88/174/2 -f 86/175/2 94/173/2 91/176/2 -f 86/175/2 92/177/2 85/163/2 -f 101/178/2 105/179/2 98/180/2 -f 98/180/2 106/181/2 97/182/2 -f 97/182/2 111/183/2 100/184/2 -f 100/184/2 112/185/2 99/186/2 -f 112/185/2 103/187/2 99/186/2 -f 103/187/2 110/188/2 104/189/2 -f 102/190/2 110/188/2 107/191/2 -f 102/190/2 108/192/2 101/178/2 -f 2/1/1 3/193/1 4/2/1 -f 6/4/2 7/194/2 8/5/2 -f 10/7/3 11/24/3 12/8/3 -f 14/10/4 15/20/4 16/11/4 -f 6/13/5 5/195/5 17/14/5 -f 20/16/1 21/196/1 22/17/1 -f 14/10/6 6/197/6 18/19/6 -f 9/9/7 12/8/7 17/21/7 -f 19/23/8 22/198/8 11/24/8 -f 13/12/9 16/11/9 21/25/9 -f 19/27/2 23/199/2 24/28/2 -f 9/30/2 25/37/2 26/31/2 -f 13/33/2 27/36/2 28/34/2 -f 20/29/2 24/28/2 27/36/2 -f 28/34/2 7/194/2 6/4/2 -f 5/6/2 8/5/2 25/37/2 -f 26/31/2 23/199/2 19/27/2 -f 7/38/5 29/200/5 30/39/5 -f 27/41/4 31/51/4 32/42/4 -f 8/44/7 30/201/7 33/45/7 -f 23/47/1 34/202/1 35/48/1 -f 24/50/9 35/203/9 31/51/9 -f 25/46/3 33/45/3 36/52/3 -f 26/53/8 36/52/8 34/54/8 -f 28/43/6 32/42/6 29/56/6 -f 30/60/10 29/204/10 32/205/10 -f 32/205/10 31/206/10 35/58/10 -f 35/58/10 34/207/10 36/59/10 -f 36/59/10 33/208/10 30/60/10 -f 30/60/10 32/205/10 35/58/10 -f 38/61/7 39/209/7 40/62/7 -f 1/3/9 4/2/9 42/64/9 -f 37/63/3 40/62/3 44/66/3 -f 45/68/5 46/210/5 39/69/5 -f 44/66/8 3/211/8 2/71/8 -f 48/72/6 46/210/6 45/68/6 -f 41/74/4 42/212/4 48/75/4 -f 39/77/10 46/213/10 18/78/10 -f 18/78/10 46/213/10 48/80/10 -f 48/80/10 42/83/10 16/82/10 -f 42/83/10 4/85/10 21/84/10 -f 4/85/10 3/214/10 22/86/10 -f 22/86/10 3/214/10 44/87/10 -f 44/87/10 40/90/10 12/89/10 -f 40/90/10 39/77/10 17/79/10 -f 47/93/2 45/215/2 38/216/2 -f 38/216/2 37/217/2 47/93/2 -f 37/217/2 43/91/2 47/93/2 -f 43/91/2 2/218/2 1/92/2 -f 1/92/2 41/219/2 47/93/2 -f 56/94/10 59/220/10 57/95/10 -f 55/96/10 57/95/10 63/97/10 -f 49/98/10 63/97/10 61/99/10 -f 61/99/10 58/221/10 53/101/10 -f 53/101/10 58/221/10 60/102/10 -f 54/103/10 60/102/10 62/104/10 -f 52/105/10 62/104/10 64/106/10 -f 64/106/10 59/220/10 56/94/10 -f 74/108/2 73/122/2 65/109/2 -f 67/111/2 79/222/2 74/108/2 -f 80/112/2 79/222/2 67/111/2 -f 68/113/2 69/116/2 77/114/2 -f 78/115/2 77/114/2 69/116/2 -f 75/118/2 78/115/2 70/117/2 -f 76/120/2 75/118/2 71/119/2 -f 72/121/2 65/109/2 73/122/2 -f 56/123/8 65/127/8 72/124/8 -f 55/126/1 66/223/1 65/127/1 -f 64/128/6 76/138/6 73/129/6 -f 59/131/5 73/224/5 74/132/5 -f 50/134/4 68/225/4 67/135/4 -f 62/137/4 75/162/4 76/138/4 -f 54/139/5 70/226/5 69/140/5 -f 58/142/1 77/227/1 78/143/1 -f 51/145/3 72/228/3 71/146/3 -f 63/148/3 79/158/3 80/149/3 -f 50/151/6 53/141/6 69/140/6 -f 61/150/8 80/149/8 77/153/8 -f 52/147/7 71/146/7 70/155/7 -f 57/157/7 74/229/7 79/158/7 -f 49/136/9 67/135/9 66/159/9 -f 60/161/9 78/230/9 75/162/9 -f 85/163/2 92/177/2 89/164/2 -f 82/165/2 89/164/2 90/166/2 -f 81/167/2 90/166/2 95/168/2 -f 84/169/2 95/168/2 96/170/2 -f 96/170/2 93/231/2 87/172/2 -f 87/172/2 93/231/2 94/173/2 -f 86/175/2 88/174/2 94/173/2 -f 86/175/2 91/176/2 92/177/2 -f 101/178/2 108/192/2 105/179/2 -f 98/180/2 105/179/2 106/181/2 -f 97/182/2 106/181/2 111/183/2 -f 100/184/2 111/183/2 112/185/2 -f 112/185/2 109/232/2 103/187/2 -f 103/187/2 109/232/2 110/188/2 -f 102/190/2 104/189/2 110/188/2 -f 102/190/2 107/191/2 108/192/2 +f 6/4/5 17/13/5 18/14/5 +f 20/15/1 22/16/1 19/17/1 +f 14/18/6 18/19/6 15/20/6 +f 9/21/7 17/22/7 5/23/7 +f 19/24/8 11/25/8 10/26/8 +f 13/27/9 21/28/9 20/29/9 +f 19/17/2 24/30/2 20/15/2 +f 9/9/2 26/31/2 10/7/2 +f 13/12/2 28/32/2 14/10/2 +f 20/29/2 27/33/2 13/27/2 +f 28/32/2 6/34/2 14/18/2 +f 5/23/2 25/35/2 9/21/2 +f 26/31/2 19/24/2 10/26/2 +f 7/36/5 30/37/5 8/5/5 +f 27/33/4 32/38/4 28/32/4 +f 8/5/7 33/39/7 25/35/7 +f 23/40/1 35/41/1 24/30/1 +f 24/30/9 31/42/9 27/33/9 +f 25/35/3 36/43/3 26/31/3 +f 26/31/8 34/44/8 23/45/8 +f 28/32/6 29/46/6 7/36/6 +f 35/47/10 36/48/10 30/49/10 +f 38/50/7 40/51/7 37/52/7 +f 1/3/9 42/53/9 41/54/9 +f 37/52/3 44/55/3 43/56/3 +f 45/57/5 39/58/5 38/50/5 +f 44/55/8 2/59/8 43/56/8 +f 48/60/6 45/57/6 47/61/6 +f 41/54/4 48/60/4 47/61/4 +f 39/58/10 18/14/10 17/13/10 +f 18/19/10 48/60/10 15/20/10 +f 48/60/10 16/11/10 15/62/10 +f 42/53/10 21/28/10 16/63/10 +f 4/2/10 22/16/10 21/64/10 +f 22/65/10 44/55/10 11/25/10 +f 44/55/10 12/8/10 11/66/10 +f 40/51/10 17/22/10 12/67/10 +f 43/68/2 1/69/2 47/70/2 +f 56/71/10 57/72/10 55/73/10 +f 55/73/10 63/74/10 49/75/10 +f 49/75/10 61/76/10 50/77/10 +f 61/78/10 53/79/10 50/77/10 +f 53/79/10 60/80/10 54/81/10 +f 54/81/10 62/82/10 52/83/10 +f 52/83/10 64/84/10 51/85/10 +f 64/86/10 56/87/10 51/85/10 +f 74/88/2 65/89/2 66/90/2 +f 67/91/2 74/92/2 66/90/2 +f 80/93/2 67/91/2 68/94/2 +f 68/94/2 77/95/2 80/96/2 +f 78/97/2 69/98/2 70/99/2 +f 75/100/2 70/99/2 71/101/2 +f 76/102/2 71/101/2 72/103/2 +f 72/103/2 73/104/2 76/105/2 +f 56/87/8 72/103/8 51/85/8 +f 55/73/1 65/89/1 56/71/1 +f 64/106/6 73/104/6 59/107/6 +f 59/108/5 74/88/5 57/109/5 +f 50/77/4 67/91/4 49/75/4 +f 62/110/4 76/102/4 64/111/4 +f 54/81/5 69/98/5 53/79/5 +f 58/112/1 78/97/1 60/113/1 +f 51/85/3 71/101/3 52/83/3 +f 63/114/3 80/93/3 61/115/3 +f 50/77/6 69/98/6 68/94/6 +f 61/116/8 77/95/8 58/117/8 +f 52/83/7 70/99/7 54/81/7 +f 57/118/7 79/119/7 63/120/7 +f 49/75/9 66/90/9 55/73/9 +f 60/121/9 75/100/9 62/122/9 +f 82/123/2 84/124/2 83/125/2 +f 86/126/2 88/127/2 87/128/2 +f 90/129/2 92/130/2 91/131/2 +f 94/132/2 96/133/2 95/134/2 +f 99/135/2 97/136/2 100/137/2 +f 102/138/2 104/139/2 103/140/2 +f 106/141/2 108/142/2 107/143/2 +f 110/144/2 112/145/2 111/146/2 +f 114/147/2 116/148/2 115/149/2 +f 118/150/2 120/151/2 119/152/2 +f 122/153/2 124/154/2 123/155/2 +f 126/156/2 128/157/2 127/158/2 +f 131/159/2 129/160/2 132/161/2 +f 134/162/2 136/163/2 135/164/2 +f 138/165/2 140/166/2 139/167/2 +f 142/168/2 144/169/2 143/170/2 +f 148/171/10 146/172/10 147/173/10 +f 152/174/10 150/175/10 151/176/10 +f 156/177/10 154/178/10 155/179/10 +f 160/180/10 158/181/10 159/182/10 +f 163/183/10 161/184/10 162/185/10 +f 168/186/10 166/187/10 167/188/10 +f 172/189/10 170/190/10 171/191/10 +f 176/192/10 174/193/10 175/194/10 +f 180/195/10 178/196/10 179/197/10 +f 184/198/10 182/199/10 183/200/10 +f 188/201/10 186/202/10 187/203/10 +f 192/204/10 190/205/10 191/206/10 +f 195/207/10 193/208/10 194/209/10 +f 200/210/10 198/211/10 199/212/10 +f 204/213/10 202/214/10 203/215/10 +f 208/216/10 206/217/10 207/218/10 +f 2/1/1 3/219/1 4/2/1 +f 6/4/2 7/36/2 8/5/2 +f 10/7/3 11/66/3 12/8/3 +f 14/10/4 15/62/4 16/11/4 +f 6/4/5 5/6/5 17/13/5 +f 20/15/1 21/64/1 22/16/1 +f 14/18/6 6/34/6 18/19/6 +f 9/21/7 12/67/7 17/22/7 +f 19/24/8 22/65/8 11/25/8 +f 13/27/9 16/63/9 21/28/9 +f 19/17/2 23/40/2 24/30/2 +f 9/9/2 25/35/2 26/31/2 +f 13/12/2 27/33/2 28/32/2 +f 20/29/2 24/30/2 27/33/2 +f 28/32/2 7/36/2 6/34/2 +f 5/23/2 8/5/2 25/35/2 +f 26/31/2 23/45/2 19/24/2 +f 7/36/5 29/46/5 30/37/5 +f 27/33/4 31/42/4 32/38/4 +f 8/5/7 30/37/7 33/39/7 +f 23/40/1 34/220/1 35/41/1 +f 24/30/9 35/41/9 31/42/9 +f 25/35/3 33/39/3 36/43/3 +f 26/31/8 36/43/8 34/44/8 +f 28/32/6 32/38/6 29/46/6 +f 30/49/10 29/221/10 32/222/10 +f 32/222/10 31/223/10 35/47/10 +f 35/47/10 34/224/10 36/48/10 +f 36/48/10 33/225/10 30/49/10 +f 30/49/10 32/222/10 35/47/10 +f 38/50/7 39/58/7 40/51/7 +f 1/3/9 4/2/9 42/53/9 +f 37/52/3 40/51/3 44/55/3 +f 45/57/5 46/226/5 39/58/5 +f 44/55/8 3/227/8 2/59/8 +f 48/60/6 46/226/6 45/57/6 +f 41/54/4 42/53/4 48/60/4 +f 39/58/10 46/226/10 18/14/10 +f 18/19/10 46/226/10 48/60/10 +f 48/60/10 42/53/10 16/11/10 +f 42/53/10 4/2/10 21/28/10 +f 4/2/10 3/219/10 22/16/10 +f 22/65/10 3/227/10 44/55/10 +f 44/55/10 40/51/10 12/8/10 +f 40/51/10 39/58/10 17/22/10 +f 47/70/2 45/228/2 38/229/2 +f 38/229/2 37/230/2 47/70/2 +f 37/230/2 43/68/2 47/70/2 +f 43/68/2 2/231/2 1/69/2 +f 1/69/2 41/232/2 47/70/2 +f 56/71/10 59/233/10 57/72/10 +f 55/73/10 57/234/10 63/74/10 +f 49/75/10 63/235/10 61/76/10 +f 61/78/10 58/236/10 53/79/10 +f 53/79/10 58/237/10 60/80/10 +f 54/81/10 60/238/10 62/82/10 +f 52/83/10 62/239/10 64/84/10 +f 64/86/10 59/240/10 56/87/10 +f 74/88/2 73/241/2 65/89/2 +f 67/91/2 79/119/2 74/92/2 +f 80/93/2 79/242/2 67/91/2 +f 68/94/2 69/98/2 77/95/2 +f 78/97/2 77/243/2 69/98/2 +f 75/100/2 78/244/2 70/99/2 +f 76/102/2 75/245/2 71/101/2 +f 72/103/2 65/246/2 73/104/2 +f 56/87/8 65/246/8 72/103/8 +f 55/73/1 66/90/1 65/89/1 +f 64/106/6 76/105/6 73/104/6 +f 59/108/5 73/241/5 74/88/5 +f 50/77/4 68/94/4 67/91/4 +f 62/110/4 75/245/4 76/102/4 +f 54/81/5 70/99/5 69/98/5 +f 58/112/1 77/243/1 78/97/1 +f 51/85/3 72/103/3 71/101/3 +f 63/114/3 79/242/3 80/93/3 +f 50/77/6 53/79/6 69/98/6 +f 61/116/8 80/96/8 77/95/8 +f 52/83/7 71/101/7 70/99/7 +f 57/118/7 74/92/7 79/119/7 +f 49/75/9 67/91/9 66/90/9 +f 60/121/9 78/244/9 75/100/9 +f 82/123/2 81/247/2 84/124/2 +f 86/126/2 85/248/2 88/127/2 +f 90/129/2 89/249/2 92/130/2 +f 94/132/2 93/250/2 96/133/2 +f 99/135/2 98/251/2 97/136/2 +f 102/138/2 101/252/2 104/139/2 +f 106/141/2 105/253/2 108/142/2 +f 110/144/2 109/254/2 112/145/2 +f 114/147/2 113/255/2 116/148/2 +f 118/150/2 117/256/2 120/151/2 +f 122/153/2 121/257/2 124/154/2 +f 126/156/2 125/258/2 128/157/2 +f 131/159/2 130/259/2 129/160/2 +f 134/162/2 133/260/2 136/163/2 +f 138/165/2 137/261/2 140/166/2 +f 142/168/2 141/262/2 144/169/2 +f 148/171/10 145/263/10 146/172/10 +f 152/174/10 149/264/10 150/175/10 +f 156/177/10 153/265/10 154/178/10 +f 160/180/10 157/266/10 158/181/10 +f 163/183/10 164/267/10 161/184/10 +f 168/186/10 165/268/10 166/187/10 +f 172/189/10 169/269/10 170/190/10 +f 176/192/10 173/270/10 174/193/10 +f 180/195/10 177/271/10 178/196/10 +f 184/198/10 181/272/10 182/199/10 +f 188/201/10 185/273/10 186/202/10 +f 192/204/10 189/274/10 190/205/10 +f 195/207/10 196/275/10 193/208/10 +f 200/210/10 197/276/10 198/211/10 +f 204/213/10 201/277/10 202/214/10 +f 208/216/10 205/278/10 206/217/10 diff --git a/src/main/resources/assets/hbm/textures/blocks/glass_quartz.png b/src/main/resources/assets/hbm/textures/blocks/glass_quartz.png index befcb5e7d2b64914276b91394157b162116bd7b0..579de6305215d590bfd386bd6af1ca22b7a0c307 100644 GIT binary patch delta 117 zcmcbmHIZ?GavlRqv6E*A2N2Y7q;xPaFnD;nIEGmCUY%^o$DqJ-Sm@vX^vw+|5<8A4 z?%7t@wu&v_&^A-X2Csu<)1Io>ai<@g{o(2+E17j>^DXnw-^$J7b$@cs+k3r^CX=#i V_Ck&9Dnp=|44$rjF6*2UngG1qE3yCp literal 5466 zcmeHKX;>528XjboidqXQY9+*_T1heqfh$Fz1~2d%thq zdB1a*W$|&*UY;X7Aqesk$3!N8zk|uIha33y``v~>kaI#-;tV1IF;fhH0JM!`0{4?k*a1WO;08!D8kzE^)M~-v66ZH)p%vz28rmx4^gJ z@U7Hnea+3!?{r3;JHkGB?KkK8n@!dszeoZut?cS>8k=VgQEfxnBX{|wCWS99p8xJT z^DtBEJBF*2iaVvEgNtR%xcAPbwXP_g+_>Q0$do;?1KvJ0tte`V+r49@iTUztb^V1# z*AjK0cx%Pk7H{RQYVqf6=7~?Pz6rZspGQA9cpqym2@rvS>dE&KC$uZKlD7v-K$?x&|r{^aVKvF`cb(91ivjuLt|+vtS>attde*QsO+wtH=V|H7F*;iVpOmp=y&-nePs zg=KQj?ajAGhkVs|+Opw(MQC(s0mt{+8+oeDx*0ViYXS>5)Mf7Ao}5w;z93GZ`_6Tl zUj@DD@tKNW%XX-uR>o#+=Y|J(zcZtK?sQgSle(#-IDMVlFr+;dacAqrN znVHbdoQYeZ$~l@xsJBO3zuHP|w%?VE-(5Te&Pgd(QngTrwEni1mgRC+>pbj|R?_H9 zH!rGwYc^|awC8tshk2fOf_7_6Xphz{?UuQ^S`KVq?M-+NFMz?4Uz#0%F2(=gxbRI@flI7VU9*>spDvZymy)DTaK09Ppa36W8~6ksHzrV)gJ z&tRC%X1Y0$uE$jjCXdHsz$^xfMFR+$F;hn%7MjjDhNS4>h{TL24*aav>nJ2ABG;P; zA(aZ&DZS*R+eH>I*_(hI+v$yjf*}S2Hn<-EV6b4AOM_W77LVZ=4^}0TzG$7XS4E&F z!-5zXOghZaYM+TP5~7T!`JNkLOa#XqBLOq&O*o2)GB6!6#xbcuV=_ACG#N2+%3ild zp=5xf?3o>7qQ#QLupDTi%Da{D4T|G6kISwSs05Mj43cj3MsAz z)!VFWv_-5mLC=`7E)Ps z_~}f%1|gJsTq~r;s&yvI(}hH}7LySODH=1F$>TCPESL*(xV#|FQ_yq_Hv-p^oJ^R` z`o{pi!i+P?0?qf;- zo0O5jGsS;#Q~!n&^w=^6#Om=(hx{^Ze$S|9C()?wQc)=O?&TvWsiKf-L^3di{Sg2i zdzR2NM5n^QHrd-FPv+Inv8$Yea#=i#NyA{KoW=&GqH*PD5RJo>E17I&usm3fJj-s> zD+x1#V__=LMBq7t7P3EQ$^^U1CO(Tcr(vK-8qDUyFtz9LQUnZgCwy{y0&=gANcfHd z2*|yJFD4x(GZ_pTHHJSc%oC&h7o00WI`FcqLphIrJ0C`f?bkbWSeWr zhElEvWnL?Igt~U95s`tKi^^&li3ge)VV3)|`g>>JnfLvCXWsXDp6|T#&YMXjY_hg= zumk|WI%IQDD9C5vJP0)d*K{nK24ddvfRHdKI8vbp&H{j`V@QyHSn}_qz4$owFSacc z`)|RamKK}2h1D5QNNoO_6)y2Y*x3AMkxjowW9o!}d*CGauQij8Q~S6fft@R$Y#3_(Z^^%^1m4j`86l3uG%_ zqF>nAGOfF#NCE!DRltDcM*zgq$~M0VMCRF6Dks%xkXu4^l7}OPZ%c8CIdklSEGh?o z#Y6ULs7kvq;Idjx@ms(Cs%)CKhtH; z0Mq3k&IRoW!1U6F^Z*npAt|Zz4V@^^CeZ2GL@wqdxo9~m;n*=GQ?ON_^~zI3V{UBx zgi#z9!szcSV3G=msTq_QnGXCPILG9}=yr4mPm__Vh>4MT>C-7Fl)1V2Mfl2$s~AQ)P@CVhs3bk0Qii^fC-6>Cr5JTn z1g1_G`nj71UnZmZ93Gs78K!jX!1h!$8ol$BmDzWGcx<>gHt6RkcxN7|x~!~>q~Y~; zIOG@RmhFjA2C4>UltYO{oXNq#WnJYN;=Y61eKeJSMY^CSc4+Hz^LF`a#2Az6j@00b zFE-u0t3~iyM6R|)@ku_PU8?1;-R-LP{WQW-@QzY`+yIyFKHGk}Z}Qg1RXh4S*HNL! zl*{bK#>#ESFbwzJ6|9ubg^z)2%dn>c-DP6=hmcj;4CiHvkV2Mh90$R z=b?suWe&>1I{y1teUta|>aDvUVj0&(ZtnyL+%gn9w`{!JLaOCb+r*69zj@a28_ttR z2BGaqD{kO|3I42H&9KVakIkB5jopMe_eD<+X{k5QY*vQh*vXu@Pb9i5Sz*%{+vvy& z&n^5zR^>qnCof$oPD^vVr{!WhfXtpa!Jr#|n;U~eP=;;1l~r(PuQA0PY=wN)X7TlH zZeB}a(cTWd6hYz87G)_*x>#?FTK*WwUKjqP3oU1{U+m0lUd$S(lrlQ1gSv-H!8nQz zvM^j~uTdQ!Ezy&~9H$O|G%5tMjrIGOU(c{~uEg$Mk%uhSQ!;?X(}L?WiAi!Iqjt`p zt9WE)rz(mku?Fg7UmQgcQ5}W!b=ULpf;U1@{T@=8+bm|+`;&S_uO|hF z&v$68M{>(YHAjgmyY8M;@Y-^+5e0C^nypJ}>A4C}99rv-9&J-kkDAr{f1?Iv`vbahv3-CSu<^*!6Z qE{Y-t-&b8Qo#8GP&m|