From fcad4fd888bf08f3ff7652c73887c8aeb154d93c Mon Sep 17 00:00:00 2001 From: HbmMods Date: Wed, 2 Aug 2017 22:55:58 +0200 Subject: [PATCH] Up-down-thingie, large refinery, more fluid support, chemplant recipes --- assets/hbm/lang/de_DE.lang | 6 + assets/hbm/lang/en_US.lang | 6 + assets/hbm/models/LaunchPad.obj | 455 +- assets/hbm/models/chemplant.obj | 1295 ------ assets/hbm/models/chemplant_main.obj | 1870 +++++++++ assets/hbm/models/chemplant_piston.obj | 150 + assets/hbm/models/refinery.obj | 3714 +++++++++++++++++ assets/hbm/sounds.json | 4 + assets/hbm/textures/gui/fluids2.png | Bin 874 -> 18306 bytes assets/hbm/textures/gui/gui_refinery.png | Bin 7163 -> 2711 bytes assets/hbm/textures/gui/gui_refinery_alt.png | Bin 0 -> 7163 bytes .../hbm/textures/items/canister_bitumen.png | Bin 0 -> 305 bytes .../textures/items/canister_heatingoil.png | Bin 0 -> 307 bytes .../hbm/textures/items/canister_heavyoil.png | Bin 0 -> 301 bytes .../hbm/textures/items/canister_lightoil.png | Bin 0 -> 302 bytes .../hbm/textures/items/canister_naphtha.png | Bin 0 -> 311 bytes assets/hbm/textures/items/gas_petroleum.png | Bin 0 -> 217 bytes .../hbm/textures/models/MissileDoomsday.png | Bin 0 -> 55521 bytes .../textures/models/bombletThetaTexture.png | Bin 0 -> 17044 bytes assets/hbm/textures/models/tank.png | Bin 0 -> 21735 bytes assets/hbm/textures/models/tank_AMAT.png | Bin 0 -> 1691 bytes assets/hbm/textures/models/tank_ASCHRAB.png | Bin 0 -> 3489 bytes assets/hbm/textures/models/tank_BITUMEN.png | Bin 0 -> 1896 bytes assets/hbm/textures/models/tank_COOLANT.png | Bin 0 -> 3985 bytes assets/hbm/textures/models/tank_DEUTERIUM.png | Bin 0 -> 2689 bytes assets/hbm/textures/models/tank_DIESEL.png | Bin 0 -> 3012 bytes assets/hbm/textures/models/tank_GAS.png | Bin 0 -> 4087 bytes .../hbm/textures/models/tank_HEATINGOIL.png | Bin 0 -> 3080 bytes assets/hbm/textures/models/tank_HEAVYOIL.png | Bin 0 -> 3028 bytes assets/hbm/textures/models/tank_KEROSENE.png | Bin 0 -> 4685 bytes assets/hbm/textures/models/tank_LAVA.png | Bin 0 -> 2928 bytes assets/hbm/textures/models/tank_LIGHTOIL.png | Bin 0 -> 3057 bytes assets/hbm/textures/models/tank_LUBRICANT.png | Bin 0 -> 3939 bytes assets/hbm/textures/models/tank_NAPHTHA.png | Bin 0 -> 2607 bytes assets/hbm/textures/models/tank_NONE.png | Bin 0 -> 1428 bytes assets/hbm/textures/models/tank_OIL.png | Bin 0 -> 1319 bytes assets/hbm/textures/models/tank_PETROIL.png | Bin 0 -> 2976 bytes assets/hbm/textures/models/tank_PETROLEUM.png | Bin 0 -> 4372 bytes assets/hbm/textures/models/tank_PUF6.png | Bin 0 -> 5269 bytes assets/hbm/textures/models/tank_RECLAIMED.png | Bin 0 -> 3512 bytes assets/hbm/textures/models/tank_SMEAR.png | Bin 0 -> 3374 bytes assets/hbm/textures/models/tank_TRITIUM.png | Bin 0 -> 2368 bytes assets/hbm/textures/models/tank_UF6.png | Bin 0 -> 5453 bytes assets/hbm/textures/models/tank_WATER.png | Bin 0 -> 3581 bytes com/hbm/blocks/ModBlocks.java | 8 +- com/hbm/blocks/bomb/LaunchPad.java | 28 +- .../blocks/machine/DummyBlockRefinery.java | 106 + .../blocks/machine/MachineMiningDrill.java | 2 +- com/hbm/blocks/machine/MachineRefinery.java | 87 +- .../entity/missile/EntityBombletSelena.java | 101 + .../entity/missile/EntityBombletTheta.java | 31 +- .../missile/EntityMissileBunkerBuster.java | 157 +- .../entity/missile/EntityMissileBurst.java | 148 +- .../missile/EntityMissileBusterStrong.java | 156 +- .../missile/EntityMissileClusterStrong.java | 146 +- .../entity/missile/EntityMissileDoomsday.java | 144 +- .../entity/missile/EntityMissileDrill.java | 156 +- com/hbm/entity/missile/EntityMissileEndo.java | 148 +- com/hbm/entity/missile/EntityMissileExo.java | 148 +- .../entity/missile/EntityMissileGeneric.java | 2 +- .../missile/EntityMissileIncendiary.java | 150 +- .../EntityMissileIncendiaryStrong.java | 146 +- .../entity/missile/EntityMissileInferno.java | 148 +- com/hbm/entity/missile/EntityMissileMirv.java | 166 +- .../entity/missile/EntityMissileNuclear.java | 170 +- com/hbm/entity/missile/EntityMissileRain.java | 146 +- .../entity/missile/EntityMissileStrong.java | 144 +- com/hbm/handler/FluidTypeHandler.java | 6 +- com/hbm/handler/MultiblockHandler.java | 1 + com/hbm/inventory/MachineRecipes.java | 119 +- .../container/ContainerMachineRefinery.java | 98 +- .../inventory/gui/GUIMachineChemplant.java | 6 + com/hbm/inventory/gui/GUIMachineRefinery.java | 41 +- com/hbm/items/ModItems.java | 19 + com/hbm/items/special/ItemCustomLore.java | 48 + com/hbm/items/tool/ItemChemistryTemplate.java | 42 +- com/hbm/lib/Library.java | 17 +- com/hbm/main/ClientProxy.java | 6 + com/hbm/main/MainRegistry.java | 9 + com/hbm/packet/LoopedSoundPacket.java | 28 + com/hbm/packet/PacketDispatcher.java | 2 + com/hbm/packet/TEAssemblerPacket.java | 7 +- com/hbm/packet/TEChemplantPacket.java | 68 + .../render/entity/RenderBombletSelena.java | 42 + com/hbm/render/entity/RenderBombletTheta.java | 4 +- .../render/entity/RenderMissileDoomsday.java | 8 +- .../render/tileentity/RenderChemplant.java | 39 +- .../render/tileentity/RenderFluidTank.java | 9 +- .../tileentity/RenderLaunchPadTier1.java | 11 +- com/hbm/render/tileentity/RenderRefinery.java | 40 + com/hbm/sound/SoundLoopAssembler.java | 40 + com/hbm/sound/SoundLoopChemplant.java | 40 + .../TileEntityMachineAssembler.java | 8 +- .../TileEntityMachineChemplant.java | 20 +- .../tileentity/TileEntityMachineRefinery.java | 363 +- 95 files changed, 7391 insertions(+), 3888 deletions(-) delete mode 100644 assets/hbm/models/chemplant.obj create mode 100644 assets/hbm/models/chemplant_main.obj create mode 100644 assets/hbm/models/chemplant_piston.obj create mode 100644 assets/hbm/models/refinery.obj mode change 100644 => 100755 assets/hbm/textures/gui/fluids2.png create mode 100644 assets/hbm/textures/gui/gui_refinery_alt.png create mode 100644 assets/hbm/textures/items/canister_bitumen.png create mode 100644 assets/hbm/textures/items/canister_heatingoil.png create mode 100644 assets/hbm/textures/items/canister_heavyoil.png create mode 100644 assets/hbm/textures/items/canister_lightoil.png create mode 100644 assets/hbm/textures/items/canister_naphtha.png create mode 100644 assets/hbm/textures/items/gas_petroleum.png create mode 100755 assets/hbm/textures/models/MissileDoomsday.png create mode 100755 assets/hbm/textures/models/bombletThetaTexture.png create mode 100755 assets/hbm/textures/models/tank.png create mode 100644 assets/hbm/textures/models/tank_AMAT.png create mode 100644 assets/hbm/textures/models/tank_ASCHRAB.png create mode 100644 assets/hbm/textures/models/tank_BITUMEN.png create mode 100644 assets/hbm/textures/models/tank_COOLANT.png create mode 100644 assets/hbm/textures/models/tank_DEUTERIUM.png create mode 100644 assets/hbm/textures/models/tank_DIESEL.png create mode 100644 assets/hbm/textures/models/tank_GAS.png create mode 100644 assets/hbm/textures/models/tank_HEATINGOIL.png create mode 100644 assets/hbm/textures/models/tank_HEAVYOIL.png create mode 100644 assets/hbm/textures/models/tank_KEROSENE.png create mode 100644 assets/hbm/textures/models/tank_LAVA.png create mode 100644 assets/hbm/textures/models/tank_LIGHTOIL.png create mode 100644 assets/hbm/textures/models/tank_LUBRICANT.png create mode 100644 assets/hbm/textures/models/tank_NAPHTHA.png create mode 100755 assets/hbm/textures/models/tank_NONE.png create mode 100644 assets/hbm/textures/models/tank_OIL.png create mode 100644 assets/hbm/textures/models/tank_PETROIL.png create mode 100644 assets/hbm/textures/models/tank_PETROLEUM.png create mode 100644 assets/hbm/textures/models/tank_PUF6.png create mode 100644 assets/hbm/textures/models/tank_RECLAIMED.png create mode 100644 assets/hbm/textures/models/tank_SMEAR.png create mode 100644 assets/hbm/textures/models/tank_TRITIUM.png create mode 100644 assets/hbm/textures/models/tank_UF6.png create mode 100644 assets/hbm/textures/models/tank_WATER.png create mode 100644 com/hbm/blocks/machine/DummyBlockRefinery.java create mode 100644 com/hbm/entity/missile/EntityBombletSelena.java create mode 100644 com/hbm/packet/TEChemplantPacket.java create mode 100644 com/hbm/render/entity/RenderBombletSelena.java create mode 100644 com/hbm/render/tileentity/RenderRefinery.java create mode 100644 com/hbm/sound/SoundLoopAssembler.java create mode 100644 com/hbm/sound/SoundLoopChemplant.java diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 93fecec5b..be986bac2 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -590,8 +590,14 @@ item.canister_reoil.name=Kanister voll aufbereitetem Industrieöl item.canister_petroil.name=Gemischkanister item.canister_napalm.name=Napalm B item.canister_NITAN.name=NITAN© 100 Oktan Supertreibstoff +item.canister_heavyoil.name=Schwerölkanister +item.canister_bitumen.name=Bitumenkanister +item.canister_heatingoil.name=Heizölkanister +item.canister_naphtha.name=Mitteldestillatkanister +item.canister_lightoil.name=Leichtölkanister item.gas_empty.name=Leerer Gastank item.gas_full.name=Gastank +item.gas_petroleum.name=Petroleumgastank item.rod_empty.name=Leerer Brennstab item.rod_uranium.name=Uranbrennstab diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index d3df22b3d..c37e716b1 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -590,8 +590,14 @@ item.canister_reoil.name=Canister of Reclaimed Industrial Oil item.canister_petroil.name=Petroil Canister item.canister_napalm.name=Napalm B item.canister_NITAN.name=NITAN© 100 Octane Super Fuel +item.canister_heavyoil.name=Heavy Oil Canister +item.canister_bitumen.name=Bitumen Canister +item.canister_heatingoil.name=Heating Oil Canister +item.canister_naphtha.name=Naphtha Canister +item.canister_lightoil.name=Light Oil Canister item.gas_empty.name=Empty Gas Tank item.gas_full.name=Gas Tank +item.gas_petroleum.name=Petroleum Gas Tank item.rod_empty.name=Emty Rod item.rod_uranium.name=Uranium Rod diff --git a/assets/hbm/models/LaunchPad.obj b/assets/hbm/models/LaunchPad.obj index 563732b10..4beabf648 100644 --- a/assets/hbm/models/LaunchPad.obj +++ b/assets/hbm/models/LaunchPad.obj @@ -1,177 +1,302 @@ -# Blender v2.70 (sub 0) OBJ File: 'LaunchPad.blend' +# Blender v2.76 (sub 0) OBJ File: 'launchpad.blend' # www.blender.org o Cylinder -v 0.000000 0.000000 -1.000000 +v 1.060660 0.250000 -1.060660 +v 0.000000 0.500000 -1.000000 +v 1.500000 0.250000 0.000000 +v 0.707107 0.500000 -0.707107 +v 1.060660 0.250000 1.060660 +v 1.000000 0.500000 0.000000 +v -0.000000 0.250000 1.500000 +v 0.707107 0.500000 0.707107 +v -1.060660 0.250000 1.060660 +v -0.000000 0.500000 1.000000 +v 0.000000 0.250000 -1.500000 +v -0.707107 0.500000 0.707107 +v -1.060660 0.250000 -1.060660 +v -1.000000 0.500000 -0.000000 +v -1.500000 0.250000 -0.000000 +v -0.707107 0.500000 -0.707107 v 0.000000 0.250000 -1.000000 -v 0.707107 0.000000 -0.707107 v 0.707107 0.250000 -0.707107 -v 1.000000 0.000000 0.000000 v 1.000000 0.250000 0.000000 -v 0.707107 0.000000 0.707107 v 0.707107 0.250000 0.707107 -v -0.000000 0.000000 1.000000 v -0.000000 0.250000 1.000000 -v -0.707107 0.000000 0.707107 v -0.707107 0.250000 0.707107 -v -1.000000 0.000000 -0.000000 v -1.000000 0.250000 -0.000000 -v -0.707107 0.000000 -0.707107 v -0.707107 0.250000 -0.707107 -v 0.000000 0.500000 -0.750000 -v 0.530330 0.500000 -0.530330 -v 0.750000 0.500000 0.000000 -v 0.530330 0.500000 0.530330 -v -0.000000 0.500000 0.750000 -v -0.530330 0.500000 0.530330 -v -0.750000 0.500000 -0.000000 -v -0.530330 0.500000 -0.530330 -vt 0.202877 0.776488 -vt 0.202877 0.991569 -vt 0.128330 0.991569 -vt 0.983572 0.646674 -vt 0.983572 0.861756 -vt 0.909025 0.861756 -vt 0.816586 0.629813 -vt 0.816586 0.414732 -vt 0.891133 0.414732 -vt 0.008946 0.991569 -vt 0.008946 0.776488 -vt 0.083493 0.776488 -vt 0.816586 0.861756 -vt 0.816586 0.646674 -vt 0.891133 0.646674 -vt 0.339051 0.991569 -vt 0.339051 0.776488 -vt 0.413598 0.776488 -vt 0.559927 0.759627 -vt 0.458434 0.732741 -vt 0.458434 0.571430 -vt 0.909025 0.629813 -vt 0.909025 0.414732 -vt 0.983572 0.414732 -vt 0.532982 0.776488 -vt 0.532982 0.991569 -vt 0.458434 0.991569 -vt 0.008946 0.375598 -vt 0.559927 0.160516 -vt 0.170324 0.527684 -vt 0.577818 0.283806 -vt 0.577818 0.122495 -vt 0.698852 0.008431 -vt 0.697202 0.646674 -vt 0.798695 0.673560 -vt 0.798695 0.834871 -vt 0.577818 0.646675 -vt 0.679311 0.673560 -vt 0.679311 0.834871 -vt 0.697202 0.414732 -vt 0.798695 0.441617 -vt 0.798695 0.602928 -vt 0.128330 0.544545 -vt 0.229822 0.571430 -vt 0.229822 0.732741 -vt 0.008946 0.544545 -vt 0.110438 0.571430 -vt 0.110438 0.732741 -vt 0.577818 0.414732 -vt 0.679311 0.441617 -vt 0.679311 0.602928 -vt 0.440543 0.759627 -vt 0.339051 0.732741 -vt 0.339051 0.571430 -vt 0.128330 0.776488 -vt 0.909025 0.646674 -vt 0.891133 0.629813 -vt 0.083493 0.991569 -vt 0.891133 0.861756 -vt 0.413598 0.991569 -vt 0.559927 0.544545 -vt 0.983572 0.629813 -vt 0.458434 0.776488 -vt 0.008946 0.160516 -vt 0.170324 0.008431 -vt 0.398548 0.008431 -vt 0.559927 0.375598 -vt 0.398548 0.527684 -vt 0.870020 0.008431 -vt 0.991054 0.122495 -vt 0.870020 0.397870 -vt 0.991054 0.283806 -vt 0.698852 0.397871 -vt 0.697202 0.861756 -vt 0.577818 0.861756 -vt 0.697202 0.629813 -vt 0.128330 0.759627 -vt 0.008946 0.759627 -vt 0.577818 0.629813 -vt 0.440543 0.544545 -vn 0.382684 0.000000 -0.923880 -vn 0.923880 0.000000 -0.382683 -vn 0.923880 0.000000 0.382683 -vn 0.382683 0.000000 0.923880 -vn -0.382684 0.000000 0.923880 -vn -0.923880 0.000000 0.382683 -vn -0.281085 0.678598 -0.678598 -vn -0.382684 0.000000 -0.923879 -vn -0.923880 0.000000 -0.382683 +v 0.000000 0.000000 -1.500000 +v 1.060660 0.000000 -1.060660 +v 1.500000 0.000000 0.000000 +v 1.060660 0.000000 1.060660 +v -0.000000 0.000000 1.500000 +v -1.060660 0.000000 1.060660 +v -1.500000 0.000000 -0.000000 +v -1.060660 0.000000 -1.060660 +v -0.500000 0.000000 2.000000 +v 0.500000 0.000000 2.000000 +v -0.500000 0.000000 -2.000000 +v 0.500000 0.000000 -2.000000 +v -0.500000 0.125000 -2.000000 +v 0.500000 0.125000 -2.000000 +v -0.500000 0.475000 -0.750000 +v 0.500000 0.475000 -0.750000 +v -0.500000 0.475000 0.750000 +v 0.500000 0.475000 0.750000 +v 0.500000 0.125000 2.000000 +v -0.500000 0.125000 2.000000 +v -0.500000 0.100000 0.750000 +v 0.500000 0.100000 0.750000 +v -0.500000 0.100000 -0.750000 +v 0.500000 0.100000 -0.750000 +v 2.000000 0.000000 0.500000 +v 2.000000 0.000000 -0.500000 +v -2.000000 0.000000 0.500000 +v -2.000000 0.000000 -0.500000 +v -2.000000 0.125000 0.500000 +v -2.000000 0.125000 -0.500000 +v -0.750000 0.475000 0.500000 +v -0.750000 0.475000 -0.500000 +v 0.750000 0.475000 0.500000 +v 0.750000 0.475000 -0.500000 +v 2.000000 0.125000 -0.500000 +v 2.000000 0.125000 0.500000 +v 0.750000 0.100000 0.500000 +v 0.750000 0.100000 -0.500000 +v -0.750000 0.100000 0.500000 +v -0.750000 0.100000 -0.500000 +vt 0.679427 0.603288 +vt 0.736986 0.545729 +vt 0.755787 0.564530 +vt 0.736986 0.464329 +vt 0.763575 0.464329 +vt 0.679428 0.406770 +vt 0.698229 0.387969 +vt 0.598027 0.406770 +vt 0.598027 0.380181 +vt 0.540468 0.464329 +vt 0.521667 0.445528 +vt 0.540468 0.545729 +vt 0.513879 0.545729 +vt 0.598027 0.603288 +vt 0.679427 0.629877 +vt 0.579226 0.622089 +vt 0.371403 0.064091 +vt 0.370621 0.122777 +vt 0.246818 0.069553 +vt 0.028468 0.292851 +vt 0.071192 0.251063 +vt 0.122297 0.378412 +vt 0.289175 0.473320 +vt 0.246967 0.432446 +vt 0.370760 0.378824 +vt 0.456943 0.213084 +vt 0.412191 0.251217 +vt 0.204262 0.028468 +vt 0.122271 0.123726 +vt 0.028468 0.209288 +vt 0.062521 0.124396 +vt 0.121333 0.437581 +vt 0.143605 0.355918 +vt 0.245661 0.401664 +vt 0.429011 0.374227 +vt 0.552285 0.820181 +vt 0.552285 0.686813 +vt 0.658640 0.686813 +vt 0.346906 0.359230 +vt 0.145516 0.144219 +vt 0.102263 0.249691 +vt 0.382068 0.252292 +vt 0.248398 0.100332 +vt 0.348830 0.144590 +vt 0.898743 0.686813 +vt 0.898743 0.820181 +vt 0.792388 0.820181 +vt 0.658640 0.971532 +vt 0.552285 0.971532 +vt 0.552285 0.833475 +vt 0.898743 0.833475 +vt 0.792388 0.833475 +vt 0.898743 0.971532 +vt 0.658640 0.833475 +vt 0.792388 0.971532 +vt 0.753982 0.960778 +vt 0.937149 0.960778 +vt 0.513879 0.960778 +vt 0.539483 0.829891 +vt 0.671442 0.829891 +vt 0.697046 0.960778 +vt 0.413332 0.663908 +vt 0.306977 0.663908 +vt 0.306977 0.530539 +vt 0.066874 0.530539 +vt 0.173229 0.530539 +vt 0.173229 0.663908 +vt 0.413332 0.815259 +vt 0.306977 0.815259 +vt 0.306977 0.677202 +vt 0.066874 0.663908 +vt 0.173229 0.677202 +vt 0.066874 0.815259 +vt 0.066874 0.677202 +vt 0.413332 0.677202 +vt 0.028468 0.804505 +vt 0.211635 0.804505 +vt 0.173229 0.815259 +vt 0.268571 0.804505 +vt 0.294175 0.673617 +vt 0.426134 0.673617 +vt 0.451738 0.804505 +vt 0.722318 0.323245 +vt 0.513879 0.236907 +vt 0.600218 0.028468 +vt 0.698228 0.622089 +vt 0.763575 0.545729 +vt 0.755787 0.445528 +vt 0.679428 0.380181 +vt 0.579226 0.387969 +vt 0.513880 0.464329 +vt 0.598027 0.629877 +vt 0.521667 0.564530 +vt 0.288867 0.028609 +vt 0.062538 0.377750 +vt 0.371704 0.437572 +vt 0.429230 0.127457 +vt 0.121231 0.064583 +vt 0.204447 0.473603 +vt 0.456631 0.289155 +vt 0.658640 0.820181 +vt 0.792388 0.686813 +vt 0.779586 0.829891 +vt 0.911545 0.829891 +vt 0.413332 0.530539 +vt 0.054072 0.673618 +vt 0.186031 0.673618 +vt 0.722318 0.028468 +vt 0.808657 0.114806 +vt 0.808657 0.236907 +vt 0.600218 0.323245 +vt 0.513879 0.114806 +vn 0.382700 0.000000 -0.923900 +vn 0.923900 0.000000 -0.382700 +vn 0.923900 0.000000 0.382700 +vn 0.382700 0.000000 0.923900 +vn -0.382700 0.000000 0.923900 +vn -0.923900 0.000000 0.382700 +vn 0.000000 1.000000 -0.000000 +vn -0.382700 0.000000 -0.923900 +vn -0.923900 0.000000 -0.382700 +vn 0.000000 -0.996800 0.079700 +vn 0.000000 -0.996800 -0.079700 +vn 0.000000 0.963000 -0.269600 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.963000 0.269600 +vn 0.000000 0.000000 -1.000000 +vn -1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.079700 -0.996800 0.000000 +vn -0.079700 -0.996800 -0.000000 +vn -0.269600 0.963000 -0.000000 +vn 0.269600 0.963000 0.000000 vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.678598 0.678598 -0.281085 -vn -0.678599 0.678598 0.281085 -vn -0.281085 0.678598 0.678598 -vn 0.281085 0.678598 0.678598 -vn 0.678599 0.678598 0.281085 -vn 0.678598 0.678599 -0.281085 -vn 0.281085 0.678598 -0.678598 -vn 0.382683 0.000000 -0.923880 -vn 0.382684 0.000000 0.923880 -vn -0.382684 0.000000 0.923879 -vn -0.382683 0.000000 -0.923880 -vn -0.678598 0.678598 0.281085 -vn 0.678598 0.678598 0.281085 -vn 0.678598 0.678598 -0.281085 s off -f 2/1/1 4/2/1 3/3/1 -f 4/4/2 6/5/2 5/6/2 -f 6/7/3 8/8/3 7/9/3 -f 8/10/4 10/11/4 9/12/4 -f 10/13/5 12/14/5 11/15/5 -f 12/16/6 14/17/6 13/18/6 -f 16/19/7 24/20/7 17/21/7 -f 16/22/8 2/23/8 1/24/8 -f 14/25/9 16/26/9 15/27/9 -f 15/28/10 7/29/10 13/30/10 -f 21/31/11 20/32/11 19/33/11 -f 14/34/12 23/35/12 24/36/12 -f 12/37/13 22/38/13 23/39/13 -f 10/40/14 21/41/14 22/42/14 -f 8/43/15 20/44/15 21/45/15 -f 6/46/16 19/47/16 20/48/16 -f 4/49/17 18/50/17 19/51/17 -f 2/52/18 17/53/18 18/54/18 -f 1/55/19 2/1/19 3/3/19 -f 3/56/2 4/4/2 5/6/2 -f 5/57/3 6/7/3 7/9/3 -f 7/58/20 8/10/20 9/12/20 -f 9/59/21 10/13/21 11/15/21 -f 11/60/6 12/16/6 13/18/6 -f 2/61/7 16/19/7 17/21/7 -f 15/62/22 16/22/22 1/24/22 -f 13/63/9 14/25/9 15/27/9 -f 15/28/10 1/64/10 3/65/10 -f 3/65/10 5/66/10 7/29/10 -f 7/29/10 9/67/10 11/68/10 -f 19/33/11 18/69/11 17/70/11 -f 15/28/10 3/65/10 7/29/10 -f 23/71/11 19/33/11 24/72/11 -f 7/29/10 11/68/10 13/30/10 -f 21/31/11 19/33/11 22/73/11 -f 16/74/12 14/34/12 24/36/12 -f 19/33/11 23/71/11 22/73/11 -f 14/75/23 12/37/23 23/39/23 -f 19/33/11 17/70/11 24/72/11 -f 12/76/14 10/40/14 22/42/14 -f 10/77/15 8/43/15 21/45/15 -f 8/78/24 6/46/24 20/48/24 -f 6/79/25 4/49/25 19/51/25 -f 4/80/18 2/52/18 18/54/18 +f 2/1/1 4/2/1 18/3/1 +f 4/2/2 6/4/2 19/5/2 +f 6/4/3 8/6/3 20/7/3 +f 8/6/4 10/8/4 21/9/4 +f 10/8/5 12/10/5 22/11/5 +f 12/10/6 14/12/6 23/13/6 +f 14/12/7 8/6/7 6/4/7 +f 16/14/8 2/1/8 17/15/8 +f 14/12/9 16/14/9 24/16/9 +f 17/17/7 11/18/7 13/19/7 +f 22/20/7 9/21/7 7/22/7 +f 20/23/7 5/24/7 3/25/7 +f 18/26/7 1/27/7 11/18/7 +f 24/28/7 13/19/7 15/29/7 +f 22/30/7 23/31/7 15/29/7 +f 21/32/7 7/22/7 5/24/7 +f 7/22/4 29/33/4 28/34/4 +f 19/35/7 3/25/7 1/27/7 +f 36/36/10 48/37/10 47/38/10 +f 5/24/3 28/34/3 27/39/3 +f 15/29/6 31/40/6 30/41/6 +f 9/21/5 30/41/5 29/33/5 +f 3/25/2 27/39/2 26/42/2 +f 13/19/9 32/43/9 31/40/9 +f 1/27/1 26/42/1 25/44/1 +f 11/18/8 25/44/8 32/43/8 +f 46/45/11 34/46/11 33/47/11 +f 39/48/12 40/49/12 38/50/12 +f 33/47/13 34/46/13 43/51/13 +f 44/52/14 43/51/14 42/53/14 +f 37/54/15 38/50/15 36/36/15 +f 44/52/16 41/55/16 45/56/16 +f 46/57/17 42/53/17 43/51/17 +f 48/58/17 36/59/17 38/50/17 +f 37/54/16 35/60/16 47/61/16 +f 51/62/18 52/63/18 64/64/18 +f 61/65/19 62/66/19 50/67/19 +f 55/68/20 56/69/20 54/70/20 +f 49/71/17 50/67/17 59/72/17 +f 57/73/21 60/74/21 59/72/21 +f 53/75/16 54/70/16 52/63/16 +f 60/74/13 57/73/13 61/76/13 +f 62/77/15 58/78/15 59/72/15 +f 64/79/15 52/80/15 54/70/15 +f 53/75/13 51/81/13 63/82/13 +f 28/83/22 30/84/22 32/85/22 +f 17/86/1 2/1/1 18/3/1 +f 18/87/2 4/2/2 19/5/2 +f 19/88/3 6/4/3 20/7/3 +f 20/89/4 8/6/4 21/9/4 +f 21/90/5 10/8/5 22/11/5 +f 22/91/6 12/10/6 23/13/6 +f 6/4/7 4/2/7 2/1/7 +f 2/1/7 16/14/7 6/4/7 +f 14/12/7 12/10/7 10/8/7 +f 10/8/7 8/6/7 14/12/7 +f 6/4/7 16/14/7 14/12/7 +f 24/92/8 16/14/8 17/15/8 +f 23/93/9 14/12/9 24/16/9 +f 24/94/7 17/17/7 13/19/7 +f 21/95/7 22/20/7 7/22/7 +f 19/96/7 20/23/7 3/25/7 +f 17/97/7 18/26/7 11/18/7 +f 23/98/7 24/28/7 15/29/7 +f 9/21/7 22/30/7 15/29/7 +f 20/99/7 21/32/7 5/24/7 +f 5/24/4 7/22/4 28/34/4 +f 18/100/7 19/35/7 1/27/7 +f 35/101/10 36/36/10 47/38/10 +f 3/25/3 5/24/3 27/39/3 +f 9/21/6 15/29/6 30/41/6 +f 7/22/5 9/21/5 29/33/5 +f 1/27/2 3/25/2 26/42/2 +f 15/29/9 13/19/9 31/40/9 +f 11/18/1 1/27/1 25/44/1 +f 13/19/8 11/18/8 32/43/8 +f 45/102/11 46/45/11 33/47/11 +f 37/54/12 39/48/12 38/50/12 +f 44/52/13 33/47/13 43/51/13 +f 41/55/14 44/52/14 42/53/14 +f 35/101/15 37/54/15 36/36/15 +f 33/103/16 44/52/16 45/56/16 +f 34/104/17 46/57/17 43/51/17 +f 40/49/17 48/58/17 38/50/17 +f 39/48/16 37/54/16 47/61/16 +f 63/105/18 51/62/18 64/64/18 +f 49/71/19 61/65/19 50/67/19 +f 53/75/20 55/68/20 54/70/20 +f 60/74/17 49/71/17 59/72/17 +f 58/78/21 57/73/21 59/72/21 +f 51/62/16 53/75/16 52/63/16 +f 49/106/13 60/74/13 61/76/13 +f 50/107/15 62/77/15 59/72/15 +f 56/69/15 64/79/15 54/70/15 +f 55/68/13 53/75/13 63/82/13 +f 32/85/22 25/108/22 26/109/22 +f 26/109/22 27/110/22 28/83/22 +f 28/83/22 29/111/22 30/84/22 +f 30/84/22 31/112/22 32/85/22 +f 32/85/22 26/109/22 28/83/22 diff --git a/assets/hbm/models/chemplant.obj b/assets/hbm/models/chemplant.obj deleted file mode 100644 index 05fd844f9..000000000 --- a/assets/hbm/models/chemplant.obj +++ /dev/null @@ -1,1295 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'chemplant.blend' -# www.blender.org -o Cube.001_Cube.002 -v 0.427500 2.000000 -0.427500 -v 0.427500 2.000000 -0.822500 -v 0.822500 2.000000 -0.427500 -v 0.822500 2.000000 -0.822500 -v 0.427500 2.150000 -0.427500 -v 0.427500 2.150000 -0.822500 -v 0.822500 2.150000 -0.822500 -v 0.822500 2.150000 -0.427500 -v 0.476875 2.000000 -0.476875 -v 0.476875 2.000000 -0.773125 -v 0.773125 2.000000 -0.773125 -v 0.773125 2.000000 -0.476875 -v 0.476875 1.500000 -0.476875 -v 0.476875 1.500000 -0.773125 -v 0.773125 1.500000 -0.773125 -v 0.773125 1.500000 -0.476875 -v -0.822500 2.000000 -0.427500 -v -0.822500 2.000000 -0.822500 -v -0.427500 2.000000 -0.427500 -v -0.427500 2.000000 -0.822500 -v -0.822500 2.150000 -0.427500 -v -0.822500 2.150000 -0.822500 -v -0.427500 2.150000 -0.822500 -v -0.427500 2.150000 -0.427500 -v -0.773125 2.000000 -0.476875 -v -0.773125 2.000000 -0.773125 -v -0.476875 2.000000 -0.773125 -v -0.476875 2.000000 -0.476875 -v -0.773125 1.500000 -0.476875 -v -0.773125 1.500000 -0.773125 -v -0.476875 1.500000 -0.773125 -v -0.476875 1.500000 -0.476875 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 0.000000 -1.000000 -s off -f 3//1 12//1 11//1 -f 7//2 6//2 5//2 -f 4//3 7//3 8//3 -f 1//4 5//4 6//4 -f 3//5 8//5 5//5 -f 2//6 6//6 7//6 -f 9//5 13//5 16//5 -f 2//1 10//1 9//1 -f 1//1 9//1 12//1 -f 4//1 11//1 10//1 -f 13//1 14//1 15//1 -f 11//6 15//6 14//6 -f 12//3 16//3 15//3 -f 10//4 14//4 13//4 -f 19//1 28//1 27//1 -f 23//2 22//2 21//2 -f 20//3 23//3 24//3 -f 17//4 21//4 22//4 -f 19//5 24//5 21//5 -f 18//6 22//6 23//6 -f 25//5 29//5 32//5 -f 18//1 26//1 25//1 -f 17//1 25//1 28//1 -f 20//1 27//1 26//1 -f 29//1 30//1 31//1 -f 27//6 31//6 30//6 -f 28//3 32//3 31//3 -f 26//4 30//4 29//4 -f 4//1 3//1 11//1 -f 8//2 7//2 5//2 -f 3//3 4//3 8//3 -f 2//4 1//4 6//4 -f 1//5 3//5 5//5 -f 4//6 2//6 7//6 -f 12//5 9//5 16//5 -f 1//1 2//1 9//1 -f 3//1 1//1 12//1 -f 2//1 4//1 10//1 -f 16//1 13//1 15//1 -f 10//6 11//6 14//6 -f 11//3 12//3 15//3 -f 9//4 10//4 13//4 -f 20//1 19//1 27//1 -f 24//2 23//2 21//2 -f 19//3 20//3 24//3 -f 18//4 17//4 22//4 -f 17//5 19//5 21//5 -f 20//6 18//6 23//6 -f 28//5 25//5 32//5 -f 17//1 18//1 25//1 -f 19//1 17//1 28//1 -f 18//1 20//1 26//1 -f 32//1 29//1 31//1 -f 26//6 27//6 30//6 -f 27//3 28//3 31//3 -f 25//4 26//4 29//4 -o Cube_Cube.001 -v -1.500000 0.000000 1.500000 -v -1.500000 0.250000 1.500000 -v -1.500000 0.000000 -1.500000 -v -1.500000 0.250000 -1.500000 -v 1.500000 0.000000 1.500000 -v 1.500000 0.250000 1.500000 -v 1.500000 0.000000 -1.500000 -v 1.500000 0.250000 -1.500000 -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.250000 0.500000 0.000000 -v 0.000000 0.500000 -1.250000 -v 1.250000 0.500000 0.000000 -v 0.000000 0.500000 1.250000 -v 0.000000 0.500000 0.000000 -v 1.250000 0.750000 0.000000 -v 1.250000 0.750000 1.250000 -v 0.000000 0.750000 1.250000 -v 0.000000 0.750000 0.000000 -v 0.625000 0.750000 0.025000 -v 0.625000 2.750000 0.025000 -v 0.925000 0.750000 0.105385 -v 0.925000 2.750000 0.105385 -v 1.144615 0.750000 0.325000 -v 1.144615 2.750000 0.325000 -v 1.225000 0.750000 0.625000 -v 1.225000 2.750000 0.625000 -v 1.144615 0.750000 0.925000 -v 1.144615 2.750000 0.925000 -v 0.925000 0.750000 1.144615 -v 0.925000 2.750000 1.144615 -v 0.625000 0.750000 1.225000 -v 0.625000 2.750000 1.225000 -v 0.325000 0.750000 1.144615 -v 0.325000 2.750000 1.144615 -v 0.105385 0.750000 0.925000 -v 0.105385 2.750000 0.925000 -v 0.025000 0.750000 0.625000 -v 0.025000 2.750000 0.625000 -v 0.105385 0.750000 0.325000 -v 0.105385 2.750000 0.325000 -v 0.325000 0.750000 0.105385 -v 0.325000 2.750000 0.105385 -v 1.250000 0.750000 0.625000 -v 0.625000 0.750000 0.000000 -v 0.000000 0.750000 0.625000 -v 0.625000 0.750000 1.250000 -v 0.125000 0.500000 -1.125000 -v 1.125000 0.500000 -1.125000 -v 1.125000 0.500000 -0.125000 -v 0.125000 0.500000 -0.125000 -v -1.125000 0.500000 -0.125000 -v -1.125000 0.500000 -1.125000 -v -0.125000 0.500000 -1.125000 -v -0.125000 0.500000 -0.125000 -v 0.125000 0.650000 -1.125000 -v 1.125000 0.650000 -1.125000 -v 1.125000 0.650000 -0.125000 -v 0.125000 0.650000 -0.125000 -v 0.225000 0.650000 -1.025000 -v 1.025000 0.650000 -1.025000 -v 1.025000 0.650000 -0.225000 -v 0.225000 0.650000 -0.225000 -v -0.125000 0.650000 -0.125000 -v -0.125000 0.650000 -1.125000 -v -1.125000 0.650000 -1.125000 -v -1.125000 0.650000 -0.125000 -v 0.425000 2.000000 -0.425000 -v 0.825000 2.000000 -0.425000 -v 0.825000 2.000000 -0.825000 -v 0.425000 2.000000 -0.825000 -v 0.225000 1.850000 -1.025000 -v 1.025000 1.850000 -1.025000 -v 1.025000 1.850000 -0.225000 -v 0.225000 1.850000 -0.225000 -v 1.000000 2.750000 -0.024519 -v 0.625000 2.750000 -0.125000 -v 1.274519 2.750000 0.250000 -v 1.375000 2.750000 0.625000 -v 1.274519 2.750000 1.000000 -v 1.000000 2.750000 1.274519 -v 0.625000 2.750000 1.375000 -v 0.250000 2.750000 1.274519 -v -0.024519 2.750000 1.000000 -v -0.125000 2.750000 0.625000 -v -0.024519 2.750000 0.250000 -v 0.250000 2.750000 -0.024519 -v 1.000000 3.000000 -0.024519 -v 0.625000 3.000000 -0.125000 -v 1.274519 3.000000 0.250000 -v 1.375000 3.000000 0.625000 -v 1.274519 3.000000 1.000000 -v 1.000000 3.000000 1.274519 -v 0.625000 3.000000 1.375000 -v 0.250000 3.000000 1.274519 -v -0.024519 3.000000 1.000000 -v -0.125000 3.000000 0.625000 -v -0.024519 3.000000 0.250000 -v 0.250000 3.000000 -0.024519 -v -0.225000 0.650000 -1.025000 -v -0.225000 0.650000 -0.225000 -v -1.025000 0.650000 -0.225000 -v -1.025000 0.650000 -1.025000 -v -0.225000 1.850000 -1.025000 -v -0.225000 1.850000 -0.225000 -v -1.025000 1.850000 -0.225000 -v -1.025000 1.850000 -1.025000 -v -0.425000 2.000000 -0.825000 -v -0.425000 2.000000 -0.425000 -v -0.825000 2.000000 -0.425000 -v -0.825000 2.000000 -0.825000 -v -0.125000 0.500000 0.975000 -v -0.475000 0.500000 0.975000 -v -0.475000 0.500000 0.275000 -v -0.125000 0.500000 0.275000 -v -0.125000 1.250000 0.975000 -v -0.475000 1.250000 0.975000 -v -0.475000 1.250000 0.275000 -v -0.125000 1.250000 0.275000 -v -0.125000 1.500000 0.975000 -v -0.300000 1.500000 0.975000 -v -0.300000 1.500000 0.275000 -v -0.125000 1.500000 0.275000 -v -0.125000 1.500000 0.338636 -v -0.125000 1.500000 0.402273 -v -0.125000 1.500000 0.465909 -v -0.125000 1.500000 0.529545 -v -0.125000 1.500000 0.593182 -v -0.125000 1.500000 0.656818 -v -0.125000 1.500000 0.720455 -v -0.125000 1.500000 0.784091 -v -0.125000 1.500000 0.847727 -v -0.125000 1.500000 0.911364 -v -0.125000 1.650000 0.338636 -v -0.125000 1.650000 0.402273 -v -0.125000 1.650000 0.465909 -v -0.125000 1.650000 0.529545 -v -0.125000 1.650000 0.593182 -v -0.125000 1.650000 0.656818 -v -0.125000 1.650000 0.720455 -v -0.125000 1.650000 0.784091 -v -0.125000 1.650000 0.847727 -v -0.125000 1.650000 0.911364 -v -0.025000 1.750000 0.338636 -v -0.025000 1.750000 0.402273 -v -0.025000 1.750000 0.465909 -v -0.025000 1.750000 0.529545 -v -0.025000 1.750000 0.593182 -v -0.025000 1.750000 0.656818 -v -0.025000 1.750000 0.720455 -v -0.025000 1.750000 0.784091 -v -0.025000 1.750000 0.847727 -v -0.025000 1.750000 0.911364 -v 0.125000 1.750000 0.338636 -v 0.125000 1.750000 0.402273 -v 0.125000 1.750000 0.465909 -v 0.125000 1.750000 0.529545 -v 0.125000 1.750000 0.593182 -v 0.125000 1.750000 0.656818 -v 0.125000 1.750000 0.720455 -v 0.125000 1.750000 0.784091 -v 0.125000 1.750000 0.847727 -v 0.125000 1.750000 0.911364 -v 0.425000 2.000000 -0.767857 -v 0.425000 2.000000 -0.710714 -v 0.425000 2.000000 -0.653571 -v 0.425000 2.000000 -0.596429 -v 0.425000 2.000000 -0.539286 -v 0.425000 2.000000 -0.482143 -v -0.425000 2.000000 -0.767857 -v -0.425000 2.000000 -0.710714 -v -0.425000 2.000000 -0.653571 -v -0.425000 2.000000 -0.596429 -v -0.425000 2.000000 -0.539286 -v -0.425000 2.000000 -0.482143 -v 0.325000 2.121195 -0.749805 -v 0.325000 2.121195 -0.692662 -v 0.325000 2.121195 -0.635520 -v 0.325000 2.121195 -0.578377 -v 0.325000 2.121195 -0.521234 -v 0.325000 2.121195 -0.464091 -v -0.325000 2.100000 -0.767857 -v -0.325000 2.100000 -0.710714 -v -0.325000 2.100000 -0.653571 -v -0.325000 2.100000 -0.596429 -v -0.325000 2.100000 -0.539286 -v -0.325000 2.100000 -0.482143 -v 0.767857 2.000000 -0.425000 -v 0.710714 2.000000 -0.425000 -v 0.653571 2.000000 -0.425000 -v 0.596429 2.000000 -0.425000 -v 0.539286 2.000000 -0.425000 -v 0.482143 2.000000 -0.425000 -v 0.767857 2.771048 -0.425000 -v 0.710714 2.771048 -0.425000 -v 0.653571 2.771048 -0.425000 -v 0.596429 2.771048 -0.425000 -v 0.539286 2.771048 -0.425000 -v 0.482143 2.771048 -0.425000 -v 0.767857 2.871047 -0.325000 -v 0.710714 2.871047 -0.325000 -v 0.653571 2.871047 -0.325000 -v 0.596429 2.871047 -0.325000 -v 0.539286 2.871047 -0.325000 -v 0.482143 2.871047 -0.325000 -v 0.767857 2.871047 -0.075000 -v 0.710714 2.871047 -0.075000 -v 0.653571 2.871047 -0.075000 -v 0.596429 2.871047 -0.075000 -v 0.539286 2.871047 -0.075000 -v 0.482143 2.871047 -0.075000 -v -0.850000 1.200000 -0.250000 -v -0.850000 1.200000 0.350000 -v -0.814645 1.185355 -0.250000 -v -0.814645 1.185355 0.350000 -v -0.800000 1.150000 -0.250000 -v -0.800000 1.150000 0.350000 -v -0.814645 1.114645 -0.250000 -v -0.814645 1.114645 0.350000 -v -0.850000 1.100000 -0.250000 -v -0.850000 1.100000 0.350000 -v -0.885355 1.114645 -0.250000 -v -0.885355 1.114645 0.350000 -v -0.900000 1.150000 -0.250000 -v -0.900000 1.150000 0.350000 -v -0.885355 1.185355 -0.250000 -v -0.885355 1.185355 0.350000 -v -0.750000 1.150000 0.400000 -v -0.450000 1.150000 0.400000 -v -0.750000 1.114645 0.414645 -v -0.450000 1.114645 0.414645 -v -0.750000 1.100000 0.450000 -v -0.450000 1.100000 0.450000 -v -0.750000 1.114645 0.485355 -v -0.450000 1.114645 0.485355 -v -0.750000 1.150000 0.500000 -v -0.450000 1.150000 0.500000 -v -0.750000 1.185355 0.485355 -v -0.450000 1.185355 0.485355 -v -0.750000 1.200000 0.450000 -v -0.450000 1.200000 0.450000 -v -0.750000 1.185355 0.414645 -v -0.450000 1.185355 0.414645 -v -0.850000 1.000000 -0.250000 -v -0.850000 1.000000 0.350000 -v -0.814645 0.985355 -0.250000 -v -0.814645 0.985355 0.350000 -v -0.800000 0.950000 -0.250000 -v -0.800000 0.950000 0.350000 -v -0.814645 0.914645 -0.250000 -v -0.814645 0.914645 0.350000 -v -0.850000 0.900000 -0.250000 -v -0.850000 0.900000 0.350000 -v -0.885355 0.914645 -0.250000 -v -0.885355 0.914645 0.350000 -v -0.900000 0.950000 -0.250000 -v -0.900000 0.950000 0.350000 -v -0.885355 0.985355 -0.250000 -v -0.885355 0.985355 0.350000 -v -0.750000 0.950000 0.400000 -v -0.450000 0.950000 0.400000 -v -0.750000 0.914645 0.414645 -v -0.450000 0.914645 0.414645 -v -0.750000 0.900000 0.450000 -v -0.450000 0.900000 0.450000 -v -0.750000 0.914645 0.485355 -v -0.450000 0.914645 0.485355 -v -0.750000 0.950000 0.500000 -v -0.450000 0.950000 0.500000 -v -0.750000 0.985355 0.485355 -v -0.450000 0.985355 0.485355 -v -0.750000 1.000000 0.450000 -v -0.450000 1.000000 0.450000 -v -0.750000 0.985355 0.414645 -v -0.450000 0.985355 0.414645 -v -0.850000 0.800000 -0.250000 -v -0.850000 0.800000 0.350000 -v -0.814645 0.785355 -0.250000 -v -0.814645 0.785355 0.350000 -v -0.800000 0.750000 -0.250000 -v -0.800000 0.750000 0.350000 -v -0.814645 0.714645 -0.250000 -v -0.814645 0.714645 0.350000 -v -0.850000 0.700000 -0.250000 -v -0.850000 0.700000 0.350000 -v -0.885355 0.714645 -0.250000 -v -0.885355 0.714645 0.350000 -v -0.900000 0.750000 -0.250000 -v -0.900000 0.750000 0.350000 -v -0.885355 0.785355 -0.250000 -v -0.885355 0.785355 0.350000 -v -0.750000 0.750000 0.400000 -v -0.450000 0.750000 0.400000 -v -0.750000 0.714645 0.414645 -v -0.450000 0.714645 0.414645 -v -0.750000 0.700000 0.450000 -v -0.450000 0.700000 0.450000 -v -0.750000 0.714645 0.485355 -v -0.450000 0.714645 0.485355 -v -0.750000 0.750000 0.500000 -v -0.450000 0.750000 0.500000 -v -0.750000 0.785355 0.485355 -v -0.450000 0.785355 0.485355 -v -0.750000 0.800000 0.450000 -v -0.450000 0.800000 0.450000 -v -0.750000 0.785355 0.414645 -v -0.450000 0.785355 0.414645 -v 1.000000 0.250000 -0.250000 -v 1.000000 0.750000 -0.250000 -v 1.000000 0.250000 -0.750000 -v 1.000000 0.750000 -0.750000 -v 2.000000 0.000000 0.000000 -v 2.000000 1.000000 0.000000 -v 2.000000 0.000000 -1.000000 -v 2.000000 1.000000 -1.000000 -v 1.500000 1.000000 -1.000000 -v 1.500000 0.000000 -1.000000 -v 1.500000 1.000000 0.000000 -v 1.500000 0.000000 0.000000 -v 2.000000 0.875000 -0.875000 -v 2.000000 0.125000 -0.875000 -v 2.000000 0.875000 -0.125000 -v 2.000000 0.125000 -0.125000 -v 1.500000 0.687500 -0.687500 -v 1.500000 0.312500 -0.687500 -v 1.500000 0.687500 -0.312500 -v 1.500000 0.312500 -0.312500 -v -1.000000 0.250000 0.750000 -v -1.000000 0.750000 0.750000 -v -1.000000 0.250000 0.250000 -v -1.000000 0.750000 0.250000 -v -2.000000 0.000000 1.000000 -v -2.000000 1.000000 1.000000 -v -2.000000 0.000000 0.000000 -v -2.000000 1.000000 0.000000 -v -1.500000 1.000000 0.000000 -v -1.500000 0.000000 0.000000 -v -1.500000 1.000000 1.000000 -v -1.500000 0.000000 1.000000 -v -2.000000 0.875000 0.125000 -v -2.000000 0.125000 0.125000 -v -2.000000 0.875000 0.875000 -v -2.000000 0.125000 0.875000 -v -1.500000 0.687500 0.312500 -v -1.500000 0.312500 0.312500 -v -1.500000 0.687500 0.687500 -v -1.500000 0.312500 0.687500 -v 0.656250 0.343750 -2.000000 -v 0.656250 0.656250 -2.000000 -v 0.343750 0.343750 -1.150000 -v 0.343750 0.656250 -1.150000 -v 0.343750 0.343750 -2.000000 -v 0.343750 0.656250 -2.000000 -v 0.656250 0.343750 -1.150000 -v 0.656250 0.656250 -1.150000 -v 0.328125 0.671875 -1.150000 -v 0.328125 0.328125 -1.150000 -v 0.671875 0.671875 -1.150000 -v 0.671875 0.328125 -1.150000 -v 0.328125 0.671875 -1.000000 -v 0.328125 0.328125 -1.000000 -v 0.671875 0.671875 -1.000000 -v 0.671875 0.328125 -1.000000 -v -0.343750 0.343750 -2.000000 -v -0.343750 0.656250 -2.000000 -v -0.656250 0.343750 -1.150000 -v -0.656250 0.656250 -1.150000 -v -0.656250 0.343750 -2.000000 -v -0.656250 0.656250 -2.000000 -v -0.343750 0.343750 -1.150000 -v -0.343750 0.656250 -1.150000 -v -0.671875 0.671875 -1.150000 -v -0.671875 0.328125 -1.150000 -v -0.328125 0.671875 -1.150000 -v -0.328125 0.328125 -1.150000 -v -0.671875 0.671875 -1.000000 -v -0.671875 0.328125 -1.000000 -v -0.328125 0.671875 -1.000000 -v -0.328125 0.328125 -1.000000 -v -0.343750 0.343750 2.000000 -v -0.343750 0.656250 2.000000 -v -0.656250 0.343750 1.150000 -v -0.656250 0.656250 1.150000 -v -0.656250 0.343750 2.000000 -v -0.656250 0.656250 2.000000 -v -0.343750 0.343750 1.150000 -v -0.343750 0.656250 1.150000 -v -0.671875 0.671875 1.150000 -v -0.671875 0.328125 1.150000 -v -0.328125 0.671875 1.150000 -v -0.328125 0.328125 1.150000 -v -0.671875 0.671875 1.000000 -v -0.671875 0.328125 1.000000 -v -0.328125 0.671875 1.000000 -v -0.328125 0.328125 1.000000 -v 0.656250 0.343750 2.000000 -v 0.656250 0.656250 2.000000 -v 0.343750 0.343750 1.150000 -v 0.343750 0.656250 1.150000 -v 0.343750 0.343750 2.000000 -v 0.343750 0.656250 2.000000 -v 0.656250 0.343750 1.150000 -v 0.656250 0.656250 1.150000 -v 0.328125 0.671875 1.150000 -v 0.328125 0.328125 1.150000 -v 0.671875 0.671875 1.150000 -v 0.671875 0.328125 1.150000 -v 0.328125 0.671875 1.000000 -v 0.328125 0.328125 1.000000 -v 0.671875 0.671875 1.000000 -v 0.671875 0.328125 1.000000 -v 1.916667 0.250000 -1.100000 -v 1.916667 0.750000 -1.100000 -v 1.666667 0.500000 -1.100000 -v 1.916667 0.250000 0.100000 -v 1.916667 0.750000 0.100000 -v 1.666667 0.500000 0.100000 -v -1.583333 0.250000 -0.100000 -v -1.583333 0.750000 -0.100000 -v -1.833333 0.500000 -0.100000 -v -1.583333 0.250000 1.100000 -v -1.583333 0.750000 1.100000 -v -1.833333 0.500000 1.100000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.707100 0.707100 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.258800 0.000000 -0.965900 -vn 0.707100 0.000000 -0.707100 -vn 0.965900 0.000000 -0.258800 -vn 0.965900 0.000000 0.258800 -vn 0.707100 0.000000 0.707100 -vn 0.258800 0.000000 0.965900 -vn -0.258800 0.000000 0.965900 -vn -0.707100 0.000000 0.707100 -vn -0.965900 0.000000 0.258800 -vn -0.965900 0.000000 -0.258800 -vn -0.258800 0.000000 -0.965900 -vn -0.707100 0.000000 -0.707100 -vn 0.600000 0.800000 0.000000 -vn -0.600000 0.800000 0.000000 -vn 0.000000 0.800000 -0.600000 -vn 0.000000 0.800000 0.600000 -vn -0.819200 0.573500 0.000000 -vn 0.707100 -0.707100 0.000000 -vn 0.032600 -0.999500 0.000000 -vn 0.771300 0.636400 0.000000 -vn 0.000000 0.382700 0.923900 -vn 0.382700 0.923900 0.000000 -vn 0.678600 0.281100 -0.678600 -vn -0.678600 0.281100 0.678600 -vn 0.923900 0.382700 0.000000 -vn 0.357400 0.862900 -0.357400 -vn 0.000000 -0.923900 -0.382700 -vn 0.923900 -0.382700 0.000000 -vn 0.000000 -0.382700 0.923900 -vn 0.382700 -0.923900 0.000000 -vn -0.382700 -0.923900 0.000000 -vn -0.357400 0.862900 0.357400 -vn 0.000000 -0.382700 -0.923900 -vn -0.923900 -0.382700 0.000000 -vn -0.678600 -0.281100 0.678600 -vn -0.382700 0.923900 -0.000000 -vn -0.923900 0.382700 0.000000 -vn 0.000000 -0.923900 0.382700 -vn -0.000000 0.923900 0.382700 -vn 0.000000 0.382700 -0.923900 -vn 0.678600 -0.281100 -0.678600 -vn 0.000000 0.923900 -0.382700 -vn -0.357400 -0.862900 0.357400 -vn 0.357400 -0.862900 -0.357400 -vn -0.447200 0.000000 0.894400 -vn -0.447200 0.894400 0.000000 -vn -0.447200 -0.894400 0.000000 -vn -0.447200 0.000000 -0.894400 -vn 0.351100 0.000000 -0.936300 -vn 0.351100 0.000000 0.936300 -vn 0.351100 0.936300 0.000000 -vn 0.351100 -0.936300 0.000000 -vn 0.447200 0.000000 0.894400 -vn 0.447200 0.894400 0.000000 -vn 0.447200 -0.894400 0.000000 -vn 0.447200 0.000000 -0.894400 -vn -0.351100 0.000000 -0.936300 -vn -0.351100 0.000000 0.936300 -vn -0.351100 0.936300 0.000000 -vn -0.351100 -0.936300 0.000000 -s off -f 36//7 35//7 33//7 -f 40//8 39//8 35//8 -f 38//9 37//9 39//9 -f 34//10 33//10 37//10 -f 35//11 39//11 37//11 -f 38//12 48//12 34//12 -f 42//13 87//13 88//13 -f 36//14 46//14 40//14 -f 40//15 47//15 38//15 -f 34//16 45//16 36//16 -f 48//13 146//13 147//13 -f 48//7 80//7 49//7 -f 46//13 82//13 83//13 -f 47//9 78//9 44//9 -f 49//8 79//8 47//8 -f 44//10 81//10 48//10 -f 55//17 57//17 56//17 -f 57//18 59//18 58//18 -f 59//19 61//19 60//19 -f 61//20 63//20 62//20 -f 63//21 65//21 64//21 -f 65//22 67//22 66//22 -f 67//23 69//23 68//23 -f 69//24 71//24 70//24 -f 71//25 73//25 72//25 -f 73//26 75//26 74//26 -f 71//11 118//11 119//11 -f 77//27 55//27 54//27 -f 75//28 77//28 76//28 -f 81//13 51//13 64//13 -f 81//13 66//13 68//13 -f 68//13 70//13 52//13 -f 80//13 52//13 70//13 -f 74//13 53//13 80//13 -f 76//13 53//13 74//13 -f 79//13 53//13 76//13 -f 56//13 50//13 79//13 -f 64//13 51//13 62//13 -f 78//13 60//13 62//13 -f 78//13 50//13 58//13 -f 58//13 50//13 56//13 -f 84//10 92//10 93//10 -f 43//13 83//13 84//13 -f 49//13 85//13 82//13 -f 47//13 84//13 85//13 -f 89//10 98//10 101//10 -f 49//13 89//13 86//13 -f 46//13 88//13 89//13 -f 45//13 86//13 87//13 -f 93//13 97//13 94//13 -f 82//8 90//8 91//8 -f 85//7 93//7 90//7 -f 83//9 91//9 92//9 -f 96//10 108//10 109//10 -f 91//13 95//13 96//13 -f 92//13 96//13 97//13 -f 90//13 94//13 95//13 -f 87//8 100//8 99//8 -f 88//9 99//9 98//9 -f 86//7 101//7 100//7 -f 101//13 136//13 137//13 -f 107//29 104//29 103//29 -f 201//30 106//30 109//30 -f 94//8 106//8 107//8 -f 97//7 109//7 106//7 -f 95//9 107//9 108//9 -f 106//31 105//31 104//31 -f 225//13 201//13 202//13 -f 108//32 224//32 109//32 -f 113//20 125//20 126//20 -f 69//11 117//11 118//11 -f 67//11 116//11 117//11 -f 65//11 115//11 116//11 -f 63//11 114//11 115//11 -f 61//11 113//11 114//11 -f 77//11 121//11 111//11 -f 55//11 111//11 110//11 -f 59//11 112//11 113//11 -f 77//11 75//11 120//11 -f 57//11 110//11 112//11 -f 73//11 119//11 120//11 -f 130//13 128//13 124//13 -f 120//28 132//28 133//28 -f 111//17 123//17 122//17 -f 117//24 129//24 130//24 -f 114//21 126//21 127//21 -f 121//27 133//27 123//27 -f 110//18 122//18 124//18 -f 118//25 130//25 131//25 -f 115//22 127//22 128//22 -f 112//19 124//19 125//19 -f 119//26 131//26 132//26 -f 116//23 128//23 129//23 -f 136//7 140//7 141//7 -f 98//13 135//13 136//13 -f 100//13 137//13 134//13 -f 99//13 134//13 135//13 -f 141//31 145//31 142//31 -f 135//10 139//10 140//10 -f 137//8 141//8 138//8 -f 134//9 138//9 139//9 -f 207//13 145//13 144//13 -f 206//29 139//29 138//29 -f 140//30 144//30 145//30 -f 139//32 143//32 144//32 -f 149//9 153//9 150//9 -f 49//13 149//13 146//13 -f 49//13 45//13 148//13 -f 41//13 147//13 148//13 -f 153//8 152//8 156//8 -f 147//7 151//7 152//7 -f 148//8 152//8 153//8 -f 146//10 150//10 151//10 -f 162//13 161//13 156//13 -f 150//10 154//10 155//10 -f 153//9 162//9 150//9 -f 151//33 155//33 156//33 -f 158//7 159//7 169//7 -f 179//16 178//16 168//16 -f 160//7 161//7 171//7 -f 172//7 162//7 163//7 -f 174//7 164//7 165//7 -f 176//7 166//7 167//7 -f 187//16 186//16 176//16 -f 185//16 184//16 174//16 -f 183//16 182//16 172//16 -f 181//16 180//16 170//16 -f 189//13 188//13 178//13 -f 191//13 190//13 180//13 -f 193//13 192//13 182//13 -f 195//13 194//13 184//13 -f 197//13 196//13 186//13 -f 208//34 220//34 221//34 -f 206//34 218//34 219//34 -f 204//34 216//34 217//34 -f 217//35 216//35 210//35 -f 219//35 218//35 212//35 -f 221//35 220//35 214//35 -f 214//36 215//36 203//36 -f 212//36 213//36 201//36 -f 210//36 211//36 199//36 -f 239//14 238//14 232//14 -f 237//14 236//14 230//14 -f 235//14 234//14 228//14 -f 228//8 222//8 223//8 -f 230//8 224//8 225//8 -f 232//8 226//8 227//8 -f 245//13 244//13 238//13 -f 243//13 242//13 236//13 -f 241//13 240//13 234//13 -f 271//37 273//37 272//37 -f 247//38 249//38 248//38 -f 251//39 249//39 276//39 -f 272//40 261//40 259//40 -f 249//41 251//41 250//41 -f 247//42 274//42 276//42 -f 265//43 267//43 266//43 -f 251//44 253//44 252//44 -f 269//45 271//45 270//45 -f 253//46 255//46 254//46 -f 255//47 257//47 256//47 -f 274//48 247//48 261//48 -f 263//49 265//49 264//49 -f 257//50 259//50 258//50 -f 257//51 268//51 270//51 -f 261//52 247//52 246//52 -f 259//53 261//53 260//53 -f 267//54 269//54 268//54 -f 273//55 275//55 274//55 -f 277//56 263//56 262//56 -f 251//57 262//57 264//57 -f 275//58 277//58 276//58 -f 268//59 257//59 255//59 -f 253//60 264//60 266//60 -f 303//37 305//37 304//37 -f 279//38 281//38 280//38 -f 283//39 281//39 308//39 -f 304//40 293//40 291//40 -f 281//41 283//41 282//41 -f 279//42 306//42 308//42 -f 297//43 299//43 298//43 -f 283//44 285//44 284//44 -f 301//45 303//45 302//45 -f 285//46 287//46 286//46 -f 287//47 289//47 288//47 -f 306//48 279//48 293//48 -f 295//49 297//49 296//49 -f 289//50 291//50 290//50 -f 289//51 300//51 302//51 -f 293//52 279//52 278//52 -f 291//53 293//53 292//53 -f 299//54 301//54 300//54 -f 305//55 307//55 306//55 -f 309//56 295//56 294//56 -f 283//57 294//57 296//57 -f 307//58 309//58 308//58 -f 298//59 300//59 289//59 -f 285//60 296//60 298//60 -f 335//37 337//37 336//37 -f 311//38 313//38 312//38 -f 315//39 313//39 340//39 -f 336//40 325//40 323//40 -f 313//41 315//41 314//41 -f 311//42 338//42 340//42 -f 329//43 331//43 330//43 -f 315//44 317//44 316//44 -f 333//45 335//45 334//45 -f 317//46 319//46 318//46 -f 319//47 321//47 320//47 -f 338//48 311//48 325//48 -f 327//49 329//49 328//49 -f 321//50 323//50 322//50 -f 323//51 321//51 332//51 -f 325//52 311//52 310//52 -f 323//53 325//53 324//53 -f 331//54 333//54 332//54 -f 337//55 339//55 338//55 -f 341//56 327//56 326//56 -f 315//57 326//57 328//57 -f 338//58 339//58 341//58 -f 330//59 332//59 321//59 -f 319//60 317//60 328//60 -f 345//7 344//7 342//7 -f 349//8 348//8 351//8 -f 348//9 355//9 357//9 -f 343//61 342//61 353//61 -f 351//11 348//11 346//11 -f 350//62 345//62 343//62 -f 349//13 350//13 352//13 -f 344//63 351//63 353//63 -f 352//10 353//10 346//10 -f 350//64 351//64 344//64 -f 357//65 361//65 360//65 -f 347//9 356//9 354//9 -f 349//9 354//9 355//9 -f 346//9 357//9 356//9 -f 360//9 361//9 359//9 -f 354//66 358//66 359//66 -f 355//67 359//67 361//67 -f 356//68 360//68 358//68 -f 362//9 364//9 365//9 -f 371//8 368//8 369//8 -f 377//7 375//7 368//7 -f 373//69 362//69 363//69 -f 366//11 368//11 371//11 -f 363//70 365//70 370//70 -f 372//13 370//13 369//13 -f 373//71 371//71 364//71 -f 366//10 373//10 372//10 -f 364//72 371//72 370//72 -f 380//73 381//73 377//73 -f 374//7 376//7 367//7 -f 375//7 374//7 369//7 -f 376//7 377//7 366//7 -f 379//7 381//7 380//7 -f 379//74 378//74 374//74 -f 381//75 379//75 375//75 -f 378//76 380//76 376//76 -f 388//9 382//9 383//9 -f 388//8 393//8 391//8 -f 385//7 387//7 386//7 -f 389//13 383//13 387//13 -f 384//11 386//11 382//11 -f 383//8 382//8 386//8 -f 393//11 397//11 395//11 -f 385//8 390//8 392//8 -f 384//8 391//8 390//8 -f 389//8 392//8 393//8 -f 395//10 397//10 396//10 -f 390//13 394//13 396//13 -f 392//9 396//9 397//9 -f 391//7 395//7 394//7 -f 404//9 398//9 399//9 -f 404//8 409//8 407//8 -f 401//7 403//7 402//7 -f 405//13 399//13 403//13 -f 400//11 402//11 398//11 -f 399//8 398//8 402//8 -f 409//11 413//11 411//11 -f 401//8 406//8 408//8 -f 400//8 407//8 406//8 -f 405//8 408//8 409//8 -f 411//10 413//10 412//10 -f 406//13 410//13 412//13 -f 408//9 412//9 413//9 -f 407//7 411//7 410//7 -f 415//9 414//9 420//9 -f 423//10 425//10 420//10 -f 418//7 419//7 417//7 -f 419//13 415//13 421//13 -f 414//11 418//11 416//11 -f 418//10 414//10 415//10 -f 427//11 429//11 425//11 -f 424//10 422//10 417//10 -f 422//10 423//10 416//10 -f 425//10 424//10 421//10 -f 428//8 429//8 427//8 -f 428//13 426//13 422//13 -f 429//9 428//9 424//9 -f 426//7 427//7 423//7 -f 431//9 430//9 436//9 -f 439//10 441//10 436//10 -f 434//7 435//7 433//7 -f 435//13 431//13 437//13 -f 430//11 434//11 432//11 -f 434//10 430//10 431//10 -f 443//11 445//11 441//11 -f 440//10 438//10 433//10 -f 438//10 439//10 432//10 -f 441//10 440//10 437//10 -f 444//8 445//8 443//8 -f 444//13 442//13 438//13 -f 445//9 444//9 440//9 -f 442//7 443//7 439//7 -f 447//8 446//8 448//8 -f 450//10 451//10 449//10 -f 453//8 452//8 454//8 -f 456//10 457//10 455//10 -f 34//7 36//7 33//7 -f 36//8 40//8 35//8 -f 40//9 38//9 39//9 -f 38//10 34//10 37//10 -f 33//11 35//11 37//11 -f 41//12 34//12 48//12 -f 38//12 44//12 48//12 -f 46//13 42//13 88//13 -f 43//14 40//14 46//14 -f 36//14 42//14 46//14 -f 44//15 38//15 47//15 -f 40//15 43//15 47//15 -f 42//16 36//16 45//16 -f 34//16 41//16 45//16 -f 41//13 48//13 147//13 -f 53//7 49//7 80//7 -f 48//7 52//7 80//7 -f 43//13 46//13 83//13 -f 51//9 44//9 78//9 -f 47//9 50//9 78//9 -f 50//8 47//8 79//8 -f 49//8 53//8 79//8 -f 52//10 48//10 81//10 -f 44//10 51//10 81//10 -f 54//17 55//17 56//17 -f 56//18 57//18 58//18 -f 58//19 59//19 60//19 -f 60//20 61//20 62//20 -f 62//21 63//21 64//21 -f 64//22 65//22 66//22 -f 66//23 67//23 68//23 -f 68//24 69//24 70//24 -f 70//25 71//25 72//25 -f 72//26 73//26 74//26 -f 73//11 71//11 119//11 -f 76//27 77//27 54//27 -f 74//28 75//28 76//28 -f 66//13 81//13 64//13 -f 52//13 81//13 68//13 -f 72//13 80//13 70//13 -f 72//13 74//13 80//13 -f 54//13 79//13 76//13 -f 54//13 56//13 79//13 -f 51//13 78//13 62//13 -f 60//13 78//13 58//13 -f 85//10 84//10 93//10 -f 47//13 43//13 84//13 -f 46//13 49//13 82//13 -f 49//13 47//13 85//13 -f 86//10 89//10 101//10 -f 45//13 49//13 86//13 -f 49//13 46//13 89//13 -f 42//13 45//13 87//13 -f 90//13 93//13 94//13 -f 83//8 82//8 91//8 -f 82//7 85//7 90//7 -f 84//9 83//9 92//9 -f 97//10 96//10 109//10 -f 92//13 91//13 96//13 -f 93//13 92//13 97//13 -f 91//13 90//13 95//13 -f 88//8 87//8 99//8 -f 89//9 88//9 98//9 -f 87//7 86//7 100//7 -f 100//13 101//13 137//13 -f 108//29 107//29 103//29 -f 105//30 106//30 198//30 -f 109//30 102//30 203//30 -f 203//30 202//30 109//30 -f 201//30 200//30 106//30 -f 199//30 198//30 106//30 -f 106//30 200//30 199//30 -f 202//30 201//30 109//30 -f 95//8 94//8 107//8 -f 94//7 97//7 106//7 -f 96//9 95//9 108//9 -f 107//31 106//31 104//31 -f 104//13 105//13 198//13 -f 198//13 199//13 104//13 -f 200//13 201//13 224//13 -f 202//13 203//13 226//13 -f 102//13 227//13 203//13 -f 226//13 225//13 202//13 -f 224//13 223//13 104//13 -f 222//13 103//13 104//13 -f 104//13 199//13 200//13 -f 201//13 225//13 224//13 -f 227//13 226//13 203//13 -f 223//13 222//13 104//13 -f 104//13 200//13 224//13 -f 102//32 109//32 227//32 -f 108//32 103//32 222//32 -f 222//32 223//32 108//32 -f 224//32 225//32 109//32 -f 226//32 227//32 109//32 -f 108//32 223//32 224//32 -f 226//32 109//32 225//32 -f 114//20 113//20 126//20 -f 71//11 69//11 118//11 -f 69//11 67//11 117//11 -f 67//11 65//11 116//11 -f 65//11 63//11 115//11 -f 63//11 61//11 114//11 -f 55//11 77//11 111//11 -f 57//11 55//11 110//11 -f 61//11 59//11 113//11 -f 121//11 77//11 120//11 -f 59//11 57//11 112//11 -f 75//11 73//11 120//11 -f 124//13 122//13 132//13 -f 123//13 133//13 132//13 -f 132//13 131//13 130//13 -f 130//13 129//13 128//13 -f 128//13 127//13 126//13 -f 126//13 125//13 124//13 -f 122//13 123//13 132//13 -f 132//13 130//13 124//13 -f 128//13 126//13 124//13 -f 121//28 120//28 133//28 -f 110//17 111//17 122//17 -f 118//24 117//24 130//24 -f 115//21 114//21 127//21 -f 111//27 121//27 123//27 -f 112//18 110//18 124//18 -f 119//25 118//25 131//25 -f 116//22 115//22 128//22 -f 113//19 112//19 125//19 -f 120//26 119//26 132//26 -f 117//23 116//23 129//23 -f 137//7 136//7 141//7 -f 101//13 98//13 136//13 -f 99//13 100//13 134//13 -f 98//13 99//13 135//13 -f 138//31 141//31 142//31 -f 136//10 135//10 140//10 -f 134//8 137//8 138//8 -f 135//9 134//9 139//9 -f 144//13 143//13 209//13 -f 209//13 208//13 144//13 -f 207//13 206//13 145//13 -f 205//13 204//13 145//13 -f 142//13 145//13 204//13 -f 144//13 208//13 207//13 -f 206//13 205//13 145//13 -f 143//29 139//29 209//29 -f 138//29 142//29 204//29 -f 204//29 205//29 138//29 -f 206//29 207//29 139//29 -f 208//29 209//29 139//29 -f 139//29 207//29 208//29 -f 205//29 206//29 138//29 -f 141//30 140//30 145//30 -f 140//32 139//32 144//32 -f 146//9 149//9 150//9 -f 48//13 49//13 146//13 -f 149//13 49//13 148//13 -f 45//13 41//13 148//13 -f 157//8 153//8 156//8 -f 148//7 147//7 152//7 -f 149//8 148//8 153//8 -f 147//10 146//10 151//10 -f 155//13 154//13 167//13 -f 167//13 166//13 155//13 -f 165//13 164//13 155//13 -f 163//13 162//13 156//13 -f 161//13 160//13 156//13 -f 159//13 158//13 156//13 -f 157//13 156//13 158//13 -f 155//13 166//13 165//13 -f 164//13 163//13 155//13 -f 160//13 159//13 156//13 -f 156//13 155//13 163//13 -f 151//10 150//10 155//10 -f 154//9 150//9 167//9 -f 153//9 157//9 158//9 -f 158//9 159//9 153//9 -f 160//9 161//9 153//9 -f 162//9 163//9 150//9 -f 164//9 165//9 150//9 -f 166//9 167//9 150//9 -f 153//9 159//9 160//9 -f 166//9 150//9 165//9 -f 163//9 164//9 150//9 -f 153//9 161//9 162//9 -f 152//33 151//33 156//33 -f 168//7 158//7 169//7 -f 169//16 179//16 168//16 -f 170//7 160//7 171//7 -f 173//7 172//7 163//7 -f 175//7 174//7 165//7 -f 177//7 176//7 167//7 -f 177//16 187//16 176//16 -f 175//16 185//16 174//16 -f 173//16 183//16 172//16 -f 171//16 181//16 170//16 -f 179//13 189//13 178//13 -f 181//13 191//13 180//13 -f 183//13 193//13 182//13 -f 185//13 195//13 184//13 -f 187//13 197//13 186//13 -f 209//34 208//34 221//34 -f 207//34 206//34 219//34 -f 205//34 204//34 217//34 -f 211//35 217//35 210//35 -f 213//35 219//35 212//35 -f 215//35 221//35 214//35 -f 202//36 214//36 203//36 -f 200//36 212//36 201//36 -f 198//36 210//36 199//36 -f 233//14 239//14 232//14 -f 231//14 237//14 230//14 -f 229//14 235//14 228//14 -f 229//8 228//8 223//8 -f 231//8 230//8 225//8 -f 233//8 232//8 227//8 -f 239//13 245//13 238//13 -f 237//13 243//13 236//13 -f 235//13 241//13 234//13 -f 270//37 271//37 272//37 -f 246//38 247//38 248//38 -f 262//39 251//39 276//39 -f 270//40 272//40 259//40 -f 248//41 249//41 250//41 -f 249//42 247//42 276//42 -f 264//43 265//43 266//43 -f 250//44 251//44 252//44 -f 268//45 269//45 270//45 -f 252//46 253//46 254//46 -f 254//47 255//47 256//47 -f 272//48 274//48 261//48 -f 262//49 263//49 264//49 -f 256//50 257//50 258//50 -f 259//51 257//51 270//51 -f 260//52 261//52 246//52 -f 258//53 259//53 260//53 -f 266//54 267//54 268//54 -f 272//55 273//55 274//55 -f 276//56 277//56 262//56 -f 253//57 251//57 264//57 -f 274//58 275//58 276//58 -f 266//59 268//59 255//59 -f 255//60 253//60 266//60 -f 302//37 303//37 304//37 -f 278//38 279//38 280//38 -f 294//39 283//39 308//39 -f 302//40 304//40 291//40 -f 280//41 281//41 282//41 -f 281//42 279//42 308//42 -f 296//43 297//43 298//43 -f 282//44 283//44 284//44 -f 300//45 301//45 302//45 -f 284//46 285//46 286//46 -f 286//47 287//47 288//47 -f 304//48 306//48 293//48 -f 294//49 295//49 296//49 -f 288//50 289//50 290//50 -f 291//51 289//51 302//51 -f 292//52 293//52 278//52 -f 290//53 291//53 292//53 -f 298//54 299//54 300//54 -f 304//55 305//55 306//55 -f 308//56 309//56 294//56 -f 285//57 283//57 296//57 -f 306//58 307//58 308//58 -f 287//59 298//59 289//59 -f 287//60 285//60 298//60 -f 334//37 335//37 336//37 -f 310//38 311//38 312//38 -f 326//39 315//39 340//39 -f 334//40 336//40 323//40 -f 312//41 313//41 314//41 -f 313//42 311//42 340//42 -f 328//43 329//43 330//43 -f 314//44 315//44 316//44 -f 332//45 333//45 334//45 -f 316//46 317//46 318//46 -f 318//47 319//47 320//47 -f 336//48 338//48 325//48 -f 326//49 327//49 328//49 -f 320//50 321//50 322//50 -f 334//51 323//51 332//51 -f 324//52 325//52 310//52 -f 322//53 323//53 324//53 -f 330//54 331//54 332//54 -f 336//55 337//55 338//55 -f 340//56 341//56 326//56 -f 317//57 315//57 328//57 -f 340//58 338//58 341//58 -f 319//59 330//59 321//59 -f 330//60 319//60 328//60 -f 343//7 345//7 342//7 -f 350//8 349//8 351//8 -f 346//9 348//9 357//9 -f 352//61 343//61 353//61 -f 353//11 351//11 346//11 -f 352//62 350//62 343//62 -f 347//13 349//13 352//13 -f 342//63 344//63 353//63 -f 347//10 352//10 346//10 -f 345//64 350//64 344//64 -f 356//65 357//65 360//65 -f 349//9 347//9 354//9 -f 348//9 349//9 355//9 -f 347//9 346//9 356//9 -f 358//9 360//9 359//9 -f 355//66 354//66 359//66 -f 357//67 355//67 361//67 -f 354//68 356//68 358//68 -f 363//9 362//9 365//9 -f 370//8 371//8 369//8 -f 366//7 377//7 368//7 -f 372//69 373//69 363//69 -f 373//11 366//11 371//11 -f 372//70 363//70 370//70 -f 367//13 372//13 369//13 -f 362//71 373//71 364//71 -f 367//10 366//10 372//10 -f 365//72 364//72 370//72 -f 376//73 380//73 377//73 -f 369//7 374//7 367//7 -f 368//7 375//7 369//7 -f 367//7 376//7 366//7 -f 378//7 379//7 380//7 -f 375//74 379//74 374//74 -f 377//75 381//75 375//75 -f 374//76 378//76 376//76 -f 389//9 388//9 383//9 -f 384//8 388//8 391//8 -f 384//7 385//7 386//7 -f 385//13 389//13 387//13 -f 388//11 384//11 382//11 -f 387//8 383//8 386//8 -f 391//11 393//11 395//11 -f 389//8 385//8 392//8 -f 385//8 384//8 390//8 -f 388//8 389//8 393//8 -f 394//10 395//10 396//10 -f 392//13 390//13 396//13 -f 393//9 392//9 397//9 -f 390//7 391//7 394//7 -f 405//9 404//9 399//9 -f 400//8 404//8 407//8 -f 400//7 401//7 402//7 -f 401//13 405//13 403//13 -f 404//11 400//11 398//11 -f 403//8 399//8 402//8 -f 407//11 409//11 411//11 -f 405//8 401//8 408//8 -f 401//8 400//8 406//8 -f 404//8 405//8 409//8 -f 410//10 411//10 412//10 -f 408//13 406//13 412//13 -f 409//9 408//9 413//9 -f 406//7 407//7 410//7 -f 421//9 415//9 420//9 -f 416//10 423//10 420//10 -f 416//7 418//7 417//7 -f 417//13 419//13 421//13 -f 420//11 414//11 416//11 -f 419//10 418//10 415//10 -f 423//11 427//11 425//11 -f 421//10 424//10 417//10 -f 417//10 422//10 416//10 -f 420//10 425//10 421//10 -f 426//8 428//8 427//8 -f 424//13 428//13 422//13 -f 425//9 429//9 424//9 -f 422//7 426//7 423//7 -f 437//9 431//9 436//9 -f 432//10 439//10 436//10 -f 432//7 434//7 433//7 -f 433//13 435//13 437//13 -f 436//11 430//11 432//11 -f 435//10 434//10 431//10 -f 439//11 443//11 441//11 -f 437//10 440//10 433//10 -f 433//10 438//10 432//10 -f 436//10 441//10 437//10 -f 442//8 444//8 443//8 -f 440//13 444//13 438//13 -f 441//9 445//9 440//9 -f 438//7 442//7 439//7 diff --git a/assets/hbm/models/chemplant_main.obj b/assets/hbm/models/chemplant_main.obj new file mode 100644 index 000000000..90d39843a --- /dev/null +++ b/assets/hbm/models/chemplant_main.obj @@ -0,0 +1,1870 @@ +# Blender v2.76 (sub 0) OBJ File: 'chemplant_main.blend' +# www.blender.org +o Cube_Cube.001 +v -1.500000 0.000000 1.500000 +v -1.500000 0.250000 1.500000 +v -1.500000 0.000000 -1.500000 +v -1.500000 0.250000 -1.500000 +v 1.500000 0.000000 1.500000 +v 1.500000 0.250000 1.500000 +v 1.500000 0.000000 -1.500000 +v 1.500000 0.250000 -1.500000 +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.250000 0.500000 0.000000 +v 0.000000 0.500000 -1.250000 +v 1.250000 0.500000 0.000000 +v 0.000000 0.500000 1.250000 +v 0.000000 0.500000 0.000000 +v 1.250000 0.750000 0.000000 +v 1.250000 0.750000 1.250000 +v 0.000000 0.750000 1.250000 +v 0.000000 0.750000 0.000000 +v 0.625000 0.750000 0.025000 +v 0.625000 2.750000 0.025000 +v 0.925000 0.750000 0.105385 +v 0.925000 2.750000 0.105385 +v 1.144615 0.750000 0.325000 +v 1.144615 2.750000 0.325000 +v 1.225000 0.750000 0.625000 +v 1.225000 2.750000 0.625000 +v 1.144615 0.750000 0.925000 +v 1.144615 2.750000 0.925000 +v 0.925000 0.750000 1.144615 +v 0.925000 2.750000 1.144615 +v 0.625000 0.750000 1.225000 +v 0.625000 2.750000 1.225000 +v 0.325000 0.750000 1.144615 +v 0.325000 2.750000 1.144615 +v 0.105385 0.750000 0.925000 +v 0.105385 2.750000 0.925000 +v 0.025000 0.750000 0.625000 +v 0.025000 2.750000 0.625000 +v 0.105385 0.750000 0.325000 +v 0.105385 2.750000 0.325000 +v 0.325000 0.750000 0.105385 +v 0.325000 2.750000 0.105385 +v 1.250000 0.750000 0.625000 +v 0.625000 0.750000 0.000000 +v 0.000000 0.750000 0.625000 +v 0.625000 0.750000 1.250000 +v 0.125000 0.500000 -1.125000 +v 1.125000 0.500000 -1.125000 +v 1.125000 0.500000 -0.125000 +v 0.125000 0.500000 -0.125000 +v -1.125000 0.500000 -0.125000 +v -1.125000 0.500000 -1.125000 +v -0.125000 0.500000 -1.125000 +v -0.125000 0.500000 -0.125000 +v 0.125000 0.650000 -1.125000 +v 1.125000 0.650000 -1.125000 +v 1.125000 0.650000 -0.125000 +v 0.125000 0.650000 -0.125000 +v 0.225000 0.650000 -1.025000 +v 1.025000 0.650000 -1.025000 +v 1.025000 0.650000 -0.225000 +v 0.225000 0.650000 -0.225000 +v -0.125000 0.650000 -0.125000 +v -0.125000 0.650000 -1.125000 +v -1.125000 0.650000 -1.125000 +v -1.125000 0.650000 -0.125000 +v 0.425000 2.000000 -0.425000 +v 0.825000 2.000000 -0.425000 +v 0.825000 2.000000 -0.825000 +v 0.425000 2.000000 -0.825000 +v 0.225000 1.850000 -1.025000 +v 1.025000 1.850000 -1.025000 +v 1.025000 1.850000 -0.225000 +v 0.225000 1.850000 -0.225000 +v 1.000000 2.750000 -0.024519 +v 0.625000 2.750000 -0.125000 +v 1.274519 2.750000 0.250000 +v 1.375000 2.750000 0.625000 +v 1.274519 2.750000 1.000000 +v 1.000000 2.750000 1.274519 +v 0.625000 2.750000 1.375000 +v 0.250000 2.750000 1.274519 +v -0.024519 2.750000 1.000000 +v -0.125000 2.750000 0.625000 +v -0.024519 2.750000 0.250000 +v 0.250000 2.750000 -0.024519 +v 1.000000 3.000000 -0.024519 +v 0.625000 3.000000 -0.125000 +v 1.274519 3.000000 0.250000 +v 1.375000 3.000000 0.625000 +v 1.274519 3.000000 1.000000 +v 1.000000 3.000000 1.274519 +v 0.625000 3.000000 1.375000 +v 0.250000 3.000000 1.274519 +v -0.024519 3.000000 1.000000 +v -0.125000 3.000000 0.625000 +v -0.024519 3.000000 0.250000 +v 0.250000 3.000000 -0.024519 +v -0.225000 0.650000 -1.025000 +v -0.225000 0.650000 -0.225000 +v -1.025000 0.650000 -0.225000 +v -1.025000 0.650000 -1.025000 +v -0.225000 1.850000 -1.025000 +v -0.225000 1.850000 -0.225000 +v -1.025000 1.850000 -0.225000 +v -1.025000 1.850000 -1.025000 +v -0.425000 2.000000 -0.825000 +v -0.425000 2.000000 -0.425000 +v -0.825000 2.000000 -0.425000 +v -0.825000 2.000000 -0.825000 +v -0.125000 0.500000 0.975000 +v -0.475000 0.500000 0.975000 +v -0.475000 0.500000 0.275000 +v -0.125000 0.500000 0.275000 +v -0.125000 1.250000 0.975000 +v -0.475000 1.250000 0.975000 +v -0.475000 1.250000 0.275000 +v -0.125000 1.250000 0.275000 +v -0.125000 1.500000 0.975000 +v -0.300000 1.500000 0.975000 +v -0.300000 1.500000 0.275000 +v -0.125000 1.500000 0.275000 +v -0.125000 1.500000 0.338636 +v -0.125000 1.500000 0.402273 +v -0.125000 1.500000 0.465909 +v -0.125000 1.500000 0.529545 +v -0.125000 1.500000 0.593182 +v -0.125000 1.500000 0.656818 +v -0.125000 1.500000 0.720455 +v -0.125000 1.500000 0.784091 +v -0.125000 1.500000 0.847727 +v -0.125000 1.500000 0.911364 +v -0.125000 1.650000 0.338636 +v -0.125000 1.650000 0.402273 +v -0.125000 1.650000 0.465909 +v -0.125000 1.650000 0.529545 +v -0.125000 1.650000 0.593182 +v -0.125000 1.650000 0.656818 +v -0.125000 1.650000 0.720455 +v -0.125000 1.650000 0.784091 +v -0.125000 1.650000 0.847727 +v -0.125000 1.650000 0.911364 +v -0.025000 1.750000 0.338636 +v -0.025000 1.750000 0.402273 +v -0.025000 1.750000 0.465909 +v -0.025000 1.750000 0.529545 +v -0.025000 1.750000 0.593182 +v -0.025000 1.750000 0.656818 +v -0.025000 1.750000 0.720455 +v -0.025000 1.750000 0.784091 +v -0.025000 1.750000 0.847727 +v -0.025000 1.750000 0.911364 +v 0.125000 1.750000 0.338636 +v 0.125000 1.750000 0.402273 +v 0.125000 1.750000 0.465909 +v 0.125000 1.750000 0.529545 +v 0.125000 1.750000 0.593182 +v 0.125000 1.750000 0.656818 +v 0.125000 1.750000 0.720455 +v 0.125000 1.750000 0.784091 +v 0.125000 1.750000 0.847727 +v 0.125000 1.750000 0.911364 +v 0.482143 2.771048 -0.425000 +v 0.539286 2.771048 -0.425000 +v 0.596429 2.771048 -0.425000 +v 0.653571 2.771048 -0.425000 +v 0.710714 2.771048 -0.425000 +v 0.767857 2.771048 -0.425000 +v 0.482143 2.000000 -0.425000 +v 0.539286 2.000000 -0.425000 +v 0.596429 2.000000 -0.425000 +v 0.653571 2.000000 -0.425000 +v 0.710714 2.000000 -0.425000 +v 0.767857 2.000000 -0.425000 +v 0.482143 2.871047 -0.075000 +v 0.539286 2.871047 -0.075000 +v 0.596429 2.871047 -0.075000 +v 0.653571 2.871047 -0.075000 +v 0.710714 2.871047 -0.075000 +v 0.767857 2.871047 -0.075000 +v 0.482143 2.871047 -0.325000 +v 0.539286 2.871047 -0.325000 +v 0.596429 2.871047 -0.325000 +v 0.653571 2.871047 -0.325000 +v 0.710714 2.871047 -0.325000 +v 0.767857 2.871047 -0.325000 +v -0.850000 1.200000 -0.250000 +v -0.850000 1.200000 0.350000 +v -0.814645 1.185355 -0.250000 +v -0.814645 1.185355 0.350000 +v -0.800000 1.150000 -0.250000 +v -0.800000 1.150000 0.350000 +v -0.814645 1.114645 -0.250000 +v -0.814645 1.114645 0.350000 +v -0.850000 1.100000 -0.250000 +v -0.850000 1.100000 0.350000 +v -0.885355 1.114645 -0.250000 +v -0.885355 1.114645 0.350000 +v -0.900000 1.150000 -0.250000 +v -0.900000 1.150000 0.350000 +v -0.885355 1.185355 -0.250000 +v -0.885355 1.185355 0.350000 +v -0.750000 1.150000 0.400000 +v -0.450000 1.150000 0.400000 +v -0.750000 1.114645 0.414645 +v -0.450000 1.114645 0.414645 +v -0.750000 1.100000 0.450000 +v -0.450000 1.100000 0.450000 +v -0.750000 1.114645 0.485355 +v -0.450000 1.114645 0.485355 +v -0.750000 1.150000 0.500000 +v -0.450000 1.150000 0.500000 +v -0.750000 1.185355 0.485355 +v -0.450000 1.185355 0.485355 +v -0.750000 1.200000 0.450000 +v -0.450000 1.200000 0.450000 +v -0.750000 1.185355 0.414645 +v -0.450000 1.185355 0.414645 +v -0.850000 1.000000 -0.250000 +v -0.850000 1.000000 0.350000 +v -0.814645 0.985355 -0.250000 +v -0.814645 0.985355 0.350000 +v -0.800000 0.950000 -0.250000 +v -0.800000 0.950000 0.350000 +v -0.814645 0.914645 -0.250000 +v -0.814645 0.914645 0.350000 +v -0.850000 0.900000 -0.250000 +v -0.850000 0.900000 0.350000 +v -0.885355 0.914645 -0.250000 +v -0.885355 0.914645 0.350000 +v -0.900000 0.950000 -0.250000 +v -0.900000 0.950000 0.350000 +v -0.885355 0.985355 -0.250000 +v -0.885355 0.985355 0.350000 +v -0.750000 0.950000 0.400000 +v -0.450000 0.950000 0.400000 +v -0.750000 0.914645 0.414645 +v -0.450000 0.914645 0.414645 +v -0.750000 0.900000 0.450000 +v -0.450000 0.900000 0.450000 +v -0.750000 0.914645 0.485355 +v -0.450000 0.914645 0.485355 +v -0.750000 0.950000 0.500000 +v -0.450000 0.950000 0.500000 +v -0.750000 0.985355 0.485355 +v -0.450000 0.985355 0.485355 +v -0.750000 1.000000 0.450000 +v -0.450000 1.000000 0.450000 +v -0.750000 0.985355 0.414645 +v -0.450000 0.985355 0.414645 +v -0.850000 0.800000 -0.250000 +v -0.850000 0.800000 0.350000 +v -0.814645 0.785355 -0.250000 +v -0.814645 0.785355 0.350000 +v -0.800000 0.750000 -0.250000 +v -0.800000 0.750000 0.350000 +v -0.814645 0.714645 -0.250000 +v -0.814645 0.714645 0.350000 +v -0.850000 0.700000 -0.250000 +v -0.850000 0.700000 0.350000 +v -0.885355 0.714645 -0.250000 +v -0.885355 0.714645 0.350000 +v -0.900000 0.750000 -0.250000 +v -0.900000 0.750000 0.350000 +v -0.885355 0.785355 -0.250000 +v -0.885355 0.785355 0.350000 +v -0.750000 0.750000 0.400000 +v -0.450000 0.750000 0.400000 +v -0.750000 0.714645 0.414645 +v -0.450000 0.714645 0.414645 +v -0.750000 0.700000 0.450000 +v -0.450000 0.700000 0.450000 +v -0.750000 0.714645 0.485355 +v -0.450000 0.714645 0.485355 +v -0.750000 0.750000 0.500000 +v -0.450000 0.750000 0.500000 +v -0.750000 0.785355 0.485355 +v -0.450000 0.785355 0.485355 +v -0.750000 0.800000 0.450000 +v -0.450000 0.800000 0.450000 +v -0.750000 0.785355 0.414645 +v -0.450000 0.785355 0.414645 +v 1.000000 0.250000 -0.250000 +v 1.000000 0.750000 -0.250000 +v 1.000000 0.250000 -0.750000 +v 1.000000 0.750000 -0.750000 +v 2.000000 0.000000 0.000000 +v 2.000000 1.000000 0.000000 +v 2.000000 0.000000 -1.000000 +v 2.000000 1.000000 -1.000000 +v 1.500000 1.000000 -1.000000 +v 1.500000 0.000000 -1.000000 +v 1.500000 1.000000 0.000000 +v 1.500000 0.000000 0.000000 +v 2.000000 0.875000 -0.875000 +v 2.000000 0.125000 -0.875000 +v 2.000000 0.875000 -0.125000 +v 2.000000 0.125000 -0.125000 +v 1.500000 0.687500 -0.687500 +v 1.500000 0.312500 -0.687500 +v 1.500000 0.687500 -0.312500 +v 1.500000 0.312500 -0.312500 +v -1.000000 0.250000 0.750000 +v -1.000000 0.750000 0.750000 +v -1.000000 0.250000 0.250000 +v -1.000000 0.750000 0.250000 +v -2.000000 0.000000 1.000000 +v -2.000000 1.000000 1.000000 +v -2.000000 0.000000 0.000000 +v -2.000000 1.000000 0.000000 +v -1.500000 1.000000 0.000000 +v -1.500000 0.000000 0.000000 +v -1.500000 1.000000 1.000000 +v -1.500000 0.000000 1.000000 +v -2.000000 0.875000 0.125000 +v -2.000000 0.125000 0.125000 +v -2.000000 0.875000 0.875000 +v -2.000000 0.125000 0.875000 +v -1.500000 0.687500 0.312500 +v -1.500000 0.312500 0.312500 +v -1.500000 0.687500 0.687500 +v -1.500000 0.312500 0.687500 +v 0.656250 0.343750 -2.000000 +v 0.656250 0.656250 -2.000000 +v 0.343750 0.343750 -1.150000 +v 0.343750 0.656250 -1.150000 +v 0.343750 0.343750 -2.000000 +v 0.343750 0.656250 -2.000000 +v 0.656250 0.343750 -1.150000 +v 0.656250 0.656250 -1.150000 +v 0.328125 0.671875 -1.150000 +v 0.328125 0.328125 -1.150000 +v 0.671875 0.671875 -1.150000 +v 0.671875 0.328125 -1.150000 +v 0.328125 0.671875 -1.000000 +v 0.328125 0.328125 -1.000000 +v 0.671875 0.671875 -1.000000 +v 0.671875 0.328125 -1.000000 +v -0.343750 0.343750 -2.000000 +v -0.343750 0.656250 -2.000000 +v -0.656250 0.343750 -1.150000 +v -0.656250 0.656250 -1.150000 +v -0.656250 0.343750 -2.000000 +v -0.656250 0.656250 -2.000000 +v -0.343750 0.343750 -1.150000 +v -0.343750 0.656250 -1.150000 +v -0.671875 0.671875 -1.150000 +v -0.671875 0.328125 -1.150000 +v -0.328125 0.671875 -1.150000 +v -0.328125 0.328125 -1.150000 +v -0.671875 0.671875 -1.000000 +v -0.671875 0.328125 -1.000000 +v -0.328125 0.671875 -1.000000 +v -0.328125 0.328125 -1.000000 +v -0.343750 0.343750 2.000000 +v -0.343750 0.656250 2.000000 +v -0.656250 0.343750 1.150000 +v -0.656250 0.656250 1.150000 +v -0.656250 0.343750 2.000000 +v -0.656250 0.656250 2.000000 +v -0.343750 0.343750 1.150000 +v -0.343750 0.656250 1.150000 +v -0.671875 0.671875 1.150000 +v -0.671875 0.328125 1.150000 +v -0.328125 0.671875 1.150000 +v -0.328125 0.328125 1.150000 +v -0.671875 0.671875 1.000000 +v -0.671875 0.328125 1.000000 +v -0.328125 0.671875 1.000000 +v -0.328125 0.328125 1.000000 +v 0.656250 0.343750 2.000000 +v 0.656250 0.656250 2.000000 +v 0.343750 0.343750 1.150000 +v 0.343750 0.656250 1.150000 +v 0.343750 0.343750 2.000000 +v 0.343750 0.656250 2.000000 +v 0.656250 0.343750 1.150000 +v 0.656250 0.656250 1.150000 +v 0.328125 0.671875 1.150000 +v 0.328125 0.328125 1.150000 +v 0.671875 0.671875 1.150000 +v 0.671875 0.328125 1.150000 +v 0.328125 0.671875 1.000000 +v 0.328125 0.328125 1.000000 +v 0.671875 0.671875 1.000000 +v 0.671875 0.328125 1.000000 +v 1.916667 0.250000 -1.100000 +v 1.916667 0.750000 -1.100000 +v 1.666667 0.500000 -1.100000 +v 1.916667 0.250000 0.100000 +v 1.916667 0.750000 0.100000 +v 1.666667 0.500000 0.100000 +v -1.583333 0.250000 -0.100000 +v -1.583333 0.750000 -0.100000 +v -1.833333 0.500000 -0.100000 +v -1.583333 0.250000 1.100000 +v -1.583333 0.750000 1.100000 +v -1.833333 0.500000 1.100000 +v 0.425000 2.000000 -0.767857 +v 0.425000 2.000000 -0.710714 +v 0.425000 2.000000 -0.653571 +v 0.425000 2.000000 -0.596429 +v 0.425000 2.000000 -0.539286 +v 0.425000 2.000000 -0.482143 +v -0.425000 2.000000 -0.767857 +v -0.425000 2.000000 -0.710714 +v -0.425000 2.000000 -0.653571 +v -0.425000 2.000000 -0.596429 +v -0.425000 2.000000 -0.539286 +v -0.425000 2.000000 -0.482143 +v 0.325000 2.121195 -0.749805 +v 0.325000 2.121195 -0.692662 +v 0.325000 2.121195 -0.635520 +v 0.325000 2.121195 -0.578377 +v 0.325000 2.121195 -0.521234 +v 0.325000 2.121195 -0.464091 +v -0.325000 2.100000 -0.767857 +v -0.325000 2.100000 -0.710714 +v -0.325000 2.100000 -0.653571 +v -0.325000 2.100000 -0.596429 +v -0.325000 2.100000 -0.539286 +v -0.325000 2.100000 -0.482143 +vt 0.490762 0.926709 +vt 0.490762 0.946350 +vt 0.255070 0.946350 +vt 0.985607 0.945886 +vt 0.985607 0.965527 +vt 0.749916 0.965527 +vt 0.757849 0.713691 +vt 0.757849 0.694050 +vt 0.993541 0.694050 +vt 0.597494 0.251404 +vt 0.597495 0.231763 +vt 0.833186 0.231763 +vt 0.006459 0.317921 +vt 0.242151 0.317921 +vt 0.242151 0.553613 +vt 0.833186 0.251404 +vt 0.715341 0.279181 +vt 0.006459 0.762941 +vt 0.016280 0.753121 +vt 0.094844 0.753121 +vt 0.749916 0.945886 +vt 0.867761 0.918110 +vt 0.993541 0.713691 +vt 0.875695 0.741468 +vt 0.255070 0.926709 +vt 0.372916 0.898933 +vt 0.104664 0.566532 +vt 0.094844 0.588137 +vt 0.067346 0.588137 +vt 0.895627 0.431077 +vt 0.875987 0.381974 +vt 0.895627 0.332872 +vt 0.104664 0.762941 +vt 0.114485 0.753121 +vt 0.193049 0.753121 +vt 0.758141 0.332872 +vt 0.777782 0.381974 +vt 0.758141 0.431077 +vt 0.875987 0.313231 +vt 0.826884 0.332872 +vt 0.777782 0.313231 +vt 0.777782 0.450718 +vt 0.826884 0.431077 +vt 0.875987 0.450718 +vt 0.547877 0.688960 +vt 0.523477 0.688960 +vt 0.523476 0.531833 +vt 0.499076 0.688960 +vt 0.499076 0.531833 +vt 0.474675 0.688961 +vt 0.474675 0.531833 +vt 0.450275 0.688961 +vt 0.450275 0.531833 +vt 0.425874 0.688961 +vt 0.425874 0.531833 +vt 0.401474 0.688961 +vt 0.401473 0.531833 +vt 0.377073 0.688961 +vt 0.377073 0.531833 +vt 0.352672 0.688961 +vt 0.352672 0.531833 +vt 0.328272 0.688961 +vt 0.328272 0.531833 +vt 0.303871 0.688961 +vt 0.303871 0.531833 +vt 0.578087 0.897548 +vt 0.583979 0.887342 +vt 0.605547 0.908909 +vt 0.279471 0.688961 +vt 0.255070 0.688961 +vt 0.255070 0.531833 +vt 0.279471 0.531833 +vt 0.777782 0.431077 +vt 0.803315 0.422797 +vt 0.826884 0.429113 +vt 0.850453 0.422797 +vt 0.867707 0.405544 +vt 0.875987 0.431077 +vt 0.867707 0.358405 +vt 0.875987 0.332872 +vt 0.850453 0.341151 +vt 0.803315 0.341151 +vt 0.777782 0.332872 +vt 0.786061 0.405544 +vt 0.779746 0.381974 +vt 0.786061 0.358405 +vt 0.116449 0.305002 +vt 0.116449 0.293218 +vt 0.195013 0.293218 +vt 0.202869 0.762941 +vt 0.193049 0.674557 +vt 0.104664 0.664736 +vt 0.114485 0.674557 +vt 0.202869 0.664736 +vt 0.373474 0.006460 +vt 0.381807 0.014793 +vt 0.326254 0.070346 +vt 0.094844 0.674557 +vt 0.016280 0.674557 +vt 0.006459 0.664736 +vt 0.293218 0.195013 +vt 0.285361 0.187156 +vt 0.285361 0.124305 +vt 0.195013 0.006459 +vt 0.195013 0.018244 +vt 0.116449 0.018244 +vt 0.305002 0.195013 +vt 0.293218 0.116449 +vt 0.006459 0.116449 +vt 0.018244 0.116449 +vt 0.018244 0.195013 +vt 0.124305 0.285361 +vt 0.124305 0.191085 +vt 0.187156 0.191085 +vt 0.026100 0.124305 +vt 0.026100 0.187156 +vt 0.187156 0.285361 +vt 0.187156 0.026100 +vt 0.124305 0.026100 +vt 0.529023 0.273114 +vt 0.520690 0.264781 +vt 0.576243 0.209228 +vt 0.584576 0.062012 +vt 0.576243 0.070345 +vt 0.520690 0.014792 +vt 0.317921 0.217561 +vt 0.326254 0.209228 +vt 0.381807 0.264781 +vt 0.337365 0.209228 +vt 0.381807 0.253671 +vt 0.120377 0.124305 +vt 0.140018 0.140018 +vt 0.140018 0.171444 +vt 0.191084 0.187156 +vt 0.171444 0.171444 +vt 0.171444 0.140018 +vt 0.187156 0.120377 +vt 0.124305 0.120377 +vt 0.191084 0.124305 +vt 0.120377 0.187156 +vt 0.473470 0.139787 +vt 0.451248 0.117566 +vt 0.454026 0.092567 +vt 0.683441 0.773992 +vt 0.678358 0.792964 +vt 0.648896 0.785069 +vt 0.560796 0.854968 +vt 0.571002 0.849076 +vt 0.578896 0.878537 +vt 0.567111 0.809447 +vt 0.578896 0.809447 +vt 0.571002 0.838909 +vt 0.595341 0.773183 +vt 0.605547 0.779075 +vt 0.583979 0.800643 +vt 0.637921 0.755892 +vt 0.643813 0.766098 +vt 0.614351 0.773992 +vt 0.683441 0.762207 +vt 0.653980 0.766098 +vt 0.702452 0.914802 +vt 0.692246 0.908909 +vt 0.713813 0.887342 +vt 0.730681 0.878537 +vt 0.718897 0.878537 +vt 0.726791 0.849076 +vt 0.719706 0.790437 +vt 0.713813 0.800643 +vt 0.692246 0.779075 +vt 0.683441 0.925777 +vt 0.659872 0.932093 +vt 0.653980 0.921887 +vt 0.736997 0.833017 +vt 0.726791 0.838909 +vt 0.718897 0.809448 +vt 0.614351 0.925777 +vt 0.614351 0.913993 +vt 0.643813 0.921887 +vt 0.597868 0.873454 +vt 0.597868 0.814531 +vt 0.699925 0.814531 +vt 0.648896 0.902915 +vt 0.678358 0.895021 +vt 0.699925 0.873454 +vt 0.707819 0.843992 +vt 0.589973 0.843992 +vt 0.619435 0.792964 +vt 0.619435 0.895021 +vt 0.404028 0.142564 +vt 0.448471 0.187007 +vt 0.381807 0.025903 +vt 0.337365 0.070346 +vt 0.520690 0.253670 +vt 0.565132 0.209228 +vt 0.565132 0.070345 +vt 0.520690 0.025903 +vt 0.454026 0.187007 +vt 0.451248 0.162008 +vt 0.448471 0.092567 +vt 0.404028 0.137009 +vt 0.498468 0.142564 +vt 0.498468 0.137009 +vt 0.429027 0.139787 +vt 0.772654 0.139975 +vt 0.713797 0.139968 +vt 0.713803 0.085034 +vt 0.094844 0.643131 +vt 0.067346 0.643131 +vt 0.006459 0.566532 +vt 0.694377 0.159597 +vt 0.666844 0.159844 +vt 0.680434 0.140054 +vt 0.597494 0.085032 +vt 0.656447 0.085032 +vt 0.656447 0.140054 +vt 0.667374 0.218844 +vt 0.694185 0.006460 +vt 0.694184 0.065389 +vt 0.666684 0.065389 +vt 0.694193 0.115020 +vt 0.694197 0.120017 +vt 0.694184 0.085032 +vt 0.680434 0.085032 +vt 0.597494 0.297099 +vt 0.597494 0.292100 +vt 0.609279 0.292100 +vt 0.620390 0.292100 +vt 0.620390 0.297099 +vt 0.609279 0.297099 +vt 0.645093 0.297099 +vt 0.645093 0.292100 +vt 0.656878 0.292100 +vt 0.233196 0.730162 +vt 0.233196 0.718377 +vt 0.238196 0.718377 +vt 0.188875 0.787645 +vt 0.188875 0.775860 +vt 0.193875 0.775860 +vt 0.233196 0.682563 +vt 0.233196 0.670778 +vt 0.238196 0.670778 +vt 0.238196 0.693674 +vt 0.233196 0.693673 +vt 0.193875 0.798755 +vt 0.188875 0.798755 +vt 0.238196 0.741272 +vt 0.233196 0.741272 +vt 0.667988 0.292100 +vt 0.667988 0.297099 +vt 0.656878 0.297099 +vt 0.632174 0.292100 +vt 0.632174 0.297099 +vt 0.679773 0.292100 +vt 0.679773 0.297099 +vt 0.238196 0.753057 +vt 0.233196 0.753057 +vt 0.193875 0.810540 +vt 0.188875 0.810540 +vt 0.238196 0.705458 +vt 0.233196 0.705458 +vt 0.220277 0.762106 +vt 0.215788 0.762106 +vt 0.215788 0.742465 +vt 0.237686 0.657860 +vt 0.233196 0.657860 +vt 0.233196 0.638219 +vt 0.220277 0.657860 +vt 0.215788 0.657860 +vt 0.215788 0.638219 +vt 0.215788 0.627108 +vt 0.215788 0.566532 +vt 0.220277 0.566532 +vt 0.233196 0.627108 +vt 0.233196 0.566532 +vt 0.237686 0.566532 +vt 0.215788 0.731355 +vt 0.215788 0.670778 +vt 0.220277 0.670778 +vt 0.220277 0.742465 +vt 0.237686 0.638219 +vt 0.220277 0.638219 +vt 0.814270 0.481676 +vt 0.814270 0.484682 +vt 0.790701 0.484682 +vt 0.452123 0.725932 +vt 0.452123 0.722925 +vt 0.499261 0.722925 +vt 0.231300 0.817551 +vt 0.234194 0.816738 +vt 0.234194 0.823920 +vt 0.218064 0.827849 +vt 0.218064 0.812810 +vt 0.220959 0.811996 +vt 0.452123 0.719919 +vt 0.499261 0.719919 +vt 0.236470 0.814774 +vt 0.236470 0.825884 +vt 0.814270 0.472656 +vt 0.814270 0.475663 +vt 0.790701 0.475663 +vt 0.452123 0.716912 +vt 0.499261 0.716912 +vt 0.814270 0.478669 +vt 0.790701 0.481676 +vt 0.452123 0.713906 +vt 0.499261 0.713906 +vt 0.452123 0.710899 +vt 0.499261 0.710899 +vt 0.215788 0.825884 +vt 0.215788 0.814774 +vt 0.814270 0.469650 +vt 0.790701 0.472656 +vt 0.452123 0.707893 +vt 0.499261 0.707893 +vt 0.223853 0.812810 +vt 0.223853 0.827849 +vt 0.220959 0.828662 +vt 0.452123 0.704886 +vt 0.452123 0.701880 +vt 0.499261 0.701880 +vt 0.499261 0.704886 +vt 0.790701 0.478669 +vt 0.814270 0.487689 +vt 0.790701 0.487689 +vt 0.814270 0.466643 +vt 0.790701 0.469650 +vt 0.231300 0.823107 +vt 0.228405 0.823920 +vt 0.814270 0.463637 +vt 0.790701 0.466643 +vt 0.226129 0.814774 +vt 0.228405 0.816738 +vt 0.226129 0.825884 +vt 0.175956 0.793899 +vt 0.175956 0.796906 +vt 0.152387 0.796906 +vt 0.452123 0.762903 +vt 0.452123 0.759896 +vt 0.499261 0.759896 +vt 0.523291 0.821793 +vt 0.524104 0.824687 +vt 0.516922 0.824687 +vt 0.512994 0.808558 +vt 0.528032 0.808558 +vt 0.528846 0.811452 +vt 0.452123 0.756890 +vt 0.499261 0.756890 +vt 0.526068 0.826964 +vt 0.514958 0.826964 +vt 0.175956 0.784880 +vt 0.175956 0.787886 +vt 0.152387 0.787886 +vt 0.452123 0.753883 +vt 0.499261 0.753883 +vt 0.175956 0.790893 +vt 0.152387 0.793899 +vt 0.452123 0.750877 +vt 0.499261 0.750877 +vt 0.452123 0.747870 +vt 0.499261 0.747870 +vt 0.514958 0.806281 +vt 0.526068 0.806281 +vt 0.175956 0.781873 +vt 0.152387 0.784880 +vt 0.452123 0.744864 +vt 0.499261 0.744864 +vt 0.528032 0.814346 +vt 0.512994 0.814346 +vt 0.512180 0.811452 +vt 0.452123 0.741857 +vt 0.452123 0.738851 +vt 0.499261 0.738851 +vt 0.499261 0.741857 +vt 0.152387 0.790893 +vt 0.175956 0.799912 +vt 0.152387 0.799912 +vt 0.175956 0.778867 +vt 0.152387 0.781873 +vt 0.517735 0.821793 +vt 0.516922 0.818899 +vt 0.175956 0.775860 +vt 0.152387 0.778867 +vt 0.514958 0.816622 +vt 0.524104 0.818899 +vt 0.239357 0.793064 +vt 0.239357 0.796071 +vt 0.215788 0.796071 +vt 0.452123 0.799874 +vt 0.452123 0.796867 +vt 0.499261 0.796867 +vt 0.806212 0.506163 +vt 0.809107 0.505349 +vt 0.809107 0.512532 +vt 0.792977 0.516460 +vt 0.792977 0.501421 +vt 0.795871 0.500608 +vt 0.452123 0.793861 +vt 0.499261 0.793861 +vt 0.811383 0.503385 +vt 0.811383 0.514496 +vt 0.239357 0.784045 +vt 0.239357 0.787051 +vt 0.215788 0.787051 +vt 0.452123 0.790854 +vt 0.499261 0.790854 +vt 0.239357 0.790058 +vt 0.215788 0.793064 +vt 0.452123 0.787848 +vt 0.499261 0.787848 +vt 0.452123 0.784841 +vt 0.499261 0.784841 +vt 0.790701 0.514496 +vt 0.790701 0.503385 +vt 0.239357 0.781038 +vt 0.215788 0.784045 +vt 0.452123 0.781835 +vt 0.499261 0.781835 +vt 0.798766 0.501421 +vt 0.798766 0.516460 +vt 0.452123 0.778828 +vt 0.452123 0.775822 +vt 0.499261 0.775822 +vt 0.499261 0.778828 +vt 0.215788 0.790058 +vt 0.239357 0.799077 +vt 0.215788 0.799077 +vt 0.239357 0.778032 +vt 0.215788 0.781038 +vt 0.806212 0.511718 +vt 0.803318 0.512532 +vt 0.215788 0.775025 +vt 0.239357 0.775025 +vt 0.801042 0.514496 +vt 0.801042 0.503385 +vt 0.803318 0.505349 +vt 0.438896 0.418417 +vt 0.411119 0.446194 +vt 0.383343 0.418417 +vt 0.511616 0.463361 +vt 0.456063 0.518914 +vt 0.428286 0.491137 +vt 0.891366 0.006459 +vt 0.881546 0.016280 +vt 0.822623 0.016280 +vt 0.411119 0.390641 +vt 0.338399 0.401251 +vt 0.282846 0.456804 +vt 0.255070 0.429027 +vt 0.310623 0.373474 +vt 0.483839 0.401251 +vt 0.511616 0.373474 +vt 0.428286 0.345698 +vt 0.393952 0.345698 +vt 0.483839 0.435584 +vt 0.795400 0.043502 +vt 0.837353 0.058233 +vt 0.837353 0.087694 +vt 0.812802 0.139468 +vt 0.822623 0.129648 +vt 0.881545 0.129648 +vt 0.918588 0.112246 +vt 0.908768 0.102425 +vt 0.908768 0.043502 +vt 0.785580 0.033682 +vt 0.795400 0.102425 +vt 0.866815 0.058233 +vt 0.866815 0.087695 +vt 0.647017 0.396432 +vt 0.647017 0.435713 +vt 0.607735 0.435713 +vt 0.666658 0.479632 +vt 0.666658 0.518914 +vt 0.588094 0.518914 +vt 0.043502 0.899048 +vt 0.102425 0.899048 +vt 0.112246 0.908869 +vt 0.666658 0.352513 +vt 0.607735 0.396432 +vt 0.745222 0.518914 +vt 0.563817 0.455354 +vt 0.563817 0.376790 +vt 0.524535 0.455354 +vt 0.666658 0.313231 +vt 0.588094 0.352513 +vt 0.588094 0.479632 +vt 0.058233 0.827634 +vt 0.058233 0.857095 +vt 0.016280 0.871826 +vt 0.102425 0.785681 +vt 0.043502 0.785681 +vt 0.033682 0.775860 +vt 0.129648 0.871826 +vt 0.129648 0.812903 +vt 0.139468 0.803083 +vt 0.016280 0.812903 +vt 0.006459 0.881646 +vt 0.087695 0.857095 +vt 0.087695 0.827634 +vt 0.785278 0.541902 +vt 0.832498 0.589122 +vt 0.815138 0.606482 +vt 0.879718 0.541902 +vt 0.879718 0.540166 +vt 0.898815 0.559262 +vt 0.879718 0.671063 +vt 0.832498 0.623843 +vt 0.849859 0.606482 +vt 0.767918 0.653702 +vt 0.897079 0.559262 +vt 0.888051 0.531833 +vt 0.907148 0.550929 +vt 0.785278 0.671063 +vt 0.785278 0.672799 +vt 0.766182 0.653702 +vt 0.897079 0.653702 +vt 0.898815 0.653702 +vt 0.879718 0.672799 +vt 0.767918 0.559262 +vt 0.766182 0.559262 +vt 0.785278 0.540166 +vt 0.416499 0.290522 +vt 0.416499 0.286033 +vt 0.405388 0.286033 +vt 0.776945 0.681132 +vt 0.757849 0.662035 +vt 0.757849 0.550929 +vt 0.776945 0.531833 +vt 0.907148 0.662035 +vt 0.888051 0.681132 +vt 0.759985 0.877761 +vt 0.807205 0.830541 +vt 0.824565 0.847902 +vt 0.759985 0.783321 +vt 0.758249 0.783321 +vt 0.777345 0.764225 +vt 0.889145 0.783321 +vt 0.841925 0.830541 +vt 0.824565 0.813181 +vt 0.871785 0.895122 +vt 0.777345 0.765961 +vt 0.749916 0.774988 +vt 0.769012 0.755892 +vt 0.889145 0.877761 +vt 0.890881 0.877761 +vt 0.871785 0.896858 +vt 0.871785 0.765961 +vt 0.871785 0.764225 +vt 0.890881 0.783321 +vt 0.777345 0.895122 +vt 0.777345 0.896858 +vt 0.758249 0.877761 +vt 0.503967 0.290522 +vt 0.503967 0.286033 +vt 0.492856 0.286033 +vt 0.899214 0.886094 +vt 0.880118 0.905191 +vt 0.769012 0.905191 +vt 0.749916 0.886094 +vt 0.880118 0.755892 +vt 0.899214 0.774988 +vt 0.640587 0.638631 +vt 0.640587 0.663182 +vt 0.573808 0.663182 +vt 0.666366 0.731188 +vt 0.639360 0.731188 +vt 0.640587 0.729961 +vt 0.665139 0.663182 +vt 0.665139 0.638630 +vt 0.731918 0.638630 +vt 0.640587 0.571851 +vt 0.665139 0.729961 +vt 0.666366 0.742973 +vt 0.639360 0.742973 +vt 0.639360 0.570624 +vt 0.666366 0.570624 +vt 0.665138 0.571851 +vt 0.733145 0.637403 +vt 0.733145 0.664409 +vt 0.731918 0.663182 +vt 0.572580 0.664409 +vt 0.572580 0.637403 +vt 0.573808 0.638631 +vt 0.639360 0.558839 +vt 0.639360 0.531833 +vt 0.666366 0.531833 +vt 0.666366 0.558839 +vt 0.560796 0.664409 +vt 0.560796 0.637403 +vt 0.744930 0.637403 +vt 0.744930 0.664409 +vt 0.334861 0.781671 +vt 0.334861 0.806222 +vt 0.268082 0.806222 +vt 0.360640 0.874229 +vt 0.333634 0.874229 +vt 0.334861 0.873001 +vt 0.359413 0.806222 +vt 0.359413 0.781671 +vt 0.426192 0.781671 +vt 0.334861 0.714892 +vt 0.359413 0.873001 +vt 0.360640 0.886014 +vt 0.333634 0.886014 +vt 0.333634 0.713664 +vt 0.360640 0.713664 +vt 0.359413 0.714892 +vt 0.427419 0.780443 +vt 0.427419 0.807450 +vt 0.426192 0.806222 +vt 0.266854 0.807450 +vt 0.266854 0.780443 +vt 0.268082 0.781671 +vt 0.329032 0.290522 +vt 0.329032 0.286033 +vt 0.317921 0.286033 +vt 0.333634 0.701880 +vt 0.360640 0.701880 +vt 0.255070 0.807450 +vt 0.255070 0.780443 +vt 0.439204 0.780443 +vt 0.439204 0.807450 +vt 0.785580 0.191669 +vt 0.785580 0.152387 +vt 0.805221 0.172028 +vt 0.777782 0.502919 +vt 0.758141 0.483278 +vt 0.777782 0.463637 +vt 0.512180 0.741161 +vt 0.512180 0.701880 +vt 0.531821 0.721520 +vt 0.531821 0.793362 +vt 0.512180 0.773721 +vt 0.531821 0.754080 +vt 0.467593 0.287451 +vt 0.555060 0.287451 +vt 0.380125 0.287451 +vt 0.392470 0.286033 +vt 0.392470 0.290522 +vt 0.567405 0.286033 +vt 0.567405 0.290522 +vt 0.479937 0.286033 +vt 0.479937 0.290522 +vt 0.006459 0.553613 +vt 0.617135 0.279181 +vt 0.813545 0.279181 +vt 0.965966 0.918110 +vt 0.769557 0.918110 +vt 0.777490 0.741468 +vt 0.973900 0.741468 +vt 0.471121 0.898933 +vt 0.274711 0.898933 +vt 0.547877 0.531833 +vt 0.595341 0.914802 +vt 0.874022 0.381975 +vt 0.826884 0.334836 +vt 0.195013 0.305002 +vt 0.317921 0.062013 +vt 0.116449 0.006459 +vt 0.305002 0.116449 +vt 0.006459 0.195013 +vt 0.584576 0.217561 +vt 0.529022 0.006459 +vt 0.373474 0.273114 +vt 0.567111 0.878537 +vt 0.560796 0.833017 +vt 0.578087 0.790437 +vt 0.614351 0.762207 +vt 0.659872 0.755892 +vt 0.719706 0.897548 +vt 0.736997 0.854968 +vt 0.702452 0.773183 +vt 0.683441 0.913993 +vt 0.730681 0.809448 +vt 0.637920 0.932093 +vt 0.772661 0.085041 +vt 0.694200 0.139930 +vt 0.597494 0.140054 +vt 0.694907 0.218597 +vt 0.666684 0.006459 +vt 0.694184 0.090030 +vt 0.694185 0.095029 +vt 0.694186 0.100027 +vt 0.694188 0.105025 +vt 0.694190 0.110023 +vt 0.694202 0.125013 +vt 0.694078 0.130204 +vt 0.694150 0.133627 +vt 0.238196 0.730162 +vt 0.193875 0.787645 +vt 0.238196 0.682563 +vt 0.220277 0.627108 +vt 0.237686 0.627108 +vt 0.220277 0.731355 +vt 0.499261 0.725932 +vt 0.790701 0.463637 +vt 0.499261 0.762903 +vt 0.152387 0.775860 +vt 0.526068 0.816622 +vt 0.499261 0.799874 +vt 0.795871 0.517274 +vt 0.215788 0.778032 +vt 0.812802 0.006459 +vt 0.456063 0.317921 +vt 0.366176 0.317921 +vt 0.891366 0.139468 +vt 0.918588 0.033682 +vt 0.785580 0.112246 +vt 0.033682 0.908869 +vt 0.745222 0.479632 +vt 0.524535 0.376790 +vt 0.588094 0.313231 +vt 0.112246 0.775860 +vt 0.139468 0.881646 +vt 0.006459 0.803082 +vt 0.405388 0.290522 +vt 0.492856 0.290522 +vt 0.317921 0.290522 +vt 0.467593 0.291941 +vt 0.555060 0.291941 +vt 0.380125 0.291941 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 0.707100 0.707100 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.707100 -0.707100 +vn 0.707100 0.707100 0.000000 +vn -0.707100 0.707100 0.000000 +vn 0.258800 0.000000 -0.965900 +vn 0.707100 0.000000 -0.707100 +vn 0.965900 0.000000 -0.258800 +vn 0.965900 0.000000 0.258800 +vn 0.707100 0.000000 0.707100 +vn 0.258800 0.000000 0.965900 +vn -0.258800 0.000000 0.965900 +vn -0.707100 0.000000 0.707100 +vn -0.965900 0.000000 0.258800 +vn -0.965900 0.000000 -0.258800 +vn -0.258800 0.000000 -0.965900 +vn -0.707100 0.000000 -0.707100 +vn 0.600000 0.800000 0.000000 +vn -0.600000 0.800000 0.000000 +vn 0.000000 0.800000 -0.600000 +vn 0.000000 0.800000 0.600000 +vn -0.819200 0.573500 0.000000 +vn 0.000000 0.382700 0.923900 +vn 0.382700 0.923900 0.000000 +vn 0.678600 0.281100 -0.678600 +vn -0.678600 0.281100 0.678600 +vn 0.923900 0.382700 0.000000 +vn 0.357400 0.862900 -0.357400 +vn 0.000000 -0.923900 -0.382700 +vn 0.923900 -0.382700 0.000000 +vn 0.000000 -0.382700 0.923900 +vn 0.382700 -0.923900 0.000000 +vn -0.382700 -0.923900 0.000000 +vn -0.357400 0.862900 0.357400 +vn 0.000000 -0.382700 -0.923900 +vn -0.923900 -0.382700 0.000000 +vn -0.678600 -0.281100 0.678600 +vn -0.382700 0.923900 -0.000000 +vn -0.923900 0.382700 0.000000 +vn 0.000000 -0.923900 0.382700 +vn -0.000000 0.923900 0.382700 +vn 0.000000 0.382700 -0.923900 +vn 0.678600 -0.281100 -0.678600 +vn 0.000000 0.923900 -0.382700 +vn -0.357400 -0.862900 0.357400 +vn 0.357400 -0.862900 -0.357400 +vn -0.447200 0.000000 0.894400 +vn -0.447200 0.894400 0.000000 +vn -0.447200 0.000000 -0.894400 +vn 0.351100 0.000000 -0.936300 +vn 0.351100 0.000000 0.936300 +vn 0.351100 0.936300 0.000000 +vn 0.351100 -0.936300 0.000000 +vn 0.447200 0.000000 0.894400 +vn 0.447200 0.894400 0.000000 +vn 0.447200 0.000000 -0.894400 +vn -0.351100 0.000000 -0.936300 +vn -0.351100 0.000000 0.936300 +vn -0.351100 0.936300 0.000000 +vn -0.351100 -0.936300 0.000000 +vn -0.032600 0.999500 0.000000 +vn -0.771300 -0.636400 0.000000 +s off +f 4/1/1 3/2/1 1/3/1 +f 8/4/2 7/5/2 3/6/2 +f 6/7/3 5/8/3 7/9/3 +f 2/10/4 1/11/4 5/12/4 +f 3/13/5 7/14/5 5/15/5 +f 6/16/6 16/17/6 2/10/6 +f 10/18/7 55/19/7 56/20/7 +f 4/21/8 14/22/8 8/4/8 +f 8/23/9 15/24/9 6/7/9 +f 2/25/10 13/26/10 4/1/10 +f 16/27/7 114/28/7 115/29/7 +f 16/30/1 48/31/1 17/32/1 +f 14/33/7 50/34/7 51/35/7 +f 15/36/3 46/37/3 12/38/3 +f 17/39/2 47/40/2 15/41/2 +f 12/42/4 49/43/4 16/44/4 +f 23/45/11 25/46/11 24/47/11 +f 25/46/12 27/48/12 26/49/12 +f 27/48/13 29/50/13 28/51/13 +f 29/50/14 31/52/14 30/53/14 +f 31/52/15 33/54/15 32/55/15 +f 33/54/16 35/56/16 34/57/16 +f 35/56/17 37/58/17 36/59/17 +f 37/58/18 39/60/18 38/61/18 +f 39/60/19 41/62/19 40/63/19 +f 41/62/20 43/64/20 42/65/20 +f 39/66/5 86/67/5 87/68/5 +f 45/69/21 23/70/21 22/71/21 +f 43/64/22 45/69/22 44/72/22 +f 49/43/7 19/73/7 32/74/7 +f 49/43/7 34/75/7 36/76/7 +f 36/76/7 38/77/7 20/78/7 +f 48/31/7 20/78/7 38/77/7 +f 42/79/7 21/80/7 48/31/7 +f 44/81/7 21/80/7 42/79/7 +f 47/40/7 21/80/7 44/81/7 +f 24/82/7 18/83/7 47/40/7 +f 32/74/7 19/73/7 30/84/7 +f 46/37/7 28/85/7 30/84/7 +f 46/37/7 18/83/7 26/86/7 +f 26/86/7 18/83/7 24/82/7 +f 52/87/4 60/88/4 61/89/4 +f 11/90/7 51/35/7 52/91/7 +f 17/92/7 53/93/7 50/34/7 +f 15/94/7 52/91/7 53/93/7 +f 57/95/4 66/96/4 69/97/4 +f 17/92/7 57/98/7 54/99/7 +f 14/33/7 56/20/7 57/98/7 +f 13/100/7 54/99/7 55/19/7 +f 61/101/7 65/102/7 62/103/7 +f 50/104/2 58/105/2 59/106/2 +f 53/107/1 61/101/1 58/108/1 +f 51/109/3 59/110/3 60/111/3 +f 64/112/4 76/113/4 77/114/4 +f 59/110/7 63/115/7 64/116/7 +f 60/88/7 64/112/7 65/117/7 +f 58/105/7 62/118/7 63/119/7 +f 55/120/2 68/121/2 67/122/2 +f 56/123/3 67/124/3 66/125/3 +f 54/126/1 69/127/1 68/128/1 +f 69/127/7 104/129/7 105/130/7 +f 75/131/23 72/132/23 71/133/23 +f 77/134/24 70/135/24 73/136/24 +f 62/118/2 74/137/2 75/138/2 +f 65/102/1 77/134/1 74/139/1 +f 63/115/3 75/131/3 76/140/3 +f 74/137/25 73/136/25 72/132/25 +f 110/141/23 111/142/23 107/143/23 +f 77/114/26 76/113/26 71/133/26 +f 81/144/14 93/145/14 94/146/14 +f 37/147/5 85/148/5 86/149/5 +f 35/150/5 84/151/5 85/152/5 +f 33/153/5 83/154/5 84/155/5 +f 31/156/5 82/157/5 83/158/5 +f 29/159/5 81/144/5 82/160/5 +f 45/161/5 89/162/5 79/163/5 +f 23/164/5 79/165/5 78/166/5 +f 27/167/5 80/168/5 81/169/5 +f 45/170/5 43/171/5 88/172/5 +f 25/173/5 78/174/5 80/175/5 +f 41/176/5 87/177/5 88/178/5 +f 98/179/7 96/180/7 92/181/7 +f 88/172/22 100/182/22 101/183/22 +f 79/165/11 91/184/11 90/185/11 +f 85/148/18 97/186/18 98/179/18 +f 82/157/15 94/146/15 95/187/15 +f 89/162/21 101/183/21 91/184/21 +f 78/174/12 90/185/12 92/181/12 +f 86/67/19 98/179/19 99/188/19 +f 83/154/16 95/187/16 96/180/16 +f 80/168/13 92/181/13 93/145/13 +f 87/177/20 99/188/20 100/182/20 +f 84/151/17 96/180/17 97/186/17 +f 104/129/1 108/189/1 109/190/1 +f 66/96/7 103/191/7 104/192/7 +f 68/121/7 105/193/7 102/194/7 +f 67/124/7 102/195/7 103/196/7 +f 109/197/25 113/198/25 110/141/25 +f 103/191/4 107/199/4 108/200/4 +f 105/193/2 109/197/2 106/201/2 +f 102/195/3 106/202/3 107/143/3 +f 110/141/7 113/198/7 112/203/7 +f 73/136/7 70/135/7 71/133/7 +f 108/189/24 112/203/24 113/198/24 +f 107/199/26 111/142/26 112/203/26 +f 117/204/3 121/205/3 118/206/3 +f 17/92/7 117/207/7 114/28/7 +f 17/92/7 13/100/7 116/208/7 +f 9/209/7 115/29/7 116/208/7 +f 121/210/2 120/211/2 124/212/2 +f 115/213/1 119/214/1 120/215/1 +f 116/216/2 120/211/2 121/210/2 +f 114/217/4 118/218/4 119/219/4 +f 130/220/7 129/221/7 124/212/7 +f 118/218/4 122/222/4 123/223/4 +f 121/205/3 130/220/3 118/206/3 +f 119/214/27 123/223/27 124/212/27 +f 126/224/1 127/225/1 137/226/1 +f 147/227/10 146/228/10 136/229/10 +f 128/230/1 129/231/1 139/232/1 +f 140/233/1 130/234/1 131/235/1 +f 142/236/1 132/237/1 133/238/1 +f 144/239/1 134/240/1 135/241/1 +f 155/242/10 154/243/10 144/239/10 +f 153/244/10 152/245/10 142/236/10 +f 151/246/10 150/247/10 140/233/10 +f 149/248/10 148/249/10 138/250/10 +f 157/251/7 156/252/7 146/228/7 +f 159/253/7 158/254/7 148/249/7 +f 161/255/7 160/256/7 150/247/7 +f 163/257/7 162/258/7 152/245/7 +f 165/259/7 164/260/7 154/243/7 +f 182/261/7 183/262/7 189/263/7 +f 180/264/7 181/265/7 187/266/7 +f 178/267/7 179/268/7 185/269/7 +f 167/270/2 173/271/2 172/272/2 +f 169/273/2 175/274/2 174/275/2 +f 171/276/2 177/277/2 176/278/2 +f 188/279/8 189/263/8 171/276/8 +f 186/280/8 187/266/8 169/273/8 +f 184/281/8 185/269/8 167/270/8 +f 215/282/28 217/283/28 216/284/28 +f 191/285/29 193/286/29 192/287/29 +f 195/288/30 193/289/30 220/290/30 +f 216/291/31 205/292/31 203/293/31 +f 193/286/32 195/294/32 194/295/32 +f 191/296/33 218/297/33 220/290/33 +f 209/298/34 211/299/34 210/300/34 +f 195/294/35 197/301/35 196/302/35 +f 213/303/36 215/282/36 214/304/36 +f 197/301/37 199/305/37 198/306/37 +f 199/305/38 201/307/38 200/308/38 +f 218/309/39 191/310/39 205/292/39 +f 207/311/40 209/298/40 208/312/40 +f 201/307/41 203/313/41 202/314/41 +f 201/315/42 212/316/42 214/317/42 +f 205/318/43 191/319/43 190/320/43 +f 203/313/44 205/318/44 204/321/44 +f 211/299/45 213/303/45 212/322/45 +f 217/283/46 219/323/46 218/324/46 +f 221/325/47 207/311/47 206/326/47 +f 195/288/48 206/327/48 208/328/48 +f 219/329/49 221/325/49 220/330/49 +f 212/316/50 201/315/50 199/331/50 +f 197/332/51 208/328/51 210/333/51 +f 247/334/28 249/335/28 248/336/28 +f 223/337/29 225/338/29 224/339/29 +f 227/340/30 225/341/30 252/342/30 +f 248/343/31 237/344/31 235/345/31 +f 225/338/32 227/346/32 226/347/32 +f 223/348/33 250/349/33 252/342/33 +f 241/350/34 243/351/34 242/352/34 +f 227/346/35 229/353/35 228/354/35 +f 245/355/36 247/334/36 246/356/36 +f 229/353/37 231/357/37 230/358/37 +f 231/357/38 233/359/38 232/360/38 +f 250/361/39 223/362/39 237/344/39 +f 239/363/40 241/350/40 240/364/40 +f 233/359/41 235/365/41 234/366/41 +f 233/367/42 244/368/42 246/369/42 +f 237/370/43 223/371/43 222/372/43 +f 235/365/44 237/370/44 236/373/44 +f 243/351/45 245/355/45 244/374/45 +f 249/335/46 251/375/46 250/376/46 +f 253/377/47 239/363/47 238/378/47 +f 227/340/48 238/379/48 240/380/48 +f 251/381/49 253/377/49 252/382/49 +f 242/383/50 244/368/50 233/367/50 +f 229/384/51 240/380/51 242/383/51 +f 279/385/28 281/386/28 280/387/28 +f 255/388/29 257/389/29 256/390/29 +f 259/391/30 257/392/30 284/393/30 +f 280/394/31 269/395/31 267/396/31 +f 257/389/32 259/397/32 258/398/32 +f 255/399/33 282/400/33 284/393/33 +f 273/401/34 275/402/34 274/403/34 +f 259/397/35 261/404/35 260/405/35 +f 277/406/36 279/385/36 278/407/36 +f 261/404/37 263/408/37 262/409/37 +f 263/408/38 265/410/38 264/411/38 +f 282/412/39 255/413/39 269/395/39 +f 271/414/40 273/401/40 272/415/40 +f 265/410/41 267/416/41 266/417/41 +f 267/396/42 265/418/42 276/419/42 +f 269/420/43 255/421/43 254/422/43 +f 267/416/44 269/420/44 268/423/44 +f 275/402/45 277/406/45 276/424/45 +f 281/386/46 283/425/46 282/426/46 +f 285/427/47 271/414/47 270/428/47 +f 259/391/48 270/429/48 272/430/48 +f 282/431/49 283/432/49 285/427/49 +f 274/433/50 276/419/50 265/418/50 +f 263/434/51 261/435/51 272/430/51 +f 289/436/1 288/437/1 286/438/1 +f 293/439/2 292/440/2 295/441/2 +f 292/442/3 299/443/3 301/444/3 +f 287/445/52 286/438/52 297/446/52 +f 295/447/5 292/448/5 290/449/5 +f 294/450/53 289/436/53 287/445/53 +f 293/451/7 294/450/7 296/452/7 +f 296/453/4 297/446/4 290/449/4 +f 294/454/54 295/441/54 288/437/54 +f 301/455/55 305/456/55 304/457/55 +f 291/458/3 300/459/3 298/460/3 +f 293/461/3 298/462/3 299/463/3 +f 290/464/3 301/455/3 300/465/3 +f 304/457/3 305/456/3 303/466/3 +f 298/462/56 302/467/56 303/466/56 +f 299/443/57 303/466/57 305/456/57 +f 300/459/58 304/457/58 302/467/58 +f 306/468/3 308/469/3 309/470/3 +f 315/471/2 312/472/2 313/473/2 +f 321/474/1 319/475/1 312/476/1 +f 317/477/59 306/468/59 307/478/59 +f 310/479/5 312/472/5 315/471/5 +f 307/478/60 309/470/60 314/480/60 +f 316/481/7 314/480/7 313/482/7 +f 310/483/4 317/477/4 316/484/4 +f 308/469/61 315/471/61 314/485/61 +f 324/486/62 325/487/62 321/488/62 +f 318/489/1 320/490/1 311/491/1 +f 319/492/1 318/493/1 313/494/1 +f 320/495/1 321/488/1 310/496/1 +f 323/497/1 325/487/1 324/486/1 +f 323/497/63 322/498/63 318/493/63 +f 325/487/64 323/497/64 319/475/64 +f 322/498/65 324/486/65 320/490/65 +f 332/499/3 326/500/3 327/501/3 +f 332/502/2 337/503/2 335/504/2 +f 329/505/1 331/506/1 330/507/1 +f 333/508/7 327/501/7 331/506/7 +f 328/509/5 330/507/5 326/500/5 +f 327/501/2 326/500/2 330/507/2 +f 337/503/5 341/510/5 339/511/5 +f 329/512/2 334/513/2 336/514/2 +f 328/515/2 335/516/2 334/517/2 +f 333/518/2 336/519/2 337/520/2 +f 421/521/10 420/522/10 408/523/10 +f 334/513/7 338/524/7 340/525/7 +f 336/519/3 340/526/3 341/527/3 +f 335/516/1 339/528/1 338/529/1 +f 348/530/3 342/531/3 343/532/3 +f 348/533/2 353/534/2 351/535/2 +f 345/536/1 347/537/1 346/538/1 +f 349/539/7 343/532/7 347/537/7 +f 344/540/5 346/538/5 342/531/5 +f 343/532/2 342/531/2 346/538/2 +f 353/534/5 357/541/5 355/542/5 +f 345/543/2 350/544/2 352/545/2 +f 344/546/2 351/547/2 350/548/2 +f 349/549/2 352/550/2 353/551/2 +f 423/552/10 422/553/10 410/554/10 +f 350/544/7 354/555/7 356/556/7 +f 352/550/3 356/557/3 357/558/3 +f 351/547/1 355/559/1 354/560/1 +f 359/561/3 358/562/3 364/563/3 +f 367/564/4 369/565/4 364/566/4 +f 362/567/1 363/568/1 361/569/1 +f 363/568/7 359/561/7 365/570/7 +f 358/562/5 362/567/5 360/571/5 +f 362/567/4 358/562/4 359/561/4 +f 371/572/5 373/573/5 369/565/5 +f 368/574/4 366/575/4 361/576/4 +f 366/577/4 367/578/4 360/579/4 +f 369/580/4 368/581/4 365/582/4 +f 372/583/2 373/584/2 371/585/2 +f 372/583/7 370/586/7 366/575/7 +f 373/587/3 372/588/3 368/581/3 +f 370/589/1 371/590/1 367/578/1 +f 375/591/3 374/592/3 380/593/3 +f 383/594/4 385/595/4 380/596/4 +f 378/597/1 379/598/1 377/599/1 +f 379/598/7 375/591/7 381/600/7 +f 374/592/5 378/597/5 376/601/5 +f 378/597/4 374/592/4 375/591/4 +f 387/602/5 389/603/5 385/595/5 +f 384/604/4 382/605/4 377/606/4 +f 382/607/4 383/608/4 376/609/4 +f 385/610/4 384/611/4 381/612/4 +f 425/613/10 424/614/10 412/615/10 +f 388/616/7 386/617/7 382/605/7 +f 389/618/3 388/619/3 384/611/3 +f 386/620/1 387/621/1 383/608/1 +f 391/622/2 390/623/2 392/624/2 +f 394/625/4 395/626/4 393/627/4 +f 397/628/2 396/629/2 398/630/2 +f 400/631/4 401/632/4 399/633/4 +f 414/634/66 420/522/66 421/521/66 +f 416/635/66 422/553/66 423/552/66 +f 418/636/66 424/614/66 425/613/66 +f 418/636/67 406/637/67 407/638/67 +f 416/635/67 404/639/67 405/640/67 +f 414/634/67 402/641/67 403/642/67 +f 2/25/1 4/1/1 1/3/1 +f 4/21/2 8/4/2 3/6/2 +f 8/23/3 6/7/3 7/9/3 +f 6/16/4 2/10/4 5/12/4 +f 1/643/5 3/13/5 5/15/5 +f 9/644/6 2/10/6 16/17/6 +f 6/16/6 12/645/6 16/17/6 +f 14/33/7 10/18/7 56/20/7 +f 11/646/8 8/4/8 14/22/8 +f 4/21/8 10/647/8 14/22/8 +f 12/648/9 6/7/9 15/24/9 +f 8/23/9 11/649/9 15/24/9 +f 10/650/10 4/1/10 13/26/10 +f 2/25/10 9/651/10 13/26/10 +f 9/209/7 16/27/7 115/29/7 +f 21/80/1 17/32/1 48/31/1 +f 16/30/1 20/78/1 48/31/1 +f 11/90/7 14/33/7 51/35/7 +f 19/73/3 12/38/3 46/37/3 +f 15/36/3 18/83/3 46/37/3 +f 18/83/2 15/41/2 47/40/2 +f 17/39/2 21/80/2 47/40/2 +f 20/78/4 16/44/4 49/43/4 +f 12/42/4 19/73/4 49/43/4 +f 22/652/11 23/45/11 24/47/11 +f 24/47/12 25/46/12 26/49/12 +f 26/49/13 27/48/13 28/51/13 +f 28/51/14 29/50/14 30/53/14 +f 30/53/15 31/52/15 32/55/15 +f 32/55/16 33/54/16 34/57/16 +f 34/57/17 35/56/17 36/59/17 +f 36/59/18 37/58/18 38/61/18 +f 38/61/19 39/60/19 40/63/19 +f 40/63/20 41/62/20 42/65/20 +f 41/653/5 39/66/5 87/68/5 +f 44/72/21 45/69/21 22/71/21 +f 42/65/22 43/64/22 44/72/22 +f 34/75/7 49/43/7 32/74/7 +f 20/78/7 49/43/7 36/76/7 +f 40/654/7 48/31/7 38/77/7 +f 40/654/7 42/79/7 48/31/7 +f 22/655/7 47/40/7 44/81/7 +f 22/655/7 24/82/7 47/40/7 +f 19/73/7 46/37/7 30/84/7 +f 28/85/7 46/37/7 26/86/7 +f 53/656/4 52/87/4 61/89/4 +f 15/94/7 11/90/7 52/91/7 +f 14/33/7 17/92/7 50/34/7 +f 17/92/7 15/94/7 53/93/7 +f 54/657/4 57/95/4 69/97/4 +f 13/100/7 17/92/7 54/99/7 +f 17/92/7 14/33/7 57/98/7 +f 10/18/7 13/100/7 55/19/7 +f 58/108/7 61/101/7 62/103/7 +f 51/658/2 50/104/2 59/106/2 +f 50/659/1 53/107/1 58/108/1 +f 52/660/3 51/109/3 60/111/3 +f 65/117/4 64/112/4 77/114/4 +f 60/111/7 59/110/7 64/116/7 +f 61/89/7 60/88/7 65/117/7 +f 59/106/7 58/105/7 63/119/7 +f 56/661/2 55/120/2 67/122/2 +f 57/662/3 56/123/3 66/125/3 +f 55/663/1 54/126/1 68/128/1 +f 68/128/7 69/127/7 105/130/7 +f 76/140/23 75/131/23 71/133/23 +f 74/139/24 77/134/24 73/136/24 +f 63/119/2 62/118/2 75/138/2 +f 62/103/1 65/102/1 74/139/1 +f 64/116/3 63/115/3 76/140/3 +f 75/138/25 74/137/25 72/132/25 +f 106/202/23 110/141/23 107/143/23 +f 70/135/26 77/114/26 71/133/26 +f 82/160/14 81/144/14 94/146/14 +f 39/664/5 37/147/5 86/149/5 +f 37/665/5 35/150/5 85/152/5 +f 35/666/5 33/153/5 84/155/5 +f 33/667/5 31/156/5 83/158/5 +f 31/668/5 29/159/5 82/160/5 +f 23/669/5 45/161/5 79/163/5 +f 25/670/5 23/164/5 78/166/5 +f 29/671/5 27/167/5 81/169/5 +f 89/672/5 45/170/5 88/172/5 +f 27/673/5 25/173/5 80/175/5 +f 43/674/5 41/176/5 88/178/5 +f 92/181/7 90/185/7 100/182/7 +f 91/184/7 101/183/7 100/182/7 +f 100/182/7 99/188/7 98/179/7 +f 98/179/7 97/186/7 96/180/7 +f 96/180/7 95/187/7 94/146/7 +f 94/146/7 93/145/7 92/181/7 +f 90/185/7 91/184/7 100/182/7 +f 100/182/7 98/179/7 92/181/7 +f 96/180/7 94/146/7 92/181/7 +f 89/672/22 88/172/22 101/183/22 +f 78/166/11 79/165/11 90/185/11 +f 86/149/18 85/148/18 98/179/18 +f 83/158/15 82/157/15 95/187/15 +f 79/163/21 89/162/21 91/184/21 +f 80/175/12 78/174/12 92/181/12 +f 87/68/19 86/67/19 99/188/19 +f 84/155/16 83/154/16 96/180/16 +f 81/169/13 80/168/13 93/145/13 +f 88/178/20 87/177/20 100/182/20 +f 85/152/17 84/151/17 97/186/17 +f 105/130/1 104/129/1 109/190/1 +f 69/97/7 66/96/7 104/192/7 +f 67/122/7 68/121/7 102/194/7 +f 66/125/7 67/124/7 103/196/7 +f 106/201/25 109/197/25 110/141/25 +f 104/192/4 103/191/4 108/200/4 +f 102/194/2 105/193/2 106/201/2 +f 103/196/3 102/195/3 107/143/3 +f 111/142/7 110/141/7 112/203/7 +f 72/132/7 73/136/7 71/133/7 +f 109/190/24 108/189/24 113/198/24 +f 108/200/26 107/199/26 112/203/26 +f 114/675/3 117/204/3 118/206/3 +f 16/27/7 17/92/7 114/28/7 +f 117/207/7 17/92/7 116/208/7 +f 13/100/7 9/209/7 116/208/7 +f 125/676/2 121/210/2 124/212/2 +f 116/677/1 115/213/1 120/215/1 +f 117/678/2 116/216/2 121/210/2 +f 115/679/4 114/217/4 119/219/4 +f 123/223/7 122/222/7 135/680/7 +f 135/680/7 134/681/7 123/223/7 +f 133/682/7 132/683/7 123/223/7 +f 131/684/7 130/220/7 124/212/7 +f 129/221/7 128/685/7 124/212/7 +f 127/686/7 126/687/7 124/212/7 +f 125/676/7 124/212/7 126/687/7 +f 123/223/7 134/681/7 133/682/7 +f 132/683/7 131/684/7 123/223/7 +f 128/685/7 127/686/7 124/212/7 +f 124/212/7 123/223/7 131/684/7 +f 119/219/4 118/218/4 123/223/4 +f 122/222/3 118/206/3 135/680/3 +f 121/205/3 125/676/3 126/687/3 +f 126/687/3 127/686/3 121/205/3 +f 128/685/3 129/221/3 121/205/3 +f 130/220/3 131/684/3 118/206/3 +f 132/683/3 133/682/3 118/206/3 +f 134/681/3 135/680/3 118/206/3 +f 121/205/3 127/686/3 128/685/3 +f 134/681/3 118/206/3 133/682/3 +f 131/684/3 132/683/3 118/206/3 +f 121/205/3 129/221/3 130/220/3 +f 120/215/27 119/214/27 124/212/27 +f 136/229/1 126/224/1 137/226/1 +f 137/226/10 147/227/10 136/229/10 +f 138/250/1 128/230/1 139/232/1 +f 141/688/1 140/233/1 131/235/1 +f 143/689/1 142/236/1 133/238/1 +f 145/690/1 144/239/1 135/241/1 +f 145/690/10 155/242/10 144/239/10 +f 143/689/10 153/244/10 142/236/10 +f 141/688/10 151/246/10 140/233/10 +f 139/232/10 149/248/10 138/250/10 +f 147/227/7 157/251/7 146/228/7 +f 149/248/7 159/253/7 148/249/7 +f 151/246/7 161/255/7 150/247/7 +f 153/244/7 163/257/7 152/245/7 +f 155/242/7 165/259/7 154/243/7 +f 188/279/7 182/261/7 189/263/7 +f 186/280/7 180/264/7 187/266/7 +f 184/281/7 178/267/7 185/269/7 +f 166/691/2 167/270/2 172/272/2 +f 168/692/2 169/273/2 174/275/2 +f 170/693/2 171/276/2 176/278/2 +f 170/693/8 188/279/8 171/276/8 +f 168/692/8 186/280/8 169/273/8 +f 166/691/8 184/281/8 167/270/8 +f 214/304/28 215/282/28 216/284/28 +f 190/694/29 191/285/29 192/287/29 +f 206/327/30 195/288/30 220/290/30 +f 214/317/31 216/291/31 203/293/31 +f 192/287/32 193/286/32 194/295/32 +f 193/289/33 191/296/33 220/290/33 +f 208/312/34 209/298/34 210/300/34 +f 194/295/35 195/294/35 196/302/35 +f 212/322/36 213/303/36 214/304/36 +f 196/302/37 197/301/37 198/306/37 +f 198/306/38 199/305/38 200/308/38 +f 216/291/39 218/309/39 205/292/39 +f 206/326/40 207/311/40 208/312/40 +f 200/308/41 201/307/41 202/314/41 +f 203/293/42 201/315/42 214/317/42 +f 204/321/43 205/318/43 190/320/43 +f 202/314/44 203/313/44 204/321/44 +f 210/300/45 211/299/45 212/322/45 +f 216/284/46 217/283/46 218/324/46 +f 220/330/47 221/325/47 206/326/47 +f 197/332/48 195/288/48 208/328/48 +f 218/695/49 219/329/49 220/330/49 +f 210/333/50 212/316/50 199/331/50 +f 199/331/51 197/332/51 210/333/51 +f 246/356/28 247/334/28 248/336/28 +f 222/696/29 223/337/29 224/339/29 +f 238/379/30 227/340/30 252/342/30 +f 246/369/31 248/343/31 235/345/31 +f 224/339/32 225/338/32 226/347/32 +f 225/341/33 223/348/33 252/342/33 +f 240/364/34 241/350/34 242/352/34 +f 226/347/35 227/346/35 228/354/35 +f 244/374/36 245/355/36 246/356/36 +f 228/354/37 229/353/37 230/358/37 +f 230/358/38 231/357/38 232/360/38 +f 248/343/39 250/361/39 237/344/39 +f 238/378/40 239/363/40 240/364/40 +f 232/360/41 233/359/41 234/366/41 +f 235/345/42 233/367/42 246/369/42 +f 236/373/43 237/370/43 222/372/43 +f 234/366/44 235/365/44 236/373/44 +f 242/352/45 243/351/45 244/374/45 +f 248/336/46 249/335/46 250/376/46 +f 252/382/47 253/377/47 238/378/47 +f 229/384/48 227/340/48 240/380/48 +f 250/697/49 251/381/49 252/382/49 +f 231/698/50 242/383/50 233/367/50 +f 231/698/51 229/384/51 242/383/51 +f 278/407/28 279/385/28 280/387/28 +f 254/699/29 255/388/29 256/390/29 +f 270/429/30 259/391/30 284/393/30 +f 278/700/31 280/394/31 267/396/31 +f 256/390/32 257/389/32 258/398/32 +f 257/392/33 255/399/33 284/393/33 +f 272/415/34 273/401/34 274/403/34 +f 258/398/35 259/397/35 260/405/35 +f 276/424/36 277/406/36 278/407/36 +f 260/405/37 261/404/37 262/409/37 +f 262/409/38 263/408/38 264/411/38 +f 280/394/39 282/412/39 269/395/39 +f 270/428/40 271/414/40 272/415/40 +f 264/411/41 265/410/41 266/417/41 +f 278/700/42 267/396/42 276/419/42 +f 268/423/43 269/420/43 254/422/43 +f 266/417/44 267/416/44 268/423/44 +f 274/403/45 275/402/45 276/424/45 +f 280/387/46 281/386/46 282/426/46 +f 284/701/47 285/427/47 270/428/47 +f 261/435/48 259/391/48 272/430/48 +f 284/701/49 282/431/49 285/427/49 +f 263/434/50 274/433/50 265/418/50 +f 274/433/51 263/434/51 272/430/51 +f 287/445/1 289/436/1 286/438/1 +f 294/454/2 293/439/2 295/441/2 +f 290/702/3 292/442/3 301/444/3 +f 296/453/52 287/445/52 297/446/52 +f 297/446/5 295/447/5 290/449/5 +f 296/452/53 294/450/53 287/445/53 +f 291/703/7 293/451/7 296/452/7 +f 291/704/4 296/453/4 290/449/4 +f 289/436/54 294/454/54 288/437/54 +f 300/465/55 301/455/55 304/457/55 +f 293/705/3 291/458/3 298/460/3 +f 292/706/3 293/461/3 299/463/3 +f 291/707/3 290/464/3 300/465/3 +f 302/467/3 304/457/3 303/466/3 +f 299/463/56 298/462/56 303/466/56 +f 301/444/57 299/443/57 305/456/57 +f 298/460/58 300/459/58 302/467/58 +f 307/478/3 306/468/3 309/470/3 +f 314/485/2 315/471/2 313/473/2 +f 310/708/1 321/474/1 312/476/1 +f 316/484/59 317/477/59 307/478/59 +f 317/709/5 310/479/5 315/471/5 +f 316/481/60 307/478/60 314/480/60 +f 311/710/7 316/481/7 313/482/7 +f 311/711/4 310/483/4 316/484/4 +f 309/470/61 308/469/61 314/485/61 +f 320/495/62 324/486/62 321/488/62 +f 313/712/1 318/489/1 311/491/1 +f 312/713/1 319/492/1 313/494/1 +f 311/714/1 320/495/1 310/496/1 +f 322/498/1 323/497/1 324/486/1 +f 319/492/63 323/497/63 318/493/63 +f 321/474/64 325/487/64 319/475/64 +f 318/489/65 322/498/65 320/490/65 +f 333/518/3 332/499/3 327/501/3 +f 328/509/2 332/502/2 335/504/2 +f 328/515/1 329/505/1 330/507/1 +f 329/512/7 333/508/7 331/506/7 +f 332/502/5 328/509/5 326/500/5 +f 331/506/2 327/501/2 330/507/2 +f 335/504/5 337/503/5 339/511/5 +f 333/508/2 329/512/2 336/514/2 +f 329/505/2 328/515/2 334/517/2 +f 332/499/2 333/518/2 337/520/2 +f 409/715/10 421/521/10 408/523/10 +f 336/514/7 334/513/7 340/525/7 +f 337/520/3 336/519/3 341/527/3 +f 334/517/1 335/516/1 338/529/1 +f 349/549/3 348/530/3 343/532/3 +f 344/540/2 348/533/2 351/535/2 +f 344/546/1 345/536/1 346/538/1 +f 345/543/7 349/539/7 347/537/7 +f 348/533/5 344/540/5 342/531/5 +f 347/537/2 343/532/2 346/538/2 +f 351/535/5 353/534/5 355/542/5 +f 349/539/2 345/543/2 352/545/2 +f 345/536/2 344/546/2 350/548/2 +f 348/530/2 349/549/2 353/551/2 +f 411/716/10 423/552/10 410/554/10 +f 352/545/7 350/544/7 356/556/7 +f 353/551/3 352/550/3 357/558/3 +f 350/548/1 351/547/1 354/560/1 +f 365/582/3 359/561/3 364/563/3 +f 360/571/4 367/564/4 364/566/4 +f 360/579/1 362/567/1 361/569/1 +f 361/576/7 363/568/7 365/570/7 +f 364/566/5 358/562/5 360/571/5 +f 363/568/4 362/567/4 359/561/4 +f 367/564/5 371/572/5 369/565/5 +f 365/570/4 368/574/4 361/576/4 +f 361/569/4 366/577/4 360/579/4 +f 364/563/4 369/580/4 365/582/4 +f 370/586/2 372/583/2 371/585/2 +f 368/574/7 372/583/7 366/575/7 +f 369/580/3 373/587/3 368/581/3 +f 366/577/1 370/589/1 367/578/1 +f 381/612/3 375/591/3 380/593/3 +f 376/601/4 383/594/4 380/596/4 +f 376/609/1 378/597/1 377/599/1 +f 377/606/7 379/598/7 381/600/7 +f 380/596/5 374/592/5 376/601/5 +f 379/598/4 378/597/4 375/591/4 +f 383/594/5 387/602/5 385/595/5 +f 381/600/4 384/604/4 377/606/4 +f 377/599/4 382/607/4 376/609/4 +f 380/593/4 385/610/4 381/612/4 +f 413/717/10 425/613/10 412/615/10 +f 384/604/7 388/616/7 382/605/7 +f 385/610/3 389/618/3 384/611/3 +f 382/607/1 386/620/1 383/608/1 +f 415/718/66 414/634/66 421/521/66 +f 417/719/66 416/635/66 423/552/66 +f 419/720/66 418/636/66 425/613/66 +f 419/720/67 418/636/67 407/638/67 +f 417/719/67 416/635/67 405/640/67 +f 415/718/67 414/634/67 403/642/67 diff --git a/assets/hbm/models/chemplant_piston.obj b/assets/hbm/models/chemplant_piston.obj new file mode 100644 index 000000000..16c48a3e6 --- /dev/null +++ b/assets/hbm/models/chemplant_piston.obj @@ -0,0 +1,150 @@ +# Blender v2.76 (sub 0) OBJ File: 'chemplant_piston.blend' +# www.blender.org +o Cube.001_Cube.002 +v 0.427500 2.000000 -0.427500 +v 0.427500 2.000000 -0.822500 +v 0.822500 2.000000 -0.427500 +v 0.822500 2.000000 -0.822500 +v 0.427500 2.150000 -0.427500 +v 0.427500 2.150000 -0.822500 +v 0.822500 2.150000 -0.822500 +v 0.822500 2.150000 -0.427500 +v 0.476875 2.000000 -0.476875 +v 0.476875 2.000000 -0.773125 +v 0.773125 2.000000 -0.773125 +v 0.773125 2.000000 -0.476875 +v 0.476875 1.500000 -0.476875 +v 0.476875 1.500000 -0.773125 +v 0.773125 1.500000 -0.773125 +v 0.773125 1.500000 -0.476875 +v -0.822500 2.000000 -0.427500 +v -0.822500 2.000000 -0.822500 +v -0.427500 2.000000 -0.427500 +v -0.427500 2.000000 -0.822500 +v -0.822500 2.150000 -0.427500 +v -0.822500 2.150000 -0.822500 +v -0.427500 2.150000 -0.822500 +v -0.427500 2.150000 -0.427500 +v -0.773125 2.000000 -0.476875 +v -0.773125 2.000000 -0.773125 +v -0.476875 2.000000 -0.773125 +v -0.476875 2.000000 -0.476875 +v -0.773125 1.500000 -0.476875 +v -0.773125 1.500000 -0.773125 +v -0.476875 1.500000 -0.773125 +v -0.476875 1.500000 -0.476875 +vt 0.263926 0.442748 +vt 0.248840 0.427662 +vt 0.248840 0.337146 +vt 0.309756 0.322060 +vt 0.430444 0.322060 +vt 0.430444 0.442748 +vt 0.263926 0.322060 +vt 0.309756 0.442748 +vt 0.476275 0.442748 +vt 0.309756 0.488579 +vt 0.430444 0.276229 +vt 0.415358 0.503665 +vt 0.415358 0.656434 +vt 0.324842 0.656434 +vt 0.476275 0.322060 +vt 0.491361 0.337146 +vt 0.491361 0.427662 +vt 0.430444 0.488579 +vt 0.324842 0.503664 +vt 0.309756 0.276230 +vt 0.324842 0.261143 +vt 0.415358 0.261144 +vt 0.324842 0.108374 +vt 0.415358 0.108374 +vt 0.096070 0.427662 +vt 0.096071 0.337146 +vt 0.644130 0.337146 +vt 0.644130 0.427662 +vt 0.847582 0.752895 +vt 0.847582 0.774230 +vt 0.783577 0.838234 +vt 0.729835 0.805827 +vt 0.644497 0.720488 +vt 0.729836 0.635149 +vt 0.762243 0.838234 +vt 0.815175 0.720488 +vt 0.697428 0.602742 +vt 0.847582 0.688081 +vt 0.612089 0.752895 +vt 0.783578 0.602742 +vt 0.891602 0.494718 +vt 0.955606 0.558722 +vt 0.612089 0.688081 +vt 0.612089 0.666746 +vt 0.676094 0.602742 +vt 0.762243 0.602742 +vt 0.847582 0.666746 +vt 0.697428 0.838234 +vt 0.676093 0.838234 +vt 0.612089 0.774230 +vt 0.568069 0.946258 +vt 0.504065 0.882254 +vt 0.955606 0.882254 +vt 0.891601 0.946258 +vt 0.504065 0.558721 +vt 0.568070 0.494717 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +s off +f 3/1/1 12/2/1 11/3/1 +f 7/4/2 6/5/2 5/6/2 +f 4/7/3 7/4/3 8/8/3 +f 1/9/4 5/6/4 6/5/4 +f 3/10/5 8/8/5 5/6/5 +f 2/11/6 6/5/6 7/4/6 +f 9/12/5 13/13/5 16/14/5 +f 2/15/1 10/16/1 9/17/1 +f 1/18/1 9/12/1 12/19/1 +f 4/20/1 11/21/1 10/22/1 +f 11/21/6 15/23/6 14/24/6 +f 12/2/3 16/25/3 15/26/3 +f 10/16/4 14/27/4 13/28/4 +f 19/29/1 28/30/1 27/31/1 +f 23/32/2 22/33/2 21/34/2 +f 20/35/3 23/32/3 24/36/3 +f 17/37/4 21/34/4 22/33/4 +f 19/38/5 24/36/5 21/34/5 +f 18/39/6 22/33/6 23/32/6 +f 25/40/5 29/41/5 32/42/5 +f 18/43/1 26/44/1 25/45/1 +f 17/46/1 25/40/1 28/47/1 +f 20/48/1 27/49/1 26/50/1 +f 27/49/6 31/51/6 30/52/6 +f 28/30/3 32/53/3 31/54/3 +f 26/44/4 30/55/4 29/56/4 +f 4/7/1 3/1/1 11/3/1 +f 8/8/2 7/4/2 5/6/2 +f 3/1/3 4/7/3 8/8/3 +f 2/15/4 1/9/4 6/5/4 +f 1/18/5 3/10/5 5/6/5 +f 4/20/6 2/11/6 7/4/6 +f 12/19/5 9/12/5 16/14/5 +f 1/9/1 2/15/1 9/17/1 +f 3/10/1 1/18/1 12/19/1 +f 2/11/1 4/20/1 10/22/1 +f 10/22/6 11/21/6 14/24/6 +f 11/3/3 12/2/3 15/26/3 +f 9/17/4 10/16/4 13/28/4 +f 20/35/1 19/29/1 27/31/1 +f 24/36/2 23/32/2 21/34/2 +f 19/29/3 20/35/3 24/36/3 +f 18/43/4 17/37/4 22/33/4 +f 17/46/5 19/38/5 21/34/5 +f 20/48/6 18/39/6 23/32/6 +f 28/47/5 25/40/5 32/42/5 +f 17/37/1 18/43/1 25/45/1 +f 19/38/1 17/46/1 28/47/1 +f 18/39/1 20/48/1 26/50/1 +f 26/50/6 27/49/6 30/52/6 +f 27/31/3 28/30/3 31/54/3 +f 25/45/4 26/44/4 29/56/4 diff --git a/assets/hbm/models/refinery.obj b/assets/hbm/models/refinery.obj new file mode 100644 index 000000000..0a01a44c7 --- /dev/null +++ b/assets/hbm/models/refinery.obj @@ -0,0 +1,3714 @@ +# Blender v2.76 (sub 0) OBJ File: 'refinery.blend' +# www.blender.org +o Plane +v -0.050000 0.250000 -1.250000 +v -0.050000 8.750000 -1.250000 +v -0.064645 0.250000 -1.214645 +v -0.064645 8.750000 -1.214645 +v -0.100000 0.250000 -1.200000 +v -0.100000 8.750000 -1.200000 +v -0.135355 0.250000 -1.214645 +v -0.135355 8.750000 -1.214645 +v -0.150000 0.250000 -1.250000 +v -0.150000 8.750000 -1.250000 +v -0.135355 0.250000 -1.285355 +v -0.135355 8.750000 -1.285355 +v -0.100000 0.250000 -1.300000 +v -0.100000 8.750000 -1.300000 +v -0.064645 0.250000 -1.285355 +v -0.064645 8.750000 -1.285355 +v -0.050000 8.850000 -1.150000 +v -0.064645 8.814644 -1.150000 +v -0.100000 8.799999 -1.150000 +v -0.135355 8.814644 -1.150000 +v -0.150000 8.850000 -1.150000 +v -0.135355 8.885355 -1.150000 +v -0.100000 8.900000 -1.150000 +v -0.064645 8.885355 -1.150000 +v -0.064645 8.814644 -0.900000 +v -0.050000 8.850000 -0.900000 +v -0.100000 8.799999 -0.900000 +v -0.135355 8.814644 -0.900000 +v -0.150000 8.850000 -0.900000 +v -0.135355 8.885355 -0.900000 +v -0.100000 8.900000 -0.900000 +v -0.064645 8.885355 -0.900000 +v 0.150000 0.250000 -1.250000 +v 0.150000 2.750000 -1.250000 +v 0.135355 0.250000 -1.214645 +v 0.135355 2.750000 -1.214645 +v 0.100000 0.250000 -1.200000 +v 0.100000 2.750000 -1.200000 +v 0.064645 0.250000 -1.214645 +v 0.064645 2.750000 -1.214645 +v 0.050000 0.250000 -1.250000 +v 0.050000 2.750000 -1.250000 +v 0.064645 0.250000 -1.285355 +v 0.064645 2.750000 -1.285355 +v 0.100000 0.250000 -1.300000 +v 0.100000 2.750000 -1.300000 +v 0.135355 0.250000 -1.285355 +v 0.135355 2.750000 -1.285355 +v 0.150000 2.850000 -1.150000 +v 0.135355 2.814644 -1.150000 +v 0.100000 2.800000 -1.150000 +v 0.064645 2.814644 -1.150000 +v 0.050000 2.850000 -1.150000 +v 0.064645 2.885355 -1.150000 +v 0.100000 2.900000 -1.150000 +v 0.135355 2.885355 -1.150000 +v 0.135355 2.814644 -0.900000 +v 0.150000 2.850000 -0.900000 +v 0.100000 2.800000 -0.900000 +v 0.064645 2.814644 -0.900000 +v 0.050000 2.850000 -0.900000 +v 0.064645 2.885355 -0.900000 +v 0.100000 2.900000 -0.900000 +v 0.135355 2.885355 -0.900000 +v 0.350000 0.250000 -1.250000 +v 0.350000 4.750000 -1.250000 +v 0.335355 0.250000 -1.214645 +v 0.335355 4.750000 -1.214645 +v 0.300000 0.250000 -1.200000 +v 0.300000 4.750000 -1.200000 +v 0.264645 0.250000 -1.214645 +v 0.264645 4.750000 -1.214645 +v 0.250000 0.250000 -1.250000 +v 0.250000 4.750000 -1.250000 +v 0.264645 0.250000 -1.285355 +v 0.264645 4.750000 -1.285355 +v 0.300000 0.250000 -1.300000 +v 0.300000 4.750000 -1.300000 +v 0.335355 0.250000 -1.285355 +v 0.335355 4.750000 -1.285355 +v 0.350000 4.850000 -1.150000 +v 0.335355 4.814644 -1.150000 +v 0.300000 4.800000 -1.150000 +v 0.264645 4.814644 -1.150000 +v 0.250000 4.850000 -1.150000 +v 0.264645 4.885355 -1.150000 +v 0.300000 4.900000 -1.150000 +v 0.335355 4.885355 -1.150000 +v 0.335355 4.814644 -0.850000 +v 0.350000 4.850000 -0.850000 +v 0.300000 4.800000 -0.850000 +v 0.264645 4.814644 -0.850000 +v 0.250000 4.850000 -0.850000 +v 0.264645 4.885355 -0.850000 +v 0.300000 4.900000 -0.850000 +v 0.335355 4.885355 -0.850000 +v -0.250000 0.250000 -1.250000 +v -0.250000 6.750000 -1.250000 +v -0.264645 0.250000 -1.214645 +v -0.264645 6.750000 -1.214645 +v -0.300000 0.250000 -1.200000 +v -0.300000 6.750000 -1.200000 +v -0.335355 0.250000 -1.214645 +v -0.335355 6.750000 -1.214645 +v -0.350000 0.250000 -1.250000 +v -0.350000 6.750000 -1.250000 +v -0.335355 0.250000 -1.285355 +v -0.335355 6.750000 -1.285355 +v -0.300000 0.250000 -1.300000 +v -0.300000 6.750000 -1.300000 +v -0.264645 0.250000 -1.285355 +v -0.264645 6.750000 -1.285355 +v -0.250000 6.850000 -1.150000 +v -0.264645 6.814644 -1.150000 +v -0.300000 6.800000 -1.150000 +v -0.335355 6.814644 -1.150000 +v -0.350000 6.850000 -1.150000 +v -0.335355 6.885355 -1.150000 +v -0.300000 6.900000 -1.150000 +v -0.264645 6.885355 -1.150000 +v -0.264645 6.814644 -0.850000 +v -0.250000 6.850000 -0.850000 +v -0.300000 6.800000 -0.850000 +v -0.335355 6.814644 -0.850000 +v -0.350000 6.850000 -0.850000 +v -0.335355 6.885355 -0.850000 +v -0.300000 6.900000 -0.850000 +v -0.264645 6.885355 -0.850000 +v 1.250000 0.250000 -0.050000 +v 1.250000 8.750000 -0.050000 +v 1.214645 0.250000 -0.064644 +v 1.214645 8.750000 -0.064644 +v 1.200000 0.250000 -0.100000 +v 1.200000 8.750000 -0.100000 +v 1.214645 0.250000 -0.135355 +v 1.214645 8.750000 -0.135355 +v 1.250000 0.250000 -0.150000 +v 1.250000 8.750000 -0.150000 +v 1.285355 0.250000 -0.135355 +v 1.285355 8.750000 -0.135355 +v 1.300000 0.250000 -0.100000 +v 1.300000 8.750000 -0.100000 +v 1.285355 0.250000 -0.064644 +v 1.285355 8.750000 -0.064644 +v 1.150000 8.850000 -0.050000 +v 1.150000 8.814644 -0.064644 +v 1.150000 8.799999 -0.100000 +v 1.150000 8.814644 -0.135355 +v 1.150000 8.850000 -0.150000 +v 1.150000 8.885355 -0.135355 +v 1.150000 8.900000 -0.100000 +v 1.150000 8.885355 -0.064644 +v 0.900000 8.814644 -0.064645 +v 0.900000 8.850000 -0.050000 +v 0.900000 8.799999 -0.100000 +v 0.900000 8.814644 -0.135355 +v 0.900000 8.850000 -0.150000 +v 0.900000 8.885355 -0.135355 +v 0.900000 8.900000 -0.100000 +v 0.900000 8.885355 -0.064645 +v 1.250000 0.250000 0.150000 +v 1.250000 2.750000 0.150000 +v 1.214645 0.250000 0.135356 +v 1.214645 2.750000 0.135356 +v 1.200000 0.250000 0.100000 +v 1.200000 2.750000 0.100000 +v 1.214645 0.250000 0.064645 +v 1.214645 2.750000 0.064645 +v 1.250000 0.250000 0.050000 +v 1.250000 2.750000 0.050000 +v 1.285355 0.250000 0.064645 +v 1.285355 2.750000 0.064645 +v 1.300000 0.250000 0.100000 +v 1.300000 2.750000 0.100000 +v 1.285355 0.250000 0.135356 +v 1.285355 2.750000 0.135356 +v 1.150000 2.850000 0.150000 +v 1.150000 2.814644 0.135356 +v 1.150000 2.800000 0.100000 +v 1.150000 2.814644 0.064645 +v 1.150000 2.850000 0.050000 +v 1.150000 2.885355 0.064645 +v 1.150000 2.900000 0.100000 +v 1.150000 2.885355 0.135356 +v 0.900000 2.814644 0.135355 +v 0.900000 2.850000 0.150000 +v 0.900000 2.800000 0.100000 +v 0.900000 2.814644 0.064645 +v 0.900000 2.850000 0.050000 +v 0.900000 2.885355 0.064645 +v 0.900000 2.900000 0.100000 +v 0.900000 2.885355 0.135355 +v 1.250000 0.250000 0.350000 +v 1.250000 4.750000 0.350000 +v 1.214645 0.250000 0.335356 +v 1.214645 4.750000 0.335356 +v 1.200000 0.250000 0.300000 +v 1.200000 4.750000 0.300000 +v 1.214645 0.250000 0.264645 +v 1.214645 4.750000 0.264645 +v 1.250000 0.250000 0.250000 +v 1.250000 4.750000 0.250000 +v 1.285355 0.250000 0.264645 +v 1.285355 4.750000 0.264645 +v 1.300000 0.250000 0.300000 +v 1.300000 4.750000 0.300000 +v 1.285355 0.250000 0.335356 +v 1.285355 4.750000 0.335356 +v 1.150000 4.850000 0.350000 +v 1.150000 4.814644 0.335356 +v 1.150000 4.800000 0.300000 +v 1.150000 4.814644 0.264645 +v 1.150000 4.850000 0.250000 +v 1.150000 4.885355 0.264645 +v 1.150000 4.900000 0.300000 +v 1.150000 4.885355 0.335356 +v 0.850000 4.814644 0.335355 +v 0.850000 4.850000 0.350000 +v 0.850000 4.800000 0.300000 +v 0.850000 4.814644 0.264645 +v 0.850000 4.850000 0.250000 +v 0.850000 4.885355 0.264645 +v 0.850000 4.900000 0.300000 +v 0.850000 4.885355 0.335355 +v 1.250000 0.250000 -0.250000 +v 1.250000 6.750000 -0.250000 +v 1.214645 0.250000 -0.264645 +v 1.214645 6.750000 -0.264645 +v 1.200000 0.250000 -0.300000 +v 1.200000 6.750000 -0.300000 +v 1.214645 0.250000 -0.335355 +v 1.214645 6.750000 -0.335355 +v 1.250000 0.250000 -0.350000 +v 1.250000 6.750000 -0.350000 +v 1.285355 0.250000 -0.335355 +v 1.285355 6.750000 -0.335355 +v 1.300000 0.250000 -0.300000 +v 1.300000 6.750000 -0.300000 +v 1.285355 0.250000 -0.264644 +v 1.285355 6.750000 -0.264644 +v 1.150000 6.850000 -0.250000 +v 1.150000 6.814644 -0.264645 +v 1.150000 6.800000 -0.300000 +v 1.150000 6.814644 -0.335355 +v 1.150000 6.850000 -0.350000 +v 1.150000 6.885355 -0.335355 +v 1.150000 6.900000 -0.300000 +v 1.150000 6.885355 -0.264645 +v 0.850000 6.814644 -0.264645 +v 0.850000 6.850000 -0.250000 +v 0.850000 6.800000 -0.300000 +v 0.850000 6.814644 -0.335355 +v 0.850000 6.850000 -0.350000 +v 0.850000 6.885355 -0.335355 +v 0.850000 6.900000 -0.300000 +v 0.850000 6.885355 -0.264645 +v 0.050000 0.250000 1.250000 +v 0.050000 8.750000 1.250000 +v 0.064645 0.250000 1.214645 +v 0.064645 8.750000 1.214645 +v 0.100000 0.250000 1.200000 +v 0.100000 8.750000 1.200000 +v 0.135355 0.250000 1.214645 +v 0.135355 8.750000 1.214645 +v 0.150000 0.250000 1.250000 +v 0.150000 8.750000 1.250000 +v 0.135355 0.250000 1.285355 +v 0.135355 8.750000 1.285355 +v 0.100000 0.250000 1.300000 +v 0.100000 8.750000 1.300000 +v 0.064645 0.250000 1.285355 +v 0.064645 8.750000 1.285355 +v 0.050000 8.850000 1.150000 +v 0.064645 8.814644 1.150000 +v 0.100000 8.799999 1.150000 +v 0.135355 8.814644 1.150000 +v 0.150000 8.850000 1.150000 +v 0.135355 8.885355 1.150000 +v 0.100000 8.900000 1.150000 +v 0.064645 8.885355 1.150000 +v 0.064645 8.814644 0.900000 +v 0.050000 8.850000 0.900000 +v 0.100000 8.799999 0.900000 +v 0.135355 8.814644 0.900000 +v 0.150000 8.850000 0.900000 +v 0.135355 8.885355 0.900000 +v 0.100000 8.900000 0.900000 +v 0.064645 8.885355 0.900000 +v -0.150000 0.250000 1.250000 +v -0.150000 2.750000 1.250000 +v -0.135355 0.250000 1.214645 +v -0.135355 2.750000 1.214645 +v -0.100000 0.250000 1.200000 +v -0.100000 2.750000 1.200000 +v -0.064645 0.250000 1.214645 +v -0.064645 2.750000 1.214645 +v -0.050000 0.250000 1.250000 +v -0.050000 2.750000 1.250000 +v -0.064645 0.250000 1.285355 +v -0.064645 2.750000 1.285355 +v -0.100000 0.250000 1.300000 +v -0.100000 2.750000 1.300000 +v -0.135355 0.250000 1.285355 +v -0.135355 2.750000 1.285355 +v -0.150000 2.850000 1.150000 +v -0.135355 2.814644 1.150000 +v -0.100000 2.800000 1.150000 +v -0.064645 2.814644 1.150000 +v -0.050000 2.850000 1.150000 +v -0.064645 2.885355 1.150000 +v -0.100000 2.900000 1.150000 +v -0.135355 2.885355 1.150000 +v -0.135355 2.814644 0.900000 +v -0.150000 2.850000 0.900000 +v -0.100000 2.800000 0.900000 +v -0.064645 2.814644 0.900000 +v -0.050000 2.850000 0.900000 +v -0.064645 2.885355 0.900000 +v -0.100000 2.900000 0.900000 +v -0.135355 2.885355 0.900000 +v -0.350000 0.250000 1.250000 +v -0.350000 4.750000 1.250000 +v -0.335355 0.250000 1.214645 +v -0.335355 4.750000 1.214645 +v -0.300000 0.250000 1.200000 +v -0.300000 4.750000 1.200000 +v -0.264645 0.250000 1.214645 +v -0.264645 4.750000 1.214645 +v -0.250000 0.250000 1.250000 +v -0.250000 4.750000 1.250000 +v -0.264645 0.250000 1.285355 +v -0.264645 4.750000 1.285355 +v -0.300000 0.250000 1.300000 +v -0.300000 4.750000 1.300000 +v -0.335355 0.250000 1.285355 +v -0.335355 4.750000 1.285355 +v -0.350000 4.850000 1.150000 +v -0.335355 4.814644 1.150000 +v -0.300000 4.800000 1.150000 +v -0.264645 4.814644 1.150000 +v -0.250000 4.850000 1.150000 +v -0.264645 4.885355 1.150000 +v -0.300000 4.900000 1.150000 +v -0.335355 4.885355 1.150000 +v -0.335355 4.814644 0.850000 +v -0.350000 4.850000 0.850000 +v -0.300000 4.800000 0.850000 +v -0.264645 4.814644 0.850000 +v -0.250000 4.850000 0.850000 +v -0.264645 4.885355 0.850000 +v -0.300000 4.900000 0.850000 +v -0.335355 4.885355 0.850000 +v 0.250000 0.250000 1.250000 +v 0.250000 6.750000 1.250000 +v 0.264645 0.250000 1.214645 +v 0.264645 6.750000 1.214645 +v 0.300000 0.250000 1.200000 +v 0.300000 6.750000 1.200000 +v 0.335355 0.250000 1.214645 +v 0.335355 6.750000 1.214645 +v 0.350000 0.250000 1.250000 +v 0.350000 6.750000 1.250000 +v 0.335355 0.250000 1.285355 +v 0.335355 6.750000 1.285355 +v 0.300000 0.250000 1.300000 +v 0.300000 6.750000 1.300000 +v 0.264645 0.250000 1.285355 +v 0.264645 6.750000 1.285355 +v 0.250000 6.850000 1.150000 +v 0.264645 6.814644 1.150000 +v 0.300000 6.800000 1.150000 +v 0.335355 6.814644 1.150000 +v 0.350000 6.850000 1.150000 +v 0.335355 6.885355 1.150000 +v 0.300000 6.900000 1.150000 +v 0.264645 6.885355 1.150000 +v 0.264645 6.814644 0.850000 +v 0.250000 6.850000 0.850000 +v 0.300000 6.800000 0.850000 +v 0.335355 6.814644 0.850000 +v 0.350000 6.850000 0.850000 +v 0.335355 6.885355 0.850000 +v 0.300000 6.900000 0.850000 +v 0.264645 6.885355 0.850000 +v -1.250000 0.250000 0.050000 +v -1.250000 8.750000 0.050000 +v -1.214645 0.250000 0.064645 +v -1.214645 8.750000 0.064645 +v -1.200000 0.250000 0.100000 +v -1.200000 8.750000 0.100000 +v -1.214645 0.250000 0.135355 +v -1.214645 8.750000 0.135355 +v -1.250000 0.250000 0.150000 +v -1.250000 8.750000 0.150000 +v -1.285355 0.250000 0.135355 +v -1.285355 8.750000 0.135355 +v -1.300000 0.250000 0.100000 +v -1.300000 8.750000 0.100000 +v -1.285355 0.250000 0.064645 +v -1.285355 8.750000 0.064645 +v -1.150000 8.850000 0.050000 +v -1.150000 8.814644 0.064645 +v -1.150000 8.799999 0.100000 +v -1.150000 8.814644 0.135355 +v -1.150000 8.850000 0.150000 +v -1.150000 8.885355 0.135355 +v -1.150000 8.900000 0.100000 +v -1.150000 8.885355 0.064645 +v -0.900000 8.814644 0.064645 +v -0.900000 8.850000 0.050000 +v -0.900000 8.799999 0.100000 +v -0.900000 8.814644 0.135355 +v -0.900000 8.850000 0.150000 +v -0.900000 8.885355 0.135355 +v -0.900000 8.900000 0.100000 +v -0.900000 8.885355 0.064645 +v -1.250000 0.250000 -0.150000 +v -1.250000 2.750000 -0.150000 +v -1.214645 0.250000 -0.135355 +v -1.214645 2.750000 -0.135355 +v -1.200000 0.250000 -0.100000 +v -1.200000 2.750000 -0.100000 +v -1.214645 0.250000 -0.064645 +v -1.214645 2.750000 -0.064645 +v -1.250000 0.250000 -0.050000 +v -1.250000 2.750000 -0.050000 +v -1.285355 0.250000 -0.064645 +v -1.285355 2.750000 -0.064645 +v -1.300000 0.250000 -0.100000 +v -1.300000 2.750000 -0.100000 +v -1.285355 0.250000 -0.135355 +v -1.285355 2.750000 -0.135355 +v -1.150000 2.850000 -0.150000 +v -1.150000 2.814644 -0.135355 +v -1.150000 2.800000 -0.100000 +v -1.150000 2.814644 -0.064645 +v -1.150000 2.850000 -0.050000 +v -1.150000 2.885355 -0.064645 +v -1.150000 2.900000 -0.100000 +v -1.150000 2.885355 -0.135355 +v -0.900000 2.814644 -0.135355 +v -0.900000 2.850000 -0.150000 +v -0.900000 2.800000 -0.100000 +v -0.900000 2.814644 -0.064645 +v -0.900000 2.850000 -0.050000 +v -0.900000 2.885355 -0.064645 +v -0.900000 2.900000 -0.100000 +v -0.900000 2.885355 -0.135355 +v -1.250000 0.250000 -0.350000 +v -1.250000 4.750000 -0.350000 +v -1.214645 0.250000 -0.335355 +v -1.214645 4.750000 -0.335355 +v -1.200000 0.250000 -0.300000 +v -1.200000 4.750000 -0.300000 +v -1.214645 0.250000 -0.264645 +v -1.214645 4.750000 -0.264645 +v -1.250000 0.250000 -0.250000 +v -1.250000 4.750000 -0.250000 +v -1.285355 0.250000 -0.264645 +v -1.285355 4.750000 -0.264645 +v -1.300000 0.250000 -0.300000 +v -1.300000 4.750000 -0.300000 +v -1.285355 0.250000 -0.335355 +v -1.285355 4.750000 -0.335355 +v -1.150000 4.850000 -0.350000 +v -1.150000 4.814644 -0.335355 +v -1.150000 4.800000 -0.300000 +v -1.150000 4.814644 -0.264645 +v -1.150000 4.850000 -0.250000 +v -1.150000 4.885355 -0.264645 +v -1.150000 4.900000 -0.300000 +v -1.150000 4.885355 -0.335355 +v -0.850000 4.814644 -0.335355 +v -0.850000 4.850000 -0.350000 +v -0.850000 4.800000 -0.300000 +v -0.850000 4.814644 -0.264645 +v -0.850000 4.850000 -0.250000 +v -0.850000 4.885355 -0.264645 +v -0.850000 4.900000 -0.300000 +v -0.850000 4.885355 -0.335355 +v -1.250000 0.250000 0.250000 +v -1.250000 6.750000 0.250000 +v -1.214645 0.250000 0.264645 +v -1.214645 6.750000 0.264645 +v -1.200000 0.250000 0.300000 +v -1.200000 6.750000 0.300000 +v -1.214645 0.250000 0.335355 +v -1.214645 6.750000 0.335355 +v -1.250000 0.250000 0.350000 +v -1.250000 6.750000 0.350000 +v -1.285355 0.250000 0.335355 +v -1.285355 6.750000 0.335355 +v -1.300000 0.250000 0.300000 +v -1.300000 6.750000 0.300000 +v -1.285355 0.250000 0.264645 +v -1.285355 6.750000 0.264645 +v -1.150000 6.850000 0.250000 +v -1.150000 6.814644 0.264645 +v -1.150000 6.800000 0.300000 +v -1.150000 6.814644 0.335355 +v -1.150000 6.850000 0.350000 +v -1.150000 6.885355 0.335355 +v -1.150000 6.900000 0.300000 +v -1.150000 6.885355 0.264645 +v -0.850000 6.814644 0.264645 +v -0.850000 6.850000 0.250000 +v -0.850000 6.800000 0.300000 +v -0.850000 6.814644 0.335355 +v -0.850000 6.850000 0.350000 +v -0.850000 6.885355 0.335355 +v -0.850000 6.900000 0.300000 +v -0.850000 6.885355 0.264645 +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.000000 1.000000 +v 1.000000 1.000000 1.000000 +v -1.000000 1.000000 -1.000000 +v 1.000000 1.000000 -1.000000 +v -1.500000 0.343750 -0.843750 +v -1.500000 0.656250 -0.843750 +v -1.500000 0.343750 -1.156250 +v -1.500000 0.656250 -1.156250 +v -1.150000 0.343750 -0.843750 +v -1.150000 0.656250 -0.843750 +v -1.150000 0.343750 -1.156250 +v -1.150000 0.656250 -1.156250 +v -1.500000 0.343750 1.156250 +v -1.500000 0.656250 1.156250 +v -1.500000 0.343750 0.843750 +v -1.500000 0.656250 0.843750 +v -1.150000 0.343750 1.156250 +v -1.150000 0.656250 1.156250 +v -1.150000 0.343750 0.843750 +v -1.150000 0.656250 0.843750 +v 1.150000 0.343750 1.156250 +v 1.150000 0.656250 1.156250 +v 1.150000 0.343750 0.843750 +v 1.150000 0.656250 0.843750 +v 1.500000 0.343750 1.156250 +v 1.500000 0.656250 1.156250 +v 1.500000 0.343750 0.843750 +v 1.500000 0.656250 0.843750 +v 1.150000 0.343750 -0.843750 +v 1.150000 0.656250 -0.843750 +v 1.150000 0.343750 -1.156250 +v 1.150000 0.656250 -1.156250 +v 1.500000 0.343750 -0.843750 +v 1.500000 0.656250 -0.843750 +v 1.500000 0.343750 -1.156250 +v 1.500000 0.656250 -1.156250 +v -0.843750 0.343750 1.500000 +v -0.843750 0.656250 1.500000 +v -1.156250 0.343750 1.500000 +v -1.156250 0.656250 1.500000 +v -0.843750 0.343750 1.150000 +v -0.843750 0.656250 1.150000 +v -1.156250 0.343750 1.150000 +v -1.156250 0.656250 1.150000 +v 1.156250 0.343750 1.500000 +v 1.156250 0.656250 1.500000 +v 0.843750 0.343750 1.500000 +v 0.843750 0.656250 1.500000 +v 1.156250 0.343750 1.150000 +v 1.156250 0.656250 1.150000 +v 0.843750 0.343750 1.150000 +v 0.843750 0.656250 1.150000 +v 1.156250 0.343750 -1.150000 +v 1.156250 0.656250 -1.150000 +v 0.843750 0.343750 -1.150000 +v 0.843750 0.656250 -1.150000 +v 1.156250 0.343750 -1.500000 +v 1.156250 0.656250 -1.500000 +v 0.843750 0.343750 -1.500000 +v 0.843750 0.656250 -1.500000 +v -0.843750 0.343750 -1.150000 +v -0.843750 0.656250 -1.150000 +v -1.156250 0.343750 -1.150000 +v -1.156250 0.656250 -1.150000 +v -0.843750 0.343750 -1.500000 +v -0.843750 0.656250 -1.500000 +v -1.156250 0.343750 -1.500000 +v -1.156250 0.656250 -1.500000 +v 0.000000 1.000000 -0.950000 +v -0.475000 1.000000 -0.822724 +v -0.822724 1.000000 -0.475000 +v -0.950000 1.000000 0.000000 +v -0.822724 1.000000 0.475000 +v -0.475000 1.000000 0.822724 +v -0.000000 1.000000 0.950000 +v 0.475000 1.000000 0.822724 +v 0.822724 1.000000 0.475000 +v 0.950000 1.000000 0.000000 +v 0.822724 1.000000 -0.475000 +v 0.475001 1.000000 -0.822724 +v -0.475000 2.950000 -0.822724 +v 0.000000 2.950000 -0.950000 +v -0.822724 2.950000 -0.475000 +v -0.950000 2.950000 0.000000 +v -0.822724 2.950000 0.475000 +v -0.475000 2.950000 0.822724 +v 0.000000 2.950000 0.950000 +v 0.475000 2.950000 0.822724 +v 0.822724 2.950000 0.475000 +v 0.950000 2.950000 0.000000 +v 0.822725 2.950000 -0.475000 +v 0.475001 2.950000 -0.822724 +v -0.486875 2.950000 -0.843292 +v 0.000000 2.950000 -0.973750 +v -0.843292 2.950000 -0.486875 +v -0.973750 2.950000 0.000000 +v -0.843292 2.950000 0.486875 +v -0.486875 2.950000 0.843292 +v 0.000000 2.950000 0.973750 +v 0.486875 2.950000 0.843292 +v 0.843292 2.950000 0.486875 +v 0.973750 2.950000 0.000000 +v 0.843293 2.950000 -0.486875 +v 0.486876 2.950000 -0.843292 +v -0.486875 3.000000 -0.843292 +v 0.000000 3.000000 -0.973750 +v -0.843292 3.000000 -0.486875 +v -0.973750 3.000000 0.000000 +v -0.843292 3.000000 0.486875 +v -0.486875 3.000000 0.843292 +v 0.000000 3.000000 0.973750 +v 0.486875 3.000000 0.843292 +v 0.843292 3.000000 0.486875 +v 0.973750 3.000000 0.000000 +v 0.843293 3.000000 -0.486875 +v 0.486876 3.000000 -0.843292 +v 0.000000 3.000000 -0.950000 +v -0.475000 3.000000 -0.822724 +v -0.822724 3.000000 -0.475000 +v -0.950000 3.000000 0.000000 +v -0.822724 3.000000 0.475000 +v -0.475000 3.000000 0.822724 +v -0.000000 3.000000 0.950000 +v 0.475000 3.000000 0.822724 +v 0.822724 3.000000 0.475000 +v 0.950000 3.000000 0.000000 +v 0.822724 3.000000 -0.475000 +v 0.475001 3.000000 -0.822724 +v -0.475000 4.950000 -0.822724 +v 0.000000 4.950000 -0.950000 +v -0.822724 4.950000 -0.475000 +v -0.950000 4.950000 0.000000 +v -0.822724 4.950000 0.475000 +v -0.475000 4.950000 0.822724 +v 0.000000 4.950000 0.950000 +v 0.475000 4.950000 0.822724 +v 0.822724 4.950000 0.475000 +v 0.950000 4.950000 0.000000 +v 0.822725 4.950000 -0.475000 +v 0.475001 4.950000 -0.822724 +v -0.486875 4.950000 -0.843292 +v 0.000000 4.950000 -0.973750 +v -0.843292 4.950000 -0.486875 +v -0.973750 4.950000 0.000000 +v -0.843292 4.950000 0.486875 +v -0.486875 4.950000 0.843292 +v 0.000000 4.950000 0.973750 +v 0.486875 4.950000 0.843292 +v 0.843292 4.950000 0.486875 +v 0.973750 4.950000 0.000000 +v 0.843293 4.950000 -0.486875 +v 0.486876 4.950000 -0.843292 +v -0.486875 5.000000 -0.843292 +v 0.000000 5.000000 -0.973750 +v -0.843292 5.000000 -0.486875 +v -0.973750 5.000000 0.000000 +v -0.843292 5.000000 0.486875 +v -0.486875 5.000000 0.843292 +v 0.000000 5.000000 0.973750 +v 0.486875 5.000000 0.843292 +v 0.843292 5.000000 0.486875 +v 0.973750 5.000000 0.000000 +v 0.843293 5.000000 -0.486875 +v 0.486876 5.000000 -0.843292 +v 0.000000 5.000000 -0.950000 +v -0.475000 5.000000 -0.822724 +v -0.822724 5.000000 -0.475000 +v -0.950000 5.000000 0.000000 +v -0.822724 5.000000 0.475000 +v -0.475000 5.000000 0.822724 +v -0.000000 5.000000 0.950000 +v 0.475000 5.000000 0.822724 +v 0.822724 5.000000 0.475000 +v 0.950000 5.000000 0.000000 +v 0.822724 5.000000 -0.475000 +v 0.475001 5.000000 -0.822724 +v -0.475000 6.950000 -0.822724 +v 0.000000 6.950000 -0.950000 +v -0.822724 6.950000 -0.475000 +v -0.950000 6.950000 0.000000 +v -0.822724 6.950000 0.475000 +v -0.475000 6.950000 0.822724 +v 0.000000 6.950000 0.950000 +v 0.475000 6.950000 0.822724 +v 0.822724 6.950000 0.475000 +v 0.950000 6.950000 0.000000 +v 0.822725 6.950000 -0.475000 +v 0.475001 6.950000 -0.822724 +v -0.486875 6.950000 -0.843292 +v 0.000000 6.950000 -0.973750 +v -0.843292 6.950000 -0.486875 +v -0.973750 6.950000 0.000000 +v -0.843292 6.950000 0.486875 +v -0.486875 6.950000 0.843292 +v 0.000000 6.950000 0.973750 +v 0.486875 6.950000 0.843292 +v 0.843292 6.950000 0.486875 +v 0.973750 6.950000 0.000000 +v 0.843293 6.950000 -0.486875 +v 0.486876 6.950000 -0.843292 +v -0.486875 7.000000 -0.843292 +v 0.000000 7.000000 -0.973750 +v -0.843292 7.000000 -0.486875 +v -0.973750 7.000000 0.000000 +v -0.843292 7.000000 0.486875 +v -0.486875 7.000000 0.843292 +v 0.000000 7.000000 0.973750 +v 0.486875 7.000000 0.843292 +v 0.843292 7.000000 0.486875 +v 0.973750 7.000000 0.000000 +v 0.843293 7.000000 -0.486875 +v 0.486876 7.000000 -0.843292 +v 0.000000 7.000000 -0.950000 +v -0.475000 7.000000 -0.822724 +v -0.822724 7.000000 -0.475000 +v -0.950000 7.000000 0.000000 +v -0.822724 7.000000 0.475000 +v -0.475000 7.000000 0.822724 +v -0.000000 7.000000 0.950000 +v 0.475000 7.000000 0.822724 +v 0.822724 7.000000 0.475000 +v 0.950000 7.000000 0.000000 +v 0.822724 7.000000 -0.475000 +v 0.475001 7.000000 -0.822724 +v -0.475000 8.950000 -0.822724 +v 0.000000 8.950000 -0.950000 +v -0.822724 8.950000 -0.475000 +v -0.950000 8.950000 0.000000 +v -0.822724 8.950000 0.475000 +v -0.475000 8.950000 0.822724 +v 0.000000 8.950000 0.950000 +v 0.475000 8.950000 0.822724 +v 0.822724 8.950000 0.475000 +v 0.950000 8.950000 0.000000 +v 0.822725 8.950000 -0.475000 +v 0.475001 8.950000 -0.822724 +v -0.486875 8.950000 -0.843292 +v 0.000000 8.950000 -0.973750 +v -0.843292 8.950000 -0.486875 +v -0.973750 8.950000 0.000000 +v -0.843292 8.950000 0.486875 +v -0.486875 8.950000 0.843292 +v 0.000000 8.950000 0.973750 +v 0.486875 8.950000 0.843292 +v 0.843292 8.950000 0.486875 +v 0.973750 8.950000 0.000000 +v 0.843293 8.950000 -0.486875 +v 0.486876 8.950000 -0.843292 +v -0.486875 9.000000 -0.843292 +v 0.000000 9.000000 -0.973750 +v -0.843292 9.000000 -0.486875 +v -0.973750 9.000000 0.000000 +v -0.843292 9.000000 0.486875 +v -0.486875 9.000000 0.843292 +v 0.000000 9.000000 0.973750 +v 0.486875 9.000000 0.843292 +v 0.843292 9.000000 0.486875 +v 0.973750 9.000000 0.000000 +v 0.843293 9.000000 -0.486875 +v 0.486876 9.000000 -0.843292 +v -1.000000 1.000000 0.000000 +v 0.000000 1.000000 1.000000 +v 1.000000 1.000000 0.000000 +v 0.000000 1.000000 -1.000000 +v -0.237500 9.000000 -0.411362 +v 0.000000 9.000000 -0.475000 +v -0.411362 9.000000 -0.237500 +v -0.475000 9.000000 0.000000 +v -0.411362 9.000000 0.237500 +v -0.237500 9.000000 0.411362 +v 0.000000 9.000000 0.475000 +v 0.237500 9.000000 0.411362 +v 0.411362 9.000000 0.237500 +v 0.475000 9.000000 0.000000 +v 0.411362 9.000000 -0.237500 +v 0.237500 9.000000 -0.411362 +v -0.237500 9.400000 -0.411362 +v 0.000000 9.400000 -0.475000 +v -0.411362 9.400000 -0.237500 +v -0.475000 9.400000 0.000000 +v -0.411362 9.400000 0.237500 +v -0.237500 9.400000 0.411362 +v 0.000000 9.400000 0.475000 +v 0.237500 9.400000 0.411362 +v 0.411362 9.400000 0.237500 +v 0.475000 9.400000 0.000000 +v 0.411363 9.400000 -0.237500 +v 0.237501 9.400000 -0.411362 +v -0.178125 9.500000 -0.308521 +v 0.000000 9.500000 -0.356250 +v -0.308521 9.500000 -0.178125 +v -0.356250 9.500000 0.000000 +v -0.308521 9.500000 0.178125 +v -0.178125 9.500000 0.308522 +v 0.000000 9.500000 0.356250 +v 0.178125 9.500000 0.308522 +v 0.308522 9.500000 0.178125 +v 0.356250 9.500000 0.000000 +v 0.308522 9.500000 -0.178125 +v 0.178126 9.500000 -0.308521 +vt 0.820131 0.273110 +vt 0.815679 0.273147 +vt 0.815679 0.018053 +vt 0.811227 0.273183 +vt 0.811227 0.018089 +vt 0.846843 0.272893 +vt 0.842391 0.272929 +vt 0.842391 0.017835 +vt 0.837939 0.272965 +vt 0.837939 0.017871 +vt 0.833487 0.273001 +vt 0.833487 0.017908 +vt 0.829035 0.273038 +vt 0.829035 0.017944 +vt 0.824583 0.273074 +vt 0.820131 0.018016 +vt 0.824583 0.017980 +vt 0.685345 0.850994 +vt 0.682931 0.850998 +vt 0.682982 0.712661 +vt 0.972740 0.425247 +vt 0.970563 0.425859 +vt 0.970563 0.420457 +vt 0.968851 0.427337 +vt 0.968851 0.418980 +vt 0.967139 0.428814 +vt 0.967139 0.417503 +vt 0.964962 0.429426 +vt 0.959362 0.425859 +vt 0.957185 0.425247 +vt 0.957185 0.421069 +vt 0.961074 0.418980 +vt 0.961074 0.427337 +vt 0.962785 0.428814 +vt 0.964962 0.416891 +vt 0.943392 0.662494 +vt 0.928620 0.662494 +vt 0.928620 0.660233 +vt 0.680516 0.851002 +vt 0.680568 0.712665 +vt 0.943392 0.667017 +vt 0.928620 0.667017 +vt 0.928620 0.664756 +vt 0.943392 0.671539 +vt 0.928620 0.671539 +vt 0.928620 0.669278 +vt 0.943392 0.657972 +vt 0.928620 0.657972 +vt 0.928620 0.655711 +vt 0.943392 0.660233 +vt 0.943392 0.664756 +vt 0.943392 0.669278 +vt 0.943392 0.655711 +vt 0.928620 0.653449 +vt 0.699833 0.850970 +vt 0.697418 0.850974 +vt 0.697470 0.712637 +vt 0.695004 0.850978 +vt 0.695055 0.712641 +vt 0.692589 0.850982 +vt 0.692640 0.712645 +vt 0.690174 0.850986 +vt 0.690226 0.712649 +vt 0.687760 0.850990 +vt 0.685397 0.712657 +vt 0.687811 0.712653 +vt 0.889209 0.962108 +vt 0.889209 0.966286 +vt 0.887032 0.966898 +vt 0.887032 0.961496 +vt 0.885320 0.968375 +vt 0.885320 0.960019 +vt 0.883608 0.969852 +vt 0.881431 0.970464 +vt 0.881431 0.957930 +vt 0.875830 0.966898 +vt 0.873654 0.966286 +vt 0.873654 0.962108 +vt 0.877542 0.968375 +vt 0.875830 0.961496 +vt 0.879254 0.958541 +vt 0.879254 0.969852 +vt 0.622632 0.943054 +vt 0.607860 0.943054 +vt 0.607860 0.940793 +vt 0.622632 0.947576 +vt 0.607860 0.947576 +vt 0.607860 0.945315 +vt 0.622632 0.952099 +vt 0.607860 0.952099 +vt 0.607860 0.949837 +vt 0.622632 0.938531 +vt 0.607860 0.938531 +vt 0.607860 0.936270 +vt 0.622632 0.940793 +vt 0.622632 0.945315 +vt 0.622632 0.949838 +vt 0.622632 0.936270 +vt 0.607860 0.934009 +vt 0.563969 0.898368 +vt 0.560730 0.898390 +vt 0.560730 0.712784 +vt 0.557491 0.898411 +vt 0.557491 0.712806 +vt 0.583406 0.898239 +vt 0.580166 0.898260 +vt 0.580166 0.712655 +vt 0.576927 0.898282 +vt 0.576927 0.712676 +vt 0.573687 0.898304 +vt 0.573687 0.712698 +vt 0.570448 0.898325 +vt 0.570448 0.712720 +vt 0.567209 0.898347 +vt 0.563969 0.712763 +vt 0.567209 0.712741 +vt 0.972740 0.517333 +vt 0.972740 0.521512 +vt 0.970563 0.522123 +vt 0.970563 0.516722 +vt 0.968851 0.523601 +vt 0.968851 0.515244 +vt 0.967139 0.525078 +vt 0.964962 0.525690 +vt 0.964962 0.513155 +vt 0.959362 0.516722 +vt 0.959362 0.522124 +vt 0.957185 0.521512 +vt 0.961073 0.515244 +vt 0.961074 0.523601 +vt 0.962785 0.525078 +vt 0.962785 0.513767 +vt 0.466902 0.933063 +vt 0.449176 0.933063 +vt 0.449176 0.930802 +vt 0.466902 0.937585 +vt 0.449176 0.937585 +vt 0.449176 0.935324 +vt 0.466902 0.942108 +vt 0.449176 0.942108 +vt 0.449176 0.939846 +vt 0.466902 0.928541 +vt 0.449176 0.928541 +vt 0.449176 0.926279 +vt 0.466902 0.930802 +vt 0.466902 0.935324 +vt 0.466902 0.939846 +vt 0.466902 0.926279 +vt 0.449176 0.924018 +vt 0.747799 0.823007 +vt 0.743906 0.823036 +vt 0.743983 0.599963 +vt 0.740013 0.823064 +vt 0.740090 0.599992 +vt 0.771158 0.822834 +vt 0.767265 0.822863 +vt 0.767342 0.599791 +vt 0.763372 0.822892 +vt 0.763449 0.599820 +vt 0.759479 0.822921 +vt 0.759556 0.599848 +vt 0.755586 0.822949 +vt 0.755663 0.599877 +vt 0.751692 0.822978 +vt 0.747876 0.599935 +vt 0.751769 0.599906 +vt 0.972740 0.473380 +vt 0.970563 0.473991 +vt 0.970563 0.468589 +vt 0.968851 0.475469 +vt 0.967139 0.476946 +vt 0.967139 0.465635 +vt 0.964962 0.477558 +vt 0.959362 0.473991 +vt 0.957185 0.473380 +vt 0.957185 0.469201 +vt 0.961073 0.475469 +vt 0.959362 0.468590 +vt 0.962785 0.476946 +vt 0.961073 0.467112 +vt 0.964962 0.465023 +vt 0.698242 0.895644 +vt 0.680516 0.895644 +vt 0.680516 0.893383 +vt 0.698242 0.900167 +vt 0.680516 0.900167 +vt 0.680516 0.897905 +vt 0.698242 0.904689 +vt 0.680516 0.904689 +vt 0.680516 0.902428 +vt 0.698242 0.891122 +vt 0.680516 0.891122 +vt 0.680516 0.888861 +vt 0.698242 0.893383 +vt 0.698242 0.897905 +vt 0.698242 0.902428 +vt 0.698242 0.888861 +vt 0.680516 0.886599 +vt 0.748917 0.273110 +vt 0.744465 0.273147 +vt 0.744465 0.018053 +vt 0.740013 0.273183 +vt 0.740013 0.018089 +vt 0.775629 0.272893 +vt 0.771177 0.272929 +vt 0.771177 0.017835 +vt 0.766725 0.272965 +vt 0.766725 0.017871 +vt 0.762273 0.273001 +vt 0.762273 0.017908 +vt 0.757821 0.273038 +vt 0.757821 0.017944 +vt 0.753369 0.273074 +vt 0.748917 0.018016 +vt 0.753369 0.017980 +vt 0.887270 0.330131 +vt 0.884856 0.330136 +vt 0.884856 0.191799 +vt 0.945712 0.312161 +vt 0.941534 0.312161 +vt 0.940922 0.309984 +vt 0.946324 0.309984 +vt 0.939444 0.308272 +vt 0.937967 0.306560 +vt 0.949278 0.306560 +vt 0.937355 0.304383 +vt 0.949890 0.304383 +vt 0.940922 0.298782 +vt 0.941534 0.296605 +vt 0.945712 0.296605 +vt 0.947801 0.300494 +vt 0.939444 0.300494 +vt 0.949278 0.302206 +vt 0.937967 0.302206 +vt 0.943392 0.716182 +vt 0.928620 0.716182 +vt 0.928620 0.713920 +vt 0.882441 0.330140 +vt 0.882441 0.191804 +vt 0.943392 0.720704 +vt 0.928620 0.720704 +vt 0.928620 0.718443 +vt 0.943392 0.725226 +vt 0.928620 0.725226 +vt 0.928620 0.722965 +vt 0.943392 0.711659 +vt 0.928620 0.711659 +vt 0.928620 0.709398 +vt 0.943392 0.713920 +vt 0.943392 0.718443 +vt 0.943392 0.722965 +vt 0.943392 0.709398 +vt 0.928620 0.707137 +vt 0.901758 0.330101 +vt 0.899343 0.330106 +vt 0.899343 0.191770 +vt 0.896929 0.330111 +vt 0.896929 0.191775 +vt 0.894514 0.330116 +vt 0.894514 0.191779 +vt 0.892099 0.330121 +vt 0.892099 0.191784 +vt 0.889685 0.330126 +vt 0.887270 0.191794 +vt 0.889685 0.191789 +vt 0.940362 0.962108 +vt 0.940362 0.966286 +vt 0.938185 0.966898 +vt 0.936473 0.968375 +vt 0.936473 0.960019 +vt 0.934761 0.969852 +vt 0.934761 0.958541 +vt 0.932584 0.970464 +vt 0.926984 0.966898 +vt 0.924807 0.966286 +vt 0.924807 0.962108 +vt 0.928695 0.968375 +vt 0.926984 0.961496 +vt 0.930407 0.969852 +vt 0.928696 0.960019 +vt 0.930407 0.958541 +vt 0.572263 0.943054 +vt 0.557491 0.943054 +vt 0.557491 0.940793 +vt 0.572263 0.947576 +vt 0.557491 0.947576 +vt 0.557491 0.945315 +vt 0.572263 0.952099 +vt 0.557491 0.952099 +vt 0.557491 0.949838 +vt 0.572263 0.938531 +vt 0.557491 0.938532 +vt 0.557491 0.936270 +vt 0.572263 0.940793 +vt 0.572263 0.945315 +vt 0.572263 0.949838 +vt 0.572263 0.936270 +vt 0.557491 0.934009 +vt 0.621461 0.532953 +vt 0.618221 0.532974 +vt 0.618221 0.347369 +vt 0.614982 0.532996 +vt 0.614982 0.347390 +vt 0.640897 0.532823 +vt 0.637658 0.532845 +vt 0.637658 0.347239 +vt 0.634418 0.532867 +vt 0.634418 0.347261 +vt 0.631179 0.532888 +vt 0.631179 0.347282 +vt 0.627940 0.532910 +vt 0.627940 0.347304 +vt 0.624700 0.532931 +vt 0.621461 0.347347 +vt 0.624700 0.347326 +vt 0.956754 0.840436 +vt 0.952575 0.840436 +vt 0.951964 0.838260 +vt 0.957365 0.838260 +vt 0.950486 0.836548 +vt 0.958843 0.836548 +vt 0.949009 0.834836 +vt 0.948397 0.832659 +vt 0.960932 0.832659 +vt 0.951963 0.827058 +vt 0.952575 0.824881 +vt 0.956754 0.824881 +vt 0.950486 0.828770 +vt 0.957365 0.827058 +vt 0.960320 0.830482 +vt 0.949009 0.830482 +vt 0.291677 0.925024 +vt 0.273950 0.925024 +vt 0.273950 0.922763 +vt 0.291677 0.927286 +vt 0.291677 0.929547 +vt 0.273950 0.929547 +vt 0.291677 0.934069 +vt 0.273950 0.934069 +vt 0.273950 0.931808 +vt 0.291677 0.920502 +vt 0.273950 0.920502 +vt 0.273950 0.918241 +vt 0.291677 0.922763 +vt 0.273950 0.927286 +vt 0.291677 0.931808 +vt 0.291677 0.918241 +vt 0.273950 0.915980 +vt 0.814620 0.823007 +vt 0.810726 0.823036 +vt 0.810803 0.599963 +vt 0.806833 0.823064 +vt 0.806910 0.599992 +vt 0.837979 0.822834 +vt 0.834086 0.822863 +vt 0.834163 0.599791 +vt 0.830193 0.822892 +vt 0.830270 0.599820 +vt 0.826299 0.822921 +vt 0.826376 0.599848 +vt 0.822406 0.822949 +vt 0.822483 0.599877 +vt 0.818513 0.822978 +vt 0.814697 0.599935 +vt 0.818590 0.599906 +vt 0.952962 0.070109 +vt 0.952962 0.074287 +vt 0.950785 0.074899 +vt 0.950785 0.069497 +vt 0.949073 0.076376 +vt 0.949074 0.068020 +vt 0.947362 0.077854 +vt 0.947362 0.066543 +vt 0.945185 0.078465 +vt 0.939584 0.074899 +vt 0.937407 0.074287 +vt 0.937407 0.070109 +vt 0.941296 0.076376 +vt 0.939584 0.069497 +vt 0.943008 0.077854 +vt 0.941296 0.068020 +vt 0.943008 0.066543 +vt 0.520226 0.933063 +vt 0.502500 0.933063 +vt 0.502500 0.930802 +vt 0.520226 0.935324 +vt 0.520226 0.937585 +vt 0.502500 0.937585 +vt 0.520226 0.942108 +vt 0.502500 0.942108 +vt 0.502500 0.939846 +vt 0.520226 0.928541 +vt 0.502500 0.928541 +vt 0.502500 0.926279 +vt 0.520226 0.930802 +vt 0.502500 0.935324 +vt 0.520226 0.939847 +vt 0.520226 0.926279 +vt 0.502500 0.924018 +vt 0.820131 0.564092 +vt 0.815679 0.564128 +vt 0.815679 0.309034 +vt 0.811227 0.564164 +vt 0.811227 0.309071 +vt 0.846843 0.563874 +vt 0.842391 0.563910 +vt 0.842391 0.308817 +vt 0.837939 0.563947 +vt 0.837939 0.308853 +vt 0.833487 0.563983 +vt 0.833487 0.308889 +vt 0.829035 0.564019 +vt 0.829035 0.308926 +vt 0.824583 0.564056 +vt 0.820131 0.308998 +vt 0.824583 0.308962 +vt 0.878483 0.738122 +vt 0.876068 0.738126 +vt 0.876120 0.599790 +vt 0.945712 0.245452 +vt 0.946324 0.247629 +vt 0.940922 0.247629 +vt 0.947801 0.249341 +vt 0.939445 0.249341 +vt 0.949278 0.251053 +vt 0.937967 0.251053 +vt 0.949890 0.253230 +vt 0.946324 0.258831 +vt 0.945712 0.261008 +vt 0.941534 0.261007 +vt 0.939444 0.257119 +vt 0.947801 0.257119 +vt 0.949278 0.255407 +vt 0.937355 0.253230 +vt 0.740013 0.942451 +vt 0.754785 0.942451 +vt 0.754785 0.944712 +vt 0.873654 0.738130 +vt 0.873705 0.599794 +vt 0.740013 0.937928 +vt 0.754785 0.937928 +vt 0.754785 0.940189 +vt 0.740013 0.933406 +vt 0.754785 0.933406 +vt 0.754785 0.935667 +vt 0.740013 0.946973 +vt 0.754785 0.946973 +vt 0.754785 0.949234 +vt 0.740013 0.944712 +vt 0.740013 0.940189 +vt 0.740013 0.935667 +vt 0.740013 0.949234 +vt 0.754785 0.951495 +vt 0.892970 0.738099 +vt 0.890556 0.738103 +vt 0.890607 0.599766 +vt 0.888141 0.738107 +vt 0.888193 0.599770 +vt 0.885727 0.738111 +vt 0.885778 0.599774 +vt 0.883312 0.738115 +vt 0.883363 0.599778 +vt 0.880897 0.738119 +vt 0.878534 0.599786 +vt 0.880949 0.599782 +vt 0.961363 0.365738 +vt 0.965541 0.365738 +vt 0.966153 0.367915 +vt 0.960751 0.367915 +vt 0.967630 0.369627 +vt 0.959274 0.369627 +vt 0.969107 0.371339 +vt 0.969719 0.373516 +vt 0.957185 0.373516 +vt 0.966153 0.379117 +vt 0.965541 0.381293 +vt 0.961363 0.381293 +vt 0.967630 0.377405 +vt 0.960751 0.379117 +vt 0.969107 0.375693 +vt 0.959274 0.377405 +vt 0.790382 0.942451 +vt 0.805155 0.942451 +vt 0.805155 0.944712 +vt 0.790382 0.937928 +vt 0.805155 0.937928 +vt 0.805155 0.940189 +vt 0.790382 0.935667 +vt 0.790382 0.933406 +vt 0.805155 0.933406 +vt 0.790382 0.949234 +vt 0.790382 0.946973 +vt 0.805155 0.946973 +vt 0.790382 0.944712 +vt 0.790382 0.940189 +vt 0.805155 0.935667 +vt 0.805155 0.949234 +vt 0.805155 0.951495 +vt 0.625482 0.898368 +vt 0.622243 0.898390 +vt 0.622243 0.712784 +vt 0.619003 0.898411 +vt 0.619003 0.712806 +vt 0.644918 0.898239 +vt 0.641679 0.898260 +vt 0.641679 0.712655 +vt 0.638440 0.898282 +vt 0.638440 0.712676 +vt 0.635200 0.898304 +vt 0.635200 0.712698 +vt 0.631961 0.898325 +vt 0.631961 0.712720 +vt 0.628721 0.898347 +vt 0.625482 0.712763 +vt 0.628721 0.712741 +vt 0.956754 0.773728 +vt 0.957365 0.775905 +vt 0.951964 0.775905 +vt 0.958843 0.777617 +vt 0.950486 0.777617 +vt 0.960320 0.779329 +vt 0.960932 0.781506 +vt 0.948397 0.781506 +vt 0.951964 0.787107 +vt 0.957365 0.787107 +vt 0.956754 0.789283 +vt 0.958843 0.785395 +vt 0.960320 0.783683 +vt 0.950486 0.785395 +vt 0.949009 0.783683 +vt 0.151290 0.668797 +vt 0.151291 0.666536 +vt 0.169017 0.666542 +vt 0.151293 0.662013 +vt 0.169019 0.662019 +vt 0.169018 0.664281 +vt 0.151294 0.657491 +vt 0.169021 0.657497 +vt 0.169020 0.659758 +vt 0.151289 0.671058 +vt 0.169016 0.671064 +vt 0.169015 0.673325 +vt 0.169017 0.668803 +vt 0.151292 0.664275 +vt 0.151293 0.659752 +vt 0.151289 0.673319 +vt 0.169014 0.675587 +vt 0.025585 0.880744 +vt 0.021692 0.880774 +vt 0.021694 0.657701 +vt 0.017799 0.880804 +vt 0.017801 0.657732 +vt 0.048945 0.880563 +vt 0.045051 0.880593 +vt 0.045053 0.657521 +vt 0.041158 0.880623 +vt 0.041160 0.657551 +vt 0.037265 0.880653 +vt 0.037267 0.657581 +vt 0.033372 0.880684 +vt 0.033374 0.657611 +vt 0.029478 0.880713 +vt 0.025587 0.657671 +vt 0.029481 0.657641 +vt 0.952962 0.122419 +vt 0.950785 0.123031 +vt 0.950786 0.117629 +vt 0.949074 0.124509 +vt 0.949074 0.116152 +vt 0.947362 0.125986 +vt 0.947362 0.114675 +vt 0.945185 0.126598 +vt 0.939584 0.123031 +vt 0.937407 0.122419 +vt 0.937407 0.118241 +vt 0.941296 0.124509 +vt 0.939584 0.117629 +vt 0.943008 0.125986 +vt 0.941296 0.116152 +vt 0.943008 0.114675 +vt 0.311267 0.666536 +vt 0.328993 0.666536 +vt 0.328993 0.668797 +vt 0.311267 0.662013 +vt 0.328993 0.662013 +vt 0.328993 0.664274 +vt 0.311267 0.657491 +vt 0.328993 0.657491 +vt 0.328993 0.659752 +vt 0.311267 0.671058 +vt 0.328993 0.671058 +vt 0.328993 0.673319 +vt 0.311267 0.668797 +vt 0.311267 0.664275 +vt 0.311267 0.659752 +vt 0.311267 0.673319 +vt 0.328993 0.675581 +vt 0.748917 0.564092 +vt 0.744465 0.564128 +vt 0.744465 0.309034 +vt 0.740013 0.564164 +vt 0.740013 0.309071 +vt 0.775629 0.563874 +vt 0.771177 0.563910 +vt 0.771177 0.308817 +vt 0.766725 0.563947 +vt 0.766725 0.308853 +vt 0.762273 0.563983 +vt 0.762273 0.308889 +vt 0.757821 0.564019 +vt 0.757821 0.308926 +vt 0.753369 0.564056 +vt 0.748917 0.308998 +vt 0.753369 0.308962 +vt 0.887270 0.156159 +vt 0.884856 0.156163 +vt 0.884907 0.017827 +vt 0.696071 0.944465 +vt 0.696071 0.948643 +vt 0.693895 0.949255 +vt 0.692182 0.950732 +vt 0.692183 0.942376 +vt 0.690471 0.952209 +vt 0.690471 0.940899 +vt 0.688294 0.952821 +vt 0.682693 0.949255 +vt 0.680516 0.948643 +vt 0.680516 0.944465 +vt 0.684405 0.942376 +vt 0.684405 0.950732 +vt 0.686117 0.952209 +vt 0.686117 0.940899 +vt 0.928620 0.608807 +vt 0.943392 0.608807 +vt 0.943392 0.611068 +vt 0.882441 0.156167 +vt 0.882493 0.017831 +vt 0.928620 0.604285 +vt 0.943392 0.604284 +vt 0.943392 0.606546 +vt 0.928620 0.599762 +vt 0.943392 0.599762 +vt 0.943392 0.602023 +vt 0.928620 0.613329 +vt 0.943392 0.613329 +vt 0.943392 0.615591 +vt 0.928620 0.611068 +vt 0.928620 0.606546 +vt 0.928620 0.602023 +vt 0.928620 0.615591 +vt 0.943392 0.617852 +vt 0.901758 0.156135 +vt 0.899343 0.156139 +vt 0.899395 0.017803 +vt 0.896929 0.156143 +vt 0.896980 0.017807 +vt 0.894514 0.156147 +vt 0.894566 0.017811 +vt 0.892099 0.156151 +vt 0.892151 0.017815 +vt 0.889685 0.156155 +vt 0.887322 0.017823 +vt 0.889736 0.017819 +vt 0.389987 0.961391 +vt 0.389987 0.965569 +vt 0.387811 0.966181 +vt 0.386099 0.967658 +vt 0.386099 0.959302 +vt 0.384387 0.969135 +vt 0.382210 0.969747 +vt 0.382210 0.957212 +vt 0.376609 0.966181 +vt 0.374432 0.965569 +vt 0.374432 0.961391 +vt 0.378321 0.959301 +vt 0.378321 0.967658 +vt 0.380033 0.969135 +vt 0.380033 0.957824 +vt 0.937355 0.200810 +vt 0.952127 0.200810 +vt 0.952127 0.203071 +vt 0.937355 0.196287 +vt 0.952127 0.196287 +vt 0.952127 0.198548 +vt 0.937355 0.191765 +vt 0.952127 0.191765 +vt 0.952127 0.194026 +vt 0.937355 0.205332 +vt 0.952127 0.205332 +vt 0.952127 0.207593 +vt 0.937355 0.203071 +vt 0.937355 0.198548 +vt 0.937355 0.194026 +vt 0.937355 0.207593 +vt 0.952127 0.209854 +vt 0.682973 0.532953 +vt 0.679734 0.532974 +vt 0.679734 0.347369 +vt 0.676495 0.532996 +vt 0.676495 0.347390 +vt 0.702410 0.532823 +vt 0.699170 0.532845 +vt 0.699170 0.347239 +vt 0.695931 0.532867 +vt 0.695931 0.347261 +vt 0.692692 0.532888 +vt 0.692692 0.347282 +vt 0.689452 0.532910 +vt 0.689452 0.347304 +vt 0.686213 0.532931 +vt 0.682973 0.347347 +vt 0.686213 0.347326 +vt 0.952962 0.021977 +vt 0.952962 0.026155 +vt 0.950785 0.026767 +vt 0.950785 0.021365 +vt 0.949074 0.028244 +vt 0.949073 0.019888 +vt 0.947362 0.029721 +vt 0.945185 0.030333 +vt 0.945185 0.017799 +vt 0.939584 0.026767 +vt 0.937407 0.026155 +vt 0.937407 0.021977 +vt 0.941296 0.028244 +vt 0.939584 0.021365 +vt 0.943008 0.029721 +vt 0.941296 0.019888 +vt 0.257942 0.666536 +vt 0.275669 0.666536 +vt 0.275669 0.668797 +vt 0.257942 0.662013 +vt 0.275669 0.662013 +vt 0.275669 0.664275 +vt 0.257942 0.657491 +vt 0.275669 0.657491 +vt 0.275669 0.659752 +vt 0.257942 0.671058 +vt 0.275669 0.671058 +vt 0.275669 0.673319 +vt 0.257942 0.668797 +vt 0.257942 0.664275 +vt 0.257942 0.659752 +vt 0.257942 0.673319 +vt 0.275669 0.675581 +vt 0.092331 0.880744 +vt 0.088438 0.880774 +vt 0.088438 0.657702 +vt 0.084544 0.880804 +vt 0.084545 0.657732 +vt 0.115690 0.880563 +vt 0.111797 0.880593 +vt 0.111797 0.657521 +vt 0.107904 0.880623 +vt 0.107904 0.657551 +vt 0.104010 0.880654 +vt 0.104011 0.657581 +vt 0.100117 0.880684 +vt 0.100117 0.657611 +vt 0.096224 0.880714 +vt 0.092331 0.657672 +vt 0.096224 0.657641 +vt 0.289506 0.973845 +vt 0.289506 0.978023 +vt 0.287329 0.978635 +vt 0.287329 0.973233 +vt 0.285617 0.980112 +vt 0.283905 0.981589 +vt 0.283905 0.970279 +vt 0.281728 0.982201 +vt 0.276127 0.978635 +vt 0.273950 0.978023 +vt 0.273950 0.973845 +vt 0.277839 0.980112 +vt 0.276127 0.973233 +vt 0.279551 0.970279 +vt 0.279551 0.981589 +vt 0.204618 0.666536 +vt 0.222345 0.666536 +vt 0.222345 0.668797 +vt 0.204618 0.662013 +vt 0.222345 0.662013 +vt 0.222345 0.664274 +vt 0.204618 0.657491 +vt 0.222345 0.657491 +vt 0.222345 0.659752 +vt 0.204618 0.671058 +vt 0.222345 0.671058 +vt 0.222345 0.673319 +vt 0.204618 0.668797 +vt 0.204618 0.664275 +vt 0.204618 0.659752 +vt 0.204618 0.673319 +vt 0.222345 0.675581 +vt 0.873654 0.773728 +vt 0.892119 0.773728 +vt 0.892119 0.792193 +vt 0.210748 0.210748 +vt 0.252530 0.168966 +vt 0.320134 0.194789 +vt 0.127185 0.210748 +vt 0.168966 0.252530 +vt 0.143144 0.320134 +vt 0.127185 0.127185 +vt 0.085403 0.168966 +vt 0.017799 0.143144 +vt 0.210748 0.127185 +vt 0.168966 0.085403 +vt 0.194789 0.017799 +vt 0.374432 0.847755 +vt 0.392897 0.847755 +vt 0.392897 0.866220 +vt 0.413578 0.903150 +vt 0.413578 0.921615 +vt 0.392897 0.921615 +vt 0.392897 0.884685 +vt 0.413578 0.866220 +vt 0.413578 0.847755 +vt 0.392897 0.903150 +vt 0.882441 0.475196 +vt 0.900906 0.475196 +vt 0.900906 0.493661 +vt 0.921587 0.530591 +vt 0.921587 0.549056 +vt 0.900906 0.549056 +vt 0.900906 0.512126 +vt 0.921587 0.493661 +vt 0.921587 0.475196 +vt 0.900906 0.530591 +vt 0.201423 0.934445 +vt 0.219888 0.934445 +vt 0.219888 0.955125 +vt 0.238353 0.915980 +vt 0.238353 0.934445 +vt 0.182958 0.955125 +vt 0.164493 0.955125 +vt 0.164493 0.934445 +vt 0.201423 0.955125 +vt 0.910584 0.901651 +vt 0.929049 0.901651 +vt 0.929049 0.922332 +vt 0.947514 0.883186 +vt 0.947514 0.901651 +vt 0.892119 0.922332 +vt 0.873654 0.922332 +vt 0.873654 0.901651 +vt 0.910584 0.922332 +vt 0.912800 0.829123 +vt 0.912800 0.847588 +vt 0.892119 0.847588 +vt 0.892119 0.810658 +vt 0.912800 0.792193 +vt 0.912800 0.773728 +vt 0.892119 0.829123 +vt 0.882441 0.365738 +vt 0.900906 0.365738 +vt 0.900906 0.384203 +vt 0.921587 0.421133 +vt 0.921587 0.439598 +vt 0.900906 0.439598 +vt 0.900906 0.402668 +vt 0.921587 0.384203 +vt 0.921587 0.365738 +vt 0.900906 0.421133 +vt 0.776943 0.877127 +vt 0.795408 0.877127 +vt 0.795408 0.897808 +vt 0.813873 0.858662 +vt 0.813873 0.877127 +vt 0.758478 0.897808 +vt 0.740013 0.897808 +vt 0.740013 0.877127 +vt 0.776943 0.897808 +vt 0.579384 0.355731 +vt 0.579384 0.532996 +vt 0.402120 0.532996 +vt 0.078760 0.934867 +vt 0.097225 0.934867 +vt 0.097225 0.955548 +vt 0.115690 0.916402 +vt 0.115690 0.934867 +vt 0.060295 0.955548 +vt 0.041830 0.955548 +vt 0.041830 0.934867 +vt 0.078760 0.955548 +vt 0.665933 0.608286 +vt 0.597183 0.677036 +vt 0.572019 0.583122 +vt 0.254206 0.770894 +vt 0.253843 0.769538 +vt 0.283626 0.769538 +vt 0.413845 0.017799 +vt 0.413845 0.133021 +vt 0.384788 0.133021 +vt 0.471959 0.017799 +vt 0.471959 0.133021 +vt 0.442902 0.133021 +vt 0.675358 0.017799 +vt 0.675358 0.133021 +vt 0.646301 0.133021 +vt 0.588187 0.017799 +vt 0.588187 0.133021 +vt 0.559130 0.133021 +vt 0.442902 0.017799 +vt 0.501016 0.017799 +vt 0.501016 0.133021 +vt 0.704415 0.017799 +vt 0.704415 0.133021 +vt 0.617244 0.017799 +vt 0.617244 0.133021 +vt 0.530073 0.017799 +vt 0.530073 0.133021 +vt 0.384788 0.017799 +vt 0.355731 0.133021 +vt 0.646301 0.017799 +vt 0.559130 0.017799 +vt 0.164493 0.769538 +vt 0.164493 0.766584 +vt 0.194276 0.766584 +vt 0.343557 0.770894 +vt 0.343193 0.769538 +vt 0.372977 0.769538 +vt 0.521530 0.770893 +vt 0.492473 0.770893 +vt 0.492110 0.769538 +vt 0.224422 0.770894 +vt 0.224059 0.769538 +vt 0.342830 0.770894 +vt 0.313773 0.770894 +vt 0.313410 0.769538 +vt 0.491747 0.770893 +vt 0.462690 0.770893 +vt 0.462326 0.769538 +vt 0.403123 0.770893 +vt 0.402760 0.769538 +vt 0.432543 0.769538 +vt 0.194639 0.770894 +vt 0.194276 0.769538 +vt 0.283990 0.770894 +vt 0.461963 0.770893 +vt 0.432906 0.770893 +vt 0.402397 0.770893 +vt 0.373340 0.770893 +vt 0.164856 0.770894 +vt 0.254206 0.812157 +vt 0.253843 0.810801 +vt 0.283627 0.810801 +vt 0.253843 0.766584 +vt 0.283626 0.766584 +vt 0.343193 0.766584 +vt 0.372977 0.766584 +vt 0.492110 0.766583 +vt 0.521893 0.766583 +vt 0.224059 0.766584 +vt 0.313410 0.766584 +vt 0.462326 0.766583 +vt 0.402760 0.766584 +vt 0.432543 0.766583 +vt 0.075913 0.506671 +vt 0.075913 0.621893 +vt 0.046856 0.621893 +vt 0.134027 0.506671 +vt 0.134027 0.621893 +vt 0.104970 0.621893 +vt 0.337426 0.506671 +vt 0.337426 0.621893 +vt 0.308369 0.621893 +vt 0.250255 0.506671 +vt 0.250255 0.621893 +vt 0.221198 0.621893 +vt 0.104970 0.506671 +vt 0.163084 0.506671 +vt 0.163084 0.621893 +vt 0.366483 0.506671 +vt 0.366483 0.621893 +vt 0.279312 0.506671 +vt 0.279312 0.621893 +vt 0.192141 0.506671 +vt 0.192141 0.621893 +vt 0.046856 0.506671 +vt 0.017799 0.621893 +vt 0.308369 0.506671 +vt 0.221198 0.506671 +vt 0.164493 0.810801 +vt 0.164493 0.807847 +vt 0.194276 0.807847 +vt 0.343557 0.812157 +vt 0.343194 0.810801 +vt 0.372977 0.810801 +vt 0.521530 0.812157 +vt 0.492473 0.812157 +vt 0.492110 0.810801 +vt 0.224423 0.812157 +vt 0.224060 0.810801 +vt 0.342830 0.812157 +vt 0.313774 0.812157 +vt 0.313410 0.810801 +vt 0.491746 0.812157 +vt 0.462690 0.812157 +vt 0.462326 0.810801 +vt 0.403123 0.812157 +vt 0.402760 0.810801 +vt 0.432543 0.810801 +vt 0.194639 0.812157 +vt 0.194276 0.810801 +vt 0.283990 0.812157 +vt 0.461963 0.812157 +vt 0.432907 0.812157 +vt 0.402397 0.812157 +vt 0.373340 0.812157 +vt 0.164856 0.812157 +vt 0.253843 0.807847 +vt 0.343194 0.807847 +vt 0.372977 0.807847 +vt 0.492110 0.807847 +vt 0.521893 0.807847 +vt 0.224060 0.807847 +vt 0.313410 0.807847 +vt 0.462326 0.807847 +vt 0.402760 0.807847 +vt 0.432543 0.807847 +vt 0.283627 0.807847 +vt 0.254206 0.729630 +vt 0.253843 0.728274 +vt 0.283627 0.728274 +vt 0.075952 0.355751 +vt 0.075913 0.470973 +vt 0.046856 0.470963 +vt 0.134066 0.355771 +vt 0.134027 0.470993 +vt 0.104970 0.470983 +vt 0.337465 0.355842 +vt 0.337426 0.471063 +vt 0.308369 0.471053 +vt 0.250294 0.355811 +vt 0.250255 0.471033 +vt 0.221198 0.471023 +vt 0.105009 0.355761 +vt 0.163123 0.355781 +vt 0.163084 0.471003 +vt 0.366522 0.355852 +vt 0.366482 0.471073 +vt 0.279351 0.355821 +vt 0.279312 0.471043 +vt 0.192180 0.355791 +vt 0.192141 0.471013 +vt 0.046895 0.355741 +vt 0.017799 0.470953 +vt 0.308408 0.355832 +vt 0.221237 0.355801 +vt 0.164493 0.728274 +vt 0.164493 0.725320 +vt 0.194276 0.725320 +vt 0.343557 0.729630 +vt 0.343194 0.728275 +vt 0.372977 0.728275 +vt 0.521530 0.729630 +vt 0.492473 0.729630 +vt 0.492110 0.728275 +vt 0.224423 0.729630 +vt 0.224060 0.728274 +vt 0.342830 0.729630 +vt 0.313774 0.729630 +vt 0.313410 0.728274 +vt 0.491746 0.729630 +vt 0.462690 0.729630 +vt 0.462326 0.728275 +vt 0.403123 0.729630 +vt 0.402760 0.728275 +vt 0.432543 0.728275 +vt 0.194639 0.729630 +vt 0.194276 0.728274 +vt 0.283990 0.729630 +vt 0.461963 0.729630 +vt 0.432907 0.729630 +vt 0.402397 0.729630 +vt 0.373340 0.729630 +vt 0.164856 0.729630 +vt 0.253843 0.725320 +vt 0.283627 0.725320 +vt 0.343194 0.725320 +vt 0.372977 0.725320 +vt 0.492110 0.725320 +vt 0.521893 0.725320 +vt 0.224060 0.725320 +vt 0.313410 0.725320 +vt 0.462326 0.725320 +vt 0.402760 0.725320 +vt 0.432543 0.725320 +vt 0.402120 0.613952 +vt 0.403475 0.613588 +vt 0.403475 0.643372 +vt 0.413845 0.168618 +vt 0.413845 0.283840 +vt 0.384788 0.283840 +vt 0.471959 0.168618 +vt 0.471959 0.283840 +vt 0.442902 0.283840 +vt 0.675358 0.168619 +vt 0.675358 0.283840 +vt 0.646301 0.283840 +vt 0.588187 0.168618 +vt 0.588187 0.283840 +vt 0.559130 0.283840 +vt 0.442902 0.168618 +vt 0.501016 0.168618 +vt 0.501016 0.283840 +vt 0.704415 0.168619 +vt 0.704415 0.283840 +vt 0.617244 0.168618 +vt 0.617244 0.283840 +vt 0.530073 0.168618 +vt 0.530073 0.283840 +vt 0.384788 0.168618 +vt 0.355731 0.283840 +vt 0.646301 0.168618 +vt 0.559130 0.168618 +vt 0.476898 0.569949 +vt 0.476898 0.572903 +vt 0.447115 0.572903 +vt 0.447478 0.688367 +vt 0.447115 0.687011 +vt 0.476898 0.687011 +vt 0.479368 0.569353 +vt 0.504532 0.583881 +vt 0.504169 0.585237 +vt 0.417407 0.585955 +vt 0.418763 0.586318 +vt 0.403871 0.612111 +vt 0.444645 0.687608 +vt 0.419481 0.673079 +vt 0.419844 0.671724 +vt 0.506605 0.585955 +vt 0.521134 0.611119 +vt 0.520142 0.612111 +vt 0.506605 0.671005 +vt 0.505250 0.670642 +vt 0.520142 0.644849 +vt 0.444645 0.569353 +vt 0.445637 0.570345 +vt 0.419844 0.585237 +vt 0.402879 0.645841 +vt 0.403871 0.644849 +vt 0.418763 0.670642 +vt 0.521893 0.613952 +vt 0.521893 0.643009 +vt 0.520537 0.643372 +vt 0.504532 0.673079 +vt 0.479368 0.687608 +vt 0.478375 0.686615 +vt 0.476535 0.568594 +vt 0.447115 0.569949 +vt 0.406430 0.613588 +vt 0.406430 0.643372 +vt 0.447115 0.684057 +vt 0.476898 0.684057 +vt 0.502691 0.587795 +vt 0.421322 0.587795 +vt 0.421322 0.669165 +vt 0.517583 0.613588 +vt 0.502691 0.669165 +vt 0.517583 0.643372 +vt 0.504168 0.671724 +vt 0.254207 0.723964 +vt 0.224423 0.723964 +vt 0.194639 0.723964 +vt 0.164856 0.723964 +vt 0.193913 0.723964 +vt 0.492473 0.723965 +vt 0.521530 0.723965 +vt 0.462690 0.723965 +vt 0.491746 0.723965 +vt 0.432907 0.723965 +vt 0.461963 0.723965 +vt 0.403123 0.723965 +vt 0.432180 0.723965 +vt 0.373340 0.723965 +vt 0.402397 0.723965 +vt 0.343557 0.723965 +vt 0.372614 0.723965 +vt 0.283990 0.723965 +vt 0.313774 0.723965 +vt 0.342830 0.723965 +vt 0.343557 0.806491 +vt 0.372614 0.806491 +vt 0.313774 0.806491 +vt 0.342830 0.806491 +vt 0.283990 0.806491 +vt 0.254206 0.806491 +vt 0.224423 0.806491 +vt 0.194639 0.806491 +vt 0.164856 0.806491 +vt 0.193913 0.806491 +vt 0.492473 0.806491 +vt 0.521530 0.806491 +vt 0.462690 0.806491 +vt 0.491746 0.806491 +vt 0.432907 0.806491 +vt 0.461963 0.806491 +vt 0.403123 0.806491 +vt 0.432180 0.806491 +vt 0.373340 0.806491 +vt 0.402397 0.806491 +vt 0.373340 0.765228 +vt 0.402397 0.765228 +vt 0.343557 0.765228 +vt 0.372614 0.765228 +vt 0.313773 0.765228 +vt 0.342830 0.765228 +vt 0.283990 0.765228 +vt 0.254206 0.765228 +vt 0.224422 0.765228 +vt 0.194639 0.765228 +vt 0.164856 0.765228 +vt 0.193913 0.765228 +vt 0.492473 0.765228 +vt 0.521530 0.765228 +vt 0.462690 0.765228 +vt 0.491747 0.765228 +vt 0.432906 0.765228 +vt 0.461963 0.765228 +vt 0.403123 0.765228 +vt 0.432180 0.765228 +vt 0.223187 0.154438 +vt 0.208659 0.129274 +vt 0.183495 0.114745 +vt 0.154438 0.114745 +vt 0.129274 0.129274 +vt 0.114745 0.154438 +vt 0.114745 0.183495 +vt 0.129274 0.208659 +vt 0.154438 0.223187 +vt 0.183495 0.223187 +vt 0.208659 0.208659 +vt 0.223187 0.183495 +vt 0.164493 0.880382 +vt 0.164493 0.856746 +vt 0.179021 0.856746 +vt 0.469271 0.601370 +vt 0.454742 0.601370 +vt 0.481853 0.608634 +vt 0.489117 0.621216 +vt 0.489117 0.635744 +vt 0.481853 0.648326 +vt 0.469271 0.655591 +vt 0.454742 0.655591 +vt 0.442160 0.608634 +vt 0.434896 0.621216 +vt 0.434896 0.635744 +vt 0.442160 0.648326 +vt 0.280720 0.856747 +vt 0.266192 0.856747 +vt 0.268008 0.847755 +vt 0.208078 0.880382 +vt 0.208078 0.856746 +vt 0.222607 0.856746 +vt 0.251663 0.880382 +vt 0.251664 0.856747 +vt 0.324306 0.880382 +vt 0.324306 0.856747 +vt 0.338834 0.856747 +vt 0.193550 0.880382 +vt 0.193550 0.856746 +vt 0.237135 0.880382 +vt 0.237135 0.856746 +vt 0.309777 0.880382 +vt 0.309777 0.856747 +vt 0.280720 0.880382 +vt 0.295249 0.856747 +vt 0.179021 0.880382 +vt 0.222607 0.880382 +vt 0.295249 0.880382 +vt 0.266192 0.880382 +vt 0.464060 0.847755 +vt 0.489841 0.873536 +vt 0.454624 0.882972 +vt 0.166309 0.847755 +vt 0.177205 0.847755 +vt 0.209894 0.847755 +vt 0.220790 0.847755 +vt 0.253480 0.847755 +vt 0.326122 0.847755 +vt 0.337018 0.847755 +vt 0.195366 0.847755 +vt 0.206262 0.847755 +vt 0.238951 0.847755 +vt 0.249848 0.847755 +vt 0.311593 0.847755 +vt 0.282537 0.847755 +vt 0.293433 0.847755 +vt 0.180837 0.847755 +vt 0.224423 0.847755 +vt 0.235319 0.847755 +vt 0.297065 0.847755 +vt 0.846843 0.017799 +vt 0.972740 0.421069 +vt 0.959362 0.420457 +vt 0.962786 0.417503 +vt 0.943392 0.653449 +vt 0.699884 0.712633 +vt 0.883608 0.958541 +vt 0.877542 0.960019 +vt 0.622632 0.934009 +vt 0.583406 0.712633 +vt 0.967139 0.513767 +vt 0.957185 0.517334 +vt 0.466902 0.924018 +vt 0.771236 0.599762 +vt 0.972740 0.469201 +vt 0.968851 0.467112 +vt 0.962785 0.465635 +vt 0.698242 0.886599 +vt 0.775629 0.017799 +vt 0.947801 0.308272 +vt 0.946324 0.298782 +vt 0.943392 0.707137 +vt 0.901758 0.191765 +vt 0.938185 0.961496 +vt 0.932584 0.957930 +vt 0.572263 0.934009 +vt 0.640897 0.347218 +vt 0.960320 0.834836 +vt 0.958843 0.828770 +vt 0.291677 0.915980 +vt 0.838056 0.599762 +vt 0.945185 0.065931 +vt 0.520226 0.924018 +vt 0.846843 0.308780 +vt 0.941534 0.245452 +vt 0.940922 0.258831 +vt 0.937967 0.255407 +vt 0.740013 0.951495 +vt 0.893022 0.599762 +vt 0.957797 0.371339 +vt 0.957797 0.375693 +vt 0.790382 0.951495 +vt 0.644918 0.712633 +vt 0.952575 0.773728 +vt 0.949009 0.779329 +vt 0.952575 0.789283 +vt 0.151288 0.675581 +vt 0.048947 0.657491 +vt 0.952962 0.118241 +vt 0.945185 0.114063 +vt 0.311267 0.675581 +vt 0.775629 0.308780 +vt 0.693895 0.943853 +vt 0.688294 0.940287 +vt 0.682693 0.943853 +vt 0.928620 0.617852 +vt 0.901809 0.017799 +vt 0.387811 0.960779 +vt 0.384387 0.957824 +vt 0.376609 0.960779 +vt 0.937355 0.209855 +vt 0.702410 0.347218 +vt 0.947362 0.018411 +vt 0.943008 0.018411 +vt 0.257942 0.675581 +vt 0.115690 0.657491 +vt 0.285617 0.971756 +vt 0.281728 0.969667 +vt 0.277839 0.971756 +vt 0.204618 0.675581 +vt 0.873654 0.792193 +vt 0.194789 0.320134 +vt 0.017799 0.194789 +vt 0.143144 0.017799 +vt 0.320134 0.143144 +vt 0.374432 0.866220 +vt 0.413578 0.884685 +vt 0.882441 0.493661 +vt 0.921587 0.512126 +vt 0.219888 0.915980 +vt 0.182958 0.934445 +vt 0.238353 0.955125 +vt 0.929049 0.883186 +vt 0.892119 0.901651 +vt 0.947514 0.922332 +vt 0.912800 0.810658 +vt 0.882441 0.384203 +vt 0.921587 0.402668 +vt 0.795408 0.858662 +vt 0.758478 0.877127 +vt 0.813873 0.897808 +vt 0.402120 0.355731 +vt 0.097225 0.916402 +vt 0.060295 0.934867 +vt 0.115690 0.955548 +vt 0.597183 0.568594 +vt 0.626240 0.568594 +vt 0.651404 0.583122 +vt 0.665933 0.637343 +vt 0.651404 0.662507 +vt 0.626240 0.677036 +vt 0.572019 0.662507 +vt 0.557491 0.637343 +vt 0.557491 0.608286 +vt 0.283263 0.770894 +vt 0.355731 0.017799 +vt 0.372614 0.770893 +vt 0.521893 0.769538 +vt 0.253480 0.770894 +vt 0.432180 0.770893 +vt 0.223696 0.770894 +vt 0.313047 0.770894 +vt 0.193913 0.770894 +vt 0.283264 0.812157 +vt 0.017799 0.506671 +vt 0.372614 0.812157 +vt 0.521893 0.810801 +vt 0.253480 0.812157 +vt 0.432180 0.812157 +vt 0.223696 0.812157 +vt 0.313047 0.812157 +vt 0.193913 0.812157 +vt 0.283264 0.729630 +vt 0.017839 0.355731 +vt 0.372614 0.729630 +vt 0.521893 0.728275 +vt 0.253480 0.729630 +vt 0.432180 0.729630 +vt 0.223696 0.729630 +vt 0.313047 0.729630 +vt 0.193913 0.729630 +vt 0.402120 0.643009 +vt 0.355731 0.168618 +vt 0.476535 0.688367 +vt 0.478375 0.570345 +vt 0.402879 0.611119 +vt 0.445637 0.686615 +vt 0.505250 0.586318 +vt 0.521134 0.645841 +vt 0.419481 0.583881 +vt 0.417407 0.671005 +vt 0.520537 0.613588 +vt 0.447478 0.568594 +vt 0.283264 0.723964 +vt 0.253480 0.723964 +vt 0.223696 0.723964 +vt 0.313047 0.723965 +vt 0.313047 0.806491 +vt 0.283264 0.806491 +vt 0.253480 0.806491 +vt 0.223696 0.806491 +vt 0.313047 0.765228 +vt 0.283263 0.765228 +vt 0.253480 0.765228 +vt 0.223696 0.765228 +vt 0.278904 0.847755 +vt 0.338834 0.880382 +vt 0.449176 0.873536 +vt 0.449176 0.862639 +vt 0.454624 0.853203 +vt 0.474957 0.847755 +vt 0.484393 0.853203 +vt 0.489841 0.862639 +vt 0.484393 0.882972 +vt 0.474957 0.888420 +vt 0.464060 0.888420 +vt 0.264376 0.847755 +vt 0.322490 0.847755 +vt 0.191734 0.847755 +vt 0.307961 0.847755 +vn 0.923900 0.000000 0.382700 +vn 0.382700 0.000000 0.923900 +vn -0.382700 0.000000 0.923900 +vn -0.923900 0.000000 0.382700 +vn -0.923900 0.000000 -0.382700 +vn -0.382700 0.000000 -0.923900 +vn 0.923900 0.000000 -0.382700 +vn 0.382700 0.000000 -0.923900 +vn -0.281100 -0.678600 0.678600 +vn -0.862900 -0.357400 0.357400 +vn -0.862900 0.357400 -0.357400 +vn -0.281100 0.678600 -0.678600 +vn 0.281100 -0.678600 0.678600 +vn 0.862900 -0.357400 0.357400 +vn 0.862900 0.357400 -0.357400 +vn 0.281100 0.678600 -0.678600 +vn 0.382700 0.923900 0.000000 +vn -0.923900 0.382700 0.000000 +vn -0.382700 -0.923900 0.000000 +vn 0.923900 -0.382700 0.000000 +vn 0.923900 0.382700 0.000000 +vn -0.382700 0.923900 0.000000 +vn -0.923900 -0.382700 0.000000 +vn 0.382700 -0.923900 0.000000 +vn -0.678600 -0.678600 -0.281100 +vn -0.357400 -0.357400 -0.862900 +vn 0.357400 0.357400 -0.862800 +vn 0.678600 0.678600 -0.281100 +vn -0.678600 -0.678600 0.281100 +vn -0.357400 -0.357400 0.862900 +vn 0.357400 0.357400 0.862800 +vn 0.678600 0.678600 0.281100 +vn -0.000000 0.923900 0.382700 +vn 0.000000 0.382700 -0.923900 +vn 0.000000 -0.923900 -0.382700 +vn -0.000000 -0.382700 0.923900 +vn -0.000000 0.382700 0.923900 +vn 0.000000 0.923900 -0.382700 +vn 0.000000 -0.382700 -0.923900 +vn -0.000000 -0.923900 0.382700 +vn 0.357400 0.357400 -0.862900 +vn 0.357400 0.357400 0.862900 +vn 0.281100 -0.678600 -0.678600 +vn 0.862900 -0.357400 -0.357400 +vn 0.862900 0.357400 0.357400 +vn 0.281100 0.678600 0.678600 +vn -0.281100 -0.678600 -0.678600 +vn -0.862900 -0.357400 -0.357400 +vn -0.862900 0.357400 0.357400 +vn -0.281100 0.678600 0.678600 +vn 0.678600 -0.678600 0.281100 +vn 0.357400 -0.357400 0.862900 +vn -0.357400 0.357400 0.862800 +vn -0.678600 0.678600 0.281100 +vn 0.678600 -0.678600 -0.281100 +vn 0.357400 -0.357400 -0.862900 +vn -0.357400 0.357400 -0.862900 +vn -0.678600 0.678600 -0.281100 +vn -0.357400 0.357400 0.862900 +vn 0.000000 0.000000 1.000000 +vn 0.894400 0.447200 0.000000 +vn 0.000000 0.447200 -0.894400 +vn -0.894400 0.447200 0.000000 +vn 0.000000 0.447200 0.894400 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.707100 -0.000000 -0.707100 +vn -0.258800 0.000000 -0.965900 +vn 0.707100 -0.000000 0.707100 +vn -0.707100 0.000000 0.707100 +vn 0.258800 -0.000000 -0.965900 +vn -0.707100 0.000000 -0.707100 +vn 0.965900 -0.000000 0.258800 +vn -0.258800 0.000000 0.965900 +vn -0.965900 0.000000 -0.258800 +vn 0.965900 -0.000000 -0.258800 +vn 0.258800 -0.000000 0.965900 +vn -0.965900 0.000000 0.258800 +vn 0.000000 1.000000 -0.000100 +vn -0.464700 0.753800 -0.464700 +vn 0.634800 0.753800 0.170100 +vn -0.170100 0.753800 0.634800 +vn -0.634800 0.753800 -0.170100 +vn 0.634800 0.753800 -0.170100 +vn 0.170100 0.753800 0.634700 +vn -0.634800 0.753800 0.170100 +vn 0.464700 0.753800 -0.464700 +vn -0.170100 0.753800 -0.634800 +vn 0.464700 0.753800 0.464700 +vn -0.464700 0.753800 0.464700 +vn 0.170100 0.753800 -0.634800 +vn 0.170100 0.753800 0.634800 +vn 0.170100 0.753800 -0.634700 +s off +f 2/1/1 4/2/1 3/3/1 +f 4/2/2 6/4/2 5/5/2 +f 6/6/3 8/7/3 7/8/3 +f 8/7/4 10/9/4 9/10/4 +f 10/9/5 12/11/5 11/12/5 +f 12/11/6 14/13/6 13/14/6 +f 16/15/7 2/1/7 1/16/7 +f 14/13/8 16/15/8 15/17/8 +f 34/18/1 36/19/1 35/20/1 +f 19/21/9 20/22/9 8/23/9 +f 8/23/10 20/22/10 21/24/10 +f 10/25/11 21/24/11 22/26/11 +f 12/27/12 22/26/12 23/28/12 +f 18/29/13 19/30/13 6/31/13 +f 2/32/14 17/33/14 18/29/14 +f 24/34/15 17/33/15 2/32/15 +f 14/35/16 23/28/16 24/34/16 +f 23/36/17 31/37/17 32/38/17 +f 36/19/2 38/39/2 37/40/2 +f 21/41/18 29/42/18 30/43/18 +f 19/44/19 27/45/19 28/46/19 +f 17/47/20 26/48/20 25/49/20 +f 24/50/21 32/38/21 26/48/21 +f 22/51/22 30/43/22 31/37/22 +f 20/52/23 28/46/23 29/42/23 +f 18/53/24 25/49/24 27/54/24 +f 38/55/3 40/56/3 39/57/3 +f 40/56/4 42/58/4 41/59/4 +f 42/58/5 44/60/5 43/61/5 +f 44/60/6 46/62/6 45/63/6 +f 48/64/7 34/18/7 33/65/7 +f 46/62/8 48/64/8 47/66/8 +f 38/67/9 51/68/9 52/69/9 +f 40/70/10 52/69/10 53/71/10 +f 42/72/11 53/71/11 54/73/11 +f 54/73/12 55/74/12 46/75/12 +f 50/76/13 51/77/13 38/78/13 +f 49/79/14 50/76/14 36/80/14 +f 48/81/15 56/82/15 49/79/15 +f 46/75/16 55/74/16 56/82/16 +f 55/83/17 63/84/17 64/85/17 +f 53/86/18 61/87/18 62/88/18 +f 51/89/19 59/90/19 60/91/19 +f 49/92/20 58/93/20 57/94/20 +f 56/95/21 64/85/21 58/93/21 +f 54/96/22 62/88/22 63/84/22 +f 52/97/23 60/91/23 61/87/23 +f 50/98/24 57/94/24 59/99/24 +f 66/100/1 68/101/1 67/102/1 +f 68/101/2 70/103/2 69/104/2 +f 70/105/3 72/106/3 71/107/3 +f 72/106/4 74/108/4 73/109/4 +f 74/108/5 76/110/5 75/111/5 +f 76/110/6 78/112/6 77/113/6 +f 80/114/7 66/100/7 65/115/7 +f 78/112/8 80/114/8 79/116/8 +f 70/117/9 83/118/9 84/119/9 +f 72/120/10 84/119/10 85/121/10 +f 74/122/11 85/121/11 86/123/11 +f 86/123/12 87/124/12 78/125/12 +f 68/126/13 82/127/13 83/128/13 +f 66/129/14 81/130/14 82/127/14 +f 88/131/15 81/130/15 66/129/15 +f 87/124/16 88/131/16 80/132/16 +f 87/133/17 95/134/17 96/135/17 +f 85/136/18 93/137/18 94/138/18 +f 83/139/19 91/140/19 92/141/19 +f 81/142/20 90/143/20 89/144/20 +f 88/145/21 96/135/21 90/143/21 +f 86/146/22 94/138/22 95/134/22 +f 84/147/23 92/141/23 93/137/23 +f 82/148/24 89/144/24 91/149/24 +f 98/150/1 100/151/1 99/152/1 +f 100/151/2 102/153/2 101/154/2 +f 102/155/3 104/156/3 103/157/3 +f 104/156/4 106/158/4 105/159/4 +f 106/158/5 108/160/5 107/161/5 +f 108/160/6 110/162/6 109/163/6 +f 112/164/7 98/150/7 97/165/7 +f 110/162/8 112/164/8 111/166/8 +f 115/167/9 116/168/9 104/169/9 +f 104/169/10 116/168/10 117/170/10 +f 117/170/11 118/171/11 108/172/11 +f 108/172/12 118/171/12 119/173/12 +f 114/174/13 115/175/13 102/176/13 +f 113/177/14 114/174/14 100/178/14 +f 120/179/15 113/177/15 98/180/15 +f 110/181/16 119/173/16 120/179/16 +f 119/182/17 127/183/17 128/184/17 +f 117/185/18 125/186/18 126/187/18 +f 115/188/19 123/189/19 124/190/19 +f 113/191/20 122/192/20 121/193/20 +f 120/194/21 128/184/21 122/192/21 +f 118/195/22 126/187/22 127/183/22 +f 116/196/23 124/190/23 125/186/23 +f 114/197/24 121/193/24 123/198/24 +f 130/199/3 132/200/3 131/201/3 +f 132/200/4 134/202/4 133/203/4 +f 134/204/5 136/205/5 135/206/5 +f 136/205/6 138/207/6 137/208/6 +f 138/207/8 140/209/8 139/210/8 +f 140/209/7 142/211/7 141/212/7 +f 144/213/2 130/199/2 129/214/2 +f 142/211/1 144/213/1 143/215/1 +f 162/216/3 164/217/3 163/218/3 +f 134/219/25 147/220/25 148/221/25 +f 136/222/26 148/221/26 149/223/26 +f 149/223/27 150/224/27 140/225/27 +f 150/224/28 151/226/28 142/227/28 +f 146/228/29 147/229/29 134/230/29 +f 130/231/30 145/232/30 146/228/30 +f 144/233/31 152/234/31 145/232/31 +f 142/227/32 151/226/32 152/234/32 +f 151/235/33 159/236/33 160/237/33 +f 164/217/4 166/238/4 165/239/4 +f 149/240/34 157/241/34 158/242/34 +f 147/243/35 155/244/35 156/245/35 +f 145/246/36 154/247/36 153/248/36 +f 152/249/37 160/237/37 154/247/37 +f 150/250/38 158/242/38 159/236/38 +f 148/251/39 156/245/39 157/241/39 +f 146/252/40 153/248/40 155/253/40 +f 166/254/5 168/255/5 167/256/5 +f 168/255/6 170/257/6 169/258/6 +f 170/257/8 172/259/8 171/260/8 +f 172/259/7 174/261/7 173/262/7 +f 176/263/2 162/216/2 161/264/2 +f 174/261/1 176/263/1 175/265/1 +f 166/266/25 179/267/25 180/268/25 +f 180/268/26 181/269/26 170/270/26 +f 170/270/41 181/269/41 182/271/41 +f 172/272/28 182/271/28 183/273/28 +f 178/274/29 179/275/29 166/276/29 +f 177/277/30 178/274/30 164/278/30 +f 184/279/42 177/277/42 162/280/42 +f 183/273/32 184/279/32 176/281/32 +f 183/282/33 191/283/33 192/284/33 +f 181/285/34 189/286/34 190/287/34 +f 179/288/35 187/289/35 188/290/35 +f 177/291/36 186/292/36 185/293/36 +f 184/294/37 192/284/37 186/292/37 +f 182/295/38 190/287/38 191/283/38 +f 181/285/39 180/296/39 188/290/39 +f 178/297/40 185/293/40 187/298/40 +f 194/299/3 196/300/3 195/301/3 +f 196/300/4 198/302/4 197/303/4 +f 198/304/5 200/305/5 199/306/5 +f 200/305/6 202/307/6 201/308/6 +f 202/307/8 204/309/8 203/310/8 +f 204/309/7 206/311/7 205/312/7 +f 208/313/2 194/299/2 193/314/2 +f 206/311/1 208/313/1 207/315/1 +f 198/316/25 211/317/25 212/318/25 +f 200/319/26 212/318/26 213/320/26 +f 202/321/41 213/320/41 214/322/41 +f 214/322/28 215/323/28 206/324/28 +f 210/325/29 211/326/29 198/327/29 +f 209/328/30 210/325/30 196/329/30 +f 208/330/42 216/331/42 209/328/42 +f 215/323/32 216/331/32 208/330/32 +f 215/332/33 223/333/33 224/334/33 +f 214/335/34 213/336/34 221/337/34 +f 211/338/35 219/339/35 220/340/35 +f 209/341/36 218/342/36 217/343/36 +f 209/341/37 216/344/37 224/334/37 +f 214/335/38 222/345/38 223/333/38 +f 212/346/39 220/340/39 221/337/39 +f 210/347/40 217/343/40 219/348/40 +f 226/349/3 228/350/3 227/351/3 +f 228/350/4 230/352/4 229/353/4 +f 230/354/5 232/355/5 231/356/5 +f 232/355/6 234/357/6 233/358/6 +f 234/357/8 236/359/8 235/360/8 +f 236/359/7 238/361/7 237/362/7 +f 240/363/2 226/349/2 225/364/2 +f 238/361/1 240/363/1 239/365/1 +f 230/366/25 243/367/25 244/368/25 +f 232/369/26 244/368/26 245/370/26 +f 234/371/41 245/370/41 246/372/41 +f 236/373/28 246/372/28 247/374/28 +f 242/375/29 243/376/29 230/377/29 +f 241/378/30 242/375/30 228/379/30 +f 248/380/42 241/378/42 226/381/42 +f 247/374/32 248/380/32 240/382/32 +f 247/383/33 255/384/33 256/385/33 +f 246/386/34 245/387/34 253/388/34 +f 243/389/35 251/390/35 252/391/35 +f 241/392/36 250/393/36 249/394/36 +f 248/395/37 256/385/37 250/393/37 +f 246/386/38 254/396/38 255/384/38 +f 244/397/39 252/391/39 253/388/39 +f 242/398/40 249/394/40 251/399/40 +f 258/400/5 260/401/5 259/402/5 +f 260/401/6 262/403/6 261/404/6 +f 262/405/8 264/406/8 263/407/8 +f 264/406/7 266/408/7 265/409/7 +f 266/408/1 268/410/1 267/411/1 +f 268/410/2 270/412/2 269/413/2 +f 272/414/4 258/400/4 257/415/4 +f 270/412/3 272/414/3 271/416/3 +f 290/417/5 292/418/5 291/419/5 +f 275/420/43 276/421/43 264/422/43 +f 264/422/44 276/421/44 277/423/44 +f 266/424/45 277/423/45 278/425/45 +f 268/426/46 278/425/46 279/427/46 +f 274/428/47 275/429/47 262/430/47 +f 258/431/48 273/432/48 274/428/48 +f 280/433/49 273/432/49 258/431/49 +f 270/434/50 279/427/50 280/433/50 +f 279/435/22 287/436/22 288/437/22 +f 292/418/6 294/438/6 293/439/6 +f 277/440/21 285/441/21 286/442/21 +f 275/443/24 283/444/24 284/445/24 +f 273/446/23 282/447/23 281/448/23 +f 280/449/18 288/437/18 282/447/18 +f 278/450/17 286/442/17 287/436/17 +f 276/451/20 284/445/20 285/441/20 +f 274/452/19 281/448/19 283/453/19 +f 294/454/8 296/455/8 295/456/8 +f 296/455/7 298/457/7 297/458/7 +f 298/457/1 300/459/1 299/460/1 +f 300/459/2 302/461/2 301/462/2 +f 304/463/4 290/417/4 289/464/4 +f 302/461/3 304/463/3 303/465/3 +f 294/466/43 307/467/43 308/468/43 +f 296/469/44 308/468/44 309/470/44 +f 298/471/45 309/470/45 310/472/45 +f 310/472/46 311/473/46 302/474/46 +f 306/475/47 307/476/47 294/477/47 +f 305/478/48 306/475/48 292/479/48 +f 312/480/49 305/478/49 290/481/49 +f 302/474/50 311/473/50 312/480/50 +f 311/482/22 319/483/22 320/484/22 +f 309/485/21 317/486/21 318/487/21 +f 308/488/24 307/489/24 315/490/24 +f 306/491/23 305/492/23 314/493/23 +f 312/494/18 320/484/18 314/493/18 +f 310/495/17 318/487/17 319/483/17 +f 308/488/20 316/496/20 317/486/20 +f 306/491/19 313/497/19 315/498/19 +f 322/499/5 324/500/5 323/501/5 +f 324/500/6 326/502/6 325/503/6 +f 326/504/8 328/505/8 327/506/8 +f 328/505/7 330/507/7 329/508/7 +f 330/507/1 332/509/1 331/510/1 +f 332/509/2 334/511/2 333/512/2 +f 336/513/4 322/499/4 321/514/4 +f 334/511/3 336/513/3 335/515/3 +f 339/516/43 340/517/43 328/518/43 +f 328/518/44 340/517/44 341/519/44 +f 330/520/45 341/519/45 342/521/45 +f 342/521/46 343/522/46 334/523/46 +f 324/524/47 338/525/47 339/526/47 +f 337/527/48 338/525/48 324/524/48 +f 344/528/49 337/527/49 322/529/49 +f 343/522/50 344/528/50 336/530/50 +f 344/531/22 343/532/22 351/533/22 +f 341/534/21 349/535/21 350/536/21 +f 339/537/24 347/538/24 348/539/24 +f 337/540/23 346/541/23 345/542/23 +f 344/531/18 352/543/18 346/541/18 +f 342/544/17 350/536/17 351/533/17 +f 340/545/20 348/539/20 349/535/20 +f 338/546/19 345/542/19 347/547/19 +f 354/548/5 356/549/5 355/550/5 +f 356/549/6 358/551/6 357/552/6 +f 358/553/8 360/554/8 359/555/8 +f 360/554/7 362/556/7 361/557/7 +f 362/556/1 364/558/1 363/559/1 +f 364/558/2 366/560/2 365/561/2 +f 368/562/4 354/548/4 353/563/4 +f 366/560/3 368/562/3 367/564/3 +f 371/565/43 372/566/43 360/567/43 +f 360/567/44 372/566/44 373/568/44 +f 362/569/45 373/568/45 374/570/45 +f 364/571/46 374/570/46 375/572/46 +f 370/573/47 371/574/47 358/575/47 +f 369/576/48 370/573/48 356/577/48 +f 376/578/49 369/576/49 354/579/49 +f 375/572/50 376/578/50 368/580/50 +f 375/581/22 383/582/22 384/583/22 +f 373/584/21 381/585/21 382/586/21 +f 371/587/24 379/588/24 380/589/24 +f 369/590/23 378/591/23 377/592/23 +f 376/593/18 384/583/18 378/591/18 +f 374/594/17 382/586/17 383/582/17 +f 372/595/20 380/589/20 381/585/20 +f 370/596/19 377/592/19 379/597/19 +f 386/598/8 388/599/8 387/600/8 +f 388/599/7 390/601/7 389/602/7 +f 390/603/1 392/604/1 391/605/1 +f 392/604/2 394/606/2 393/607/2 +f 394/606/3 396/608/3 395/609/3 +f 396/608/4 398/610/4 397/611/4 +f 400/612/6 386/598/6 385/613/6 +f 398/610/5 400/612/5 399/614/5 +f 418/615/8 420/616/8 419/617/8 +f 390/618/51 403/619/51 404/620/51 +f 404/620/52 405/621/52 394/622/52 +f 405/621/53 406/623/53 396/624/53 +f 396/624/54 406/623/54 407/625/54 +f 402/626/55 403/627/55 390/628/55 +f 386/629/56 401/630/56 402/626/56 +f 408/631/57 401/630/57 386/629/57 +f 407/625/58 408/631/58 400/632/58 +f 407/633/38 415/634/38 416/635/38 +f 420/616/7 422/636/7 421/637/7 +f 405/638/37 413/639/37 414/640/37 +f 403/641/40 411/642/40 412/643/40 +f 401/644/39 410/645/39 409/646/39 +f 408/647/34 416/635/34 410/645/34 +f 406/648/33 414/640/33 415/634/33 +f 404/649/36 412/643/36 413/639/36 +f 402/650/35 409/646/35 411/651/35 +f 422/652/1 424/653/1 423/654/1 +f 424/653/2 426/655/2 425/656/2 +f 426/655/3 428/657/3 427/658/3 +f 428/657/4 430/659/4 429/660/4 +f 432/661/6 418/615/6 417/662/6 +f 430/659/5 432/661/5 431/663/5 +f 422/664/51 435/665/51 436/666/51 +f 436/666/52 437/667/52 426/668/52 +f 426/668/59 437/667/59 438/669/59 +f 438/669/54 439/670/54 430/671/54 +f 434/672/55 435/673/55 422/674/55 +f 418/675/56 433/676/56 434/672/56 +f 440/677/57 433/676/57 418/675/57 +f 439/670/58 440/677/58 432/678/58 +f 439/679/38 447/680/38 448/681/38 +f 437/682/37 445/683/37 446/684/37 +f 435/685/40 443/686/40 444/687/40 +f 433/688/39 442/689/39 441/690/39 +f 440/691/34 448/681/34 442/689/34 +f 438/692/33 446/684/33 447/680/33 +f 436/693/36 444/687/36 445/683/36 +f 434/694/35 441/690/35 443/695/35 +f 450/696/8 452/697/8 451/698/8 +f 452/697/7 454/699/7 453/700/7 +f 454/701/1 456/702/1 455/703/1 +f 456/702/2 458/704/2 457/705/2 +f 458/704/3 460/706/3 459/707/3 +f 460/706/4 462/708/4 461/709/4 +f 464/710/6 450/696/6 449/711/6 +f 462/708/5 464/710/5 463/712/5 +f 454/713/51 467/714/51 468/715/51 +f 456/716/52 468/715/52 469/717/52 +f 458/718/59 469/717/59 470/719/59 +f 470/719/54 471/720/54 462/721/54 +f 466/722/55 467/723/55 454/724/55 +f 465/725/56 466/722/56 452/726/56 +f 472/727/57 465/725/57 450/728/57 +f 462/721/58 471/720/58 472/727/58 +f 471/729/38 479/730/38 480/731/38 +f 469/732/37 477/733/37 478/734/37 +f 467/735/40 475/736/40 476/737/40 +f 465/738/39 474/739/39 473/740/39 +f 472/741/34 480/731/34 474/739/34 +f 470/742/33 478/734/33 479/730/33 +f 468/743/36 476/737/36 477/733/36 +f 466/744/35 473/740/35 475/745/35 +f 482/746/8 484/747/8 483/748/8 +f 484/747/7 486/749/7 485/750/7 +f 486/751/1 488/752/1 487/753/1 +f 488/752/2 490/754/2 489/755/2 +f 490/754/3 492/756/3 491/757/3 +f 492/756/4 494/758/4 493/759/4 +f 496/760/6 482/746/6 481/761/6 +f 494/758/5 496/760/5 495/762/5 +f 486/763/51 499/764/51 500/765/51 +f 488/766/52 500/765/52 501/767/52 +f 501/767/59 502/768/59 492/769/59 +f 492/769/54 502/768/54 503/770/54 +f 498/771/55 499/772/55 486/773/55 +f 497/774/56 498/771/56 484/775/56 +f 496/776/57 504/777/57 497/774/57 +f 503/770/58 504/777/58 496/776/58 +f 503/778/38 511/779/38 512/780/38 +f 501/781/37 509/782/37 510/783/37 +f 499/784/40 507/785/40 508/786/40 +f 497/787/39 506/788/39 505/789/39 +f 504/790/34 512/780/34 506/788/34 +f 502/791/33 510/783/33 511/779/33 +f 500/792/36 508/786/36 509/782/36 +f 498/793/35 505/789/35 507/794/35 +f 556/795/60 555/796/60 553/797/60 +f 779/798/61 518/799/61 514/800/61 +f 780/801/62 520/802/62 516/803/62 +f 777/804/63 519/805/63 515/806/63 +f 778/807/64 517/808/64 513/809/64 +f 524/810/65 523/811/65 521/812/65 +f 528/813/66 527/814/66 523/815/66 +f 522/816/60 521/812/60 525/817/60 +f 523/811/67 527/818/67 525/817/67 +f 528/813/68 524/819/68 522/816/68 +f 532/820/65 531/821/65 529/822/65 +f 536/823/66 535/824/66 531/825/66 +f 530/826/60 529/822/60 533/827/60 +f 531/821/67 535/828/67 533/827/67 +f 536/823/68 532/829/68 530/826/68 +f 544/830/66 543/831/66 539/832/66 +f 542/833/69 541/834/69 543/831/69 +f 538/835/60 537/836/60 541/837/60 +f 539/832/67 543/831/67 541/834/67 +f 544/830/68 540/838/68 538/835/68 +f 552/839/66 551/840/66 547/841/66 +f 550/842/69 549/843/69 551/840/69 +f 546/844/60 545/845/60 549/846/60 +f 547/841/67 551/840/67 549/843/67 +f 552/839/68 548/847/68 546/844/68 +f 560/848/65 559/849/65 555/850/65 +f 554/851/69 553/797/69 557/852/69 +f 555/796/67 559/853/67 557/852/67 +f 560/848/68 556/854/68 554/851/68 +f 564/855/60 563/856/60 561/857/60 +f 568/858/65 567/859/65 563/860/65 +f 562/861/69 561/857/69 565/862/69 +f 563/856/67 567/863/67 565/862/67 +f 568/858/68 564/864/68 562/861/68 +f 576/865/65 575/866/65 571/867/65 +f 574/868/66 573/869/66 575/866/66 +f 570/870/69 569/871/69 573/872/69 +f 571/867/67 575/866/67 573/869/67 +f 576/865/68 572/873/68 570/870/68 +f 516/874/67 514/875/67 513/876/67 +f 584/877/65 583/878/65 579/879/65 +f 582/880/66 581/881/66 583/878/66 +f 578/882/69 577/883/69 581/884/69 +f 579/879/67 583/878/67 581/881/67 +f 584/877/68 580/885/68 578/882/68 +f 595/886/67 591/887/67 587/888/67 +f 603/889/67 615/890/67 614/891/67 +f 596/892/70 608/893/70 607/894/70 +f 586/895/71 597/896/71 598/897/71 +f 593/898/72 605/899/72 604/900/72 +f 590/901/73 602/902/73 601/903/73 +f 585/904/74 598/897/74 608/893/74 +f 587/905/75 599/906/75 597/896/75 +f 594/907/76 606/908/76 605/899/76 +f 591/909/77 603/910/77 602/902/77 +f 588/911/78 600/912/78 599/906/78 +f 595/913/79 607/894/79 606/914/79 +f 592/915/80 604/900/80 603/910/80 +f 589/916/81 601/903/81 600/912/81 +f 618/917/76 630/918/76 629/919/76 +f 600/920/67 612/921/67 611/922/67 +f 606/923/67 607/924/67 619/925/67 +f 604/926/67 616/927/67 615/890/67 +f 600/928/67 601/929/67 613/930/67 +f 607/931/67 608/932/67 620/933/67 +f 597/934/67 609/935/67 610/936/67 +f 605/937/67 617/938/67 616/927/67 +f 602/939/67 614/891/67 613/930/67 +f 608/940/67 598/941/67 610/936/67 +f 597/942/67 599/943/67 611/922/67 +f 606/944/67 618/917/67 617/938/67 +f 651/945/67 663/946/67 662/947/67 +f 615/890/77 627/948/77 626/949/77 +f 612/921/78 624/950/78 623/951/78 +f 619/925/79 631/952/79 630/953/79 +f 616/927/80 628/954/80 627/948/80 +f 613/930/81 625/955/81 624/950/81 +f 620/933/70 632/956/70 631/952/70 +f 610/936/71 609/935/71 621/957/71 +f 617/938/72 629/919/72 628/954/72 +f 614/891/73 626/949/73 625/955/73 +f 610/936/74 622/958/74 632/956/74 +f 609/935/75 611/922/75 623/951/75 +f 644/959/70 656/960/70 655/961/70 +f 634/962/71 645/963/71 646/964/71 +f 641/965/72 653/966/72 652/967/72 +f 638/968/73 650/969/73 649/970/73 +f 633/971/74 646/964/74 656/960/74 +f 635/972/75 647/973/75 645/963/75 +f 642/974/76 654/975/76 653/966/76 +f 639/976/77 651/977/77 650/969/77 +f 636/978/78 648/979/78 647/973/78 +f 643/980/79 655/961/79 654/981/79 +f 640/982/80 652/967/80 651/977/80 +f 637/983/81 649/970/81 648/979/81 +f 666/984/76 678/985/76 677/986/76 +f 648/987/67 660/988/67 659/989/67 +f 654/990/67 655/991/67 667/992/67 +f 652/993/67 664/994/67 663/946/67 +f 648/995/67 649/996/67 661/997/67 +f 655/998/67 656/999/67 668/1000/67 +f 645/1001/67 657/1002/67 658/1003/67 +f 653/1004/67 665/1005/67 664/994/67 +f 650/1006/67 662/947/67 661/997/67 +f 656/1007/67 646/1008/67 658/1003/67 +f 645/1009/67 647/1010/67 659/989/67 +f 654/1011/67 666/984/67 665/1005/67 +f 662/947/77 663/946/77 675/1012/77 +f 660/988/78 672/1013/78 671/1014/78 +f 667/992/79 679/1015/79 678/1016/79 +f 664/994/80 676/1017/80 675/1012/80 +f 661/997/81 673/1018/81 672/1013/81 +f 668/1000/70 680/1019/70 679/1015/70 +f 657/1002/71 669/1020/71 670/1021/71 +f 665/1005/72 677/986/72 676/1017/72 +f 662/947/73 674/1022/73 673/1018/73 +f 658/1003/74 670/1021/74 680/1019/74 +f 659/989/75 671/1014/75 669/1020/75 +f 699/1023/67 711/1024/67 710/1025/67 +f 692/1026/70 704/1027/70 703/1028/70 +f 682/1029/71 693/1030/71 694/1031/71 +f 689/1032/72 701/1033/72 700/1034/72 +f 686/1035/73 698/1036/73 697/1037/73 +f 681/1038/74 694/1031/74 704/1027/74 +f 683/1039/75 695/1040/75 693/1030/75 +f 690/1041/76 702/1042/76 701/1033/76 +f 687/1043/77 699/1044/77 698/1036/77 +f 684/1045/78 696/1046/78 695/1040/78 +f 691/1047/79 703/1028/79 702/1048/79 +f 688/1049/80 700/1034/80 699/1044/80 +f 685/1050/81 697/1037/81 696/1046/81 +f 714/1051/76 726/1052/76 725/1053/76 +f 696/1054/67 708/1055/67 707/1056/67 +f 702/1057/67 703/1058/67 715/1059/67 +f 700/1060/67 712/1061/67 711/1024/67 +f 696/1062/67 697/1063/67 709/1064/67 +f 703/1065/67 704/1066/67 716/1067/67 +f 693/1068/67 705/1069/67 706/1070/67 +f 701/1071/67 713/1072/67 712/1061/67 +f 698/1073/67 710/1025/67 709/1064/67 +f 704/1074/67 694/1075/67 706/1070/67 +f 693/1076/67 695/1077/67 707/1056/67 +f 702/1078/67 714/1051/67 713/1072/67 +f 711/1024/77 723/1079/77 722/1080/77 +f 708/1055/78 720/1081/78 719/1082/78 +f 715/1059/79 727/1083/79 726/1084/79 +f 712/1061/80 724/1085/80 723/1079/80 +f 709/1064/81 721/1086/81 720/1081/81 +f 716/1067/70 728/1087/70 727/1083/70 +f 705/1069/71 717/1088/71 718/1089/71 +f 713/1072/72 725/1053/72 724/1085/72 +f 710/1025/73 722/1080/73 721/1086/73 +f 706/1070/74 718/1089/74 728/1087/74 +f 707/1056/75 719/1082/75 717/1088/75 +f 747/1090/67 759/1091/67 758/1092/67 +f 740/1093/70 752/1094/70 751/1095/70 +f 730/1096/71 741/1097/71 742/1098/71 +f 737/1099/72 749/1100/72 748/1101/72 +f 734/1102/73 746/1103/73 745/1104/73 +f 729/1105/74 742/1098/74 752/1094/74 +f 731/1106/75 743/1107/75 741/1097/75 +f 738/1108/76 750/1109/76 749/1100/76 +f 735/1110/77 747/1111/77 746/1103/77 +f 732/1112/78 744/1113/78 743/1107/78 +f 739/1114/79 751/1095/79 750/1115/79 +f 736/1116/80 748/1101/80 747/1111/80 +f 733/1117/81 745/1104/81 744/1113/81 +f 762/1118/76 774/1119/76 773/1120/76 +f 744/1121/67 756/1122/67 755/1123/67 +f 750/1124/67 751/1125/67 763/1126/67 +f 748/1127/67 760/1128/67 759/1129/67 +f 744/1130/67 745/1131/67 757/1132/67 +f 751/1133/67 752/1134/67 764/1135/67 +f 741/1136/67 753/1137/67 754/1138/67 +f 749/1139/67 761/1140/67 760/1141/67 +f 746/1142/67 758/1143/67 757/1144/67 +f 752/1145/67 742/1146/67 754/1147/67 +f 741/1148/67 743/1149/67 755/1150/67 +f 750/1151/67 762/1118/67 761/1152/67 +f 759/1091/77 771/1153/77 770/1154/77 +f 756/1122/78 768/1155/78 767/1156/78 +f 763/1126/79 775/1157/79 774/1119/79 +f 760/1128/80 772/1158/80 771/1153/80 +f 757/1132/81 769/1159/81 768/1155/81 +f 764/1135/70 776/1160/70 775/1157/70 +f 753/1137/71 765/1161/71 766/1162/71 +f 761/1140/72 773/1120/72 772/1158/72 +f 757/1144/73 758/1143/73 770/1154/73 +f 754/1147/74 766/1162/74 776/1160/74 +f 753/1163/75 755/1150/75 767/1156/75 +f 722/1080/82 723/1079/82 735/1164/82 +f 723/1079/68 724/1085/68 736/1165/68 +f 724/1085/68 725/1053/68 737/1166/68 +f 726/1052/68 738/1167/68 737/1168/68 +f 727/1083/68 739/1169/68 738/1170/68 +f 728/1087/68 740/1171/68 739/1172/68 +f 718/1089/68 729/1173/68 740/1174/68 +f 717/1088/68 730/1175/68 729/1176/68 +f 719/1082/68 731/1177/68 730/1178/68 +f 720/1081/68 732/1179/68 731/1180/68 +f 721/1086/68 722/1080/68 734/1181/68 +f 721/1086/68 733/1182/68 732/1183/68 +f 672/1013/68 684/1184/68 683/1185/68 +f 673/1018/68 685/1186/68 684/1187/68 +f 673/1018/68 674/1022/68 686/1188/68 +f 674/1022/68 675/1012/68 687/1189/68 +f 675/1012/68 676/1017/68 688/1190/68 +f 676/1017/68 677/986/68 689/1191/68 +f 678/985/68 690/1192/68 689/1193/68 +f 679/1015/68 691/1194/68 690/1195/68 +f 680/1019/68 692/1196/68 691/1197/68 +f 670/1021/68 681/1198/68 692/1199/68 +f 669/1020/68 682/1200/68 681/1201/68 +f 671/1014/68 683/1202/68 682/1203/68 +f 623/951/68 635/1204/68 634/1205/68 +f 624/950/68 636/1206/68 635/1207/68 +f 625/955/68 637/1208/68 636/1209/68 +f 625/955/68 626/949/68 638/1210/68 +f 626/949/68 627/948/68 639/1211/68 +f 627/948/68 628/954/68 640/1212/68 +f 628/954/68 629/919/68 641/1213/68 +f 630/918/68 642/1214/68 641/1215/68 +f 631/952/68 643/1216/68 642/1217/68 +f 632/956/68 644/1218/68 643/1219/68 +f 622/958/68 633/1220/68 644/1221/68 +f 621/957/68 634/1222/68 633/1223/68 +f 592/1224/68 591/1225/68 778/807/68 +f 778/807/68 591/1225/68 590/1226/68 +f 590/1226/68 589/1227/68 517/808/68 +f 777/804/68 517/808/68 589/1227/68 +f 777/804/68 588/1228/68 587/1229/68 +f 587/1229/68 586/1230/68 519/805/68 +f 780/801/68 519/805/68 586/1230/68 +f 780/801/68 585/1231/68 596/1232/68 +f 596/1232/68 595/1233/68 520/802/68 +f 779/798/68 520/802/68 595/1233/68 +f 779/798/68 594/1234/68 593/1235/68 +f 518/799/68 593/1235/68 592/1224/68 +f 790/1236/76 802/1237/76 801/1238/76 +f 774/1119/68 790/1239/68 789/1240/68 +f 775/1157/68 791/1241/68 790/1239/68 +f 776/1160/68 792/1242/68 791/1241/68 +f 766/1162/68 782/1243/68 792/1242/68 +f 765/1161/68 781/1244/68 782/1243/68 +f 767/1156/68 783/1245/68 781/1244/68 +f 768/1155/68 784/1246/68 783/1245/68 +f 773/1120/68 789/1240/68 788/1247/68 +f 772/1158/68 788/1247/68 787/1248/68 +f 770/1154/68 771/1153/68 787/1248/68 +f 770/1154/68 786/1249/68 785/1250/68 +f 768/1155/68 769/1159/68 785/1250/68 +f 793/1251/83 795/1252/83 807/1253/83 +f 787/1254/77 799/1255/77 798/1256/77 +f 784/1257/78 796/1258/78 795/1252/78 +f 791/1259/79 803/1260/79 802/1261/79 +f 788/1262/80 800/1263/80 799/1255/80 +f 785/1264/81 797/1265/81 796/1258/81 +f 792/1266/70 804/1267/70 803/1260/70 +f 781/1268/71 793/1251/71 794/1269/71 +f 789/1270/72 801/1238/72 800/1263/72 +f 786/1271/73 798/1256/73 797/1265/73 +f 782/1272/74 794/1269/74 804/1267/74 +f 783/1273/75 795/1252/75 793/1251/75 +f 809/1274/68 813/1275/68 806/1276/68 +f 802/1237/84 814/1277/84 813/1278/84 +f 799/1255/85 811/1279/85 810/1280/85 +f 795/1252/86 796/1258/86 808/1281/86 +f 803/1260/87 815/1282/87 814/1283/87 +f 800/1263/88 812/1284/88 811/1285/88 +f 797/1265/89 809/1286/89 808/1287/89 +f 803/1260/90 804/1267/90 816/1288/90 +f 793/1251/91 805/1289/91 806/1290/91 +f 800/1263/92 801/1238/92 813/1291/92 +f 798/1256/93 810/1292/93 809/1293/93 +f 804/1267/94 794/1269/94 806/1294/94 +f 1/16/1 2/1/1 3/3/1 +f 3/3/2 4/2/2 5/5/2 +f 5/1295/3 6/6/3 7/8/3 +f 7/8/4 8/7/4 9/10/4 +f 9/10/5 10/9/5 11/12/5 +f 11/12/6 12/11/6 13/14/6 +f 15/17/7 16/15/7 1/16/7 +f 13/14/8 14/13/8 15/17/8 +f 33/65/1 34/18/1 35/20/1 +f 6/1296/9 19/21/9 8/23/9 +f 10/25/10 8/23/10 21/24/10 +f 12/27/11 10/25/11 22/26/11 +f 14/35/12 12/27/12 23/28/12 +f 4/1297/13 18/29/13 6/31/13 +f 4/1297/14 2/32/14 18/29/14 +f 16/1298/15 24/34/15 2/32/15 +f 16/1298/16 14/35/16 24/34/16 +f 24/50/17 23/36/17 32/38/17 +f 35/20/2 36/19/2 37/40/2 +f 22/51/18 21/41/18 30/43/18 +f 20/52/19 19/44/19 28/46/19 +f 18/53/20 17/47/20 25/49/20 +f 17/47/21 24/50/21 26/48/21 +f 23/36/22 22/51/22 31/37/22 +f 21/41/23 20/52/23 29/42/23 +f 19/1299/24 18/53/24 27/54/24 +f 37/1300/3 38/55/3 39/57/3 +f 39/57/4 40/56/4 41/59/4 +f 41/59/5 42/58/5 43/61/5 +f 43/61/6 44/60/6 45/63/6 +f 47/66/7 48/64/7 33/65/7 +f 45/63/8 46/62/8 47/66/8 +f 40/70/9 38/67/9 52/69/9 +f 42/72/10 40/70/10 53/71/10 +f 44/1301/11 42/72/11 54/73/11 +f 44/1301/12 54/73/12 46/75/12 +f 36/80/13 50/76/13 38/78/13 +f 34/1302/14 49/79/14 36/80/14 +f 34/1302/15 48/81/15 49/79/15 +f 48/81/16 46/75/16 56/82/16 +f 56/95/17 55/83/17 64/85/17 +f 54/96/18 53/86/18 62/88/18 +f 52/97/19 51/89/19 60/91/19 +f 50/98/20 49/92/20 57/94/20 +f 49/92/21 56/95/21 58/93/21 +f 55/83/22 54/96/22 63/84/22 +f 53/86/23 52/97/23 61/87/23 +f 51/1303/24 50/98/24 59/99/24 +f 65/115/1 66/100/1 67/102/1 +f 67/102/2 68/101/2 69/104/2 +f 69/1304/3 70/105/3 71/107/3 +f 71/107/4 72/106/4 73/109/4 +f 73/109/5 74/108/5 75/111/5 +f 75/111/6 76/110/6 77/113/6 +f 79/116/7 80/114/7 65/115/7 +f 77/113/8 78/112/8 79/116/8 +f 72/120/9 70/117/9 84/119/9 +f 74/122/10 72/120/10 85/121/10 +f 76/1305/11 74/122/11 86/123/11 +f 76/1305/12 86/123/12 78/125/12 +f 70/1306/13 68/126/13 83/128/13 +f 68/126/14 66/129/14 82/127/14 +f 80/132/15 88/131/15 66/129/15 +f 78/125/16 87/124/16 80/132/16 +f 88/145/17 87/133/17 96/135/17 +f 86/146/18 85/136/18 94/138/18 +f 84/147/19 83/139/19 92/141/19 +f 82/148/20 81/142/20 89/144/20 +f 81/142/21 88/145/21 90/143/21 +f 87/133/22 86/146/22 95/134/22 +f 85/136/23 84/147/23 93/137/23 +f 83/1307/24 82/148/24 91/149/24 +f 97/165/1 98/150/1 99/152/1 +f 99/152/2 100/151/2 101/154/2 +f 101/1308/3 102/155/3 103/157/3 +f 103/157/4 104/156/4 105/159/4 +f 105/159/5 106/158/5 107/161/5 +f 107/161/6 108/160/6 109/163/6 +f 111/166/7 112/164/7 97/165/7 +f 109/163/8 110/162/8 111/166/8 +f 102/1309/9 115/167/9 104/169/9 +f 106/1310/10 104/169/10 117/170/10 +f 106/1310/11 117/170/11 108/172/11 +f 110/181/12 108/172/12 119/173/12 +f 100/178/13 114/174/13 102/176/13 +f 98/180/14 113/177/14 100/178/14 +f 112/1311/15 120/179/15 98/180/15 +f 112/1311/16 110/181/16 120/179/16 +f 120/194/17 119/182/17 128/184/17 +f 118/195/18 117/185/18 126/187/18 +f 116/196/19 115/188/19 124/190/19 +f 114/197/20 113/191/20 121/193/20 +f 113/191/21 120/194/21 122/192/21 +f 119/182/22 118/195/22 127/183/22 +f 117/185/23 116/196/23 125/186/23 +f 115/1312/24 114/197/24 123/198/24 +f 129/214/3 130/199/3 131/201/3 +f 131/201/4 132/200/4 133/203/4 +f 133/1313/5 134/204/5 135/206/5 +f 135/206/6 136/205/6 137/208/6 +f 137/208/8 138/207/8 139/210/8 +f 139/210/7 140/209/7 141/212/7 +f 143/215/2 144/213/2 129/214/2 +f 141/212/1 142/211/1 143/215/1 +f 161/264/3 162/216/3 163/218/3 +f 136/222/25 134/219/25 148/221/25 +f 138/1314/26 136/222/26 149/223/26 +f 138/1314/41 149/223/41 140/225/41 +f 140/225/28 150/224/28 142/227/28 +f 132/1315/29 146/228/29 134/230/29 +f 132/1315/30 130/231/30 146/228/30 +f 130/231/42 144/233/42 145/232/42 +f 144/233/32 142/227/32 152/234/32 +f 152/249/33 151/235/33 160/237/33 +f 163/218/4 164/217/4 165/239/4 +f 150/250/34 149/240/34 158/242/34 +f 148/251/35 147/243/35 156/245/35 +f 146/252/36 145/246/36 153/248/36 +f 145/246/37 152/249/37 154/247/37 +f 151/235/38 150/250/38 159/236/38 +f 149/240/39 148/251/39 157/241/39 +f 147/1316/40 146/252/40 155/253/40 +f 165/1317/5 166/254/5 167/256/5 +f 167/256/6 168/255/6 169/258/6 +f 169/258/8 170/257/8 171/260/8 +f 171/260/7 172/259/7 173/262/7 +f 175/265/2 176/263/2 161/264/2 +f 173/262/1 174/261/1 175/265/1 +f 168/1318/25 166/266/25 180/268/25 +f 168/1318/26 180/268/26 170/270/26 +f 172/272/41 170/270/41 182/271/41 +f 174/1319/28 172/272/28 183/273/28 +f 164/278/29 178/274/29 166/276/29 +f 162/280/30 177/277/30 164/278/30 +f 176/281/42 184/279/42 162/280/42 +f 174/1319/32 183/273/32 176/281/32 +f 184/294/33 183/282/33 192/284/33 +f 182/295/34 181/285/34 190/287/34 +f 180/296/35 179/288/35 188/290/35 +f 178/297/36 177/291/36 185/293/36 +f 177/291/37 184/294/37 186/292/37 +f 183/282/38 182/295/38 191/283/38 +f 189/286/39 181/285/39 188/290/39 +f 179/1320/40 178/297/40 187/298/40 +f 193/314/3 194/299/3 195/301/3 +f 195/301/4 196/300/4 197/303/4 +f 197/1321/5 198/304/5 199/306/5 +f 199/306/6 200/305/6 201/308/6 +f 201/308/8 202/307/8 203/310/8 +f 203/310/7 204/309/7 205/312/7 +f 207/315/2 208/313/2 193/314/2 +f 205/312/1 206/311/1 207/315/1 +f 200/319/25 198/316/25 212/318/25 +f 202/321/26 200/319/26 213/320/26 +f 204/1322/41 202/321/41 214/322/41 +f 204/1322/28 214/322/28 206/324/28 +f 196/329/29 210/325/29 198/327/29 +f 194/1323/30 209/328/30 196/329/30 +f 194/1323/42 208/330/42 209/328/42 +f 206/324/32 215/323/32 208/330/32 +f 216/344/33 215/332/33 224/334/33 +f 222/345/34 214/335/34 221/337/34 +f 212/346/35 211/338/35 220/340/35 +f 210/347/36 209/341/36 217/343/36 +f 218/342/37 209/341/37 224/334/37 +f 215/332/38 214/335/38 223/333/38 +f 213/336/39 212/346/39 221/337/39 +f 211/1324/40 210/347/40 219/348/40 +f 225/364/3 226/349/3 227/351/3 +f 227/351/4 228/350/4 229/353/4 +f 229/1325/5 230/354/5 231/356/5 +f 231/356/6 232/355/6 233/358/6 +f 233/358/8 234/357/8 235/360/8 +f 235/360/7 236/359/7 237/362/7 +f 239/365/2 240/363/2 225/364/2 +f 237/362/1 238/361/1 239/365/1 +f 232/369/25 230/366/25 244/368/25 +f 234/371/26 232/369/26 245/370/26 +f 236/373/41 234/371/41 246/372/41 +f 238/1326/28 236/373/28 247/374/28 +f 228/379/29 242/375/29 230/377/29 +f 226/381/30 241/378/30 228/379/30 +f 240/382/42 248/380/42 226/381/42 +f 238/1326/32 247/374/32 240/382/32 +f 248/395/33 247/383/33 256/385/33 +f 254/396/34 246/386/34 253/388/34 +f 244/397/35 243/389/35 252/391/35 +f 242/398/36 241/392/36 249/394/36 +f 241/392/37 248/395/37 250/393/37 +f 247/383/38 246/386/38 255/384/38 +f 245/387/39 244/397/39 253/388/39 +f 243/1327/40 242/398/40 251/399/40 +f 257/415/5 258/400/5 259/402/5 +f 259/402/6 260/401/6 261/404/6 +f 261/1328/8 262/405/8 263/407/8 +f 263/407/7 264/406/7 265/409/7 +f 265/409/1 266/408/1 267/411/1 +f 267/411/2 268/410/2 269/413/2 +f 271/416/4 272/414/4 257/415/4 +f 269/413/3 270/412/3 271/416/3 +f 289/464/5 290/417/5 291/419/5 +f 262/1329/43 275/420/43 264/422/43 +f 266/424/44 264/422/44 277/423/44 +f 268/426/45 266/424/45 278/425/45 +f 270/434/46 268/426/46 279/427/46 +f 260/1330/47 274/428/47 262/430/47 +f 260/1330/48 258/431/48 274/428/48 +f 272/1331/49 280/433/49 258/431/49 +f 272/1331/50 270/434/50 280/433/50 +f 280/449/22 279/435/22 288/437/22 +f 291/419/6 292/418/6 293/439/6 +f 278/450/21 277/440/21 286/442/21 +f 276/451/24 275/443/24 284/445/24 +f 274/452/23 273/446/23 281/448/23 +f 273/446/18 280/449/18 282/447/18 +f 279/435/17 278/450/17 287/436/17 +f 277/440/20 276/451/20 285/441/20 +f 275/1332/19 274/452/19 283/453/19 +f 293/1333/8 294/454/8 295/456/8 +f 295/456/7 296/455/7 297/458/7 +f 297/458/1 298/457/1 299/460/1 +f 299/460/2 300/459/2 301/462/2 +f 303/465/4 304/463/4 289/464/4 +f 301/462/3 302/461/3 303/465/3 +f 296/469/43 294/466/43 308/468/43 +f 298/471/44 296/469/44 309/470/44 +f 300/1334/45 298/471/45 310/472/45 +f 300/1334/46 310/472/46 302/474/46 +f 292/479/47 306/475/47 294/477/47 +f 290/481/48 305/478/48 292/479/48 +f 304/1335/49 312/480/49 290/481/49 +f 304/1335/50 302/474/50 312/480/50 +f 312/494/22 311/482/22 320/484/22 +f 310/495/21 309/485/21 318/487/21 +f 316/496/24 308/488/24 315/490/24 +f 313/497/23 306/491/23 314/493/23 +f 305/492/18 312/494/18 314/493/18 +f 311/482/17 310/495/17 319/483/17 +f 309/485/20 308/488/20 317/486/20 +f 307/1336/19 306/491/19 315/498/19 +f 321/514/5 322/499/5 323/501/5 +f 323/501/6 324/500/6 325/503/6 +f 325/1337/8 326/504/8 327/506/8 +f 327/506/7 328/505/7 329/508/7 +f 329/508/1 330/507/1 331/510/1 +f 331/510/2 332/509/2 333/512/2 +f 335/515/4 336/513/4 321/514/4 +f 333/512/3 334/511/3 335/515/3 +f 326/1338/43 339/516/43 328/518/43 +f 330/520/44 328/518/44 341/519/44 +f 332/1339/45 330/520/45 342/521/45 +f 332/1339/46 342/521/46 334/523/46 +f 326/1340/47 324/524/47 339/526/47 +f 322/529/48 337/527/48 324/524/48 +f 336/530/49 344/528/49 322/529/49 +f 334/523/50 343/522/50 336/530/50 +f 352/543/22 344/531/22 351/533/22 +f 342/544/21 341/534/21 350/536/21 +f 340/545/24 339/537/24 348/539/24 +f 338/546/23 337/540/23 345/542/23 +f 337/540/18 344/531/18 346/541/18 +f 343/532/17 342/544/17 351/533/17 +f 341/534/20 340/545/20 349/535/20 +f 339/1341/19 338/546/19 347/547/19 +f 353/563/5 354/548/5 355/550/5 +f 355/550/6 356/549/6 357/552/6 +f 357/1342/8 358/553/8 359/555/8 +f 359/555/7 360/554/7 361/557/7 +f 361/557/1 362/556/1 363/559/1 +f 363/559/2 364/558/2 365/561/2 +f 367/564/4 368/562/4 353/563/4 +f 365/561/3 366/560/3 367/564/3 +f 358/1343/43 371/565/43 360/567/43 +f 362/569/44 360/567/44 373/568/44 +f 364/571/45 362/569/45 374/570/45 +f 366/1344/46 364/571/46 375/572/46 +f 356/577/47 370/573/47 358/575/47 +f 354/579/48 369/576/48 356/577/48 +f 368/580/49 376/578/49 354/579/49 +f 366/1344/50 375/572/50 368/580/50 +f 376/593/22 375/581/22 384/583/22 +f 374/594/21 373/584/21 382/586/21 +f 372/595/24 371/587/24 380/589/24 +f 370/596/23 369/590/23 377/592/23 +f 369/590/18 376/593/18 378/591/18 +f 375/581/17 374/594/17 383/582/17 +f 373/584/20 372/595/20 381/585/20 +f 371/1345/19 370/596/19 379/597/19 +f 385/613/8 386/598/8 387/600/8 +f 387/600/7 388/599/7 389/602/7 +f 389/1346/1 390/603/1 391/605/1 +f 391/605/2 392/604/2 393/607/2 +f 393/607/3 394/606/3 395/609/3 +f 395/609/4 396/608/4 397/611/4 +f 399/614/6 400/612/6 385/613/6 +f 397/611/5 398/610/5 399/614/5 +f 417/662/8 418/615/8 419/617/8 +f 392/1347/51 390/618/51 404/620/51 +f 392/1347/52 404/620/52 394/622/52 +f 394/622/59 405/621/59 396/624/59 +f 398/1348/54 396/624/54 407/625/54 +f 388/1349/55 402/626/55 390/628/55 +f 388/1349/56 386/629/56 402/626/56 +f 400/632/57 408/631/57 386/629/57 +f 398/1348/58 407/625/58 400/632/58 +f 408/647/38 407/633/38 416/635/38 +f 419/617/7 420/616/7 421/637/7 +f 406/648/37 405/638/37 414/640/37 +f 404/649/40 403/641/40 412/643/40 +f 402/650/39 401/644/39 409/646/39 +f 401/644/34 408/647/34 410/645/34 +f 407/633/33 406/648/33 415/634/33 +f 405/638/36 404/649/36 413/639/36 +f 403/1350/35 402/650/35 411/651/35 +f 421/1351/1 422/652/1 423/654/1 +f 423/654/2 424/653/2 425/656/2 +f 425/656/3 426/655/3 427/658/3 +f 427/658/4 428/657/4 429/660/4 +f 431/663/6 432/661/6 417/662/6 +f 429/660/5 430/659/5 431/663/5 +f 424/1352/51 422/664/51 436/666/51 +f 424/1352/52 436/666/52 426/668/52 +f 428/1353/59 426/668/59 438/669/59 +f 428/1353/54 438/669/54 430/671/54 +f 420/1354/55 434/672/55 422/674/55 +f 420/1354/56 418/675/56 434/672/56 +f 432/678/57 440/677/57 418/675/57 +f 430/671/58 439/670/58 432/678/58 +f 440/691/38 439/679/38 448/681/38 +f 438/692/37 437/682/37 446/684/37 +f 436/693/40 435/685/40 444/687/40 +f 434/694/39 433/688/39 441/690/39 +f 433/688/34 440/691/34 442/689/34 +f 439/679/33 438/692/33 447/680/33 +f 437/682/36 436/693/36 445/683/36 +f 435/1355/35 434/694/35 443/695/35 +f 449/711/8 450/696/8 451/698/8 +f 451/698/7 452/697/7 453/700/7 +f 453/1356/1 454/701/1 455/703/1 +f 455/703/2 456/702/2 457/705/2 +f 457/705/3 458/704/3 459/707/3 +f 459/707/4 460/706/4 461/709/4 +f 463/712/6 464/710/6 449/711/6 +f 461/709/5 462/708/5 463/712/5 +f 456/716/51 454/713/51 468/715/51 +f 458/718/52 456/716/52 469/717/52 +f 460/1357/59 458/718/59 470/719/59 +f 460/1357/54 470/719/54 462/721/54 +f 452/726/55 466/722/55 454/724/55 +f 450/728/56 465/725/56 452/726/56 +f 464/1358/57 472/727/57 450/728/57 +f 464/1358/58 462/721/58 472/727/58 +f 472/741/38 471/729/38 480/731/38 +f 470/742/37 469/732/37 478/734/37 +f 468/743/40 467/735/40 476/737/40 +f 466/744/39 465/738/39 473/740/39 +f 465/738/34 472/741/34 474/739/34 +f 471/729/33 470/742/33 479/730/33 +f 469/732/36 468/743/36 477/733/36 +f 467/1359/35 466/744/35 475/745/35 +f 481/761/8 482/746/8 483/748/8 +f 483/748/7 484/747/7 485/750/7 +f 485/1360/1 486/751/1 487/753/1 +f 487/753/2 488/752/2 489/755/2 +f 489/755/3 490/754/3 491/757/3 +f 491/757/4 492/756/4 493/759/4 +f 495/762/6 496/760/6 481/761/6 +f 493/759/5 494/758/5 495/762/5 +f 488/766/51 486/763/51 500/765/51 +f 490/1361/52 488/766/52 501/767/52 +f 490/1361/59 501/767/59 492/769/59 +f 494/1362/54 492/769/54 503/770/54 +f 484/775/55 498/771/55 486/773/55 +f 482/1363/56 497/774/56 484/775/56 +f 482/1363/57 496/776/57 497/774/57 +f 494/1362/58 503/770/58 496/776/58 +f 504/790/38 503/778/38 512/780/38 +f 502/791/37 501/781/37 510/783/37 +f 500/792/40 499/784/40 508/786/40 +f 498/793/39 497/787/39 505/789/39 +f 497/787/34 504/790/34 506/788/34 +f 503/778/33 502/791/33 511/779/33 +f 501/781/36 500/792/36 509/782/36 +f 499/1364/35 498/793/35 507/794/35 +f 554/1365/60 556/795/60 553/797/60 +f 514/800/61 516/1366/61 779/798/61 +f 520/802/61 779/798/61 516/1366/61 +f 516/803/62 515/1367/62 780/801/62 +f 519/805/62 780/801/62 515/1367/62 +f 515/806/63 513/1368/63 777/804/63 +f 517/808/63 777/804/63 513/1368/63 +f 513/809/64 514/1369/64 778/807/64 +f 518/799/64 778/807/64 514/1369/64 +f 522/1370/65 524/810/65 521/812/65 +f 524/819/66 528/813/66 523/815/66 +f 526/1371/60 522/816/60 525/817/60 +f 521/812/67 523/811/67 525/817/67 +f 526/1371/68 528/813/68 522/816/68 +f 530/1372/65 532/820/65 529/822/65 +f 532/829/66 536/823/66 531/825/66 +f 534/1373/60 530/826/60 533/827/60 +f 529/822/67 531/821/67 533/827/67 +f 534/1373/68 536/823/68 530/826/68 +f 540/838/66 544/830/66 539/832/66 +f 544/1374/69 542/833/69 543/831/69 +f 542/1375/60 538/835/60 541/837/60 +f 537/1376/67 539/832/67 541/834/67 +f 542/1375/68 544/830/68 538/835/68 +f 548/847/66 552/839/66 547/841/66 +f 552/1377/69 550/842/69 551/840/69 +f 550/1378/60 546/844/60 549/846/60 +f 545/1379/67 547/841/67 549/843/67 +f 550/1378/68 552/839/68 546/844/68 +f 556/854/65 560/848/65 555/850/65 +f 558/1380/69 554/851/69 557/852/69 +f 553/797/67 555/796/67 557/852/67 +f 558/1380/68 560/848/68 554/851/68 +f 562/1381/60 564/855/60 561/857/60 +f 564/864/65 568/858/65 563/860/65 +f 566/1382/69 562/861/69 565/862/69 +f 561/857/67 563/856/67 565/862/67 +f 566/1382/68 568/858/68 562/861/68 +f 572/873/65 576/865/65 571/867/65 +f 576/1383/66 574/868/66 575/866/66 +f 574/1384/69 570/870/69 573/872/69 +f 569/1385/67 571/867/67 573/869/67 +f 574/1384/68 576/865/68 570/870/68 +f 515/1386/67 516/874/67 513/876/67 +f 580/885/65 584/877/65 579/879/65 +f 584/1387/66 582/880/66 583/878/66 +f 582/1388/69 578/882/69 581/884/69 +f 577/1389/67 579/879/67 581/881/67 +f 582/1388/68 584/877/68 578/882/68 +f 587/888/67 586/1390/67 585/1391/67 +f 585/1391/67 596/1392/67 595/886/67 +f 595/886/67 594/1393/67 591/887/67 +f 593/1394/67 592/1395/67 591/887/67 +f 591/887/67 590/1396/67 589/1397/67 +f 589/1397/67 588/1398/67 587/888/67 +f 587/888/67 585/1391/67 595/886/67 +f 594/1393/67 593/1394/67 591/887/67 +f 591/887/67 589/1397/67 587/888/67 +f 602/1399/67 603/889/67 614/891/67 +f 595/913/70 596/892/70 607/894/70 +f 585/904/71 586/895/71 598/897/71 +f 592/915/72 593/898/72 604/900/72 +f 589/916/73 590/901/73 601/903/73 +f 596/892/74 585/904/74 608/893/74 +f 586/895/75 587/905/75 597/896/75 +f 593/898/76 594/907/76 605/899/76 +f 590/901/77 591/909/77 602/902/77 +f 587/905/78 588/911/78 599/906/78 +f 594/1400/79 595/913/79 606/914/79 +f 591/909/80 592/915/80 603/910/80 +f 588/911/81 589/916/81 600/912/81 +f 617/938/76 618/917/76 629/919/76 +f 599/1401/67 600/920/67 611/922/67 +f 618/1402/67 606/923/67 619/925/67 +f 603/1403/67 604/926/67 615/890/67 +f 612/921/67 600/928/67 613/930/67 +f 619/925/67 607/931/67 620/933/67 +f 598/1404/67 597/934/67 610/936/67 +f 604/1405/67 605/937/67 616/927/67 +f 601/1406/67 602/939/67 613/930/67 +f 620/933/67 608/940/67 610/936/67 +f 609/935/67 597/942/67 611/922/67 +f 605/1407/67 606/944/67 617/938/67 +f 650/1408/67 651/945/67 662/947/67 +f 614/891/77 615/890/77 626/949/77 +f 611/922/78 612/921/78 623/951/78 +f 618/1402/79 619/925/79 630/953/79 +f 615/890/80 616/927/80 627/948/80 +f 612/921/81 613/930/81 624/950/81 +f 619/925/70 620/933/70 631/952/70 +f 622/958/71 610/936/71 621/957/71 +f 616/927/72 617/938/72 628/954/72 +f 613/930/73 614/891/73 625/955/73 +f 620/933/74 610/936/74 632/956/74 +f 621/957/75 609/935/75 623/951/75 +f 643/980/70 644/959/70 655/961/70 +f 633/971/71 634/962/71 646/964/71 +f 640/982/72 641/965/72 652/967/72 +f 637/983/73 638/968/73 649/970/73 +f 644/959/74 633/971/74 656/960/74 +f 634/962/75 635/972/75 645/963/75 +f 641/965/76 642/974/76 653/966/76 +f 638/968/77 639/976/77 650/969/77 +f 635/972/78 636/978/78 647/973/78 +f 642/1409/79 643/980/79 654/981/79 +f 639/976/80 640/982/80 651/977/80 +f 636/978/81 637/983/81 648/979/81 +f 665/1005/76 666/984/76 677/986/76 +f 647/1410/67 648/987/67 659/989/67 +f 666/1411/67 654/990/67 667/992/67 +f 651/1412/67 652/993/67 663/946/67 +f 660/988/67 648/995/67 661/997/67 +f 667/992/67 655/998/67 668/1000/67 +f 646/1413/67 645/1001/67 658/1003/67 +f 652/1414/67 653/1004/67 664/994/67 +f 649/1415/67 650/1006/67 661/997/67 +f 668/1000/67 656/1007/67 658/1003/67 +f 657/1002/67 645/1009/67 659/989/67 +f 653/1416/67 654/1011/67 665/1005/67 +f 674/1022/77 662/947/77 675/1012/77 +f 659/989/78 660/988/78 671/1014/78 +f 666/1411/79 667/992/79 678/1016/79 +f 663/946/80 664/994/80 675/1012/80 +f 660/988/81 661/997/81 672/1013/81 +f 667/992/70 668/1000/70 679/1015/70 +f 658/1003/71 657/1002/71 670/1021/71 +f 664/994/72 665/1005/72 676/1017/72 +f 661/997/73 662/947/73 673/1018/73 +f 668/1000/74 658/1003/74 680/1019/74 +f 657/1002/75 659/989/75 669/1020/75 +f 698/1417/67 699/1023/67 710/1025/67 +f 691/1047/70 692/1026/70 703/1028/70 +f 681/1038/71 682/1029/71 694/1031/71 +f 688/1049/72 689/1032/72 700/1034/72 +f 685/1050/73 686/1035/73 697/1037/73 +f 692/1026/74 681/1038/74 704/1027/74 +f 682/1029/75 683/1039/75 693/1030/75 +f 689/1032/76 690/1041/76 701/1033/76 +f 686/1035/77 687/1043/77 698/1036/77 +f 683/1039/78 684/1045/78 695/1040/78 +f 690/1418/79 691/1047/79 702/1048/79 +f 687/1043/80 688/1049/80 699/1044/80 +f 684/1045/81 685/1050/81 696/1046/81 +f 713/1072/76 714/1051/76 725/1053/76 +f 695/1419/67 696/1054/67 707/1056/67 +f 714/1420/67 702/1057/67 715/1059/67 +f 699/1421/67 700/1060/67 711/1024/67 +f 708/1055/67 696/1062/67 709/1064/67 +f 715/1059/67 703/1065/67 716/1067/67 +f 694/1422/67 693/1068/67 706/1070/67 +f 700/1423/67 701/1071/67 712/1061/67 +f 697/1424/67 698/1073/67 709/1064/67 +f 716/1067/67 704/1074/67 706/1070/67 +f 705/1069/67 693/1076/67 707/1056/67 +f 701/1425/67 702/1078/67 713/1072/67 +f 710/1025/77 711/1024/77 722/1080/77 +f 707/1056/78 708/1055/78 719/1082/78 +f 714/1420/79 715/1059/79 726/1084/79 +f 711/1024/80 712/1061/80 723/1079/80 +f 708/1055/81 709/1064/81 720/1081/81 +f 715/1059/70 716/1067/70 727/1083/70 +f 706/1070/71 705/1069/71 718/1089/71 +f 712/1061/72 713/1072/72 724/1085/72 +f 709/1064/73 710/1025/73 721/1086/73 +f 716/1067/74 706/1070/74 728/1087/74 +f 705/1069/75 707/1056/75 717/1088/75 +f 746/1426/67 747/1090/67 758/1092/67 +f 739/1114/70 740/1093/70 751/1095/70 +f 729/1105/71 730/1096/71 742/1098/71 +f 736/1116/72 737/1099/72 748/1101/72 +f 733/1117/73 734/1102/73 745/1104/73 +f 740/1093/74 729/1105/74 752/1094/74 +f 730/1096/75 731/1106/75 741/1097/75 +f 737/1099/76 738/1108/76 749/1100/76 +f 734/1102/77 735/1110/77 746/1103/77 +f 731/1106/78 732/1112/78 743/1107/78 +f 738/1427/79 739/1114/79 750/1115/79 +f 735/1110/80 736/1116/80 747/1111/80 +f 732/1112/81 733/1117/81 744/1113/81 +f 761/1152/76 762/1118/76 773/1120/76 +f 743/1428/67 744/1121/67 755/1123/67 +f 762/1429/67 750/1124/67 763/1126/67 +f 747/1430/67 748/1127/67 759/1129/67 +f 756/1431/67 744/1130/67 757/1132/67 +f 763/1432/67 751/1133/67 764/1135/67 +f 742/1433/67 741/1136/67 754/1138/67 +f 748/1434/67 749/1139/67 760/1141/67 +f 745/1435/67 746/1142/67 757/1144/67 +f 764/1436/67 752/1145/67 754/1147/67 +f 753/1163/67 741/1148/67 755/1150/67 +f 749/1437/67 750/1151/67 761/1152/67 +f 758/1092/77 759/1091/77 770/1154/77 +f 755/1123/78 756/1122/78 767/1156/78 +f 762/1429/79 763/1126/79 774/1119/79 +f 759/1129/80 760/1128/80 771/1153/80 +f 756/1431/81 757/1132/81 768/1155/81 +f 763/1432/70 764/1135/70 775/1157/70 +f 754/1138/71 753/1137/71 766/1162/71 +f 760/1141/72 761/1140/72 772/1158/72 +f 769/1159/73 757/1144/73 770/1154/73 +f 764/1436/74 754/1147/74 776/1160/74 +f 765/1161/75 753/1163/75 767/1156/75 +f 734/1438/68 722/1080/68 735/1164/68 +f 735/1439/68 723/1079/68 736/1165/68 +f 736/1440/68 724/1085/68 737/1166/68 +f 725/1053/68 726/1052/68 737/1168/68 +f 726/1084/68 727/1083/68 738/1170/68 +f 727/1083/68 728/1087/68 739/1172/68 +f 728/1087/68 718/1089/68 740/1174/68 +f 718/1089/68 717/1088/68 729/1176/68 +f 717/1088/68 719/1082/68 730/1178/68 +f 719/1082/68 720/1081/68 731/1180/68 +f 733/1441/68 721/1086/68 734/1181/68 +f 720/1081/68 721/1086/68 732/1183/68 +f 671/1014/68 672/1013/68 683/1185/68 +f 672/1013/68 673/1018/68 684/1187/68 +f 685/1442/68 673/1018/68 686/1188/68 +f 686/1443/68 674/1022/68 687/1189/68 +f 687/1444/68 675/1012/68 688/1190/68 +f 688/1445/68 676/1017/68 689/1191/68 +f 677/986/68 678/985/68 689/1193/68 +f 678/1016/68 679/1015/68 690/1195/68 +f 679/1015/68 680/1019/68 691/1197/68 +f 680/1019/68 670/1021/68 692/1199/68 +f 670/1021/68 669/1020/68 681/1201/68 +f 669/1020/68 671/1014/68 682/1203/68 +f 621/957/68 623/951/68 634/1205/68 +f 623/951/68 624/950/68 635/1207/68 +f 624/950/68 625/955/68 636/1209/68 +f 637/1446/68 625/955/68 638/1210/68 +f 638/1447/68 626/949/68 639/1211/68 +f 639/1448/68 627/948/68 640/1212/68 +f 640/1449/68 628/954/68 641/1213/68 +f 629/919/68 630/918/68 641/1215/68 +f 630/953/68 631/952/68 642/1217/68 +f 631/952/68 632/956/68 643/1219/68 +f 632/956/68 622/958/68 644/1221/68 +f 622/958/68 621/957/68 633/1223/68 +f 518/799/68 592/1224/68 778/807/68 +f 517/808/68 778/807/68 590/1226/68 +f 588/1228/68 777/804/68 589/1227/68 +f 519/805/68 777/804/68 587/1229/68 +f 585/1231/68 780/801/68 586/1230/68 +f 520/802/68 780/801/68 596/1232/68 +f 594/1234/68 779/798/68 595/1233/68 +f 518/799/68 779/798/68 593/1235/68 +f 789/1270/76 790/1236/76 801/1238/76 +f 773/1120/68 774/1119/68 789/1240/68 +f 774/1119/68 775/1157/68 790/1239/68 +f 775/1157/68 776/1160/68 791/1241/68 +f 776/1160/68 766/1162/68 792/1242/68 +f 766/1162/68 765/1161/68 782/1243/68 +f 765/1161/68 767/1156/68 781/1244/68 +f 767/1156/68 768/1155/68 783/1245/68 +f 772/1158/68 773/1120/68 788/1247/68 +f 771/1153/68 772/1158/68 787/1248/68 +f 786/1249/68 770/1154/68 787/1248/68 +f 769/1159/68 770/1154/68 785/1250/68 +f 784/1246/68 768/1155/68 785/1250/68 +f 805/1450/83 793/1251/83 807/1253/83 +f 786/1271/77 787/1254/77 798/1256/77 +f 783/1273/78 784/1257/78 795/1252/78 +f 790/1451/79 791/1259/79 802/1261/79 +f 787/1254/80 788/1262/80 799/1255/80 +f 784/1257/81 785/1264/81 796/1258/81 +f 791/1259/70 792/1266/70 803/1260/70 +f 782/1272/71 781/1268/71 794/1269/71 +f 788/1262/72 789/1270/72 800/1263/72 +f 785/1264/73 786/1271/73 797/1265/73 +f 792/1266/74 782/1272/74 804/1267/74 +f 781/1268/75 783/1273/75 793/1251/75 +f 806/1276/68 805/1452/68 809/1274/68 +f 807/1453/68 808/1454/68 809/1274/68 +f 809/1274/68 810/1455/68 811/1456/68 +f 811/1456/68 812/1457/68 809/1274/68 +f 813/1275/68 814/1458/68 815/1459/68 +f 815/1459/68 816/1460/68 806/1276/68 +f 805/1452/68 807/1453/68 809/1274/68 +f 809/1274/68 812/1457/68 813/1275/68 +f 813/1275/68 815/1459/68 806/1276/68 +f 801/1238/84 802/1237/84 813/1278/84 +f 798/1256/85 799/1255/85 810/1280/85 +f 807/1461/86 795/1252/86 808/1281/86 +f 802/1261/87 803/1260/87 814/1283/87 +f 799/1255/95 800/1263/95 811/1285/95 +f 796/1258/89 797/1265/89 808/1287/89 +f 815/1462/90 803/1260/90 816/1288/90 +f 794/1269/91 793/1251/91 806/1290/91 +f 812/1463/92 800/1263/92 813/1291/92 +f 797/1265/93 798/1256/93 809/1293/93 +f 816/1464/96 804/1267/96 806/1294/96 diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 5a5b44577..3e403939b 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -7,6 +7,10 @@ "block.crateBreak": {"category": "block", "sounds": ["block/crateBreak1", "block/crateBreak2", "block/crateBreak3", "block/crateBreak4", "block/crateBreak5"]}, "block.shutdown": {"category": "block", "sounds": [{"name": "block/shutdown", "stream": false}]}, "block.minerOperate": {"category": "block", "sounds": [{"name": "block/minerOperate", "stream": false}]}, + "block.assemblerOperate": {"category": "block", "sounds": [{"name": "block/assemblerOperate", "stream": false}]}, + "block.chemplantOperate": {"category": "block", "sounds": [{"name": "block/chemplantOperate", "stream": false}]}, + "block.dieselOperate": {"category": "block", "sounds": [{"name": "block/dieselOperate", "stream": false}]}, + "block.igeneratorOperate": {"category": "block", "sounds": [{"name": "block/igeneratorOperate", "stream": false}]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, diff --git a/assets/hbm/textures/gui/fluids2.png b/assets/hbm/textures/gui/fluids2.png old mode 100644 new mode 100755 index 93d146ad58ff46734dfd2e86bbf056bf35f3402e..895402a63b04f154901618f0d8f3405063da16dc GIT binary patch literal 18306 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 diff --git a/assets/hbm/textures/gui/gui_refinery.png b/assets/hbm/textures/gui/gui_refinery.png index 1804a2ef3cf764337ce40fa2e0c8717ca3269edf..86aff482962c4238a5071a3b76d624b10b70290e 100644 GIT binary patch literal 2711 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 diff --git a/assets/hbm/textures/gui/gui_refinery_alt.png b/assets/hbm/textures/gui/gui_refinery_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..1804a2ef3cf764337ce40fa2e0c8717ca3269edf GIT binary patch literal 7163 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/canister_bitumen.png b/assets/hbm/textures/items/canister_bitumen.png new file mode 100644 index 0000000000000000000000000000000000000000..310e712f92b3e01883bab8480306b9e30d700f65 GIT binary patch literal 305 zcmV-10nYx3P)nnWwVYW8Q|d%FzqZ#woy5Cp92G)>>mZMx5kIF4CLX&Q;hh^?1fj>3ea zFkxGy79wIIV%@Cw7qgA2TO$$?5Bxa*psEU#q`D z@^0?b3PfST+R=7@ru(V+7aE_SBP*2wz?*wx0_pjXo^M3zs1?XnhU@JDr810$V+i5C zd|s=7E%tK)jSw!XsxY;kqH&O>lhwzuJ)QTh1Nb!$9%fRS^3(z800000NkvXXu0mjf DLnC}Y literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/canister_heatingoil.png b/assets/hbm/textures/items/canister_heatingoil.png new file mode 100644 index 0000000000000000000000000000000000000000..5ac3eddd67285e8318532bcd99b2d31ca787abf5 GIT binary patch literal 307 zcmV-30nGl1P)+ADZQIFvtZaO!>)IDZF*KHCIl%6(&wXQ! zZ>;g-o}@zn+wUiaZduwN)L4>GHWtBg6oCtM~~|SyUxkA z`tf;-fEadkf}mV0_Hr2NI7M=iZZFQJnSrP6`{DxrSzoC>UUgvk3f}+#002ovPDHLk FV1l`7fldGb literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/canister_heavyoil.png b/assets/hbm/textures/items/canister_heavyoil.png new file mode 100644 index 0000000000000000000000000000000000000000..6c36ec828405b1b2a07f683abe336469d5243f16 GIT binary patch literal 301 zcmV+|0n+}7P)dRTk5A>Gj>Yxm=<{X? zhGc(s5O7kqUi{NV^pKW|Tl=m4y4}wn;Mw>BI<{HsS5=>300000NkvXXu0mjf;%J5( literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/canister_lightoil.png b/assets/hbm/textures/items/canister_lightoil.png new file mode 100644 index 0000000000000000000000000000000000000000..d030fa54b2f55102f6d57fb19f9237910e1aa355 GIT binary patch literal 302 zcmV+}0nz@6P)-;^IJA#3PmQ*boz6?d)u@C|CXgs1VKR3CrR?PuFLKZq9`K9mmY%u8h&>iwBI6Nc%URXkfnMDR;J){90?KB($m9|7TEOk`gsc(}ZWu6kczLq` z9k#dwDdsv*h*o*M3*%cq?$@Kw_HwJY>0p0AKfF_y;w~BT4QZ32 zAh0i121mwK{L0ibUERky=ZXvbH#|3yB#E(cp67RU7p(nA)6_^Qo53&)8?x88wTZL9 z#93h4GlL42U==B7MfiF@dI0dUdp7%zA8(YvlFTZo4cB&0@Fj;< z1o2dFOl8&d^b*8bV6396-UjO$eguOnSj+lCb+fqF>m~5zt)%GB&Mtaa(2DT;T|i$5 z%k>Oguuh^$f1njT?!bZzhO(%d*mW^@NYQp-y7Gt5^XLIi#udb~Ti$7Nv+@7{002ov JPDHLkV1o8WgyR4J literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/gas_petroleum.png b/assets/hbm/textures/items/gas_petroleum.png new file mode 100644 index 0000000000000000000000000000000000000000..29c9f755d783aee3b976d8a558e61f8ed689e89c GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf+ot&K9Jl)JGbk~B+tRE3^zVM>q&Nj828NlbdIz6XAHD^2 O8-u5-pUXO@geCyR_*F*$ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/MissileDoomsday.png b/assets/hbm/textures/models/MissileDoomsday.png new file mode 100755 index 0000000000000000000000000000000000000000..0831687663893fc9edf91672f262825d474cabdc GIT binary patch literal 55521 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%0DS2j0^uPpUBsp{vJ;0uc^w3Dz&DqlZ-)dN zwX(}WC+>h0nnSZh1PxN7YA_?42C`;163t1^KSC9Ak`Ft*H9u>$80Ax=TH2!;+1snJ1994n z{9#ldJuJ_Rz2}_29Qle&-xy3Exg)1BQp5KD6Vi78RhJsz^M#Q= zy*1wsgFb@5fOXJ7HI5rbb7&GxdF{2=uEyeH)UX=qnrp6E{t-gM5%Gjyjb`L)E|v|R z`8)`UDVI5$Q4aPRK4O`(^XDrEKmL5-8`}eYc>H0AVM7iF0n)$_E6$p|Tt@ln*~@7S z19txW_^2UFQck++wiXNH>Z`9_en{@mftZ)eD4&BM{Pxq{)#}d=UV9MBF2)TNTfhGr#Pz%l`cjk7(#-U_pl)00000NkvXXu0mjf?#-)# literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/bombletThetaTexture.png b/assets/hbm/textures/models/bombletThetaTexture.png new file mode 100755 index 0000000000000000000000000000000000000000..e4f809d0d404a90cc3d3132fb6a534a7bf581b77 GIT binary patch literal 17044 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�MVG0r7lC$=)W^b|X0JQOz9ZE<8 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 W#hG?%G&lbM0000hN^D4`naL)FnMH|KmT3;hgQ zdf%ON^OQRsI4hPnDWgsmFx~u?o5?_5D_sjr@Tgaeo?VH4h@PJzI%m?u^TIbJjOp{yAg5A-tWe!%lq`2^q}6W!&RN+sy9<oxwn$-U?%pSuKlJ zEB>2LLp}rGRx7>;SP$$o>3U>(OJWsbPysv&boc2{4t$UF5#U~6nu)&!{Nkurte&00 z4ZsR3tOSOp$Q}U<07eilVXeR$J`H6JfFptHO}q_Qi%j2ZOkQtbR7%~0gg5_c(iO;? z7Q&}@5@HKr^4e1Bl%i*)xd&PHK0s!P?Z}L=#iw%C02qPX9FQlg4j2r4WXas=xXv2j z3lo1Ff1|ThRwJ)s0Y4MY3Q3fzXWq<2-k$8R+Ouwd3Ye{23RMAjSm{B)M&K)8mX$ve znSzpN0j8SxdB~Gg4)y`_t#l)BAVoG0JuAsf#DJY_(mjzqgF!x(T?3#NxXj}kRlv25 z@^wU?q;jzUSv!{#-9(9#m!5eNHv;Q{;iT`W96;=r1y)`o9(I>&0E|UO6No|Ao#>Qw zg(Z8tB^#%ew@{p#}+ zvbAgTG4O|p55~Ry_z7ZIbv1gBub!1=8)9n(JW;8RD2k#eilQirq9}@@D2k#eilQir zq9}^ewOLQ-Y%o1mHp42LWAb_cUlVl>iHA9Kq%U%kIFPAx^eIjDOe=3E9i2}=P5=cm zf%8a%m3NDy-D^^GNV*S&=oa@oTtoEqPrTh?^i0I(l?d5aXOn&kIS)Mx@^slvcse$V%jszNm20pZ0-mV-y_r@KdK6EkJU#&+o=I<-_$!^D&@^J-_o8M^S!w8?O&ZZ5x-^2$K8gy|= z(G&0=0LNQ#9|zA}$c#}5BQU^z^_fa&P;CXibkv(_e6~aBY+xz=&Y^|q)=W6SYz`rI)A)?Giq*3qYLO26?(Qw| zkgX>CbW2ufMs~b>WbMz-G$xcMdCfM^u|4}EOMMal!Zdy3JAsAh7XM2u6CS>NyVkyyg=e@|QZ@CG!-?QHLn__8SJrzY!6h%=K lMNt$*Q4~c{6h--;^B-|(Gl}Dst(E`)002ovPDHLkV1l<7Bs>5B literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/tank_ASCHRAB.png b/assets/hbm/textures/models/tank_ASCHRAB.png new file mode 100644 index 0000000000000000000000000000000000000000..3d92a25a0bc79044a0450d0b4d3841da584ae0c6 GIT binary patch literal 3489 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 VDE935!JWqjR24N9%H+&~{{xbcg_HmQ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/tank_DEUTERIUM.png b/assets/hbm/textures/models/tank_DEUTERIUM.png new file mode 100644 index 0000000000000000000000000000000000000000..2c79dc66e0e15e4fda1e5fcdcd9aa930570c9b87 GIT binary patch literal 2689 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 BuEPKT literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/tank_GAS.png b/assets/hbm/textures/models/tank_GAS.png new file mode 100644 index 0000000000000000000000000000000000000000..de0c11c1bffd2fa0fcc9fd760214075c6b3205f2 GIT binary patch literal 4087 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/tank_LUBRICANT.png b/assets/hbm/textures/models/tank_LUBRICANT.png new file mode 100644 index 0000000000000000000000000000000000000000..eb439da7302eba99535797a3a8dae385f6033ad6 GIT binary patch literal 3939 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 S$92(~0X;24&2sf8;r{~z-lM?) literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/tank_NAPHTHA.png b/assets/hbm/textures/models/tank_NAPHTHA.png new file mode 100644 index 0000000000000000000000000000000000000000..6c59fa6e6f82e586a5a8ee0875c620fdbcfecf30 GIT binary patch literal 2607 zcmV+~3efe5P)w$nCEo7!p;ovN~F>bmWZtt#!NR_(M3v5f&DLj;n*0vW%O49M@qBqZ1YC&Y4X3qEf(BZm>w-*V31&n{=2O|;zK>}cb64>~M4%bn05fCH*7AS$KUuZz^4F;(Y zqm&uhe|Yg}-H)b^Y}}E*Us=YmFiam)sx{j;8ud!4+HE&kkDTaA=YUDS;xb)Dd29J% zRnhdJ1IPZ+RO;~J`pk8F1?zFT2KojY+q#VJIo#ZZVDhbJ8xQo1Fu!~PJ`|Ya1 z1ORTk$@jHuUI~QgtX_Cr5h+PBaYVD>Je`;HzJ(&w=pi>A__D8-4Gd%^aT~ zphF4FOdM6BSG^0qS%j7?EqL&c0Dx#@FH(GuZ*8zsc%0AOa&{`efi3# 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 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/tank_SMEAR.png b/assets/hbm/textures/models/tank_SMEAR.png new file mode 100644 index 0000000000000000000000000000000000000000..c4116c89c3a2e9810216bc331b5a8c1ef1bba80e GIT binary patch literal 3374 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 Dgt+_A literal 0 HcmV?d00001 diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 67b30bef3..d32a2ed5a 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -408,6 +408,8 @@ public class ModBlocks { public static Block dummy_port_chemplant; public static Block dummy_block_fluidtank; public static Block dummy_port_fluidtank; + public static Block dummy_block_refinery; + public static Block dummy_port_refinery; private static void initializeBlock() { @@ -672,7 +674,7 @@ public class ModBlocks { machine_well = new MachineOilWell(Material.iron).setBlockName("machine_well").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_well"); oil_pipe = new BlockNoDrop(Material.iron).setBlockName("oil_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":oil_pipe"); machine_flare = new MachineGasFlare(Material.iron).setBlockName("machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_flare"); - machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_refinery_side"); + machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_refinery"); machine_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).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_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_assembler"); @@ -723,6 +725,8 @@ public class ModBlocks { dummy_port_chemplant = new DummyBlockChemplant(Material.iron).setBlockName("dummy_port_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_fluidtank = new DummyBlockFluidTank(Material.iron).setBlockName("dummy_block_fluidtank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_port_fluidtank = new DummyBlockFluidTank(Material.iron).setBlockName("dummy_port_fluidtank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_block_refinery = new DummyBlockRefinery(Material.iron).setBlockName("dummy_block_refinery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_port_refinery = new DummyBlockRefinery(Material.iron).setBlockName("dummy_port_refinery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); } private static void registerBlock() { @@ -1023,6 +1027,8 @@ public class ModBlocks { GameRegistry.registerBlock(dummy_port_chemplant, dummy_port_chemplant.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_fluidtank, dummy_block_fluidtank.getUnlocalizedName()); GameRegistry.registerBlock(dummy_port_fluidtank, dummy_port_fluidtank.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_block_refinery, dummy_block_refinery.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_port_refinery, dummy_port_refinery.getUnlocalizedName()); //Other Technical Blocks GameRegistry.registerBlock(oil_pipe, oil_pipe.getUnlocalizedName()); diff --git a/com/hbm/blocks/bomb/LaunchPad.java b/com/hbm/blocks/bomb/LaunchPad.java index 32b02c94a..32e07b22d 100644 --- a/com/hbm/blocks/bomb/LaunchPad.java +++ b/com/hbm/blocks/bomb/LaunchPad.java @@ -239,7 +239,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_incendiary && entity.power >= 75000) { - EntityMissileIncendiary missile = new EntityMissileIncendiary(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileIncendiary missile = new EntityMissileIncendiary(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -257,7 +257,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_buster && entity.power >= 75000) { - EntityMissileBunkerBuster missile = new EntityMissileBunkerBuster(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileBunkerBuster missile = new EntityMissileBunkerBuster(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -266,7 +266,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_strong && entity.power >= 75000) { - EntityMissileStrong missile = new EntityMissileStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileStrong missile = new EntityMissileStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -275,7 +275,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_incendiary_strong && entity.power >= 75000) { - EntityMissileIncendiaryStrong missile = new EntityMissileIncendiaryStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileIncendiaryStrong missile = new EntityMissileIncendiaryStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -284,7 +284,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_cluster_strong && entity.power >= 75000) { - EntityMissileClusterStrong missile = new EntityMissileClusterStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileClusterStrong missile = new EntityMissileClusterStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -293,7 +293,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_buster_strong && entity.power >= 75000) { - EntityMissileBusterStrong missile = new EntityMissileBusterStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileBusterStrong missile = new EntityMissileBusterStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -302,7 +302,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_burst && entity.power >= 75000) { - EntityMissileBurst missile = new EntityMissileBurst(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileBurst missile = new EntityMissileBurst(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -311,7 +311,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_inferno && entity.power >= 75000) { - EntityMissileInferno missile = new EntityMissileInferno(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileInferno missile = new EntityMissileInferno(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -320,7 +320,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_rain && entity.power >= 75000) { - EntityMissileRain missile = new EntityMissileRain(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileRain missile = new EntityMissileRain(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -329,7 +329,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_drill && entity.power >= 75000) { - EntityMissileDrill missile = new EntityMissileDrill(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileDrill missile = new EntityMissileDrill(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -338,7 +338,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_nuclear && entity.power >= 75000) { - EntityMissileNuclear missile = new EntityMissileNuclear(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileNuclear missile = new EntityMissileNuclear(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -347,7 +347,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_endo && entity.power >= 75000) { - EntityMissileEndo missile = new EntityMissileEndo(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileEndo missile = new EntityMissileEndo(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -356,7 +356,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_exo && entity.power >= 75000) { - EntityMissileExo missile = new EntityMissileExo(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileExo missile = new EntityMissileExo(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -365,7 +365,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_nuclear_cluster && entity.power >= 75000) { - EntityMissileMirv missile = new EntityMissileMirv(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileMirv missile = new EntityMissileMirv(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; diff --git a/com/hbm/blocks/machine/DummyBlockRefinery.java b/com/hbm/blocks/machine/DummyBlockRefinery.java new file mode 100644 index 000000000..090944311 --- /dev/null +++ b/com/hbm/blocks/machine/DummyBlockRefinery.java @@ -0,0 +1,106 @@ +package com.hbm.blocks.machine; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.IDummy; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityDummy; +import com.hbm.tileentity.TileEntityMachineCyclotron; +import com.hbm.tileentity.TileEntityMachineRefinery; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class DummyBlockRefinery extends BlockContainer implements IDummy { + + public static boolean safeBreak = false; + + public DummyBlockRefinery(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityDummy(); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int i) + { + if(!safeBreak) { + TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TileEntityDummy) { + int a = ((TileEntityDummy)te).targetX; + int b = ((TileEntityDummy)te).targetY; + int c = ((TileEntityDummy)te).targetZ; + + //world.getBlock(a, b, c).breakBlock(world, a, b, c, block, i); + if(!world.isRemote) + world.func_147480_a(a, b, c, true); + } + } + world.removeTileEntity(x, y, z); + } + + @Override + public int getRenderType() { + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World world, int x, int y, int z) + { + return Item.getItemFromBlock(ModBlocks.machine_refinery); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) + { + return true; + } else if(!player.isSneaking()) + { + TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TileEntityDummy) { + int a = ((TileEntityDummy)te).targetX; + int b = ((TileEntityDummy)te).targetY; + int c = ((TileEntityDummy)te).targetZ; + + TileEntityMachineRefinery entity = (TileEntityMachineRefinery) world.getTileEntity(a, b, c); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_refinery, world, a, b, c); + } + } + return true; + } else { + return false; + } + } +} diff --git a/com/hbm/blocks/machine/MachineMiningDrill.java b/com/hbm/blocks/machine/MachineMiningDrill.java index 751220592..e72498d7c 100644 --- a/com/hbm/blocks/machine/MachineMiningDrill.java +++ b/com/hbm/blocks/machine/MachineMiningDrill.java @@ -99,7 +99,7 @@ public class MachineMiningDrill extends BlockContainer implements IMultiblock { } world.setBlock(x, y, z - 1, ModBlocks.dummy_port_drill); TileEntity te2 = world.getTileEntity(x, y, z - 1); - if(te instanceof TileEntityDummy) { + if(te2 instanceof TileEntityDummy) { TileEntityDummy dummy = (TileEntityDummy)te2; dummy.targetX = x; dummy.targetY = y; diff --git a/com/hbm/blocks/machine/MachineRefinery.java b/com/hbm/blocks/machine/MachineRefinery.java index 9f9c3a92f..664b44fae 100644 --- a/com/hbm/blocks/machine/MachineRefinery.java +++ b/com/hbm/blocks/machine/MachineRefinery.java @@ -3,8 +3,11 @@ package com.hbm.blocks.machine; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.handler.MultiblockHandler; +import com.hbm.interfaces.IMultiblock; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityDummy; import com.hbm.tileentity.TileEntityMachineRefinery; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; @@ -14,6 +17,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -21,28 +25,17 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class MachineRefinery extends BlockContainer { +public class MachineRefinery extends BlockContainer implements IMultiblock { private final Random field_149933_a = new Random(); private Random rand; private static boolean keepInventory; - - @SideOnly(Side.CLIENT) - private IIcon iconTop; - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_refinery_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_refinery_side"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); + + public MachineRefinery(Material p_i45386_1_) { + super(p_i45386_1_); } @Override @@ -51,8 +44,19 @@ public class MachineRefinery extends BlockContainer { return Item.getItemFromBlock(ModBlocks.machine_refinery); } - public MachineRefinery(Material p_i45386_1_) { - super(p_i45386_1_); + @Override + public int getRenderType() { + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; } @Override @@ -129,4 +133,51 @@ public class MachineRefinery extends BlockContainer { super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.refineryDimensions)) { + MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.refineryDimensions, ModBlocks.dummy_block_refinery); + + // + DummyBlockRefinery.safeBreak = true; + world.setBlock(x + 1, y, z + 1, ModBlocks.dummy_port_refinery); + TileEntity te = world.getTileEntity(x + 1, y, z + 1); + if(te instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te; + dummy.targetX = x; + dummy.targetY = y; + dummy.targetZ = z; + } + world.setBlock(x + 1, y, z - 1, ModBlocks.dummy_port_refinery); + TileEntity te2 = world.getTileEntity(x + 1, y, z - 1); + if(te2 instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te2; + dummy.targetX = x; + dummy.targetY = y; + dummy.targetZ = z; + } + world.setBlock(x - 1, y, z - 1, ModBlocks.dummy_port_refinery); + TileEntity te3 = world.getTileEntity(x - 1, y, z - 1); + if(te3 instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te3; + dummy.targetX = x; + dummy.targetY = y; + dummy.targetZ = z; + } + world.setBlock(x - 1, y, z + 1, ModBlocks.dummy_port_refinery); + TileEntity te4 = world.getTileEntity(x - 1, y, z + 1); + if(te4 instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te4; + dummy.targetX = x; + dummy.targetY = y; + dummy.targetZ = z; + } + DummyBlockRefinery.safeBreak = false; + // + + } else + world.func_147480_a(x, y, z, true); + } } diff --git a/com/hbm/entity/missile/EntityBombletSelena.java b/com/hbm/entity/missile/EntityBombletSelena.java new file mode 100644 index 000000000..f9d7bbb24 --- /dev/null +++ b/com/hbm/entity/missile/EntityBombletSelena.java @@ -0,0 +1,101 @@ +package com.hbm.entity.missile; + +import com.hbm.entity.effect.EntityNukeCloudSmall; +import com.hbm.entity.logic.EntityNukeExplosionAdvanced; +import com.hbm.entity.particle.EntityOilSpillFX; +import com.hbm.entity.particle.EntitySSmokeFX; +import com.hbm.entity.particle.EntitySmokeFX; +import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.ExplosionLarge; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.init.Blocks; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityBombletSelena extends EntityThrowable { + + double decelY = 0.1D; + double accelXZ = 0.1D; + + public EntityBombletSelena(World p_i1582_1_) { + super(p_i1582_1_); + this.ignoreFrustumCheck = true; + } + + @Override + public void onUpdate() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + Vec3 vector = Vec3.createVectorHelper(motionX, 0, motionZ); + vector = vector.normalize(); + vector.xCoord *= accelXZ; + vector.zCoord *= accelXZ; + this.motionY -= decelY; + this.motionX -= vector.xCoord; + this.motionZ -= vector.zCoord; + + this.rotation(); + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 20.0F, true, true, true); + ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25); + } + this.setDead(); + } + + //if(!this.worldObj.isRemote) + // this.worldObj.spawnEntityInWorld(new EntityOilSpillFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); + } + + protected void rotation() { + float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + } + } + + @Override + protected void onImpact(MovingObjectPosition p_70184_1_) { + } + + @Override + @SideOnly(Side.CLIENT) + public boolean isInRangeToRenderDist(double distance) + { + return distance < 25000; + } + +} diff --git a/com/hbm/entity/missile/EntityBombletTheta.java b/com/hbm/entity/missile/EntityBombletTheta.java index cc83f65bb..886f24ace 100644 --- a/com/hbm/entity/missile/EntityBombletTheta.java +++ b/com/hbm/entity/missile/EntityBombletTheta.java @@ -4,6 +4,7 @@ import com.hbm.entity.effect.EntityNukeCloudSmall; import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.particle.EntitySSmokeFX; import com.hbm.entity.particle.EntitySmokeFX; +import com.hbm.explosion.ExplosionLarge; import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; @@ -42,6 +43,19 @@ public class EntityBombletTheta extends EntityThrowable { this.motionY -= decelY; this.motionX -= vector.xCoord; this.motionZ -= vector.zCoord; + + if(motionY < -0.75D && !worldObj.isRemote && rand.nextInt(10) == 0) { + EntityBombletSelena selena = new EntityBombletSelena(worldObj); + selena.posX = this.posX; + selena.posY = this.posY; + selena.posZ = this.posZ; + selena.motionX = rand.nextGaussian(); + selena.motionY = rand.nextGaussian(); + selena.motionZ = rand.nextGaussian(); + selena.decelY = this.decelY; + selena.accelXZ = this.accelXZ; + worldObj.spawnEntityInWorld(selena); + } this.rotation(); @@ -49,21 +63,7 @@ public class EntityBombletTheta extends EntityThrowable { { if(!this.worldObj.isRemote) { - /*EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); - entity.posX = this.posX; - entity.posY = this.posY; - entity.posZ = this.posZ; - entity.destructionRange = MainRegistry.mirvRadius; - entity.speed = 25; - entity.coefficient = 10.0F; - - this.worldObj.spawnEntityInWorld(entity); - - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); - entity2.posX = this.posX; - entity2.posY = this.posY - 9; - entity2.posZ = this.posZ; - this.worldObj.spawnEntityInWorld(entity2);*/ + ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 50.0F, true, true, true); } this.setDead(); } @@ -99,7 +99,6 @@ public class EntityBombletTheta extends EntityThrowable { @Override protected void onImpact(MovingObjectPosition p_70184_1_) { - } @Override diff --git a/com/hbm/entity/missile/EntityMissileBunkerBuster.java b/com/hbm/entity/missile/EntityMissileBunkerBuster.java index 382fe1f1f..ff14d5042 100644 --- a/com/hbm/entity/missile/EntityMissileBunkerBuster.java +++ b/com/hbm/entity/missile/EntityMissileBunkerBuster.java @@ -6,155 +6,26 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileBunkerBuster extends EntityMissileBase { +public class EntityMissileBunkerBuster extends EntityMissileBaseAdvanced { public EntityMissileBunkerBuster(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileBunkerBuster(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); + public EntityMissileBunkerBuster(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - for(int i = 0; i < 15; i++) - { - this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 5F, true); - } - - ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 5); - ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 5); - ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 5); - } - this.setDead(); - } - } + @Override + public void onImpact() { + for(int i = 0; i < 15; i++) + { + this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 5F, true); + } + + ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 5); + ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 5); + ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 5); + } } diff --git a/com/hbm/entity/missile/EntityMissileBurst.java b/com/hbm/entity/missile/EntityMissileBurst.java index e2f46f568..4aab894c1 100644 --- a/com/hbm/entity/missile/EntityMissileBurst.java +++ b/com/hbm/entity/missile/EntityMissileBurst.java @@ -6,150 +6,20 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileBurst extends EntityMissileBase { +public class EntityMissileBurst extends EntityMissileBaseAdvanced { public EntityMissileBurst(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileBurst(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileBurst(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - for(int i = 0; i < 4; i++) - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 50.0F, true); - ExplosionLarge.explode(worldObj, posX, posY, posZ, 50.0F, true, true, true); - } - this.setDead(); - } - } + @Override + public void onImpact() { + for(int i = 0; i < 4; i++) + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 50.0F, true); + ExplosionLarge.explode(worldObj, posX, posY, posZ, 50.0F, true, true, true); + } } diff --git a/com/hbm/entity/missile/EntityMissileBusterStrong.java b/com/hbm/entity/missile/EntityMissileBusterStrong.java index 13634b5a2..6c54478d0 100644 --- a/com/hbm/entity/missile/EntityMissileBusterStrong.java +++ b/com/hbm/entity/missile/EntityMissileBusterStrong.java @@ -6,154 +6,24 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileBusterStrong extends EntityMissileBase { +public class EntityMissileBusterStrong extends EntityMissileBaseAdvanced { public EntityMissileBusterStrong(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileBusterStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 75; + public EntityMissileBusterStrong(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - for(int i = 0; i < 20; i++) - { - this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 7.5F, true); - } - ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 8); - ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 8); - ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 8); - } - this.setDead(); - } - } + @Override + public void onImpact() { + for(int i = 0; i < 20; i++) + { + this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 7.5F, true); + } + ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 8); + ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 8); + ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 8); + } } diff --git a/com/hbm/entity/missile/EntityMissileClusterStrong.java b/com/hbm/entity/missile/EntityMissileClusterStrong.java index 5a8e75b09..df039f1cd 100644 --- a/com/hbm/entity/missile/EntityMissileClusterStrong.java +++ b/com/hbm/entity/missile/EntityMissileClusterStrong.java @@ -6,145 +6,25 @@ import com.hbm.explosion.ExplosionChaos; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileClusterStrong extends EntityMissileBase { +public class EntityMissileClusterStrong extends EntityMissileBaseAdvanced { public EntityMissileClusterStrong(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileClusterStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 75; + public EntityMissileClusterStrong(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); + this.isCluster = true; + } + + @Override + public void onImpact() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 100); } @Override - public void onUpdate() - { - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); - ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 100); - this.setDead(); - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true); - ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 100); - } - this.setDead(); - } - } + public void cluster() { + this.onImpact(); + } } diff --git a/com/hbm/entity/missile/EntityMissileDoomsday.java b/com/hbm/entity/missile/EntityMissileDoomsday.java index adfa89f0f..a82b44f50 100644 --- a/com/hbm/entity/missile/EntityMissileDoomsday.java +++ b/com/hbm/entity/missile/EntityMissileDoomsday.java @@ -87,150 +87,10 @@ public class EntityMissileDoomsday extends EntityMissileBaseAdvanced { worldObj.spawnEntityInWorld(bomblet4); worldObj.spawnEntityInWorld(bomblet5); worldObj.spawnEntityInWorld(bomblet6); + ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ, ExplosionLarge.cloudFunction(25)); + ExplosionLarge.spawnTracers(worldObj, posX, posY, posZ, 10); } } } - /*public EntityMissileGeneric(World p_i1582_1_) { - super(p_i1582_1_); - } - - public EntityMissileGeneric(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - } - - @Override - public void onUpdate() - { - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explode(worldObj, posX, posY, posZ, 10.0F, true, true, true); - } - this.setDead(); - } - }*/ - } diff --git a/com/hbm/entity/missile/EntityMissileDrill.java b/com/hbm/entity/missile/EntityMissileDrill.java index 23409638c..b3312da10 100644 --- a/com/hbm/entity/missile/EntityMissileDrill.java +++ b/com/hbm/entity/missile/EntityMissileDrill.java @@ -6,154 +6,24 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileDrill extends EntityMissileBase { +public class EntityMissileDrill extends EntityMissileBaseAdvanced { public EntityMissileDrill(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileDrill(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileDrill(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - for(int i = 0; i < 30; i++) - { - this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 10F, true); - } - ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 25); - ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 12); - ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 12); - } - this.setDead(); - } - } + @Override + public void onImpact() { + for(int i = 0; i < 30; i++) + { + this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 10F, true); + } + ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 25); + ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 12); + ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 12); + } } diff --git a/com/hbm/entity/missile/EntityMissileEndo.java b/com/hbm/entity/missile/EntityMissileEndo.java index 4cbd6a343..172bfccc8 100644 --- a/com/hbm/entity/missile/EntityMissileEndo.java +++ b/com/hbm/entity/missile/EntityMissileEndo.java @@ -6,150 +6,20 @@ import com.hbm.explosion.ExplosionThermo; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileEndo extends EntityMissileBase { +public class EntityMissileEndo extends EntityMissileBaseAdvanced { public EntityMissileEndo(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileEndo(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileEndo(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); - ExplosionThermo.freeze(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); - ExplosionThermo.freezer(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); - } - this.setDead(); - } - } + @Override + public void onImpact() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); + ExplosionThermo.freeze(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); + ExplosionThermo.freezer(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); + } } diff --git a/com/hbm/entity/missile/EntityMissileExo.java b/com/hbm/entity/missile/EntityMissileExo.java index d4b3be99c..d4943c05c 100644 --- a/com/hbm/entity/missile/EntityMissileExo.java +++ b/com/hbm/entity/missile/EntityMissileExo.java @@ -6,150 +6,20 @@ import com.hbm.explosion.ExplosionThermo; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileExo extends EntityMissileBase { +public class EntityMissileExo extends EntityMissileBaseAdvanced { public EntityMissileExo(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileExo(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileExo(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); - ExplosionThermo.scorch(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); - ExplosionThermo.setEntitiesOnFire(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); - } - this.setDead(); - } - } + @Override + public void onImpact() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); + ExplosionThermo.scorch(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); + ExplosionThermo.setEntitiesOnFire(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); + } } diff --git a/com/hbm/entity/missile/EntityMissileGeneric.java b/com/hbm/entity/missile/EntityMissileGeneric.java index 9f9b80154..51072b481 100644 --- a/com/hbm/entity/missile/EntityMissileGeneric.java +++ b/com/hbm/entity/missile/EntityMissileGeneric.java @@ -11,7 +11,7 @@ public class EntityMissileGeneric extends EntityMissileBaseAdvanced { public EntityMissileGeneric(World p_i1582_1_) { super(p_i1582_1_); } - + public EntityMissileGeneric(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } diff --git a/com/hbm/entity/missile/EntityMissileIncendiary.java b/com/hbm/entity/missile/EntityMissileIncendiary.java index 696195a42..52599eebb 100644 --- a/com/hbm/entity/missile/EntityMissileIncendiary.java +++ b/com/hbm/entity/missile/EntityMissileIncendiary.java @@ -8,155 +8,19 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileIncendiary extends EntityMissileBase { +public class EntityMissileIncendiary extends EntityMissileBaseAdvanced { public EntityMissileIncendiary(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileIncendiary(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); + public EntityMissileIncendiary(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 10.0F, true, true, true); - } - this.setDead(); - } - } - - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 25000; - } + @Override + public void onImpact() { + ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 10.0F, true, true, true); + } } diff --git a/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java b/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java index 83a68036a..93bb28501 100644 --- a/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java +++ b/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java @@ -7,149 +7,19 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileIncendiaryStrong extends EntityMissileBase { +public class EntityMissileIncendiaryStrong extends EntityMissileBaseAdvanced { public EntityMissileIncendiaryStrong(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileIncendiaryStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 75; + public EntityMissileIncendiaryStrong(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 25.0F, true, true, true); - ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25); - } - this.setDead(); - } - } + @Override + public void onImpact() { + ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 25.0F, true, true, true); + ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25); + } } diff --git a/com/hbm/entity/missile/EntityMissileInferno.java b/com/hbm/entity/missile/EntityMissileInferno.java index d06bb610f..aa08a0abc 100644 --- a/com/hbm/entity/missile/EntityMissileInferno.java +++ b/com/hbm/entity/missile/EntityMissileInferno.java @@ -7,150 +7,20 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileInferno extends EntityMissileBase { +public class EntityMissileInferno extends EntityMissileBaseAdvanced { public EntityMissileInferno(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileInferno(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileInferno(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 35.0F, true, true, true); - ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10); - ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25); - } - this.setDead(); - } - } + @Override + public void onImpact() { + ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 35.0F, true, true, true); + ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10); + ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25); + } } diff --git a/com/hbm/entity/missile/EntityMissileMirv.java b/com/hbm/entity/missile/EntityMissileMirv.java index 4e44436ad..6e7533e11 100644 --- a/com/hbm/entity/missile/EntityMissileMirv.java +++ b/com/hbm/entity/missile/EntityMissileMirv.java @@ -1,153 +1,47 @@ package com.hbm.entity.missile; +import com.hbm.entity.effect.EntityNukeCloudSmall; +import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.particle.EntitySmokeFX; import com.hbm.explosion.ExplosionChaos; +import com.hbm.main.MainRegistry; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileMirv extends EntityMissileBase { +public class EntityMissileMirv extends EntityMissileBaseAdvanced { public EntityMissileMirv(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileMirv(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 150; + public EntityMissileMirv(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); + this.isCluster = true; + } + + @Override + public void onImpact() { + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); + entity.posX = this.posX; + entity.posY = this.posY; + entity.posZ = this.posZ; + entity.destructionRange = MainRegistry.missileRadius; + entity.speed = 25; + entity.coefficient = 10.0F; + + this.worldObj.spawnEntityInWorld(entity); + + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); + entity2.posX = this.posX; + entity2.posY = this.posY - 9; + entity2.posZ = this.posZ; + this.worldObj.spawnEntityInWorld(entity2); } @Override - public void onUpdate() - { - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15.0F, true); - ExplosionChaos.mirv(this.worldObj,this.posX, this.posY, this.posZ); - this.setDead(); - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15.0F, true); - ExplosionChaos.mirv(this.worldObj,this.posX, this.posY, this.posZ); - } - this.setDead(); - } - } + public void cluster() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15.0F, true); + ExplosionChaos.mirv(this.worldObj,this.posX, this.posY, this.posZ); + } } diff --git a/com/hbm/entity/missile/EntityMissileNuclear.java b/com/hbm/entity/missile/EntityMissileNuclear.java index 16143e172..840736920 100644 --- a/com/hbm/entity/missile/EntityMissileNuclear.java +++ b/com/hbm/entity/missile/EntityMissileNuclear.java @@ -8,163 +8,33 @@ import com.hbm.main.MainRegistry; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileNuclear extends EntityMissileBase { +public class EntityMissileNuclear extends EntityMissileBaseAdvanced { public EntityMissileNuclear(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileNuclear(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileNuclear(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - + @Override - public void onUpdate() - { + public void onImpact() { + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); + entity.posX = this.posX; + entity.posY = this.posY; + entity.posZ = this.posZ; + entity.destructionRange = MainRegistry.missileRadius; + entity.speed = 25; + entity.coefficient = 10.0F; + + this.worldObj.spawnEntityInWorld(entity); - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); - entity.posX = this.posX; - entity.posY = this.posY; - entity.posZ = this.posZ; - entity.destructionRange = MainRegistry.missileRadius; - entity.speed = 25; - entity.coefficient = 10.0F; - - this.worldObj.spawnEntityInWorld(entity); - - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); - entity2.posX = this.posX; - entity2.posY = this.posY - 9; - entity2.posZ = this.posZ; - this.worldObj.spawnEntityInWorld(entity2); - } - this.setDead(); - } - } + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); + entity2.posX = this.posX; + entity2.posY = this.posY - 9; + entity2.posZ = this.posZ; + this.worldObj.spawnEntityInWorld(entity2); + } } diff --git a/com/hbm/entity/missile/EntityMissileRain.java b/com/hbm/entity/missile/EntityMissileRain.java index f1628f9f0..a93793b8f 100644 --- a/com/hbm/entity/missile/EntityMissileRain.java +++ b/com/hbm/entity/missile/EntityMissileRain.java @@ -6,145 +6,25 @@ import com.hbm.explosion.ExplosionChaos; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileRain extends EntityMissileBase { +public class EntityMissileRain extends EntityMissileBaseAdvanced { public EntityMissileRain(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileRain(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileRain(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); + this.isCluster = true; + } + + @Override + public void onImpact() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 25F, true); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); } @Override - public void onUpdate() - { - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); - ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); - this.setDead(); - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 25F, true); - ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); - } - this.setDead(); - } - } + public void cluster() { + this.onImpact(); + } } diff --git a/com/hbm/entity/missile/EntityMissileStrong.java b/com/hbm/entity/missile/EntityMissileStrong.java index f2986f9c4..da3378749 100644 --- a/com/hbm/entity/missile/EntityMissileStrong.java +++ b/com/hbm/entity/missile/EntityMissileStrong.java @@ -6,149 +6,19 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileStrong extends EntityMissileBase { +public class EntityMissileStrong extends EntityMissileBaseAdvanced { public EntityMissileStrong(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 75; + public EntityMissileStrong(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explode(worldObj, posX, posY, posZ, 25.0F, true, true, true); - } - this.setDead(); - } - } + @Override + public void onImpact() { + ExplosionLarge.explode(worldObj, posX, posY, posZ, 25.0F, true, true, true); + } } diff --git a/com/hbm/handler/FluidTypeHandler.java b/com/hbm/handler/FluidTypeHandler.java index ee6ccf1d0..4d9d2d62e 100644 --- a/com/hbm/handler/FluidTypeHandler.java +++ b/com/hbm/handler/FluidTypeHandler.java @@ -4,16 +4,18 @@ public class FluidTypeHandler { public enum FluidType { NONE (0x888888, 8947848, 0, 1, "hbmfluid.none"), - + WATER (0x3333FF, 3355647, 1, 1, "hbmfluid.water"), + STEAM (0x3333FF, 3355647, 1, 1, "hbmfluid.steam"), COOLANT (0xd8fcff, 14220543, 2, 1, "hbmfluid.coolant"), LAVA (0xFF3300, 16724736, 3, 1, "hbmfluid.lava"), DEUTERIUM (0x0000FF, 255, 4, 1, "hbmfluid.deuterium"), TRITIUM (0x000099, 153, 5, 1, "hbmfluid.tritium"), - + OIL (0x020202, 131586, 6, 1, "hbmfluid.oil"), + HOTOIL (0x020202, 131586, 6, 1, "hbmfluid.hotoil"), HEAVYOIL (0x141312, 1315602, 2, 2, "hbmfluid.heavyoil"), BITUMEN (0x1f2426, 2040870, 3, 2, "hbmfluid.bitumen"), diff --git a/com/hbm/handler/MultiblockHandler.java b/com/hbm/handler/MultiblockHandler.java index 66246ee8c..c38e2e958 100644 --- a/com/hbm/handler/MultiblockHandler.java +++ b/com/hbm/handler/MultiblockHandler.java @@ -58,6 +58,7 @@ public class MultiblockHandler { public static final int[] chemplantDimensionWest = new int[] { 1, 2, 2, 0, 1, 2 }; public static final int[] fluidTankDimensionNS = new int[] { 1, 1, 2, 0, 2, 2 }; public static final int[] fluidTankDimensionEW = new int[] { 2, 2, 2, 0, 1, 1 }; + public static final int[] refineryDimensions = new int[] { 1, 1, 9, 0, 1, 1 }; //Approved! public static boolean checkSpace(World world, int x, int y, int z, int[] i) { diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index e9178d2f9..6f6b6ffa0 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -1638,7 +1638,7 @@ public class MachineRecipes { break; case WT3_CLUSTER: list.add(new ItemStack(ModItems.warhead_generic_large, 1)); - list.add(new ItemStack(ModItems.powder_fire, 16)); + list.add(new ItemStack(ModItems.pellet_cluster, 16)); break; case WT1_BUSTER: list.add(new ItemStack(ModItems.warhead_generic_small, 1)); @@ -2511,6 +2511,20 @@ public class MachineRecipes { list.add(new ItemStack(Items.gold_ingot, 2)); list.add(new ItemStack(Items.coal, 8)); break; + case CC_I: + list.add(new ItemStack(Items.coal, 8)); + break; + case CC_HEATING: + list.add(new ItemStack(Items.coal, 8)); + break; + case CC_HEAVY: + list.add(new ItemStack(Items.coal, 10)); + break; + case CC_NAPHTHA: + list.add(new ItemStack(Items.coal, 10)); + break; + default: + break; } if(list.isEmpty()) @@ -2531,6 +2545,59 @@ public class MachineRecipes { input[0] = new FluidStack(400, FluidType.LAVA); input[1] = new FluidStack(200, FluidType.KEROSENE); break; + case FP_HEAVYOIL: + input[0] = new FluidStack(1000, FluidType.HEAVYOIL); + break; + case FP_SMEAR: + input[0] = new FluidStack(1000, FluidType.SMEAR); + break; + case FP_NAPHTHA: + input[0] = new FluidStack(1000, FluidType.NAPHTHA); + break; + case FP_LIGHTOIL: + input[0] = new FluidStack(1000, FluidType.LIGHTOIL); + break; + case FR_REOIL: + input[0] = new FluidStack(1000, FluidType.SMEAR); + break; + case FR_PETROIL: + input[0] = new FluidStack(800, FluidType.RECLAIMED); + input[1] = new FluidStack(200, FluidType.LUBRICANT); + break; + case FC_I_NAPHTHA: + input[0] = new FluidStack(1400, FluidType.SMEAR); + input[1] = new FluidStack(800, FluidType.WATER); + break; + case FC_GAS_PETROLEUM: + input[0] = new FluidStack(1800, FluidType.GAS); + input[1] = new FluidStack(1200, FluidType.WATER); + break; + case FC_DIESEL_KEROSENE: + input[0] = new FluidStack(1200, FluidType.DIESEL); + input[1] = new FluidStack(2000, FluidType.STEAM); + break; + case FC_KEROSENE_PETROLEUM: + input[0] = new FluidStack(1400, FluidType.KEROSENE); + input[1] = new FluidStack(2000, FluidType.STEAM); + break; + case CC_I: + input[0] = new FluidStack(800, FluidType.HEAVYOIL); + input[1] = new FluidStack(1800, FluidType.WATER); + break; + case CC_HEATING: + input[0] = new FluidStack(800, FluidType.SMEAR); + input[1] = new FluidStack(2000, FluidType.STEAM); + break; + case CC_HEAVY: + input[0] = new FluidStack(600, FluidType.SMEAR); + input[1] = new FluidStack(1400, FluidType.WATER); + break; + case CC_NAPHTHA: + input[0] = new FluidStack(1200, FluidType.HEAVYOIL); + input[1] = new FluidStack(2400, FluidType.STEAM); + break; + default: + break; } return input; @@ -2548,6 +2615,8 @@ public class MachineRecipes { output[0] = new ItemStack(ModItems.ingot_steel); output[1] = new ItemStack(ModItems.ingot_desh, 2); break; + default: + break; } return output; @@ -2564,6 +2633,54 @@ public class MachineRecipes { case TEST: input[0] = new FluidStack(200, FluidType.WATER); break; + case FP_HEAVYOIL: + input[0] = new FluidStack(300, FluidType.BITUMEN); + input[1] = new FluidStack(700, FluidType.SMEAR); + break; + case FP_SMEAR: + input[0] = new FluidStack(600, FluidType.HEATINGOIL); + input[1] = new FluidStack(400, FluidType.LUBRICANT); + break; + case FP_NAPHTHA: + input[0] = new FluidStack(400, FluidType.HEATINGOIL); + input[1] = new FluidStack(600, FluidType.DIESEL); + break; + case FP_LIGHTOIL: + input[0] = new FluidStack(400, FluidType.DIESEL); + input[1] = new FluidStack(600, FluidType.KEROSENE); + break; + case FR_REOIL: + input[0] = new FluidStack(800, FluidType.RECLAIMED); + break; + case FR_PETROIL: + input[0] = new FluidStack(1000, FluidType.PETROIL); + break; + case FC_I_NAPHTHA: + input[0] = new FluidStack(800, FluidType.NAPHTHA); + break; + case FC_GAS_PETROLEUM: + input[0] = new FluidStack(800, FluidType.PETROLEUM); + break; + case FC_DIESEL_KEROSENE: + input[0] = new FluidStack(400, FluidType.KEROSENE); + break; + case FC_KEROSENE_PETROLEUM: + input[0] = new FluidStack(800, FluidType.PETROLEUM); + break; + case CC_I: + input[0] = new FluidStack(800, FluidType.SMEAR); + break; + case CC_HEATING: + input[0] = new FluidStack(800, FluidType.HEATINGOIL); + break; + case CC_HEAVY: + input[0] = new FluidStack(1800, FluidType.HEAVYOIL); + break; + case CC_NAPHTHA: + input[0] = new FluidStack(2000, FluidType.NAPHTHA); + break; + default: + break; } return input; diff --git a/com/hbm/inventory/container/ContainerMachineRefinery.java b/com/hbm/inventory/container/ContainerMachineRefinery.java index 906830015..09bc79ee8 100644 --- a/com/hbm/inventory/container/ContainerMachineRefinery.java +++ b/com/hbm/inventory/container/ContainerMachineRefinery.java @@ -14,46 +14,36 @@ public class ContainerMachineRefinery extends Container { private TileEntityMachineRefinery testNuke; private int power; - private float oil; - private int fuel; - private int lubricant; - private int diesel; - private int kerosene; public ContainerMachineRefinery(InventoryPlayer invPlayer, TileEntityMachineRefinery tedf) { power = 0; - oil = 0; - fuel = 0; - lubricant = 0; - diesel = 0; - kerosene = 0; testNuke = tedf; //Battery - this.addSlotToContainer(new Slot(tedf, 0, 44, 54)); + this.addSlotToContainer(new Slot(tedf, 0, 8, 90)); //Canister Input - this.addSlotToContainer(new Slot(tedf, 1, 134, 18)); + this.addSlotToContainer(new Slot(tedf, 1, 35, 90)); //Canister Output - this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 2, 134, 54)); - //Fuel Input - this.addSlotToContainer(new Slot(tedf, 3, 26, 72)); - //Fuel Output - this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 4, 26, 108)); - //Lubricant Input - this.addSlotToContainer(new Slot(tedf, 5, 62, 72)); - //Lubricant Output - this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 6, 62, 108)); - //Diesel Input - this.addSlotToContainer(new Slot(tedf, 7, 98, 72)); - //Diesel Output - this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 8, 98, 108)); - //Kerosene Input - this.addSlotToContainer(new Slot(tedf, 9, 134, 72)); - //Kerosene Output + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 2, 35, 108)); + //Heavy Oil Input + this.addSlotToContainer(new Slot(tedf, 3, 80, 90)); + //Heavy Oil Output + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 4, 80, 108)); + //Nahptha Input + this.addSlotToContainer(new Slot(tedf, 5, 98, 90)); + //Nahptha Output + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 6, 98, 108)); + //Light Oil Input + this.addSlotToContainer(new Slot(tedf, 7, 116, 90)); + //Light Oil Output + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 8, 116, 108)); + //Petroleum Input + this.addSlotToContainer(new Slot(tedf, 9, 134, 90)); + //Petroleum Output this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 10, 134, 108)); //Sulfur Output - this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 11, 152, 108)); + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 11, 152, 36)); for(int i = 0; i < 3; i++) { @@ -73,11 +63,6 @@ public class ContainerMachineRefinery extends Container { public void addCraftingToCrafters(ICrafting crafting) { super.addCraftingToCrafters(crafting); crafting.sendProgressBarUpdate(this, 0, this.testNuke.power); - crafting.sendProgressBarUpdate(this, 1, this.testNuke.oil); - crafting.sendProgressBarUpdate(this, 2, this.testNuke.fuel); - crafting.sendProgressBarUpdate(this, 3, this.testNuke.lubricant); - crafting.sendProgressBarUpdate(this, 4, this.testNuke.diesel); - crafting.sendProgressBarUpdate(this, 5, this.testNuke.kerosene); } @Override @@ -136,34 +121,9 @@ public class ContainerMachineRefinery extends Container { { par1.sendProgressBarUpdate(this, 0, this.testNuke.power); } - if(this.oil != this.testNuke.oil) - { - par1.sendProgressBarUpdate(this, 1, this.testNuke.oil); - } - if(this.fuel != this.testNuke.fuel) - { - par1.sendProgressBarUpdate(this, 2, this.testNuke.fuel); - } - if(this.lubricant != this.testNuke.lubricant) - { - par1.sendProgressBarUpdate(this, 3, this.testNuke.lubricant); - } - if(this.diesel != this.testNuke.diesel) - { - par1.sendProgressBarUpdate(this, 4, this.testNuke.diesel); - } - if(this.kerosene != this.testNuke.kerosene) - { - par1.sendProgressBarUpdate(this, 5, this.testNuke.kerosene); - } } this.power = this.testNuke.power; - this.oil = this.testNuke.oil; - this.oil = this.testNuke.fuel; - this.oil = this.testNuke.lubricant; - this.oil = this.testNuke.diesel; - this.oil = this.testNuke.kerosene; } @Override @@ -172,25 +132,5 @@ public class ContainerMachineRefinery extends Container { { testNuke.power = j; } - if(i == 1) - { - testNuke.oil = j; - } - if(i == 2) - { - testNuke.fuel = j; - } - if(i == 3) - { - testNuke.lubricant = j; - } - if(i == 4) - { - testNuke.diesel = j; - } - if(i == 5) - { - testNuke.kerosene = j; - } } } diff --git a/com/hbm/inventory/gui/GUIMachineChemplant.java b/com/hbm/inventory/gui/GUIMachineChemplant.java index 12b7ea480..d40b53b8f 100644 --- a/com/hbm/inventory/gui/GUIMachineChemplant.java +++ b/com/hbm/inventory/gui/GUIMachineChemplant.java @@ -51,6 +51,12 @@ public class GUIMachineChemplant extends GuiFluidContainer { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int i = chemplant.getPowerScaled(52); + drawTexturedModalRect(guiLeft + 44, guiTop + 70 - i, 176, 52 - i, 16, i); + + int j = chemplant.getProgressScaled(90); + drawTexturedModalRect(guiLeft + 43, guiTop + 89, 0, 222, j, 18); Minecraft.getMinecraft().getTextureManager().bindTexture(FluidTank.fluidTextures); diff --git a/com/hbm/inventory/gui/GUIMachineRefinery.java b/com/hbm/inventory/gui/GUIMachineRefinery.java index 0e266a31b..dee599fdc 100644 --- a/com/hbm/inventory/gui/GUIMachineRefinery.java +++ b/com/hbm/inventory/gui/GUIMachineRefinery.java @@ -2,6 +2,7 @@ package com.hbm.inventory.gui; import org.lwjgl.opengl.GL11; +import com.hbm.inventory.FluidTank; import com.hbm.inventory.container.ContainerMachineRefinery; import com.hbm.lib.RefStrings; import com.hbm.tileentity.TileEntityMachineRefinery; @@ -12,22 +13,33 @@ import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; -public class GUIMachineRefinery extends GuiContainer { +public class GUIMachineRefinery extends GuiFluidContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_refinery.png"); - private TileEntityMachineRefinery diFurnace; + private TileEntityMachineRefinery refinery; public GUIMachineRefinery(InventoryPlayer invPlayer, TileEntityMachineRefinery tedf) { super(new ContainerMachineRefinery(invPlayer, tedf)); - diFurnace = tedf; + refinery = tedf; this.xSize = 176; this.ySize = 222; } + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + refinery.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 70 - 52, 34, 52); + refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 70 - 52, 16, 52); + refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 98, guiTop + 70 - 52, 16, 52); + refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 70 - 52, 16, 52); + refinery.tanks[4].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 70 - 52, 16, 52); + } + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + String name = this.refinery.hasCustomInventoryName() ? this.refinery.getInventoryName() : I18n.format(this.refinery.getInventoryName()); this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); @@ -39,17 +51,16 @@ public class GUIMachineRefinery extends GuiContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - int i = diFurnace.getOilScaled(52); - drawTexturedModalRect(guiLeft + 80, guiTop + 70 - i, 192, 52 - i, 34, i); - int j = diFurnace.getPowerScaled(52); + int j = refinery.getPowerScaled(52); drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 176, 52 - j, 16, j); - int k = diFurnace.getSmearScaled(52); - drawTexturedModalRect(guiLeft + 8, guiTop + 124 - k, 176, 104 - k, 7, k); - int l = diFurnace.getLubricantScaled(52); - drawTexturedModalRect(guiLeft + 44, guiTop + 124 - l, 183, 104 - l, 7, l); - int m = diFurnace.getDieselScaled(52); - drawTexturedModalRect(guiLeft + 80, guiTop + 124 - m, 190, 104 - m, 7, m); - int n = diFurnace.getKeroseneScaled(52); - drawTexturedModalRect(guiLeft + 116, guiTop + 124 - n, 197, 104 - n, 7, n); + + Minecraft.getMinecraft().getTextureManager().bindTexture(FluidTank.fluidTextures); + refinery.tanks[0].renderTank(this, guiLeft + 26, guiTop + 70, refinery.tanks[0].getTankType().textureX() * FluidTank.x, refinery.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52); + refinery.tanks[0].renderTank(this, guiLeft + 26 + 16, guiTop + 70, refinery.tanks[0].getTankType().textureX() * FluidTank.x, refinery.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52); + refinery.tanks[0].renderTank(this, guiLeft + 26 + 32, guiTop + 70, refinery.tanks[0].getTankType().textureX() * FluidTank.x, refinery.tanks[0].getTankType().textureY() * FluidTank.y, 2, 52); + refinery.tanks[1].renderTank(this, guiLeft + 80, guiTop + 70, refinery.tanks[1].getTankType().textureX() * FluidTank.x, refinery.tanks[1].getTankType().textureY() * FluidTank.y, 16, 52); + refinery.tanks[2].renderTank(this, guiLeft + 98, guiTop + 70, refinery.tanks[2].getTankType().textureX() * FluidTank.x, refinery.tanks[2].getTankType().textureY() * FluidTank.y, 16, 52); + refinery.tanks[3].renderTank(this, guiLeft + 116, guiTop + 70, refinery.tanks[3].getTankType().textureX() * FluidTank.x, refinery.tanks[3].getTankType().textureY() * FluidTank.y, 16, 52); + refinery.tanks[4].renderTank(this, guiLeft + 134, guiTop + 70, refinery.tanks[4].getTankType().textureX() * FluidTank.x, refinery.tanks[4].getTankType().textureY() * FluidTank.y, 16, 52); } } diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 95ea7ed35..f727024a5 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -355,8 +355,15 @@ public class ModItems { public static Item canister_napalm; public static Item canister_NITAN; + public static Item canister_heavyoil; + public static Item canister_bitumen; + public static Item canister_heatingoil; + public static Item canister_naphtha; + public static Item canister_lightoil; + public static Item gas_empty; public static Item gas_full; + public static Item gas_petroleum; public static Item syringe_empty; public static Item syringe_antidote; @@ -1279,8 +1286,14 @@ public class ModItems { canister_petroil = new ItemCustomLore().setUnlocalizedName("canister_petroil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_petroil"); canister_napalm = new ItemCustomLore().setUnlocalizedName("canister_napalm").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_napalm"); canister_NITAN = new ItemCustomLore().setUnlocalizedName("canister_NITAN").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_superfuel"); + canister_heavyoil = new ItemCustomLore().setUnlocalizedName("canister_heavyoil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_heavyoil"); + canister_bitumen = new ItemCustomLore().setUnlocalizedName("canister_bitumen").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_bitumen"); + canister_heatingoil = new ItemCustomLore().setUnlocalizedName("canister_heatingoil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_heatingoil"); + canister_naphtha = new ItemCustomLore().setUnlocalizedName("canister_naphtha").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_naphtha"); + canister_lightoil = new ItemCustomLore().setUnlocalizedName("canister_lightoil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_lightoil"); gas_empty = new Item().setUnlocalizedName("gas_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":gas_empty"); gas_full = new Item().setUnlocalizedName("gas_full").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_full"); + gas_petroleum = new Item().setUnlocalizedName("gas_petroleum").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_petroleum"); tank_waste = new ItemTankWaste().setUnlocalizedName("tank_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts); @@ -2232,10 +2245,15 @@ public class ModItems { //Canisters GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName()); GameRegistry.registerItem(canister_oil, canister_oil.getUnlocalizedName()); + GameRegistry.registerItem(canister_heavyoil, canister_heavyoil.getUnlocalizedName()); + GameRegistry.registerItem(canister_bitumen, canister_bitumen.getUnlocalizedName()); GameRegistry.registerItem(canister_smear, canister_smear.getUnlocalizedName()); + GameRegistry.registerItem(canister_heatingoil, canister_heatingoil.getUnlocalizedName()); GameRegistry.registerItem(canister_canola, canister_canola.getUnlocalizedName()); + GameRegistry.registerItem(canister_naphtha, canister_naphtha.getUnlocalizedName()); GameRegistry.registerItem(canister_fuel, canister_fuel.getUnlocalizedName()); GameRegistry.registerItem(canister_kerosene, canister_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(canister_lightoil, canister_lightoil.getUnlocalizedName()); GameRegistry.registerItem(canister_reoil, canister_reoil.getUnlocalizedName()); GameRegistry.registerItem(canister_petroil, canister_petroil.getUnlocalizedName()); GameRegistry.registerItem(canister_napalm, canister_napalm.getUnlocalizedName()); @@ -2244,6 +2262,7 @@ public class ModItems { //Gastanks GameRegistry.registerItem(gas_empty, gas_empty.getUnlocalizedName()); GameRegistry.registerItem(gas_full, gas_full.getUnlocalizedName()); + GameRegistry.registerItem(gas_petroleum, gas_petroleum.getUnlocalizedName()); //Batteries GameRegistry.registerItem(battery_generic, battery_generic.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemCustomLore.java b/com/hbm/items/special/ItemCustomLore.java index d1ff0e79f..0a43e17d4 100644 --- a/com/hbm/items/special/ItemCustomLore.java +++ b/com/hbm/items/special/ItemCustomLore.java @@ -422,6 +422,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill speed upgrade"); list.add("Effect: Delay -15 (from 50)"); list.add("Drawback: Power consumption +300 (from 100)"); + list.add(""); + list.add("Assembly machine speed upgrade"); + list.add("Effect: Delay -25 (from 100)"); + list.add("Drawback: Power consumption +300 (from 100)"); + list.add(""); + list.add("Chemical plant speed upgrade"); + list.add("Effect: Delay -25 (from 100)"); + list.add("Drawback: Power consumption +300 (from 100)"); } if(this == ModItems.upgrade_speed_2) @@ -429,6 +437,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill speed upgrade"); list.add("Effect: Delay -30 (from 50)"); list.add("Drawback: Power consumption +600 (from 100)"); + list.add(""); + list.add("Assembly machine speed upgrade"); + list.add("Effect: Delay -50 (from 100)"); + list.add("Drawback: Power consumption +600 (from 100)"); + list.add(""); + list.add("Chemical plant speed upgrade"); + list.add("Effect: Delay -50 (from 100)"); + list.add("Drawback: Power consumption +600 (from 100)"); } if(this == ModItems.upgrade_speed_3) @@ -436,6 +452,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill speed upgrade"); list.add("Effect: Delay -45 (from 50)"); list.add("Drawback: Power consumption +900 (from 100)"); + list.add(""); + list.add("Assembly machine speed upgrade"); + list.add("Effect: Delay -75 (from 100)"); + list.add("Drawback: Power consumption +900 (from 100)"); + list.add(""); + list.add("Chemical plant speed upgrade"); + list.add("Effect: Delay -75 (from 100)"); + list.add("Drawback: Power consumption +900 (from 100)"); } if(this == ModItems.upgrade_effect_1) @@ -464,6 +488,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill power saving upgrade"); list.add("Effect: Power consumption -30 (from 100)"); list.add("Drawback: Delay +5 (from 50)"); + list.add(""); + list.add("Assembly machine power saving upgrade"); + list.add("Effect: Power consumption -30 (from 100)"); + list.add("Drawback: Delay +5 (from 50)"); + list.add(""); + list.add("Chemical plant power saving upgrade"); + list.add("Effect: Power consumption -30 (from 100)"); + list.add("Drawback: Delay +5 (from 50)"); } if(this == ModItems.upgrade_power_2) @@ -471,6 +503,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill power saving upgrade"); list.add("Effect: Power consumption -60 (from 100)"); list.add("Drawback: Delay +10 (from 50)"); + list.add(""); + list.add("Assembly machine power saving upgrade"); + list.add("Effect: Power consumption -60 (from 100)"); + list.add("Drawback: Delay +10 (from 50)"); + list.add(""); + list.add("Chemical plant power saving upgrade"); + list.add("Effect: Power consumption -60 (from 100)"); + list.add("Drawback: Delay +10 (from 50)"); } if(this == ModItems.upgrade_power_3) @@ -478,6 +518,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill power saving upgrade"); list.add("Effect: Power consumption -90 (from 100)"); list.add("Drawback: Delay +15 (from 50)"); + list.add(""); + list.add("Assembly machine power saving upgrade"); + list.add("Effect: Power consumption -90 (from 100)"); + list.add("Drawback: Delay +15 (from 50)"); + list.add(""); + list.add("Chemical plant power saving upgrade"); + list.add("Effect: Power consumption -90 (from 100)"); + list.add("Drawback: Delay +15 (from 50)"); } if(this == ModItems.upgrade_fortune_1) diff --git a/com/hbm/items/tool/ItemChemistryTemplate.java b/com/hbm/items/tool/ItemChemistryTemplate.java index eabc5ef6f..33ecdefc4 100644 --- a/com/hbm/items/tool/ItemChemistryTemplate.java +++ b/com/hbm/items/tool/ItemChemistryTemplate.java @@ -17,7 +17,14 @@ public class ItemChemistryTemplate extends Item { public enum EnumChemistryTemplate { - TEST; + //FP - Fuel Processing + //FR - Fuel Reprocessing + //FC - Fuel Cracking + //CC - Coal Cracking + + TEST, FP_HEAVYOIL, FP_SMEAR, FP_NAPHTHA, FP_LIGHTOIL, FR_REOIL, FR_PETROIL, + FC_I_NAPHTHA, FC_GAS_PETROLEUM, FC_DIESEL_KEROSENE, FC_KEROSENE_PETROLEUM, CC_I, + CC_HEATING, CC_HEAVY, CC_NAPHTHA; public static EnumChemistryTemplate getEnum(int i) { return EnumChemistryTemplate.values()[i]; @@ -62,6 +69,34 @@ public class ItemChemistryTemplate extends Item { switch (enum1) { case TEST: return 200; + case FP_HEAVYOIL: + return 50; + case FP_SMEAR: + return 50; + case FP_NAPHTHA: + return 50; + case FP_LIGHTOIL: + return 50; + case FR_REOIL: + return 30; + case FR_PETROIL: + return 30; + case FC_I_NAPHTHA: + return 150; + case FC_GAS_PETROLEUM: + return 100; + case FC_DIESEL_KEROSENE: + return 150; + case FC_KEROSENE_PETROLEUM: + return 150; + case CC_I: + return 200; + case CC_HEATING: + return 250; + case CC_HEAVY: + return 200; + case CC_NAPHTHA: + return 300; default: return 100; } @@ -91,8 +126,9 @@ public class ItemChemistryTemplate extends Item { list.add("Inputs:"); - for(int i = 0; i < stacks.size(); i++) - list.add(stacks.get(i).stackSize + "x " + stacks.get(i).getDisplayName()); + if(stacks != null) + for(int i = 0; i < stacks.size(); i++) + list.add(stacks.get(i).stackSize + "x " + stacks.get(i).getDisplayName()); for(int i = 0; i < 2; i++) if(inF[i] != null) diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index 3a39f18dd..e5f6d9b3e 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -284,7 +284,8 @@ public class Library { world.getBlock(x, y, z) == ModBlocks.dummy_port_flare || world.getBlock(x, y, z) == ModBlocks.dummy_port_drill || world.getBlock(x, y, z) == ModBlocks.dummy_port_assembler || - world.getBlock(x, y, z) == ModBlocks.dummy_port_chemplant) + world.getBlock(x, y, z) == ModBlocks.dummy_port_chemplant || + world.getBlock(x, y, z) == ModBlocks.dummy_port_refinery) { return true; } @@ -325,7 +326,8 @@ public class Library { world.getBlock(x, y, z) == ModBlocks.dummy_port_well || world.getBlock(x, y, z) == ModBlocks.dummy_port_flare || world.getBlock(x, y, z) == ModBlocks.dummy_port_chemplant || - world.getBlock(x, y, z) == ModBlocks.dummy_port_fluidtank) + world.getBlock(x, y, z) == ModBlocks.dummy_port_fluidtank || + world.getBlock(x, y, z) == ModBlocks.dummy_port_refinery) { return true; } @@ -856,6 +858,11 @@ public class Library { { tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); } + //Refinery + if(block == ModBlocks.dummy_port_refinery) + { + tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); + } if(tileentity instanceof IConductor) { @@ -1168,10 +1175,16 @@ public class Library { { tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); } + //Fluid Tank if(block == ModBlocks.dummy_port_fluidtank) { tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); } + //Refinery + if(block == ModBlocks.dummy_port_refinery) + { + tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); + } if(tileentity == that) tileentity = null; diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 588b98c29..e7139307e 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -35,6 +35,7 @@ import com.hbm.entity.grenade.EntityGrenadeStrong; import com.hbm.entity.grenade.EntityGrenadeTau; import com.hbm.entity.grenade.EntityGrenadeZOMG; import com.hbm.entity.item.EntityMinecartTest; +import com.hbm.entity.missile.EntityBombletSelena; import com.hbm.entity.missile.EntityBombletTheta; import com.hbm.entity.missile.EntityMIRV; import com.hbm.entity.missile.EntityMissileAntiBallistic; @@ -100,6 +101,7 @@ import com.hbm.render.entity.RenderBeam3; import com.hbm.render.entity.RenderBeam4; import com.hbm.render.entity.RenderBigNuke; import com.hbm.render.entity.RenderBlackHole; +import com.hbm.render.entity.RenderBombletSelena; import com.hbm.render.entity.RenderBombletTheta; import com.hbm.render.entity.RenderChopperMine; import com.hbm.render.entity.RenderCloudFleija; @@ -198,6 +200,7 @@ import com.hbm.render.tileentity.RenderPoleTop; import com.hbm.render.tileentity.RenderPuF6Tank; import com.hbm.render.tileentity.RenderPylon; import com.hbm.render.tileentity.RenderRedBarrel; +import com.hbm.render.tileentity.RenderRefinery; import com.hbm.render.tileentity.RenderRotationTester; import com.hbm.render.tileentity.RenderSteelPoles; import com.hbm.render.tileentity.RenderStructureMaker; @@ -234,6 +237,7 @@ import com.hbm.tileentity.TileEntityMachineCyclotron; import com.hbm.tileentity.TileEntityMachineFluidTank; import com.hbm.tileentity.TileEntityMachineGasFlare; import com.hbm.tileentity.TileEntityMachinePuF6Tank; +import com.hbm.tileentity.TileEntityMachineRefinery; import com.hbm.tileentity.TileEntityMachineUF6Tank; import com.hbm.tileentity.TileEntityNukeBoy; import com.hbm.tileentity.TileEntityNukeCustom; @@ -294,6 +298,7 @@ public class ClientProxy extends ServerProxy ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRefinery.class, new RenderRefinery()); //RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderRocket()); RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core)); @@ -446,6 +451,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityMIRV.class, new RenderMirv()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileDoomsday()); RenderingRegistry.registerEntityRenderingHandler(EntityBombletTheta.class, new RenderBombletTheta()); + RenderingRegistry.registerEntityRenderingHandler(EntityBombletSelena.class, new RenderBombletSelena()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileEndo.class, new RenderMissileThermo()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileExo.class, new RenderMissileThermo()); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index f8f911bab..0f6e316ba 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -63,6 +63,7 @@ import com.hbm.entity.item.EntityMinecartTest; import com.hbm.entity.logic.EntityNukeExplosion; import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.logic.EntityNukeExplosionPlus; +import com.hbm.entity.missile.EntityBombletSelena; import com.hbm.entity.missile.EntityBombletTheta; import com.hbm.entity.missile.EntityMIRV; import com.hbm.entity.missile.EntityMissileAntiBallistic; @@ -552,6 +553,7 @@ public class MainRegistry EntityRegistry.registerModEntity(EntitySparkBeam.class, "entity_spark_beam", 77, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityMissileDoomsday.class, "entity_missile_doomsday", 78, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityBombletTheta.class, "entity_theta", 79, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityBombletSelena.class, "entity_selena", 80, this, 1000, 1, true); EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00); EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72); @@ -810,11 +812,18 @@ public class MainRegistry FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_oil), new ItemStack(ModItems.canister_empty), FluidType.OIL, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_smear), new ItemStack(ModItems.canister_empty), FluidType.SMEAR, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_heavyoil), new ItemStack(ModItems.canister_empty), FluidType.HEAVYOIL, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_bitumen), new ItemStack(ModItems.canister_empty), FluidType.BITUMEN, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_heatingoil), new ItemStack(ModItems.canister_empty), FluidType.HEATINGOIL, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_reoil), new ItemStack(ModItems.canister_empty), FluidType.RECLAIMED, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_petroil), new ItemStack(ModItems.canister_empty), FluidType.PETROIL, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_canola), new ItemStack(ModItems.canister_empty), FluidType.LUBRICANT, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_naphtha), new ItemStack(ModItems.canister_empty), FluidType.NAPHTHA, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_fuel), new ItemStack(ModItems.canister_empty), FluidType.DIESEL, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_lightoil), new ItemStack(ModItems.canister_empty), FluidType.LIGHTOIL, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_kerosene), new ItemStack(ModItems.canister_empty), FluidType.KEROSENE, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_full), new ItemStack(ModItems.gas_empty), FluidType.GAS, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_petroleum), new ItemStack(ModItems.gas_empty), FluidType.PETROLEUM, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_deuterium), new ItemStack(ModItems.cell_empty), FluidType.DEUTERIUM, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_tritium), new ItemStack(ModItems.cell_empty), FluidType.TRITIUM, 1000)); diff --git a/com/hbm/packet/LoopedSoundPacket.java b/com/hbm/packet/LoopedSoundPacket.java index 93dc0f594..abc5139ef 100644 --- a/com/hbm/packet/LoopedSoundPacket.java +++ b/com/hbm/packet/LoopedSoundPacket.java @@ -1,6 +1,10 @@ package com.hbm.packet; +import com.hbm.sound.SoundLoopAssembler; +import com.hbm.sound.SoundLoopChemplant; import com.hbm.sound.SoundLoopMiner; +import com.hbm.tileentity.TileEntityMachineAssembler; +import com.hbm.tileentity.TileEntityMachineChemplant; import com.hbm.tileentity.TileEntityMachineMiningDrill; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; @@ -63,6 +67,30 @@ public class LoopedSoundPacket implements IMessage { if(flag && te.getWorldObj().isRemote && ((TileEntityMachineMiningDrill)te).torque > 0.2F) Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopMiner(new ResourceLocation("hbm:block.minerOperate"), te)); } + + if (te != null && te instanceof TileEntityMachineChemplant) { + + boolean flag = true; + for(int i = 0; i < SoundLoopChemplant.list.size(); i++) { + if(SoundLoopChemplant.list.get(i).getTE() == te && !SoundLoopChemplant.list.get(i).isDonePlaying()) + flag = false; + } + + if(flag && te.getWorldObj().isRemote && ((TileEntityMachineChemplant)te).isProgressing) + Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopChemplant(new ResourceLocation("hbm:block.chemplantOperate"), te)); + } + + if (te != null && te instanceof TileEntityMachineAssembler) { + + boolean flag = true; + for(int i = 0; i < SoundLoopAssembler.list.size(); i++) { + if(SoundLoopAssembler.list.get(i).getTE() == te && !SoundLoopAssembler.list.get(i).isDonePlaying()) + flag = false; + } + + if(flag && te.getWorldObj().isRemote && ((TileEntityMachineAssembler)te).isProgressing) + Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopAssembler(new ResourceLocation("hbm:block.assemblerOperate"), te)); + } return null; } } diff --git a/com/hbm/packet/PacketDispatcher.java b/com/hbm/packet/PacketDispatcher.java index e30530e97..5ce6d86a8 100644 --- a/com/hbm/packet/PacketDispatcher.java +++ b/com/hbm/packet/PacketDispatcher.java @@ -37,6 +37,8 @@ public class PacketDispatcher { wrapper.registerMessage(TEFluidPacket.Handler.class, TEFluidPacket.class, i++, Side.CLIENT); //Sound packet that keeps client and server separated wrapper.registerMessage(LoopedSoundPacket.Handler.class, LoopedSoundPacket.class, i++, Side.CLIENT); + //Chemplant piston rotation for rendering + wrapper.registerMessage(TEChemplantPacket.Handler.class, TEChemplantPacket.class, i++, Side.CLIENT); } } diff --git a/com/hbm/packet/TEAssemblerPacket.java b/com/hbm/packet/TEAssemblerPacket.java index 63dfb6d36..2cbd1199f 100644 --- a/com/hbm/packet/TEAssemblerPacket.java +++ b/com/hbm/packet/TEAssemblerPacket.java @@ -14,18 +14,20 @@ public class TEAssemblerPacket implements IMessage { int y; int z; float spin; + boolean progress; public TEAssemblerPacket() { } - public TEAssemblerPacket(int x, int y, int z, float spin) + public TEAssemblerPacket(int x, int y, int z, float spin, boolean bool) { this.x = x; this.y = y; this.z = z; this.spin = spin; + this.progress = bool; } @Override @@ -34,6 +36,7 @@ public class TEAssemblerPacket implements IMessage { y = buf.readInt(); z = buf.readInt(); spin = buf.readFloat(); + progress = buf.readBoolean(); } @Override @@ -42,6 +45,7 @@ public class TEAssemblerPacket implements IMessage { buf.writeInt(y); buf.writeInt(z); buf.writeFloat(spin); + buf.writeBoolean(progress); } public static class Handler implements IMessageHandler { @@ -54,6 +58,7 @@ public class TEAssemblerPacket implements IMessage { TileEntityMachineAssembler gen = (TileEntityMachineAssembler) te; gen.rotation = m.spin; + gen.isProgressing = m.progress; } return null; } diff --git a/com/hbm/packet/TEChemplantPacket.java b/com/hbm/packet/TEChemplantPacket.java new file mode 100644 index 000000000..007fa809b --- /dev/null +++ b/com/hbm/packet/TEChemplantPacket.java @@ -0,0 +1,68 @@ +package com.hbm.packet; + +import com.hbm.tileentity.TileEntityMachineAssembler; +import com.hbm.tileentity.TileEntityMachineChemplant; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraft.tileentity.TileEntity; + +public class TEChemplantPacket implements IMessage { + + int x; + int y; + int z; + float spin; + boolean isProgressing; + + public TEChemplantPacket() + { + + } + + public TEChemplantPacket(int x, int y, int z, float spin, boolean isProgressing) + { + this.x = x; + this.y = y; + this.z = z; + this.spin = spin; + this.isProgressing = isProgressing; + } + + @Override + public void fromBytes(ByteBuf buf) { + x = buf.readInt(); + y = buf.readInt(); + z = buf.readInt(); + spin = buf.readFloat(); + isProgressing = buf.readBoolean(); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(x); + buf.writeInt(y); + buf.writeInt(z); + buf.writeFloat(spin); + buf.writeBoolean(isProgressing); + } + + public static class Handler implements IMessageHandler { + + @Override + public IMessage onMessage(TEChemplantPacket m, MessageContext ctx) { + TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); + + if (te != null && te instanceof TileEntityMachineChemplant) { + + TileEntityMachineChemplant gen = (TileEntityMachineChemplant) te; + gen.rotation = m.spin; + gen.isProgressing = m.isProgressing; + } + return null; + } + } +} diff --git a/com/hbm/render/entity/RenderBombletSelena.java b/com/hbm/render/entity/RenderBombletSelena.java new file mode 100644 index 000000000..e2a5e0126 --- /dev/null +++ b/com/hbm/render/entity/RenderBombletSelena.java @@ -0,0 +1,42 @@ +package com.hbm.render.entity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderBombletSelena extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/bombletSelena.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + + public RenderBombletSelena() { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + GL11.glScalef(2, 2, 2); + + bindTexture(boyTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png"); + } +} diff --git a/com/hbm/render/entity/RenderBombletTheta.java b/com/hbm/render/entity/RenderBombletTheta.java index 97e415646..001ec8f53 100644 --- a/com/hbm/render/entity/RenderBombletTheta.java +++ b/com/hbm/render/entity/RenderBombletTheta.java @@ -18,7 +18,7 @@ public class RenderBombletTheta extends Render { public RenderBombletTheta() { boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); - boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/bombletThetaTexture.png"); } @Override @@ -36,6 +36,6 @@ public class RenderBombletTheta extends Render { @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png"); + return new ResourceLocation(RefStrings.MODID +":textures/models/bombletThetaTexture.png"); } } diff --git a/com/hbm/render/entity/RenderMissileDoomsday.java b/com/hbm/render/entity/RenderMissileDoomsday.java index 6b836c51f..66a460796 100644 --- a/com/hbm/render/entity/RenderMissileDoomsday.java +++ b/com/hbm/render/entity/RenderMissileDoomsday.java @@ -18,7 +18,7 @@ public class RenderMissileDoomsday extends Render { public RenderMissileDoomsday() { boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); - boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileDoomsday.png"); } @Override @@ -29,14 +29,16 @@ public class RenderMissileDoomsday extends Render { GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); GL11.glScalef(2F, 2F, 2F); - + + GL11.glDisable(GL11.GL_CULL_FACE); bindTexture(boyTexture); boyModel.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); } @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png"); + return new ResourceLocation(RefStrings.MODID +":textures/models/MissileDoomsday.png"); } } diff --git a/com/hbm/render/tileentity/RenderChemplant.java b/com/hbm/render/tileentity/RenderChemplant.java index e09e1baf6..2d8515bb2 100644 --- a/com/hbm/render/tileentity/RenderChemplant.java +++ b/com/hbm/render/tileentity/RenderChemplant.java @@ -3,6 +3,8 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; +import com.hbm.tileentity.TileEntityMachineChemplant; + import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; @@ -11,20 +13,20 @@ import net.minecraftforge.client.model.IModelCustom; public class RenderChemplant extends TileEntitySpecialRenderer { - private static final ResourceLocation body = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/chemplant.obj"); - //private static final ResourceLocation bolt = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/assembler_wheel.obj"); + private static final ResourceLocation body = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/chemplant_main.obj"); + private static final ResourceLocation bolt = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/chemplant_piston.obj"); private IModelCustom bodyModel; private ResourceLocation bodyTexture; - //private IModelCustom boltModel; - //private ResourceLocation boltTexture; + private IModelCustom boltModel; + private ResourceLocation boltTexture; public RenderChemplant() { bodyModel = AdvancedModelLoader.loadModel(body); bodyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png"); - //boltModel = AdvancedModelLoader.loadModel(bolt); - //boltTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png"); + boltModel = AdvancedModelLoader.loadModel(bolt); + boltTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png"); } @Override @@ -62,32 +64,35 @@ public class RenderChemplant extends TileEntitySpecialRenderer { public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f) { - /*GL11.glPushMatrix(); - GL11.glTranslated(x, y, z); + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); GL11.glRotatef(180, 0F, 1F, 0F); switch(tileEntity.getBlockMetadata()) { case 2: - GL11.glTranslated(-1, 0, 0); - GL11.glRotatef(90, 0F, 1F, 0F); break; + GL11.glRotatef(180, 0F, 1F, 0F); + GL11.glTranslated(0.5D, 0.0D, -0.5D); break; case 4: - GL11.glRotatef(180, 0F, 1F, 0F); break; + GL11.glRotatef(270, 0F, 1F, 0F); + GL11.glTranslated(0.5D, 0.0D, -0.5D); break; case 3: - GL11.glTranslated(0, 0, -1); - GL11.glRotatef(270, 0F, 1F, 0F); break; + GL11.glRotatef(0, 0F, 1F, 0F); + GL11.glTranslated(0.5D, 0.0D, -0.5D); break; case 5: - GL11.glTranslated(-1, 0, -1); - GL11.glRotatef(0, 0F, 1F, 0F); break; + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glTranslated(0.5D, 0.0D, -0.5D); break; } + float i = ((TileEntityMachineChemplant)tileEntity).rotation; + float t = (float) Math.sin((i / (180 / Math.PI)))/4 + 0.25F; - GL11.glRotatef(((TileEntityMachineAssembler)tileEntity).rotation, 0F, 1F, 0F); + GL11.glTranslatef(0, t, 0); bindTexture(boltTexture); boltModel.renderAll(); - GL11.glPopMatrix();*/ + GL11.glPopMatrix(); } } diff --git a/com/hbm/render/tileentity/RenderFluidTank.java b/com/hbm/render/tileentity/RenderFluidTank.java index a4f0849c1..ffc812c55 100644 --- a/com/hbm/render/tileentity/RenderFluidTank.java +++ b/com/hbm/render/tileentity/RenderFluidTank.java @@ -3,6 +3,7 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; +import com.hbm.tileentity.TileEntityMachineFluidTank; import com.hbm.tileentity.TileEntityMachineIGenerator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; @@ -25,8 +26,8 @@ public class RenderFluidTank extends TileEntitySpecialRenderer { genModel = AdvancedModelLoader.loadModel(body); rotModel = AdvancedModelLoader.loadModel(rotor); //gadgetTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); - genTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png"); - rotTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png"); + genTexture = new ResourceLocation(RefStrings.MODID, "textures/models/tank.png"); + rotTexture = new ResourceLocation(RefStrings.MODID, "textures/models/tank_none.png"); } @Override @@ -87,6 +88,10 @@ public class RenderFluidTank extends TileEntitySpecialRenderer { //GL11.glTranslated(0.5D, 0.0D, 0.0D); } + String s = "NONE"; + if(tileEntity instanceof TileEntityMachineFluidTank) + s = ((TileEntityMachineFluidTank)tileEntity).tank.getTankType().name(); + rotTexture = new ResourceLocation(RefStrings.MODID, "textures/models/tank_" + s + ".png"); bindTexture(rotTexture); rotModel.renderAll(); diff --git a/com/hbm/render/tileentity/RenderLaunchPadTier1.java b/com/hbm/render/tileentity/RenderLaunchPadTier1.java index 3b0a1edae..2d42426a7 100644 --- a/com/hbm/render/tileentity/RenderLaunchPadTier1.java +++ b/com/hbm/render/tileentity/RenderLaunchPadTier1.java @@ -46,6 +46,7 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { private ResourceLocation missileMirvTexture; private ResourceLocation missileThermoEndoTexture; private ResourceLocation missileThermoExoTexture; + private ResourceLocation missileDoomTexture; public RenderLaunchPadTier1() { @@ -74,6 +75,7 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { missileMirvTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileMirv.png"); missileThermoEndoTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileThermalEndo.png"); missileThermoExoTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileThermalExo.png"); + missileDoomTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileDoomsday.png"); } @Override @@ -94,9 +96,12 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { GL11.glRotatef(0, 0F, 1F, 0F); break; } + GL11.glScalef(1.5F, 1.0F, 1.5F); bindTexture(padTexture); padModel.renderAll(); - + GL11.glScalef(2/3F, 1.0F, 2/3F); + + GL11.glDisable(GL11.GL_CULL_FACE); int state = 0; if(tileEntity instanceof TileEntityLaunchPad) @@ -203,9 +208,11 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { if(state == 17) { GL11.glScalef(2F, 2F, 2F); - bindTexture(missileStrongTexture); + bindTexture(missileDoomTexture); missileDoom.renderAll(); } + + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); } diff --git a/com/hbm/render/tileentity/RenderRefinery.java b/com/hbm/render/tileentity/RenderRefinery.java new file mode 100644 index 000000000..45a4d4467 --- /dev/null +++ b/com/hbm/render/tileentity/RenderRefinery.java @@ -0,0 +1,40 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderRefinery extends TileEntitySpecialRenderer { + + private static final ResourceLocation body = new ResourceLocation(RefStrings.MODID, "models/refinery.obj"); + private IModelCustom genModel; + private ResourceLocation genTexture; + + public RenderRefinery() + { + genModel = AdvancedModelLoader.loadModel(body); + genTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); + } + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) + { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glRotatef(180, 0F, 1F, 0F); + + bindTexture(genTexture); + + genModel.renderAll(); + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/sound/SoundLoopAssembler.java b/com/hbm/sound/SoundLoopAssembler.java new file mode 100644 index 000000000..a1a98994f --- /dev/null +++ b/com/hbm/sound/SoundLoopAssembler.java @@ -0,0 +1,40 @@ +package com.hbm.sound; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.tileentity.TileEntityMachineAssembler; +import com.hbm.tileentity.TileEntityMachineMiningDrill; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class SoundLoopAssembler extends SoundLoopMachine { + + public static List list = new ArrayList(); + + public SoundLoopAssembler(ResourceLocation path, TileEntity te) { + super(path, te); + list.add(this); + } + + @Override + public void update() { + super.update(); + + if(te instanceof TileEntityMachineAssembler) { + TileEntityMachineAssembler drill = (TileEntityMachineAssembler)te; + + if(this.volume != 3) + volume = 3; + + if(!drill.isProgressing) + this.donePlaying = true; + } + } + + public TileEntity getTE() { + return te; + } + +} diff --git a/com/hbm/sound/SoundLoopChemplant.java b/com/hbm/sound/SoundLoopChemplant.java new file mode 100644 index 000000000..db89c01fb --- /dev/null +++ b/com/hbm/sound/SoundLoopChemplant.java @@ -0,0 +1,40 @@ +package com.hbm.sound; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.tileentity.TileEntityMachineChemplant; +import com.hbm.tileentity.TileEntityMachineMiningDrill; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class SoundLoopChemplant extends SoundLoopMachine { + + public static List list = new ArrayList(); + + public SoundLoopChemplant(ResourceLocation path, TileEntity te) { + super(path, te); + list.add(this); + } + + @Override + public void update() { + super.update(); + + if(te instanceof TileEntityMachineChemplant) { + TileEntityMachineChemplant plant = (TileEntityMachineChemplant)te; + + if(this.volume != 3) + volume = 3; + + if(!plant.isProgressing) + this.donePlaying = true; + } + } + + public TileEntity getTE() { + return te; + } + +} diff --git a/com/hbm/tileentity/TileEntityMachineAssembler.java b/com/hbm/tileentity/TileEntityMachineAssembler.java index 958216361..4549f9965 100644 --- a/com/hbm/tileentity/TileEntityMachineAssembler.java +++ b/com/hbm/tileentity/TileEntityMachineAssembler.java @@ -9,6 +9,7 @@ import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; import com.hbm.items.tool.ItemAssemblyTemplate; import com.hbm.lib.Library; +import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEAssemblerPacket; import cpw.mods.fml.relauncher.Side; @@ -34,6 +35,7 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve public int progress; public int maxProgress = 100; public float rotation = 0; + public boolean isProgressing; int age = 0; int consumption = 100; int speed = 100; @@ -252,6 +254,7 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve if(!worldObj.isRemote) { + isProgressing = false; power = Library.chargeTEFromItems(slots, 0, power, maxPower); if(MachineRecipes.getOutputFromTempate(slots[4]) != null && MachineRecipes.getRecipeFromTempate(slots[4]) != null) { @@ -261,7 +264,7 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve if(slots[5] == null || (slots[5] != null && slots[5].getItem() == MachineRecipes.getOutputFromTempate(slots[4]).copy().getItem()) && slots[5].stackSize + MachineRecipes.getOutputFromTempate(slots[4]).copy().stackSize <= slots[5].getMaxStackSize()) { progress++; - + isProgressing = true; rotation += 5; if(rotation >= 360) @@ -342,7 +345,8 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve break; } - PacketDispatcher.wrapper.sendToAll(new TEAssemblerPacket(xCoord, yCoord, zCoord, rotation)); + PacketDispatcher.wrapper.sendToAll(new TEAssemblerPacket(xCoord, yCoord, zCoord, rotation, isProgressing)); + PacketDispatcher.wrapper.sendToAll(new LoopedSoundPacket(xCoord, yCoord, zCoord)); } } diff --git a/com/hbm/tileentity/TileEntityMachineChemplant.java b/com/hbm/tileentity/TileEntityMachineChemplant.java index 580b14439..1f350906e 100644 --- a/com/hbm/tileentity/TileEntityMachineChemplant.java +++ b/com/hbm/tileentity/TileEntityMachineChemplant.java @@ -17,8 +17,10 @@ import com.hbm.items.special.ItemBattery; import com.hbm.items.tool.ItemAssemblyTemplate; import com.hbm.items.tool.ItemChemistryTemplate; import com.hbm.lib.Library; +import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEAssemblerPacket; +import com.hbm.packet.TEChemplantPacket; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -44,6 +46,7 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve public int progress; public int maxProgress = 100; public float rotation = 0; + public boolean isProgressing; int age = 0; int consumption = 100; int speed = 100; @@ -284,6 +287,8 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve if(!worldObj.isRemote) { + isProgressing = false; + age++; if(age >= 20) { @@ -292,7 +297,7 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve if(age == 9 || age == 19) { fillFluidInit(tanks[2].getTankType()); - //fillFluidInit(tanks[3].getTankType()); + fillFluidInit(tanks[3].getTankType()); } setContainers(); @@ -319,7 +324,7 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve if(hasSpaceForItems(MachineRecipes.getChemOutputFromTempate(slots[4])) && hasSpaceForFluids(outputs)) { progress++; - + isProgressing = true; rotation += 5; if(rotation >= 360) @@ -400,6 +405,9 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve if(tryFillAssembler(hopper, i)) break; } + + PacketDispatcher.wrapper.sendToAll(new TEChemplantPacket(xCoord, yCoord, zCoord, rotation, isProgressing)); + PacketDispatcher.wrapper.sendToAll(new LoopedSoundPacket(xCoord, yCoord, zCoord)); } } @@ -666,8 +674,8 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve //boolean true: remove items, boolean false: simulation mode public boolean removeItems(List stack, ItemStack[] array) { - if(stack == null) - return false; + if(stack == null || stack.isEmpty()) + return true; for(int i = 0; i < stack.size(); i++) { for(int j = 0; j < stack.get(i).stackSize; j++) { @@ -830,9 +838,9 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve else if(type.name().equals(tanks[1].getTankType().name())) return tanks[1].getMaxFill(); else if(type.name().equals(tanks[2].getTankType().name())) - return tanks[1].getMaxFill(); + return tanks[2].getMaxFill(); else if(type.name().equals(tanks[3].getTankType().name())) - return tanks[1].getMaxFill(); + return tanks[3].getMaxFill(); return 0; } diff --git a/com/hbm/tileentity/TileEntityMachineRefinery.java b/com/hbm/tileentity/TileEntityMachineRefinery.java index 94cf7ea35..a37fb6753 100644 --- a/com/hbm/tileentity/TileEntityMachineRefinery.java +++ b/com/hbm/tileentity/TileEntityMachineRefinery.java @@ -1,37 +1,43 @@ package com.hbm.tileentity; +import java.util.ArrayList; +import java.util.List; + +import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.interfaces.IConsumer; +import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.interfaces.IFluidContainer; +import com.hbm.interfaces.IFluidSource; import com.hbm.interfaces.IOilAcceptor; +import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; import com.hbm.lib.Library; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; -public class TileEntityMachineRefinery extends TileEntity implements ISidedInventory, IConsumer, IOilAcceptor { +public class TileEntityMachineRefinery extends TileEntity implements ISidedInventory, IConsumer, IFluidContainer, IFluidAcceptor, IFluidSource { private ItemStack slots[]; public int power = 0; - public int oil = 0; - public int fuel = 0; - public int lubricant = 0; - public int diesel = 0; - public int kerosene = 0; public int sulfur = 0; + public static final int maxSulfur = 1000; public static final int maxPower = 100000; - public static final int maxOil = 640; - public static final int maxFuel = 64 * 100; - public static final int maxLubricant = 64 * 100; - public static final int maxDiesel = 64 * 100; - public static final int maxKerosene = 64 * 100; - public static final int maxSulfur = 100; public int age = 0; + public FluidTank[] tanks; + public List list1 = new ArrayList(); + public List list2 = new ArrayList(); + public List list3 = new ArrayList(); + public List list4 = new ArrayList(); private static final int[] slots_top = new int[] { 1 }; private static final int[] slots_bottom = new int[] { 0, 2, 4, 6, 8, 10, 11}; @@ -41,6 +47,17 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven public TileEntityMachineRefinery() { slots = new ItemStack[12]; + tanks = new FluidTank[5]; + tanks[0] = new FluidTank(FluidType.OIL, 64000, 0); + tanks[1] = new FluidTank(FluidType.HEAVYOIL, 16000, 0); + tanks[2] = new FluidTank(FluidType.NAPHTHA, 16000, 0); + tanks[3] = new FluidTank(FluidType.LIGHTOIL, 16000, 0); + tanks[4] = new FluidTank(FluidType.PETROLEUM, 16000, 0); + tanks[0].index = 0; + tanks[1].index = 1; + tanks[2].index = 2; + tanks[3].index = 3; + tanks[4].index = 4; } @Override @@ -99,7 +116,7 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven { return false; }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128; } } @@ -157,11 +174,11 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven NBTTagList list = nbt.getTagList("items", 10); power = nbt.getInteger("power"); - oil = nbt.getInteger("oil"); - fuel = nbt.getInteger("fuel"); - lubricant = nbt.getInteger("lubricant"); - diesel = nbt.getInteger("diesel"); - kerosene = nbt.getInteger("kerosene"); + tanks[0].readFromNBT(nbt, "input"); + tanks[1].readFromNBT(nbt, "heavy"); + tanks[2].readFromNBT(nbt, "naphtha"); + tanks[3].readFromNBT(nbt, "light"); + tanks[4].readFromNBT(nbt, "petroleum"); sulfur = nbt.getInteger("sulfur"); slots = new ItemStack[getSizeInventory()]; @@ -180,11 +197,11 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setInteger("power", power); - nbt.setInteger("oil", oil); - nbt.setInteger("fuel", fuel); - nbt.setInteger("lubricant", lubricant); - nbt.setInteger("diesel", diesel); - nbt.setInteger("kerosene", kerosene); + tanks[0].writeToNBT(nbt, "input"); + tanks[1].writeToNBT(nbt, "heavy"); + tanks[2].writeToNBT(nbt, "naphtha"); + tanks[3].writeToNBT(nbt, "light"); + tanks[4].writeToNBT(nbt, "petroleum"); nbt.setInteger("sulfur", sulfur); NBTTagList list = new NBTTagList(); @@ -235,109 +252,53 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven @Override public void updateEntity() { - - int timer = 20; - age++; - if(age >= timer) - age -= timer; if (!worldObj.isRemote) { power = Library.chargeTEFromItems(slots, 0, power, maxPower); - - if(slots[1] != null && slots[1].getItem() == ModItems.canister_oil && oil + 5 <= maxOil) { - if(slots[2] == null) { - oil += 5; - slots[1].stackSize--; - if(slots[1].stackSize <= 0) - slots[1] = null; - slots[2] = new ItemStack(ModItems.canister_empty); - }else if(slots[2] != null && slots[2].getItem() == ModItems.canister_empty && slots[2].stackSize < slots[2].getMaxStackSize()) { - oil += 5; - slots[1].stackSize--; - if(slots[1].stackSize <= 0) - slots[1] = null; - slots[2].stackSize++; - } + + age++; + if(age >= 20) + { + age = 0; } - if(age == 0) - if(power >= 100 && oil - 5 >= 0 && fuel + 45 <= maxFuel && - lubricant + 30 <= maxLubricant && - diesel + 20 <= maxDiesel && - kerosene + 5 <= maxKerosene) { - - oil -= 5; - fuel += 45; - lubricant += 30; - diesel += 20; - kerosene += 5; + if(age == 9 || age == 19) { + fillFluidInit(tanks[1].getTankType()); + fillFluidInit(tanks[2].getTankType()); + fillFluidInit(tanks[3].getTankType()); + fillFluidInit(tanks[4].getTankType()); + } + + tanks[0].loadTank(1, 2, slots); + + int ho = 50; + int nt = 25; + int lo = 15; + int pe = 10; + + if(power >= 50 && tanks[0].getFill() >= 100 && + tanks[1].getFill() + ho <= tanks[1].getMaxFill() && + tanks[2].getFill() + nt <= tanks[2].getMaxFill() && + tanks[3].getFill() + lo <= tanks[3].getMaxFill() && + tanks[4].getFill() + pe <= tanks[4].getMaxFill()) { + + tanks[0].setFill(tanks[0].getFill() - 100); + tanks[1].setFill(tanks[1].getFill() + ho); + tanks[2].setFill(tanks[2].getFill() + nt); + tanks[3].setFill(tanks[3].getFill() + lo); + tanks[4].setFill(tanks[4].getFill() + pe); sulfur += 1; power -= 100; } + + tanks[1].unloadTank(3, 4, slots); + tanks[2].unloadTank(5, 6, slots); + tanks[3].unloadTank(7, 8, slots); + tanks[4].unloadTank(9, 10, slots); - if(slots[3] != null && slots[3].getItem() == ModItems.canister_empty && fuel - 100 >= 0) { - if(slots[4] == null) { - slots[4] = new ItemStack(ModItems.canister_smear); - fuel -= 100; - slots[3].stackSize--; - if(slots[3].stackSize <= 0) - slots[3] = null; - } else if(slots[4] != null && slots[4].getItem() == ModItems.canister_smear && slots[4].stackSize < slots[4].getMaxStackSize()) { - slots[4].stackSize++; - fuel -= 100; - slots[3].stackSize--; - if(slots[3].stackSize <= 0) - slots[3] = null; - } - } - - if(slots[5] != null && slots[5].getItem() == ModItems.canister_empty && lubricant - 100 >= 0) { - if(slots[6] == null) { - slots[6] = new ItemStack(ModItems.canister_canola); - lubricant -= 100; - slots[5].stackSize--; - if(slots[5].stackSize <= 0) - slots[5] = null; - } else if(slots[6] != null && slots[6].getItem() == ModItems.canister_canola && slots[6].stackSize < slots[6].getMaxStackSize()) { - slots[6].stackSize++; - lubricant -= 100; - slots[5].stackSize--; - if(slots[5].stackSize <= 0) - slots[5] = null; - } - } - - if(slots[7] != null && slots[7].getItem() == ModItems.canister_empty && diesel - 100 >= 0) { - if(slots[8] == null) { - slots[8] = new ItemStack(ModItems.canister_fuel); - diesel -= 100; - slots[7].stackSize--; - if(slots[7].stackSize <= 0) - slots[7] = null; - } else if(slots[8] != null && slots[8].getItem() == ModItems.canister_fuel && slots[8].stackSize < slots[8].getMaxStackSize()) { - slots[8].stackSize++; - diesel -= 100; - slots[7].stackSize--; - if(slots[7].stackSize <= 0) - slots[7] = null; - } - } - - if(slots[9] != null && slots[9].getItem() == ModItems.canister_empty && kerosene - 100 >= 0) { - if(slots[10] == null) { - slots[10] = new ItemStack(ModItems.canister_kerosene); - kerosene -= 100; - slots[9].stackSize--; - if(slots[9].stackSize <= 0) - slots[9] = null; - } else if(slots[10] != null && slots[10].getItem() == ModItems.canister_kerosene && slots[10].stackSize < slots[10].getMaxStackSize()) { - slots[10].stackSize++; - kerosene -= 100; - slots[9].stackSize--; - if(slots[9].stackSize <= 0) - slots[9] = null; - } + for(int i = 0; i < 5; i++) { + tanks[i].updateTank(xCoord, yCoord, zCoord); } if(sulfur >= maxSulfur) { @@ -347,7 +308,6 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven } else if(slots[11] != null && slots[11].getItem() == ModItems.sulfur && slots[11].stackSize < slots[11].getMaxStackSize()) { slots[11].stackSize++; sulfur -= maxSulfur; - } } } @@ -356,26 +316,6 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven public int getPowerScaled(int i) { return (power * i) / maxPower; } - - public int getOilScaled(int i) { - return (oil * i) / maxOil; - } - - public int getSmearScaled(int i) { - return (fuel * i) / maxFuel; - } - - public int getLubricantScaled(int i) { - return (lubricant * i) / maxLubricant; - } - - public int getDieselScaled(int i) { - return (diesel * i) / maxDiesel; - } - - public int getKeroseneScaled(int i) { - return (kerosene * i) / maxKerosene; - } @Override public void setPower(int i) { @@ -395,17 +335,154 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven } @Override - public void setFill(int i) { - this.oil = i; + public void fillFluidInit(FluidType type) { + fillFluid(this.xCoord + 1, this.yCoord, this.zCoord - 2, getTact(), type); + fillFluid(this.xCoord + 1, this.yCoord, this.zCoord + 2, getTact(), type); + fillFluid(this.xCoord - 1, this.yCoord, this.zCoord - 2, getTact(), type); + fillFluid(this.xCoord - 1, this.yCoord, this.zCoord + 2, getTact(), type); + + fillFluid(this.xCoord - 2, this.yCoord, this.zCoord + 1, getTact(), type); + fillFluid(this.xCoord + 2, this.yCoord, this.zCoord + 1, getTact(), type); + fillFluid(this.xCoord - 2, this.yCoord, this.zCoord - 1, getTact(), type); + fillFluid(this.xCoord + 2, this.yCoord, this.zCoord - 1, getTact(), type); } @Override - public int getFill() { - return this.oil; + public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { + Library.transmitFluid(x, y, z, newTact, this, worldObj, type); } @Override - public int getMaxFill() { - return TileEntityMachineRefinery.maxOil; + public boolean getTact() { + if (age >= 0 && age < 10) { + return true; + } + + return false; + } + + @Override + public int getSFluidFill(FluidType type) { + if(type.name().equals(tanks[0].getTankType().name())) + return tanks[0].getFill(); + else if(type.name().equals(tanks[1].getTankType().name())) + return tanks[1].getFill(); + else if(type.name().equals(tanks[2].getTankType().name())) + return tanks[2].getFill(); + else if(type.name().equals(tanks[3].getTankType().name())) + return tanks[3].getFill(); + else if(type.name().equals(tanks[4].getTankType().name())) + return tanks[4].getFill(); + + return 0; + } + + @Override + public void setSFluidFill(int i, FluidType type) { + if(type.name().equals(tanks[0].getTankType().name())) + tanks[0].setFill(i); + else if(type.name().equals(tanks[1].getTankType().name())) + tanks[1].setFill(i); + else if(type.name().equals(tanks[2].getTankType().name())) + tanks[2].setFill(i); + else if(type.name().equals(tanks[3].getTankType().name())) + tanks[3].setFill(i); + else if(type.name().equals(tanks[4].getTankType().name())) + tanks[4].setFill(i); + } + + @Override + public List getFluidList(FluidType type) { + if(type.name().equals(tanks[1].getTankType().name())) + return list1; + if(type.name().equals(tanks[2].getTankType().name())) + return list2; + if(type.name().equals(tanks[3].getTankType().name())) + return list3; + if(type.name().equals(tanks[4].getTankType().name())) + return list4; + return new ArrayList(); + } + + @Override + public void clearFluidList(FluidType type) { + if(type.name().equals(tanks[1].getTankType().name())) + list1.clear(); + if(type.name().equals(tanks[2].getTankType().name())) + list2.clear(); + if(type.name().equals(tanks[3].getTankType().name())) + list3.clear(); + if(type.name().equals(tanks[4].getTankType().name())) + list4.clear(); + } + + @Override + public void setAFluidFill(int i, FluidType type) { + if(type.name().equals(tanks[0].getTankType().name())) + tanks[0].setFill(i); + else if(type.name().equals(tanks[1].getTankType().name())) + tanks[1].setFill(i); + else if(type.name().equals(tanks[2].getTankType().name())) + tanks[2].setFill(i); + else if(type.name().equals(tanks[3].getTankType().name())) + tanks[3].setFill(i); + else if(type.name().equals(tanks[4].getTankType().name())) + tanks[4].setFill(i); + } + + @Override + public int getAFluidFill(FluidType type) { + if(type.name().equals(tanks[0].getTankType().name())) + return tanks[0].getFill(); + else if(type.name().equals(tanks[1].getTankType().name())) + return tanks[1].getFill(); + else if(type.name().equals(tanks[2].getTankType().name())) + return tanks[2].getFill(); + else if(type.name().equals(tanks[3].getTankType().name())) + return tanks[3].getFill(); + else if(type.name().equals(tanks[4].getTankType().name())) + return tanks[4].getFill(); + + return 0; + } + + @Override + public int getMaxAFluidFill(FluidType type) { + if(type.name().equals(tanks[0].getTankType().name())) + return tanks[0].getMaxFill(); + else if(type.name().equals(tanks[1].getTankType().name())) + return tanks[1].getMaxFill(); + else if(type.name().equals(tanks[2].getTankType().name())) + return tanks[2].getMaxFill(); + else if(type.name().equals(tanks[3].getTankType().name())) + return tanks[3].getMaxFill(); + else if(type.name().equals(tanks[4].getTankType().name())) + return tanks[4].getMaxFill(); + + return 0; + } + + @Override + public void setFillstate(int fill, int index) { + if(index < 5 && tanks[index] != null) + tanks[index].setFill(fill); + } + + @Override + public void setType(FluidType type, int index) { + if(index < 5 && tanks[index] != null) + tanks[index].setTankType(type); + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() + { + return 65536.0D; } }