From b8f28ae413f3e0791774be888bbed3b44bfa7ee9 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 19 Oct 2020 00:06:09 +0200 Subject: [PATCH] pointy lads and powered combat armor --- src/main/java/assets/hbm/lang/de_DE.lang | 6 + src/main/java/assets/hbm/lang/en_US.lang | 6 + src/main/java/assets/hbm/models/armor/BJ.obj | 1657 +++++++++++++++-- .../java/assets/hbm/models/blocks/spikes.obj | 425 +++++ src/main/java/assets/hbm/sounds.json | 1 + .../java/assets/hbm/sounds/entity/slicer1.ogg | Bin 0 -> 11506 bytes .../java/assets/hbm/sounds/entity/slicer2.ogg | Bin 0 -> 8503 bytes .../java/assets/hbm/sounds/entity/slicer3.ogg | Bin 0 -> 6497 bytes .../java/assets/hbm/sounds/entity/slicer4.ogg | Bin 0 -> 8507 bytes .../java/assets/hbm/textures/armor/bj_arm.png | Bin 0 -> 1084 bytes .../assets/hbm/textures/armor/bj_chest.png | Bin 0 -> 1330 bytes .../assets/hbm/textures/armor/bj_eyepatch.png | Bin 0 -> 149 bytes .../java/assets/hbm/textures/armor/bj_leg.png | Bin 0 -> 790 bytes .../assets/hbm/textures/blocks/spikes.png | Bin 0 -> 540 bytes .../assets/hbm/textures/items/pancake.png | Bin 0 -> 453 bytes src/main/java/com/hbm/blocks/ModBlocks.java | 19 +- .../java/com/hbm/blocks/generic/Spikes.java | 46 + .../com/hbm/blocks/generic/TrappedBrick.java | 9 +- .../java/com/hbm/config/CommonConfig.java | 11 + src/main/java/com/hbm/config/WorldConfig.java | 47 +- src/main/java/com/hbm/items/ModItems.java | 3 + .../java/com/hbm/items/armor/ArmorFSB.java | 84 + .../java/com/hbm/items/tool/ItemWandD.java | 29 +- src/main/java/com/hbm/lib/HbmWorldGen.java | 8 + .../java/com/hbm/lib/ModDamageSource.java | 1 + src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ModEventHandler.java | 71 +- .../com/hbm/main/ModEventHandlerClient.java | 110 +- .../java/com/hbm/main/ResourceManager.java | 6 + .../hbm/render/block/RenderSpikeBlock.java | 69 + .../hbm/render/loader/ModelRendererObj.java | 47 +- .../com/hbm/render/model/ModelArmorBJ.java | 221 ++- .../java/com/hbm/render/model/ModelCloak.java | 125 +- .../com/hbm/world/dungeon/ArcticVault.java | 71 + .../java/com/hbm/world/dungeon/Spaceship.java | 4 +- 35 files changed, 2682 insertions(+), 395 deletions(-) create mode 100644 src/main/java/assets/hbm/models/blocks/spikes.obj create mode 100644 src/main/java/assets/hbm/sounds/entity/slicer1.ogg create mode 100644 src/main/java/assets/hbm/sounds/entity/slicer2.ogg create mode 100644 src/main/java/assets/hbm/sounds/entity/slicer3.ogg create mode 100644 src/main/java/assets/hbm/sounds/entity/slicer4.ogg create mode 100644 src/main/java/assets/hbm/textures/armor/bj_arm.png create mode 100644 src/main/java/assets/hbm/textures/armor/bj_chest.png create mode 100644 src/main/java/assets/hbm/textures/armor/bj_eyepatch.png create mode 100644 src/main/java/assets/hbm/textures/armor/bj_leg.png create mode 100644 src/main/java/assets/hbm/textures/blocks/spikes.png create mode 100644 src/main/java/assets/hbm/textures/items/pancake.png create mode 100644 src/main/java/com/hbm/blocks/generic/Spikes.java create mode 100644 src/main/java/com/hbm/render/block/RenderSpikeBlock.java create mode 100644 src/main/java/com/hbm/world/dungeon/ArcticVault.java diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index bb6dadfcc..65d18b3ca 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -236,6 +236,7 @@ death.attack.radiation=%1$s starb an Strahlenvergiftung. death.attack.revolverBullet=%1$s wurde von %2$s in den Kopf geschossen. death.attack.rubble=%1$s wurde von Schutt zerquetscht. death.attack.shrapnel=%1$s wurde von einem Schrapnell zerfetzt. +death.attack.spikes=%1$s wurde aufgespießt. death.attack.subAtomic2=%1$s verließ das QPU-Gitter weil %2$s seine De-Facto-Geschwindigkeit manipulierte. death.attack.subAtomic3=%1$s's Divergenzwert fiel wegen %2$s unter 1 Prozent. death.attack.subAtomic4=%1$s wurde von %2$s durch null geteilt. @@ -2061,6 +2062,10 @@ tile.brick_concrete.name=Betonziegel tile.brick_concrete_broken.name=Gebrochene Betonziegel tile.brick_concrete_cracked.name=Rissige Betonziegel tile.brick_concrete_mossy.name=Bemooste Betonziegel +tile.brick_dungeon.name=Berzelianitziiegel +tile.brick_dungeon_circle.name=Berzelianitkreis +tile.brick_dungeon_flat.name=Berzelianitblock +tile.brick_dungeon_tile.name=Berzelianitfliese tile.brick_jungle.name=Enargitziegel tile.brick_jungle_circle.name=Mechanistenzirkel tile.brick_jungle_cracked.name=Rissige Enargitziegel @@ -2374,6 +2379,7 @@ tile.sellafield_core.name=Sellafit-Corium tile.sellafield_slaked.name=Gelöschtes Sellafit tile.soyuz_capsule.name=Landekapsel tile.soyuz_launcher.name=Soyuz-Startplatform +tile.spikes.name=Stacheln tile.steel_beam.name=Stahlträger tile.steel_corner.name=Stahlwand (Ecke) tile.steel_poles.name=Stahlmasten diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index 5926e53a7..f3f17eb98 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -236,6 +236,7 @@ death.attack.radiation=%1$s died from radiation poisoning. death.attack.revolverBullet=%1$s was shot in the head by %2$s. death.attack.rubble=%1$s was squashed by debris. death.attack.shrapnel=%1$s was ragged by a shrapnel. +death.attack.spikes=%1$s got impaled. death.attack.subAtomic2=%1$s was QPU-misaligned because %2$s tampered with their de facto speed. death.attack.subAtomic3=%1$s's divergence dropped below 1 percent because of %2$s. death.attack.subAtomic4=%1$s was divided by zero by %2$s. @@ -2061,6 +2062,10 @@ tile.brick_concrete.name=Concrete Bricks tile.brick_concrete_broken.name=Broken Concrete Bricks tile.brick_concrete_cracked.name=Cracked Concrete Bricks tile.brick_concrete_mossy.name=Mossy Concrete Bricks +tile.brick_dungeon.name=Berzelianite Bricks +tile.brick_dungeon_circle.name=Berzelianite Cirlce +tile.brick_dungeon_flat.name=Berzelianite Block +tile.brick_dungeon_tile.name=Berzelianite Tile tile.brick_jungle.name=Enargite Bricks tile.brick_jungle_circle.name=Mechanist's Circle tile.brick_jungle_cracked.name=Cracked Enargite Bricks @@ -2374,6 +2379,7 @@ tile.sellafield_core.name=Sellafite-Corium tile.sellafield_slaked.name=Slaked Sellafite tile.soyuz_capsule.name=Cargo Landing Capsule tile.soyuz_launcher.name=Soyuz Launch Platform +tile.spikes.name=Spikes tile.steel_beam.name=Steel Beam tile.steel_corner.name=Steel Wall Corner tile.steel_poles.name=Steel Pole diff --git a/src/main/java/assets/hbm/models/armor/BJ.obj b/src/main/java/assets/hbm/models/armor/BJ.obj index 962168449..5833a207b 100644 --- a/src/main/java/assets/hbm/models/armor/BJ.obj +++ b/src/main/java/assets/hbm/models/armor/BJ.obj @@ -1,170 +1,1523 @@ # Blender v2.79 (sub 0) OBJ File: 'BJ.blend' # www.blender.org o Head -v -0.250000 1.500000 0.250000 -v -0.250000 1.500000 -0.250000 -v 0.250000 1.500000 0.250000 -v 0.250000 1.500000 -0.250000 -v -0.250000 2.000000 0.250000 -v -0.250000 2.000000 -0.250000 -v 0.250000 2.000000 -0.250000 -v 0.250000 2.000000 0.250000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 +v 3.374979 -4.000002 -4.500000 +v 1.124979 -4.000002 -4.500000 +v 3.374979 -2.875002 -4.500000 +v 1.124980 -2.875002 -4.500000 +v 3.374978 -4.562502 -4.500000 +v 1.124979 -4.562502 -4.500000 +v 4.499979 -3.437504 -4.500000 +v 4.499979 -4.000004 -4.500000 +v 4.499979 -3.437504 4.500000 +v 4.499978 -4.000004 4.500000 +v -4.500021 -5.125002 4.500000 +v -4.500021 -5.687502 4.500000 +v -4.500020 -5.125002 -4.500000 +v -4.500020 -5.687502 -4.500000 +vt 0.718750 0.666667 +vt 0.656250 -0.000000 +vt 0.718750 0.000000 +vt 0.656250 0.666667 +vt 0.718750 1.000000 +vt 0.656250 1.000000 +vt 0.750000 1.000000 +vt 0.750000 0.666667 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt 0.250000 0.666667 +vt 0.250000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 0.666667 +vt 1.000000 0.666667 +vt -0.000000 0.666667 +vn 0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 0.0000 +vn -0.0000 0.0000 1.0000 +vn -1.0000 0.0000 -0.0000 s off -f 3//1 2//1 4//1 -f 6//2 8//2 7//2 -f 4//3 8//3 3//3 -f 1//4 6//4 2//4 -f 3//5 5//5 1//5 -f 2//6 7//6 4//6 -f 3//1 1//1 2//1 -f 6//2 5//2 8//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 1/1/1 4/2/1 3/3/1 +f 2/4/1 5/5/1 6/6/1 +f 1/1/1 8/7/1 5/5/1 +f 7/8/2 10/9/2 8/7/2 +f 10/10/3 11/11/3 12/12/3 +f 11/11/4 14/13/4 12/12/4 +f 6/6/1 13/14/1 2/4/1 +f 1/1/1 2/4/1 4/2/1 +f 2/4/1 1/1/1 5/5/1 +f 1/1/1 7/8/1 8/7/1 +f 7/8/2 9/15/2 10/9/2 +f 10/10/3 9/16/3 11/11/3 +f 11/11/4 13/14/4 14/13/4 +f 6/6/1 14/13/1 13/14/1 o RightArm -v 0.125000 0.750000 0.500000 -v 0.125000 1.500000 0.500000 -v -0.125000 0.750000 0.500000 -v -0.125000 1.500000 0.500000 -v 0.125000 0.750000 0.250000 -v 0.125000 1.500000 0.250000 -v -0.125000 0.750000 0.250000 -v -0.125000 1.500000 0.250000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 -1.0000 0.0000 +v -8.500006 12.500003 -2.500003 +v -8.500016 -0.499996 -2.500003 +v -8.500008 12.500003 2.499997 +v -8.500019 -0.499996 2.499997 +v -3.500006 12.500001 -2.500000 +v -3.500015 -0.500000 -2.500000 +v -3.500009 12.500001 2.500000 +v -3.500019 -0.500000 2.500000 +v -8.500006 11.416669 -2.500003 +v -8.500010 11.416669 2.499997 +v -3.500005 11.416668 -2.500000 +v -3.500009 11.416668 2.500000 +v -2.875005 11.416667 -3.125000 +v -9.125006 11.416670 -3.125003 +v -9.125008 11.416670 3.124997 +v -2.875008 11.416667 3.125000 +v -8.500005 10.333336 -2.500003 +v -8.500008 10.333336 2.499997 +v -3.500005 10.333334 -2.500000 +v -3.500009 10.333334 2.500000 +v -2.875006 10.333334 -3.125000 +v -9.125006 10.333336 -3.125003 +v -9.125008 10.333336 3.124997 +v -2.875009 10.333334 3.125000 +v -8.500006 9.791670 -2.500003 +v -8.500008 9.791670 2.499997 +v -3.500005 9.791667 -2.500000 +v -3.500009 9.791667 2.500000 +v -2.875005 9.791667 -3.125000 +v -9.125005 9.791670 -3.125003 +v -9.125009 9.791670 3.124997 +v -2.875008 9.791667 3.125000 +v -6.000015 -1.583334 -3.125000 +v -6.000018 -1.583334 3.125000 +v -2.875019 -1.583332 3.125000 +v -2.875015 -1.583332 -3.125000 +v -2.875005 7.625000 -3.125000 +v -9.125006 7.625004 -3.125003 +v -9.125008 7.625004 3.124997 +v -2.875009 7.625000 3.125000 +v -8.500006 5.458338 -2.500003 +v -8.500008 5.458338 2.499997 +v -3.500005 5.458334 -2.500000 +v -3.500009 5.458334 2.500000 +v -9.750015 -0.500000 -3.125000 +v -9.750017 -0.500000 3.125000 +v -9.750015 2.750000 -3.125000 +v -9.750017 2.750000 3.125000 +v -6.000015 0.583334 -3.125000 +v -6.000019 0.583334 3.125000 +v -2.875016 0.583334 -3.125000 +v -2.875019 0.583334 3.125000 +v -4.750016 2.749998 -3.125000 +v -4.750016 2.749998 -2.500000 +v -6.000015 2.750000 -3.125000 +v -6.000015 2.750000 -2.500000 +v -4.750017 1.666664 -3.125000 +v -4.750016 1.666664 -2.500000 +v -6.000016 1.666666 -3.125000 +v -6.000016 1.666666 -2.500000 +v -9.750007 0.041670 -1.250003 +v -9.750009 0.041670 1.249997 +v -12.250009 -1.041664 -0.625003 +v -12.250009 -1.041664 0.624996 +v -9.750006 0.583336 -1.250003 +v -9.750008 0.583336 1.249997 +vt 0.205128 0.603774 +vt 0.102564 0.150943 +vt 0.205128 0.150943 +vt 0.102564 0.603774 +vt 0.000000 0.150943 +vt 0.410256 0.603774 +vt 0.307692 0.150943 +vt 0.410256 0.150943 +vt 0.307692 0.603774 +vt 0.307692 -0.000000 +vt 0.205128 0.000000 +vt 0.307692 0.754717 +vt 0.141026 0.830189 +vt 0.256410 0.811321 +vt 0.243590 0.830189 +vt 0.282051 0.830189 +vt 0.384615 0.811321 +vt 0.371795 0.830189 +vt 0.397436 0.830189 +vt 0.512821 0.811321 +vt 0.500000 0.830189 +vt 0.012821 0.830189 +vt 0.128205 0.811321 +vt 0.115385 0.830189 +vt 0.256410 0.773585 +vt 0.128205 0.773585 +vt 0.141026 0.754717 +vt 0.371795 0.754717 +vt 0.282051 0.754717 +vt 0.512821 0.773585 +vt 0.397436 0.754717 +vt 0.500000 0.754717 +vt 0.012821 0.754717 +vt 0.115385 0.754717 +vt 0.384615 0.773585 +vt 0.000000 0.811321 +vt -0.000000 0.773585 +vt 0.384615 0.924528 +vt 0.500000 1.000000 +vt 0.397436 1.000000 +vt 0.269231 1.000000 +vt 0.371795 1.000000 +vt 0.141026 1.000000 +vt 0.256410 0.924528 +vt 0.243590 1.000000 +vt 0.115385 1.000000 +vt -0.000000 0.924528 +vt 0.128205 0.924528 +vt 0.256410 0.849057 +vt 0.128205 0.849057 +vt 0.243590 0.830189 +vt 0.141026 0.830189 +vt 0.371795 0.830189 +vt 0.269231 0.830189 +vt 0.512821 0.849057 +vt 0.397436 0.830189 +vt 0.500000 0.830189 +vt 0.012821 0.830189 +vt 0.115385 0.830189 +vt 0.384615 0.849057 +vt 0.512821 0.924528 +vt -0.000000 0.849057 +vt 0.833333 0.490566 +vt 0.705128 0.603774 +vt 0.705128 0.490566 +vt 0.833333 0.358491 +vt 0.705128 0.358491 +vt 0.833333 0.245283 +vt 0.705128 0.113208 +vt 0.833333 0.113208 +vt 0.705128 -0.000000 +vt 0.833333 0.000000 +vt 0.410256 0.320755 +vt 0.538462 0.396226 +vt 0.410256 0.396226 +vt 0.923077 0.320755 +vt 0.923077 0.396226 +vt 1.000000 0.396226 +vt 0.615385 0.320755 +vt 0.615385 0.396226 +vt 0.012821 0.622642 +vt 0.038462 0.603774 +vt 0.038462 0.622642 +vt 0.038462 0.679245 +vt 0.012821 0.660377 +vt 0.038462 0.660377 +vt 0.051282 0.622642 +vt 0.000000 0.660377 +vt -0.000000 0.622642 +vt 0.064103 0.754717 +vt 0.102564 0.679245 +vt 0.115385 0.754717 +vt 0.064103 0.603774 +vt 0.115385 0.603774 +vt 0.115385 0.679245 +vt 0.128205 0.754717 +vt 0.064103 0.679245 +vt 0.051282 0.754717 +vt -0.000000 0.603774 +vt 0.205128 0.754717 +vt 0.243590 0.754717 +vt 0.012821 1.000000 +vt 0.833333 0.603774 +vt 0.705128 0.245283 +vt 0.538462 0.320755 +vt 1.000000 0.320755 +vt 0.012821 0.603774 +vt 0.012821 0.679245 +vt 0.051282 0.660377 +vt 0.076923 0.679245 +vn -1.0000 0.0000 -0.0000 +vn -0.0000 0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -0.0000 -1.0000 vn 0.0000 1.0000 0.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.9608 -0.2772 0.0000 +vn 0.0000 -0.2772 -0.9608 +vn -0.9608 -0.2772 -0.0000 +vn -0.0000 -0.2772 0.9608 +vn -0.2775 -0.9607 -0.0000 +vn 0.5003 0.8659 0.0000 +vn 0.3976 -0.9176 0.0000 +vn -0.5450 0.8384 -0.0000 +vn -0.2425 0.0000 -0.9701 +vn -0.2425 0.0000 0.9701 s off -f 10//7 11//7 9//7 -f 12//8 15//8 11//8 -f 16//9 13//9 15//9 -f 14//10 9//10 13//10 -f 15//11 9//11 11//11 -f 12//12 14//12 16//12 -f 10//7 12//7 11//7 -f 12//8 16//8 15//8 -f 16//9 14//9 13//9 -f 14//10 10//10 9//10 -f 15//11 13//11 9//11 -f 12//12 10//12 14//12 +f 16/17/5 17/18/5 15/19/5 +f 18/20/6 21/21/6 17/18/6 +f 22/22/7 19/23/7 21/24/7 +f 20/25/8 15/19/8 19/23/8 +f 21/26/9 15/19/9 17/27/9 +f 22/28/10 16/17/10 20/25/10 +f 32/29/10 36/30/10 31/31/10 +f 31/32/10 35/33/10 33/34/10 +f 33/35/10 38/36/10 34/37/10 +f 34/38/10 37/39/10 32/40/10 +f 28/41/5 37/39/5 29/42/5 +f 24/43/9 28/41/9 29/42/9 +f 25/44/9 28/41/9 23/45/9 +f 30/46/9 25/47/9 26/48/9 +f 29/42/9 26/49/9 24/50/9 +f 28/41/8 35/33/8 36/30/8 +f 38/36/7 27/51/7 30/46/7 +f 29/42/6 38/52/6 30/53/6 +f 51/54/11 58/55/11 57/56/11 +f 55/57/12 51/54/12 57/58/12 +f 56/59/13 52/60/13 55/61/13 +f 56/62/14 54/63/14 53/64/14 +f 44/65/5 53/64/5 45/66/5 +f 39/67/9 45/66/9 40/68/9 +f 41/69/9 44/65/9 39/70/9 +f 46/71/9 41/72/9 42/73/9 +f 45/66/9 42/74/9 40/75/9 +f 43/76/8 52/60/8 44/65/8 +f 54/77/7 43/76/7 46/71/7 +f 53/64/6 46/78/6 45/66/6 +f 47/79/10 49/80/10 48/81/10 +f 48/81/15 59/82/15 47/79/15 +f 60/83/5 61/84/5 59/82/5 +f 61/84/16 64/85/16 63/86/16 +f 63/86/9 66/87/9 65/88/9 +f 65/89/7 49/90/7 50/91/7 +f 59/82/8 63/92/8 47/93/8 +f 63/92/8 50/94/8 47/93/8 +f 64/95/6 60/83/6 48/96/6 +f 49/90/6 64/95/6 48/96/6 +f 69/97/9 68/98/9 67/99/9 +f 72/100/10 73/101/10 71/102/10 +f 68/103/7 71/102/7 67/99/7 +f 67/99/8 73/101/8 69/97/8 +f 69/97/5 74/104/5 70/105/5 +f 76/106/17 77/107/17 75/108/17 +f 77/107/18 80/109/18 79/110/18 +f 75/108/19 77/111/19 79/112/19 +f 78/113/20 76/106/20 80/114/20 +f 16/17/5 18/20/5 17/18/5 +f 18/20/6 22/115/6 21/21/6 +f 22/22/7 20/25/7 19/23/7 +f 20/25/8 16/17/8 15/19/8 +f 21/26/9 19/23/9 15/19/9 +f 22/28/10 18/116/10 16/17/10 +f 32/29/10 37/39/10 36/30/10 +f 31/32/10 36/30/10 35/33/10 +f 33/35/10 35/33/10 38/36/10 +f 34/38/10 38/52/10 37/39/10 +f 28/41/5 36/30/5 37/39/5 +f 24/43/9 23/117/9 28/41/9 +f 25/44/9 27/51/9 28/41/9 +f 30/46/9 27/51/9 25/47/9 +f 29/42/9 30/53/9 26/49/9 +f 28/41/8 27/51/8 35/33/8 +f 38/36/7 35/33/7 27/51/7 +f 29/42/6 37/39/6 38/52/6 +f 51/54/11 54/77/11 58/55/11 +f 55/57/12 52/60/12 51/54/12 +f 56/59/13 53/64/13 52/60/13 +f 56/62/14 58/118/14 54/63/14 +f 44/65/5 52/60/5 53/64/5 +f 39/67/9 44/65/9 45/66/9 +f 41/69/9 43/76/9 44/65/9 +f 46/71/9 43/76/9 41/72/9 +f 45/66/9 46/78/9 42/74/9 +f 43/76/8 51/54/8 52/60/8 +f 54/77/7 51/54/7 43/76/7 +f 53/64/6 54/63/6 46/78/6 +f 47/79/10 50/119/10 49/80/10 +f 48/81/15 60/83/15 59/82/15 +f 60/83/5 62/120/5 61/84/5 +f 61/84/16 62/120/16 64/85/16 +f 63/86/9 64/85/9 66/87/9 +f 65/89/7 66/121/7 49/90/7 +f 59/82/8 61/84/8 63/92/8 +f 63/92/8 65/122/8 50/94/8 +f 64/95/6 62/120/6 60/83/6 +f 49/90/6 66/121/6 64/95/6 +f 69/97/9 70/123/9 68/98/9 +f 72/100/10 74/124/10 73/101/10 +f 68/103/7 72/125/7 71/102/7 +f 67/99/8 71/102/8 73/101/8 +f 69/97/5 73/101/5 74/104/5 +f 76/106/17 78/126/17 77/107/17 +f 77/107/18 78/126/18 80/109/18 o LeftArm -v 0.125000 0.750000 -0.250000 -v 0.125000 1.500000 -0.250000 -v -0.125000 0.750000 -0.250000 -v -0.125000 1.500000 -0.250000 -v 0.125000 0.750000 -0.500000 -v 0.125000 1.500000 -0.500000 -v -0.125000 0.750000 -0.500000 -v -0.125000 1.500000 -0.500000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 -1.0000 0.0000 +v 3.499995 12.500000 -2.500000 +v 3.499986 -0.500000 -2.500000 +v 3.499992 12.500000 2.500000 +v 3.499981 -0.500000 2.500000 +v 8.499994 12.499997 -2.499997 +v 8.499985 -0.500004 -2.499997 +v 8.499992 12.499997 2.500003 +v 8.499982 -0.500004 2.500003 +v 8.500006 11.416667 -2.500003 +v 8.500010 11.416667 2.499997 +v 3.500005 11.416666 -2.500000 +v 3.500009 11.416666 2.500000 +v 2.875005 11.416667 -3.125000 +v 9.125006 11.416667 -3.125004 +v 9.125008 11.416667 3.124996 +v 2.875008 11.416667 3.125000 +v 8.500005 10.333334 -2.500003 +v 8.500008 10.333334 2.499997 +v 3.500005 10.333332 -2.500000 +v 3.500009 10.333332 2.500000 +v 2.875006 10.333334 -3.125000 +v 9.125006 10.333333 -3.125004 +v 9.125008 10.333333 3.124996 +v 2.875009 10.333334 3.125000 +v 8.500006 9.791668 -2.500003 +v 8.500008 9.791668 2.499997 +v 3.500005 9.791665 -2.500000 +v 3.500009 9.791665 2.500000 +v 2.875005 9.791667 -3.125000 +v 9.125005 9.791667 -3.125004 +v 9.125009 9.791667 3.124996 +v 2.875008 9.791667 3.125000 +v 6.000015 -1.583338 -3.125000 +v 6.000018 -1.583338 3.125000 +v 2.875019 -1.583334 3.125000 +v 2.875015 -1.583334 -3.125000 +v 2.875005 7.624998 -3.125000 +v 9.125006 7.625000 -3.125004 +v 9.125008 7.625000 3.124996 +v 2.875009 7.624998 3.125000 +v 8.500006 5.458334 -2.500003 +v 8.500008 5.458334 2.499997 +v 3.500005 5.458334 -2.500000 +v 3.500010 5.458334 2.500000 +v 9.750015 -0.500002 -3.125000 +v 9.750017 -0.500002 3.125000 +v 9.750015 2.749998 -3.125000 +v 9.750017 2.749998 3.125000 +v 6.000015 0.583330 -3.125000 +v 6.000019 0.583330 3.125000 +v 2.875016 0.583332 -3.125000 +v 2.875019 0.583332 3.125000 +v 4.750016 2.749998 -3.125000 +v 4.750015 2.749998 -2.500000 +v 6.000015 2.749996 -3.125000 +v 6.000015 2.749996 -2.500000 +v 4.750016 1.666664 -3.125000 +v 4.750016 1.666664 -2.500000 +v 6.000016 1.666662 -3.125000 +v 6.000016 1.666662 -2.500000 +v 9.750007 0.041668 -1.250003 +v 9.750009 0.041668 1.249997 +v 12.250007 -1.041668 -0.625003 +v 12.250009 -1.041668 0.624996 +v 9.750006 0.583334 -1.250003 +v 9.750008 0.583334 1.249997 +vt 0.205128 0.603774 +vt 0.102564 0.150943 +vt 0.205128 0.150943 +vt 0.102564 0.603774 +vt 0.000000 0.150943 +vt 0.410256 0.603774 +vt 0.307692 0.150943 +vt 0.410256 0.150943 +vt 0.307692 0.603774 +vt 0.307692 -0.000000 +vt 0.205128 0.000000 +vt 0.307692 0.754717 +vt 0.141026 0.830189 +vt 0.256410 0.811321 +vt 0.128205 0.811321 +vt 0.282051 0.830189 +vt 0.384615 0.811321 +vt 0.512821 0.811321 +vt 0.397436 0.830189 +vt 0.500000 0.830189 +vt 0.012821 0.830189 +vt 0.115385 0.830189 +vt 0.256410 0.773585 +vt 0.128205 0.773585 +vt 0.141026 0.754717 +vt 0.243590 0.754717 +vt 0.371795 0.754717 +vt 0.282051 0.754717 +vt 0.397436 0.754717 +vt 0.512821 0.773585 +vt 0.500000 0.754717 +vt 0.012821 0.754717 +vt 0.115385 0.754717 +vt 0.384615 0.773585 +vt -0.000000 0.773585 +vt 0.500000 1.000000 +vt 0.384615 0.924528 +vt 0.397436 1.000000 +vt 0.269231 1.000000 +vt 0.371795 1.000000 +vt 0.256410 0.924528 +vt 0.141026 1.000000 +vt 0.243590 1.000000 +vt 0.128205 0.924528 +vt 0.012821 1.000000 +vt 0.115385 1.000000 +vt 0.256410 0.849057 +vt 0.128205 0.849057 +vt 0.243590 0.830189 +vt 0.141026 0.830189 +vt 0.371795 0.830189 +vt 0.269231 0.830189 +vt 0.397436 0.830189 +vt 0.512821 0.849057 +vt 0.500000 0.830189 +vt 0.012821 0.830189 +vt 0.115385 0.830189 +vt 0.384615 0.849057 +vt 0.512821 0.924528 +vt -0.000000 0.849057 +vt 0.833333 0.490566 +vt 0.705128 0.603774 +vt 0.833333 0.603774 +vt 0.705128 0.490566 +vt 0.833333 0.358491 +vt 0.705128 0.358491 +vt 0.833333 0.245283 +vt 0.705128 0.113208 +vt 0.705128 0.245283 +vt 0.833333 0.113208 +vt 0.705128 -0.000000 +vt 0.538462 0.396226 +vt 0.410256 0.320755 +vt 0.410256 0.396226 +vt 0.923077 0.320755 +vt 1.000000 0.396226 +vt 0.923077 0.396226 +vt 0.615385 0.320755 +vt 0.615385 0.396226 +vt 0.538462 0.320755 +vt 0.038462 0.622642 +vt 0.012821 0.603774 +vt 0.012821 0.622642 +vt 0.038462 0.660377 +vt 0.012821 0.679245 +vt 0.038462 0.679245 +vt 0.051282 0.622642 +vt 0.000000 0.660377 +vt -0.000000 0.622642 +vt 0.102564 0.679245 +vt 0.064103 0.754717 +vt 0.115385 0.754717 +vt 0.064103 0.603774 +vt 0.076923 0.679245 +vt 0.128205 0.754717 +vt 0.115385 0.679245 +vt 0.064103 0.679245 +vt 0.051282 0.754717 +vt -0.000000 0.603774 +vt 0.205128 0.754717 +vt 0.243590 0.830189 +vt 0.371795 0.830189 +vt 0.000000 0.811321 +vt -0.000000 0.924528 +vt 0.833333 0.000000 +vt 1.000000 0.320755 +vt 0.038462 0.603774 +vt 0.012821 0.660377 +vt 0.051282 0.660377 +vt 0.115385 0.603774 +vn -1.0000 0.0000 -0.0000 +vn -0.0000 0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -0.0000 -1.0000 vn 0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 0.0000 +vn -0.9608 -0.2772 0.0000 +vn -0.0000 -0.2772 -0.9608 +vn 0.9608 -0.2772 -0.0000 +vn 0.0000 -0.2772 0.9608 +vn 0.2775 -0.9607 -0.0000 +vn -0.5003 0.8659 0.0000 +vn -0.3976 -0.9176 0.0000 +vn 0.5450 0.8384 -0.0000 +vn 0.2425 0.0000 -0.9701 +vn 0.2425 0.0000 0.9701 s off -f 18//13 19//13 17//13 -f 20//14 23//14 19//14 -f 24//15 21//15 23//15 -f 22//16 17//16 21//16 -f 23//17 17//17 19//17 -f 20//18 22//18 24//18 -f 18//13 20//13 19//13 -f 20//14 24//14 23//14 -f 24//15 22//15 21//15 -f 22//16 18//16 17//16 -f 23//17 21//17 17//17 -f 20//18 18//18 22//18 +f 82/127/21 83/128/21 81/129/21 +f 84/130/22 87/131/22 83/128/22 +f 88/132/23 85/133/23 87/134/23 +f 86/135/24 81/129/24 85/133/24 +f 87/136/25 81/129/25 83/137/25 +f 88/138/26 82/127/26 86/135/26 +f 98/139/26 102/140/26 103/141/26 +f 97/142/26 101/143/26 102/140/26 +f 104/144/26 99/145/26 100/146/26 +f 103/141/26 100/147/26 98/148/26 +f 103/141/23 94/149/23 95/150/23 +f 90/151/25 94/149/25 89/152/25 +f 94/149/25 91/153/25 89/154/25 +f 91/155/25 96/156/25 92/157/25 +f 92/158/25 95/150/25 90/159/25 +f 94/149/24 101/143/24 93/160/24 +f 93/160/21 104/144/21 96/156/21 +f 96/161/22 103/141/22 95/150/22 +f 124/162/27 117/163/27 123/164/27 +f 117/163/28 121/165/28 123/166/28 +f 118/167/29 122/168/29 121/169/29 +f 119/170/30 124/171/30 122/172/30 +f 119/170/23 110/173/23 111/174/23 +f 111/174/25 105/175/25 106/176/25 +f 110/173/25 107/177/25 105/178/25 +f 107/179/25 112/180/25 108/181/25 +f 108/182/25 111/174/25 106/183/25 +f 118/167/24 109/184/24 110/173/24 +f 109/184/21 120/185/21 112/180/21 +f 112/186/22 119/170/22 111/174/22 +f 113/187/26 115/188/26 116/189/26 +f 114/190/31 125/191/31 126/192/31 +f 127/193/23 126/192/23 125/191/23 +f 127/193/32 130/194/32 128/195/32 +f 129/196/25 132/197/25 130/194/25 +f 115/198/21 131/199/21 116/200/21 +f 125/191/24 129/201/24 127/193/24 +f 116/202/24 129/201/24 113/203/24 +f 126/192/22 130/204/22 114/205/22 +f 115/198/22 130/204/22 132/206/22 +f 133/207/25 136/208/25 135/209/25 +f 137/210/26 140/211/26 138/212/26 +f 137/210/21 134/213/21 133/207/21 +f 135/209/24 137/210/24 133/207/24 +f 140/214/23 135/209/23 136/215/23 +f 143/216/33 142/217/33 141/218/33 +f 143/216/34 146/219/34 144/220/34 +f 141/218/35 145/221/35 143/222/35 +f 144/223/36 146/224/36 142/217/36 +f 82/127/21 84/130/21 83/128/21 +f 84/130/22 88/225/22 87/131/22 +f 88/132/23 86/135/23 85/133/23 +f 86/135/24 82/127/24 81/129/24 +f 87/136/25 85/133/25 81/129/25 +f 88/138/26 84/226/26 82/127/26 +f 98/139/26 97/227/26 102/140/26 +f 97/142/26 99/228/26 101/143/26 +f 104/144/26 101/143/26 99/145/26 +f 103/141/26 104/229/26 100/147/26 +f 103/141/23 102/140/23 94/149/23 +f 90/151/25 95/150/25 94/149/25 +f 94/149/25 93/160/25 91/153/25 +f 91/155/25 93/160/25 96/156/25 +f 92/158/25 96/161/25 95/150/25 +f 94/149/24 102/140/24 101/143/24 +f 93/160/21 101/143/21 104/144/21 +f 96/161/22 104/229/22 103/141/22 +f 124/162/27 120/185/27 117/163/27 +f 117/163/28 118/167/28 121/165/28 +f 118/167/29 119/170/29 122/168/29 +f 119/170/30 120/230/30 124/171/30 +f 119/170/23 118/167/23 110/173/23 +f 111/174/25 110/173/25 105/175/25 +f 110/173/25 109/184/25 107/177/25 +f 107/179/25 109/184/25 112/180/25 +f 108/182/25 112/186/25 111/174/25 +f 118/167/24 117/163/24 109/184/24 +f 109/184/21 117/163/21 120/185/21 +f 112/186/22 120/230/22 119/170/22 +f 113/187/26 114/190/26 115/188/26 +f 114/190/31 113/187/31 125/191/31 +f 127/193/23 128/195/23 126/192/23 +f 127/193/32 129/196/32 130/194/32 +f 129/196/25 131/231/25 132/197/25 +f 115/198/21 132/206/21 131/199/21 +f 125/191/24 113/203/24 129/201/24 +f 116/202/24 131/232/24 129/201/24 +f 126/192/22 128/195/22 130/204/22 +f 115/198/22 114/205/22 130/204/22 +f 133/207/25 134/233/25 136/208/25 +f 137/210/26 139/234/26 140/211/26 +f 137/210/21 138/235/21 134/213/21 +f 135/209/24 139/234/24 137/210/24 +f 140/214/23 139/234/23 135/209/23 +f 143/216/33 144/220/33 142/217/33 +f 143/216/34 145/236/34 146/219/34 o Body -v 0.125000 0.750000 0.250000 -v 0.125000 1.500000 0.250000 -v -0.125000 0.750000 0.250000 -v -0.125000 1.500000 0.250000 -v 0.125000 0.750000 -0.250000 -v 0.125000 1.500000 -0.250000 -v -0.125000 0.750000 -0.250000 -v -0.125000 1.500000 -0.250000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 -1.0000 -0.0000 +v -4.250004 12.500003 -2.500003 +v -4.250013 -0.499996 -2.500003 +v -4.250006 12.500003 2.499997 +v -4.250015 -0.499996 2.499997 +v 4.249997 12.499997 -2.499997 +v 4.249988 -0.500004 -2.499997 +v 4.249994 12.499997 2.500003 +v 4.249985 -0.500004 2.500003 +v -3.718762 3.833336 -3.750003 +v 3.718738 3.833332 -3.749997 +v -3.718764 1.666668 -3.750003 +v 3.718736 1.666666 -3.749997 +v -3.718763 6.000002 -2.500003 +v 3.718739 5.999998 -2.499997 +v -3.718762 1.666668 -2.500003 +v 3.718738 1.666666 -2.499997 +v -2.656262 1.666668 -2.500003 +v -2.656262 1.666668 -3.125003 +v -1.593762 1.666668 -3.125003 +v -1.593763 1.666668 -2.500003 +v -2.656263 0.583334 -2.500003 +v -2.656263 0.583334 -3.125003 +v -1.593763 0.583334 -3.125003 +v -1.593763 0.583334 -2.500003 +v 1.593737 1.666666 -2.500002 +v 1.593738 1.666666 -3.125002 +v 2.656238 1.666666 -3.125002 +v 2.656238 1.666666 -2.500002 +v 1.593737 0.583334 -2.500002 +v 1.593737 0.583334 -3.125002 +v 2.656237 0.583334 -3.125002 +v 2.656237 0.583334 -2.500002 +v -1.062512 4.916668 -2.500003 +v -1.062512 4.916668 -3.125003 +v 1.062486 4.916668 -3.125002 +v 1.062488 4.916668 -2.500002 +v -3.718763 9.250002 -2.500003 +v -1.062513 9.250003 -3.125003 +v 1.062487 9.250001 -3.125002 +v -3.718762 4.916668 -2.500003 +v -1.062513 12.500003 -2.500003 +v 1.062487 12.500001 -2.500002 +v 1.593738 4.916666 -3.125002 +v 1.593737 9.250003 -3.125002 +v 1.593737 12.500003 -2.500002 +v 2.656236 4.916666 -3.125002 +v 2.656237 9.250002 -3.125002 +v 2.656237 12.500002 -2.500002 +v 3.718738 4.916666 -2.500002 +v 3.718737 9.250003 -2.500002 +v 1.593738 4.916666 -2.500002 +v -1.593762 4.916668 -3.125003 +v -1.593763 9.250002 -3.125003 +v -1.593763 12.500003 -2.500003 +v -1.593762 4.916668 -2.500003 +v -2.656264 4.916668 -3.125003 +v -2.656263 9.250002 -3.125003 +v -2.656263 12.500002 -2.500003 +v -2.656262 4.916668 -2.500003 +v -1.062514 0.583332 2.499999 +v 1.062484 0.583332 2.500001 +v -1.062515 0.583332 3.124999 +v 1.062485 0.583332 3.125001 +v -1.062515 8.166668 3.124999 +v 1.062485 8.166666 3.125001 +v -1.062516 12.500001 2.499999 +v 1.062484 12.499999 2.500001 +v 1.593735 4.916666 2.499999 +v 1.593734 4.916666 3.124999 +v 1.593735 8.166668 3.124999 +v 1.593734 12.500001 2.499999 +v 2.656235 0.583334 2.500000 +v 2.656235 0.583334 3.125000 +v 4.249986 0.583332 2.500000 +v 4.249985 0.583332 3.125000 +v 3.187485 4.916666 2.500000 +v 3.187484 4.916666 3.125000 +v 3.187485 8.166668 3.125000 +v 2.124986 12.500000 2.500000 +v 3.187485 8.166668 2.499999 +v -3.187515 4.916666 2.499999 +v -3.187516 4.916666 3.124999 +v -3.187515 8.166667 3.124999 +v -2.125014 12.500002 2.499999 +v -4.250014 0.583332 2.499999 +v -4.250015 0.583332 3.124999 +v -2.656265 0.583330 2.499999 +v -2.656265 0.583330 3.124999 +v -1.593765 4.916666 2.499999 +v -1.593766 4.916666 3.124999 +v -1.593765 8.166667 3.124999 +v -1.593766 12.500001 2.499999 +v -3.187515 8.166667 2.499999 +v -2.125016 1.666668 2.499999 +v 2.124984 1.666664 2.500001 +v -2.125015 1.666668 3.749999 +v 2.124985 1.666664 3.750001 +v -2.125016 2.750002 3.749999 +v 2.124984 2.749998 3.750001 +v -2.125015 2.750002 2.499999 +v 2.124985 2.749998 2.500001 +v -4.250016 1.666668 2.499999 +v -4.250015 2.750002 2.499999 +v 4.249986 1.666664 2.500001 +v 4.249985 2.749998 2.500001 +vt 0.352941 0.571429 +vt 0.235294 0.142857 +vt 0.352941 0.142857 +vt 0.235294 0.571429 +vt 0.000000 0.142857 +vt 0.705882 0.571429 +vt 0.588235 0.142857 +vt 0.705882 0.142857 +vt 0.588235 0.571429 +vt 0.352941 -0.000000 +vt 0.352941 0.714286 +vt 0.588235 0.714286 +vt 0.955882 0.732143 +vt 0.750000 0.803571 +vt 0.750000 0.732143 +vt 0.955882 0.660714 +vt 0.955882 0.803571 +vt 0.750000 0.839286 +vt 0.852941 0.839286 +vt 0.838235 0.875000 +vt 0.838235 0.839286 +vt 0.808824 0.875000 +vt 0.808824 0.839286 +vt 0.794118 0.875000 +vt 0.794118 0.839286 +vt 0.838235 0.892857 +vt 0.808824 0.892857 +vt 0.911765 0.839286 +vt 0.897059 0.875000 +vt 0.897059 0.839286 +vt 0.867647 0.875000 +vt 0.867647 0.839286 +vt 0.852941 0.875000 +vt 0.852941 0.839286 +vt 0.897059 0.892857 +vt 0.867647 0.892857 +vt 0.985294 0.803571 +vt 0.720588 0.803571 +vt 0.764706 0.517857 +vt 0.735294 0.660714 +vt 0.735294 0.517857 +vt 0.823529 0.660714 +vt 0.882353 0.517857 +vt 0.882353 0.660714 +vt 0.897059 0.660714 +vt 0.823529 0.517857 +vt 0.882353 0.410714 +vt 0.764706 0.410714 +vt 0.941176 0.517857 +vt 0.911765 0.660714 +vt 0.911765 0.517857 +vt 0.941176 0.410714 +vt 0.911765 0.410714 +vt 0.970588 0.660714 +vt 0.941176 0.660714 +vt 0.970588 0.517857 +vt 0.897059 0.660714 +vt 0.794118 0.660714 +vt 0.794118 0.517857 +vt 0.794118 0.410714 +vt 0.808824 0.660714 +vt 0.808824 0.410714 +vt 0.808824 0.660714 +vt 0.823529 0.410714 +vt 0.882353 0.392857 +vt 0.882353 0.410714 +vt 0.823529 0.142857 +vt 0.882353 0.142857 +vt 0.823529 0.000000 +vt 0.882353 0.000000 +vt 0.897059 0.392857 +vt 0.808824 0.392857 +vt 0.823529 0.392857 +vt 0.794118 0.142857 +vt 0.808824 0.250000 +vt 0.794118 0.250000 +vt 0.794118 0.392857 +vt 0.764706 0.410714 +vt 0.720588 0.392857 +vt 0.764706 0.392857 +vt 0.705882 0.392857 +vt 0.720588 0.250000 +vt 0.779412 0.000000 +vt 0.794118 0.000000 +vt 0.750000 0.250000 +vt 0.720588 0.142857 +vt 0.705882 0.250000 +vt 0.705882 0.142857 +vt 0.705882 0.000000 +vt 0.985294 0.142857 +vt 1.000000 0.000000 +vt 1.000000 0.142857 +vt 1.000000 0.250000 +vt 0.985294 0.392857 +vt 0.985294 0.250000 +vt 0.985294 0.410714 +vt 0.941176 0.392857 +vt 0.897059 0.392857 +vt 0.911765 0.250000 +vt 0.911765 0.392857 +vt 0.911765 0.142857 +vt 0.926471 0.000000 +vt 0.955882 0.142857 +vt 0.955882 0.250000 +vt 0.897059 0.250000 +vt 0.911765 0.892857 +vt 0.794118 0.928571 +vt 0.794118 0.892857 +vt 0.911765 0.964286 +vt 0.794118 0.964286 +vt 0.794118 1.000000 +vt 0.735294 0.964286 +vt 0.735294 0.928571 +vt 0.735294 0.892857 +vt 0.735294 1.000000 +vt 0.911765 0.928571 +vt 0.970588 0.964286 +vt 0.970588 0.892857 +vt 0.970588 1.000000 +vt 0.911765 1.000000 +vt 0.000000 0.571429 +vt 0.588235 0.000000 +vt 0.750000 0.660714 +vt 0.955882 0.839286 +vt 0.852941 0.875000 +vt 0.911765 0.875000 +vt 0.985294 0.660714 +vt 0.720588 0.660714 +vt 0.764706 0.660714 +vt 0.897059 0.410714 +vt 0.823529 0.410714 +vt 0.897059 0.410714 +vt 0.808824 0.410714 +vt 0.897059 0.000000 +vt 0.808824 0.000000 +vt 0.808824 0.000000 +vt 0.808824 0.392857 +vt 0.720588 0.410714 +vt 0.750000 0.142857 +vt 1.000000 0.392857 +vt 0.941176 0.410714 +vt 0.911765 0.000000 +vt 0.897059 0.000000 +vt 0.970588 0.928571 +vn -1.0000 0.0000 -0.0000 +vn -0.0000 0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -0.0000 -1.0000 vn 0.0000 1.0000 0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.0000 0.4997 -0.8662 +vn -0.5070 -0.0000 -0.8619 +vn 0.0000 0.1888 -0.9820 +vn -0.5002 0.1635 -0.8503 +vn 0.5070 -0.0000 -0.8619 +vn 0.5002 0.1635 -0.8503 +vn -0.0000 0.1428 0.9898 +vn -0.9712 -0.2381 -0.0000 +vn 0.9712 0.2381 0.0000 +vn -0.9712 0.2381 0.0000 +vn 0.9712 -0.2381 0.0000 +vn -0.5070 0.0000 0.8619 +vn 0.5070 0.0000 0.8619 s off -f 26//19 27//19 25//19 -f 28//20 31//20 27//20 -f 32//21 29//21 31//21 -f 30//22 25//22 29//22 -f 31//23 25//23 27//23 -f 28//24 30//24 32//24 -f 26//19 28//19 27//19 -f 28//20 32//20 31//20 -f 32//21 30//21 29//21 -f 30//22 26//22 25//22 -f 31//23 29//23 25//23 -f 28//24 26//24 30//24 +f 148/237/37 149/238/37 147/239/37 +f 150/240/38 153/241/38 149/238/38 +f 154/242/39 151/243/39 153/244/39 +f 152/245/40 147/239/40 151/243/40 +f 149/246/41 151/243/41 147/239/41 +f 150/247/42 152/245/42 154/248/42 +f 156/249/40 157/250/40 155/251/40 +f 155/251/43 160/252/43 156/249/43 +f 158/253/42 161/254/42 157/250/42 +f 166/255/39 169/256/39 165/257/39 +f 165/257/40 168/258/40 164/259/40 +f 164/259/37 167/260/37 163/261/37 +f 168/258/42 170/262/42 167/263/42 +f 174/264/39 177/265/39 173/266/39 +f 173/266/40 176/267/40 172/268/40 +f 172/268/37 175/269/37 171/270/37 +f 176/267/42 178/271/42 175/272/42 +f 156/249/39 162/273/39 158/253/39 +f 161/274/37 155/251/37 157/250/37 +f 203/275/44 186/276/44 183/277/44 +f 180/278/40 185/279/40 181/280/40 +f 185/279/39 182/281/39 181/280/39 +f 184/282/45 188/283/45 185/279/45 +f 204/284/46 203/275/46 183/277/46 +f 193/285/40 189/286/40 190/287/40 +f 194/288/45 190/287/45 191/289/45 +f 193/285/47 195/290/47 192/291/47 +f 194/288/48 196/292/48 193/285/48 +f 197/293/37 190/287/37 189/286/37 +f 198/294/40 203/275/40 199/295/40 +f 199/295/45 204/284/45 200/296/45 +f 201/297/39 199/295/39 200/298/39 +f 179/299/37 184/282/37 180/278/37 +f 207/300/42 208/301/42 206/302/42 +f 208/301/38 211/303/38 210/304/38 +f 210/304/49 213/305/49 212/306/49 +f 210/304/37 206/307/37 208/301/37 +f 207/308/39 211/303/39 209/309/39 +f 216/310/37 214/311/37 215/312/37 +f 214/311/50 219/313/50 215/312/50 +f 218/314/42 221/315/42 219/316/42 +f 220/317/51 223/318/51 221/315/51 +f 216/310/49 225/319/49 217/320/49 +f 219/316/38 223/321/38 215/312/38 +f 223/321/38 216/310/38 215/312/38 +f 224/322/39 222/323/39 226/324/39 +f 224/322/51 226/324/51 225/325/51 +f 229/326/52 230/327/52 239/328/52 +f 227/329/52 232/330/52 228/331/52 +f 231/332/42 234/333/42 232/330/42 +f 233/334/53 236/335/53 234/336/53 +f 237/337/49 230/338/49 229/339/49 +f 234/333/38 228/340/38 232/330/38 +f 236/335/38 229/339/38 228/340/38 +f 227/329/37 229/326/37 239/328/37 +f 235/341/39 237/337/39 236/335/39 +f 241/342/42 242/343/42 240/344/42 +f 242/343/38 245/345/38 244/346/38 +f 245/345/41 246/347/41 244/346/41 +f 242/343/54 249/348/54 248/349/54 +f 242/343/42 248/350/42 240/344/42 +f 244/346/41 246/347/41 249/351/41 +f 243/352/55 251/353/55 245/345/55 +f 241/342/42 250/354/42 243/352/42 +f 245/345/41 251/355/41 247/356/41 +f 148/237/37 150/240/37 149/238/37 +f 150/240/38 154/357/38 153/241/38 +f 154/242/39 152/245/39 151/243/39 +f 152/245/40 148/237/40 147/239/40 +f 149/246/41 153/358/41 151/243/41 +f 150/247/42 148/237/42 152/245/42 +f 156/249/40 158/253/40 157/250/40 +f 155/251/43 159/359/43 160/252/43 +f 158/253/42 162/360/42 161/254/42 +f 166/255/39 170/361/39 169/256/39 +f 165/257/40 169/256/40 168/258/40 +f 164/259/37 168/258/37 167/260/37 +f 168/258/42 169/256/42 170/262/42 +f 174/264/39 178/362/39 177/265/39 +f 173/266/40 177/265/40 176/267/40 +f 172/268/37 176/267/37 175/269/37 +f 176/267/42 177/265/42 178/271/42 +f 156/249/39 160/363/39 162/273/39 +f 161/274/37 159/364/37 155/251/37 +f 203/275/44 202/365/44 186/276/44 +f 180/278/40 184/282/40 185/279/40 +f 185/279/39 188/366/39 182/281/39 +f 184/282/45 187/367/45 188/283/45 +f 193/285/40 192/291/40 189/286/40 +f 194/288/45 193/285/45 190/287/45 +f 193/285/47 196/292/47 195/290/47 +f 197/293/37 191/368/37 190/287/37 +f 198/294/40 202/365/40 203/275/40 +f 199/295/45 203/275/45 204/284/45 +f 201/297/39 198/294/39 199/295/39 +f 179/299/37 187/369/37 184/282/37 +f 207/300/42 209/309/42 208/301/42 +f 208/301/38 209/309/38 211/303/38 +f 210/304/49 211/303/49 213/305/49 +f 210/304/37 212/370/37 206/307/37 +f 207/308/39 213/371/39 211/303/39 +f 216/310/37 217/372/37 214/311/37 +f 214/311/50 218/373/50 219/313/50 +f 218/314/42 220/374/42 221/315/42 +f 220/317/51 222/323/51 223/318/51 +f 216/310/49 224/375/49 225/319/49 +f 219/316/38 221/315/38 223/321/38 +f 223/321/38 224/375/38 216/310/38 +f 224/322/39 223/318/39 222/323/39 +f 227/329/52 231/376/52 232/330/52 +f 231/332/42 233/377/42 234/333/42 +f 233/334/53 235/341/53 236/335/53 +f 237/337/49 238/378/49 230/338/49 +f 234/333/38 236/335/38 228/340/38 +f 236/335/38 237/337/38 229/339/38 +f 227/329/37 228/331/37 229/326/37 +f 235/341/39 238/379/39 237/337/39 +f 241/342/42 243/352/42 242/343/42 +f 242/343/38 243/352/38 245/345/38 +f 245/345/41 247/356/41 246/347/41 +f 242/343/54 244/346/54 249/348/54 +f 243/352/55 250/380/55 251/353/55 +l 202 205 o RightLeg -v 0.125000 0.000000 0.250000 -v 0.125000 0.750000 0.250000 -v -0.125000 0.000000 0.250000 -v -0.125000 0.750000 0.250000 -v 0.125000 0.000000 -0.000000 -v 0.125000 0.750000 -0.000000 -v -0.125000 0.000000 0.000000 -v -0.125000 0.750000 0.000000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn -0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 -1.0000 0.0000 +v -4.499988 24.500004 -2.500003 +v -4.499999 11.500003 -2.500003 +v -4.499991 24.500004 2.499997 +v -4.500002 11.500003 2.499997 +v 0.500011 24.500000 -2.500000 +v 0.500001 11.500000 -2.500000 +v 0.500008 24.500000 2.500000 +v 0.499998 11.500000 2.500000 +v -3.874988 24.500004 -3.750003 +v -0.124988 24.500000 -3.750000 +v -3.874989 22.333336 -3.750003 +v -0.124989 22.333334 -3.750000 +v -4.499991 21.250004 -2.500003 +v 0.500009 21.250000 -2.500000 +v -3.874993 19.083336 -2.500003 +v -0.124993 19.083332 -2.500000 +v -3.874995 15.833335 -2.500003 +v -0.124995 15.833332 -2.500000 +v -3.249993 16.916670 -3.750002 +v -0.749994 16.916668 -3.750001 +v -3.249993 18.000002 -3.750002 +v -0.749993 18.000000 -3.750001 +v -4.499988 24.500004 -2.500003 +v 0.500012 24.500000 -2.500000 +v -2.624990 22.333336 -2.500002 +v -2.624998 11.500002 -2.500002 +v -2.624990 22.333336 -3.125002 +v -2.624998 11.500002 -3.125002 +v -3.874990 22.333336 -3.125003 +v -3.874998 11.500003 -3.125003 +v -4.499990 22.333336 -2.500003 +v -4.499999 11.500003 -2.500003 +v -1.999990 22.333336 -2.500001 +v -1.999998 11.500001 -2.500001 +v -1.999990 22.333336 -3.125001 +v -1.999998 11.500001 -3.125001 +v -1.374990 22.333336 -3.125001 +v -1.374998 11.500001 -3.125001 +v -1.374990 22.333336 -2.500001 +v -1.374998 11.500001 -2.500001 +v -0.749990 22.333336 -2.500001 +v -0.749998 11.500001 -2.500001 +v -0.749990 22.333336 -3.125001 +v -0.749998 11.500001 -3.125001 +v -0.124990 22.333334 -3.125000 +v -0.124998 11.500000 -3.125000 +v 0.500010 22.333334 -2.500000 +v 0.500001 11.500000 -2.500000 +v 1.125012 24.500000 -2.499999 +v 1.125008 24.500000 3.125001 +v -5.124991 24.500004 3.124997 +v -5.124988 24.500004 -2.500003 +v 1.125010 23.416664 -1.874999 +v 1.125007 23.416664 3.125001 +v -5.124993 23.416670 3.124997 +v -5.124990 23.416670 -1.875003 +v 0.500012 24.500000 -2.500000 +v 0.500010 23.416666 -1.875000 +v -4.499988 24.500004 -2.500003 +v -4.499990 23.416668 -1.875003 +v -4.499992 23.416668 2.499997 +v 0.500007 23.416666 2.500000 +v 0.500008 24.500000 2.500000 +v -4.499991 24.500004 2.499997 +vt 0.500000 0.561404 +vt 0.250000 0.140351 +vt 0.500000 0.140351 +vt 0.250000 0.561404 +vt 0.000000 0.140351 +vt 1.000000 0.561404 +vt 0.750000 0.140351 +vt 1.000000 0.140351 +vt 0.750000 0.561404 +vt 0.750000 0.000000 +vt 0.500000 0.000000 +vt 0.500000 0.701754 +vt 0.750000 0.701754 +vt 0.593750 0.842105 +vt 0.375000 0.807018 +vt 0.562500 0.807018 +vt 0.375000 0.736842 +vt 0.562500 0.736842 +vt 0.843750 0.807018 +vt 0.687500 0.771930 +vt 0.812500 0.771930 +vt 0.812500 0.736842 +vt 0.843750 0.701754 +vt 0.687500 0.736842 +vt 0.656250 0.701754 +vt 0.625000 0.736842 +vt 0.875000 0.736842 +vt 0.875000 0.771930 +vt 0.593750 0.701754 +vt 0.312500 0.736842 +vt 0.312500 0.824561 +vt 0.625000 0.736842 +vt 0.625000 0.824561 +vt 0.093750 0.912281 +vt 0.125000 0.561404 +vt 0.125000 0.912281 +vt 0.031250 0.561404 +vt 0.093750 0.561404 +vt -0.000000 0.912281 +vt 0.031250 0.912281 +vt 0.125000 0.561404 +vt 0.156250 0.912281 +vt 0.125000 0.912281 +vt 0.156250 0.561404 +vt 0.187500 0.912281 +vt 0.187500 0.561404 +vt 0.218750 0.912281 +vt 0.218750 0.561404 +vt 0.250000 0.912281 +vt 0.218750 0.912281 +vt 0.250000 0.561404 +vt 0.281250 0.912281 +vt 0.281250 0.561404 +vt 0.312500 0.912281 +vt 0.093750 0.929825 +vt 0.156250 0.929825 +vt 0.250000 0.929825 +vt 0.625000 0.947368 +vt 0.312500 0.982456 +vt 0.312500 0.947368 +vt 0.875000 0.982456 +vt 0.906250 0.947368 +vt 0.062500 0.982456 +vt 0.031250 0.947368 +vt -0.000000 1.000000 +vt -0.000000 0.982456 +vt 0.937500 0.982456 +vt 0.875000 1.000000 +vt 0.281250 1.000000 +vt 0.593750 1.000000 +vt 0.343750 1.000000 +vt 0.656250 1.000000 +vt 0.625000 0.982456 +vt 0.656250 0.929825 +vt 0.281250 0.929825 +vt 0.593750 0.929825 +vt 0.000000 0.561404 +vt 0.343750 0.842105 +vt 0.656250 0.807018 +vt 0.625000 0.771930 +vt 0.343750 0.701754 +vt 0.000000 0.561404 +vt 0.218750 0.561404 +vt 0.312500 0.561404 +vt 0.000000 0.929825 +vt 0.187500 0.929825 +vt 0.312500 0.929825 +vt 0.062500 1.000000 +vt 0.937500 1.000000 +vt 0.906250 0.929825 +vt 0.031250 0.929825 +vt 0.343750 0.929825 +vn -1.0000 0.0000 -0.0000 +vn -0.0000 0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -0.0000 -1.0000 vn 0.0000 1.0000 0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.7557 -0.6549 +vn 0.0000 0.7557 -0.6549 +vn -0.8944 0.0000 -0.4472 +vn 0.8944 -0.0000 -0.4472 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 -0.0000 -0.7071 +vn 0.0000 -0.4997 -0.8662 s off -f 34//25 35//25 33//25 -f 36//26 39//26 35//26 -f 40//27 37//27 39//27 -f 38//28 33//28 37//28 -f 39//29 33//29 35//29 -f 36//30 38//30 40//30 -f 34//25 36//25 35//25 -f 36//26 40//26 39//26 -f 40//27 38//27 37//27 -f 38//28 34//28 33//28 -f 39//29 37//29 33//29 -f 36//30 34//30 38//30 +f 253/381/56 254/382/56 252/383/56 +f 255/384/57 258/385/57 254/382/57 +f 259/386/58 256/387/58 258/388/58 +f 257/389/59 252/383/59 256/387/59 +f 258/390/60 252/383/60 254/391/60 +f 255/392/61 257/389/61 259/393/61 +f 265/394/62 262/395/62 263/396/62 +f 263/396/59 260/397/59 261/398/59 +f 269/399/62 270/400/62 271/401/62 +f 270/400/59 273/402/59 271/401/59 +f 267/403/63 272/404/63 266/405/63 +f 270/400/64 266/406/64 272/404/64 +f 271/401/65 267/407/65 269/408/65 +f 260/397/60 275/409/60 261/398/60 +f 274/410/64 262/395/64 264/411/64 +f 263/396/65 275/412/65 265/413/65 +f 279/414/58 276/415/58 277/416/58 +f 279/414/59 280/417/59 278/418/59 +f 283/419/66 280/417/66 281/420/66 +f 284/421/56 287/422/56 285/423/56 +f 286/424/59 289/425/59 287/422/59 +f 288/426/58 291/427/58 289/425/58 +f 292/428/56 295/429/56 293/430/56 +f 294/431/59 297/432/59 295/429/59 +f 296/433/67 299/434/67 297/432/67 +f 277/435/61 281/420/61 279/414/61 +f 289/425/61 285/436/61 287/422/61 +f 297/432/61 293/437/61 295/429/61 +f 302/438/57 305/439/57 301/440/57 +f 307/441/56 302/438/56 303/442/56 +f 301/440/58 304/443/58 300/444/58 +f 304/443/68 308/445/68 300/446/68 +f 303/447/68 311/448/68 307/441/68 +f 313/449/61 304/443/61 305/439/61 +f 305/439/61 312/450/61 313/451/61 +f 307/441/61 312/452/61 306/453/61 +f 315/454/60 303/442/60 302/438/60 +f 300/444/60 314/455/60 301/440/60 +f 301/440/60 315/456/60 302/438/60 +f 253/381/56 255/384/56 254/382/56 +f 255/384/57 259/457/57 258/385/57 +f 259/386/58 257/389/58 256/387/58 +f 257/389/59 253/381/59 252/383/59 +f 258/390/60 256/387/60 252/383/60 +f 255/392/61 253/381/61 257/389/61 +f 265/394/62 264/458/62 262/395/62 +f 263/396/59 262/395/59 260/397/59 +f 269/399/62 268/459/62 270/400/62 +f 270/400/59 272/404/59 273/402/59 +f 267/403/63 273/402/63 272/404/63 +f 270/400/64 268/460/64 266/406/64 +f 271/401/65 273/402/65 267/407/65 +f 260/397/60 274/461/60 275/409/60 +f 274/410/64 260/397/64 262/395/64 +f 263/396/65 261/398/65 275/412/65 +f 279/414/58 278/418/58 276/415/58 +f 279/414/59 281/420/59 280/417/59 +f 283/419/66 282/462/66 280/417/66 +f 284/421/56 286/424/56 287/422/56 +f 286/424/59 288/426/59 289/425/59 +f 288/426/58 290/463/58 291/427/58 +f 292/428/56 294/431/56 295/429/56 +f 294/431/59 296/433/59 297/432/59 +f 296/433/67 298/464/67 299/434/67 +f 277/435/61 283/465/61 281/420/61 +f 289/425/61 291/466/61 285/436/61 +f 297/432/61 299/467/61 293/437/61 +f 302/438/57 306/453/57 305/439/57 +f 307/441/56 306/453/56 302/438/56 +f 301/440/58 305/439/58 304/443/58 +f 304/443/68 309/468/68 308/445/68 +f 303/447/68 310/469/68 311/448/68 +f 313/449/61 309/468/61 304/443/61 +f 305/439/61 306/453/61 312/450/61 +f 307/441/61 311/448/61 312/452/61 +f 315/454/60 310/470/60 303/442/60 +f 300/444/60 308/471/60 314/455/60 +f 301/440/60 314/472/60 315/456/60 o LeftLeg -v 0.125000 0.000000 -0.000000 -v 0.125000 0.750000 -0.000000 -v -0.125000 0.000000 0.000000 -v -0.125000 0.750000 0.000000 -v 0.125000 0.000000 -0.250000 -v 0.125000 0.750000 -0.250000 -v -0.125000 0.000000 -0.250000 -v -0.125000 0.750000 -0.250000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 -0.0000 +v -0.499988 24.500000 -2.500000 +v -0.499998 11.499999 -2.500000 +v -0.499991 24.500000 2.500000 +v -0.500001 11.499999 2.500000 +v 4.500012 24.499996 -2.499997 +v 4.500001 11.499997 -2.499997 +v 4.500009 24.499996 2.500003 +v 4.499998 11.499997 2.500003 +v 3.874987 24.500004 -3.750003 +v 0.124988 24.500000 -3.750001 +v 3.874989 22.333336 -3.750003 +v 0.124989 22.333334 -3.750001 +v 4.499991 21.250004 -2.500003 +v -0.500009 21.250000 -2.500000 +v 3.874993 19.083338 -2.500003 +v 0.124993 19.083332 -2.500001 +v 3.874995 15.833334 -2.500003 +v 0.124995 15.833332 -2.500001 +v 3.249993 16.916670 -3.750002 +v 0.749994 16.916670 -3.750001 +v 3.249993 18.000002 -3.750002 +v 0.749993 18.000002 -3.750001 +v 4.499988 24.500004 -2.500003 +v -0.500012 24.500000 -2.500000 +v 2.624990 22.333336 -2.500002 +v 2.624999 11.500002 -2.500002 +v 2.624989 22.333336 -3.125002 +v 2.624998 11.500002 -3.125002 +v 3.874989 22.333336 -3.125003 +v 3.874998 11.500002 -3.125003 +v 4.499990 22.333336 -2.500003 +v 4.499998 11.500003 -2.500003 +v 1.999990 22.333336 -2.500002 +v 1.999999 11.500002 -2.500002 +v 1.999990 22.333336 -3.125002 +v 1.999998 11.500002 -3.125002 +v 1.374990 22.333336 -3.125001 +v 1.374998 11.500001 -3.125001 +v 1.374990 22.333336 -2.500001 +v 1.374998 11.500001 -2.500001 +v 0.749990 22.333336 -2.500001 +v 0.749998 11.500000 -2.500001 +v 0.749990 22.333336 -3.125001 +v 0.749998 11.500000 -3.125001 +v 0.124990 22.333334 -3.125001 +v 0.124998 11.500000 -3.125001 +v -0.500010 22.333334 -2.500000 +v -0.500001 11.499999 -2.500000 +v -1.125012 24.500000 -2.499999 +v -1.125008 24.500000 3.125001 +v 5.124991 24.500004 3.124996 +v 5.124988 24.500004 -2.500004 +v -1.125010 23.416664 -1.874999 +v -1.125007 23.416664 3.125001 +v 5.124993 23.416670 3.124996 +v 5.124989 23.416670 -1.875003 +v -0.500012 24.500000 -2.500000 +v -0.500010 23.416666 -1.875000 +v 4.499988 24.500004 -2.500003 +v 4.499989 23.416668 -1.875003 +v 4.499992 23.416668 2.499997 +v -0.500007 23.416666 2.500000 +v -0.500008 24.500000 2.500000 +v 4.499992 24.500004 2.499997 +vt 0.500000 0.561404 +vt 0.250000 0.140351 +vt 0.500000 0.140351 +vt 0.250000 0.561404 +vt 0.000000 0.140351 +vt 1.000000 0.561404 +vt 0.750000 0.140351 +vt 1.000000 0.140351 +vt 0.750000 0.561404 +vt 0.750000 0.000000 +vt 0.500000 0.000000 +vt 0.750000 0.701754 +vt 0.375000 0.807018 +vt 0.593750 0.842105 +vt 0.562500 0.807018 +vt 0.562500 0.736842 +vt 0.812500 0.771930 +vt 0.656250 0.807018 +vt 0.843750 0.807018 +vt 0.687500 0.736842 +vt 0.687500 0.771930 +vt 0.656250 0.701754 +vt 0.812500 0.736842 +vt 0.843750 0.701754 +vt 0.625000 0.736842 +vt 0.625000 0.771930 +vt 0.875000 0.736842 +vt 0.593750 0.701754 +vt 0.375000 0.736842 +vt 0.312500 0.736842 +vt 0.312500 0.824561 +vt 0.625000 0.736842 +vt 0.625000 0.824561 +vt 0.125000 0.561404 +vt 0.093750 0.912281 +vt 0.125000 0.912281 +vt 0.093750 0.561404 +vt 0.031250 0.912281 +vt 0.000000 0.561404 +vt -0.000000 0.912281 +vt 0.156250 0.912281 +vt 0.125000 0.561404 +vt 0.125000 0.912281 +vt 0.187500 0.912281 +vt 0.156250 0.561404 +vt 0.218750 0.912281 +vt 0.187500 0.561404 +vt 0.250000 0.912281 +vt 0.218750 0.561404 +vt 0.218750 0.912281 +vt 0.281250 0.912281 +vt 0.250000 0.561404 +vt 0.312500 0.912281 +vt 0.281250 0.561404 +vt 0.093750 0.929825 +vt 0.156250 0.929825 +vt 0.250000 0.929825 +vt 0.625000 0.947368 +vt 0.312500 0.982456 +vt 0.625000 0.982456 +vt 0.875000 0.982456 +vt 0.906250 0.947368 +vt 0.312500 0.947368 +vt 0.062500 0.982456 +vt -0.000000 0.982456 +vt 0.062500 1.000000 +vt 0.937500 1.000000 +vt 0.937500 0.982456 +vt 0.281250 1.000000 +vt 0.343750 1.000000 +vt 0.656250 1.000000 +vt 0.656250 0.929825 +vt 0.031250 0.947368 +vt 0.281250 0.929825 +vt 0.031250 0.929825 +vt 0.593750 0.929825 +vt -0.000000 0.561404 +vt 0.500000 0.701754 +vt 0.343750 0.842105 +vt 0.875000 0.771930 +vt 0.343750 0.701754 +vt 0.031250 0.561404 +vt 0.218750 0.561404 +vt 0.312500 0.561404 +vt 0.000000 0.929825 +vt 0.187500 0.929825 +vt 0.312500 0.929825 +vt -0.000000 1.000000 +vt 0.875000 1.000000 +vt 0.593750 1.000000 +vt 0.906250 0.929825 +vt 0.343750 0.929825 +vn -1.0000 0.0000 -0.0000 +vn -0.0000 0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 -0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.0000 -0.7557 -0.6549 +vn -0.0000 0.7557 -0.6549 +vn 0.8944 0.0000 -0.4472 +vn -0.8944 -0.0000 -0.4472 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 -0.0000 -0.7071 +vn 0.0000 -0.4997 -0.8662 s off -f 42//31 43//31 41//31 -f 44//32 47//32 43//32 -f 48//33 45//33 47//33 -f 46//34 41//34 45//34 -f 47//35 41//35 43//35 -f 44//36 46//36 48//36 -f 42//31 44//31 43//31 -f 44//32 48//32 47//32 -f 48//33 46//33 45//33 -f 46//34 42//34 41//34 -f 47//35 45//35 41//35 -f 44//36 42//36 46//36 +f 317/473/69 318/474/69 316/475/69 +f 319/476/70 322/477/70 318/474/70 +f 323/478/71 320/479/71 322/480/71 +f 321/481/72 316/475/72 320/479/72 +f 322/482/73 316/475/73 318/483/73 +f 323/484/74 317/473/74 321/481/74 +f 326/485/75 329/486/75 327/487/75 +f 325/488/72 326/485/72 327/487/72 +f 335/489/75 332/490/75 333/491/75 +f 335/489/72 336/492/72 334/493/72 +f 330/494/76 337/495/76 331/496/76 +f 334/493/77 330/497/77 332/498/77 +f 335/489/78 331/499/78 337/495/78 +f 339/500/73 324/501/73 325/488/73 +f 326/485/77 338/502/77 328/503/77 +f 339/504/78 327/487/78 329/505/78 +f 340/506/69 343/507/69 341/508/69 +f 342/509/72 345/510/72 343/507/72 +f 345/510/79 346/511/79 347/512/79 +f 351/513/71 348/514/71 349/515/71 +f 353/516/72 350/517/72 351/513/72 +f 355/518/69 352/519/69 353/516/69 +f 359/520/71 356/521/71 357/522/71 +f 361/523/72 358/524/72 359/520/72 +f 363/525/80 360/526/80 361/523/80 +f 345/510/74 341/527/74 343/507/74 +f 349/528/74 353/516/74 351/513/74 +f 357/529/74 361/523/74 359/520/74 +f 366/530/70 369/531/70 370/532/70 +f 366/530/71 371/533/71 367/534/71 +f 365/535/69 368/536/69 369/531/69 +f 364/537/81 373/538/81 368/536/81 +f 371/533/81 374/539/81 367/540/81 +f 368/536/74 377/541/74 369/531/74 +f 377/542/74 370/532/74 369/531/74 +f 376/543/74 371/533/74 370/532/74 +f 367/534/73 379/544/73 366/530/73 +f 364/545/73 378/546/73 372/547/73 +f 379/548/73 365/535/73 366/530/73 +f 317/473/69 319/476/69 318/474/69 +f 319/476/70 323/549/70 322/477/70 +f 323/478/71 321/481/71 320/479/71 +f 321/481/72 317/473/72 316/475/72 +f 322/482/73 320/479/73 316/475/73 +f 323/484/74 319/550/74 317/473/74 +f 326/485/75 328/551/75 329/486/75 +f 325/488/72 324/501/72 326/485/72 +f 335/489/75 334/493/75 332/490/75 +f 335/489/72 337/495/72 336/492/72 +f 330/494/76 336/492/76 337/495/76 +f 334/493/77 336/492/77 330/497/77 +f 335/489/78 333/552/78 331/499/78 +f 339/500/73 338/553/73 324/501/73 +f 326/485/77 324/501/77 338/502/77 +f 339/504/78 325/488/78 327/487/78 +f 340/506/69 342/509/69 343/507/69 +f 342/509/72 344/554/72 345/510/72 +f 345/510/79 344/554/79 346/511/79 +f 351/513/71 350/517/71 348/514/71 +f 353/516/72 352/519/72 350/517/72 +f 355/518/69 354/555/69 352/519/69 +f 359/520/71 358/524/71 356/521/71 +f 361/523/72 360/526/72 358/524/72 +f 363/525/80 362/556/80 360/526/80 +f 345/510/74 347/557/74 341/527/74 +f 349/528/74 355/558/74 353/516/74 +f 357/529/74 363/559/74 361/523/74 +f 366/530/70 365/535/70 369/531/70 +f 366/530/71 370/532/71 371/533/71 +f 365/535/69 364/545/69 368/536/69 +f 364/537/81 372/560/81 373/538/81 +f 371/533/81 375/561/81 374/539/81 +f 368/536/74 373/538/74 377/541/74 +f 377/542/74 376/562/74 370/532/74 +f 376/543/74 375/561/74 371/533/74 +f 367/534/73 374/563/73 379/544/73 +f 364/545/73 365/535/73 378/546/73 +f 379/548/73 378/564/73 365/535/73 diff --git a/src/main/java/assets/hbm/models/blocks/spikes.obj b/src/main/java/assets/hbm/models/blocks/spikes.obj new file mode 100644 index 000000000..72c7ee5d5 --- /dev/null +++ b/src/main/java/assets/hbm/models/blocks/spikes.obj @@ -0,0 +1,425 @@ +# Blender v2.79 (sub 0) OBJ File: 'spikes.blend' +# www.blender.org +o Cube_Cube.001 +v 0.062500 0.000000 -0.062500 +v 0.062500 0.000000 -0.187500 +v 0.187500 0.000000 -0.062500 +v 0.187500 0.000000 -0.187500 +v 0.125000 1.000000 -0.125000 +v 0.312500 0.000000 -0.062500 +v 0.312500 0.000000 -0.187500 +v 0.437500 0.000000 -0.062500 +v 0.437500 0.000000 -0.187500 +v 0.375000 1.000000 -0.125000 +v 0.062500 0.000000 -0.312500 +v 0.062500 0.000000 -0.437500 +v 0.187500 0.000000 -0.312500 +v 0.187500 0.000000 -0.437500 +v 0.125000 1.000000 -0.375000 +v 0.312500 0.000000 -0.312500 +v 0.312500 0.000000 -0.437500 +v 0.437500 0.000000 -0.312500 +v 0.437500 0.000000 -0.437500 +v 0.375000 1.000000 -0.375000 +v -0.437500 0.000000 -0.062500 +v -0.437500 0.000000 -0.187500 +v -0.312500 0.000000 -0.062500 +v -0.312500 0.000000 -0.187500 +v -0.375000 1.000000 -0.125000 +v -0.187500 0.000000 -0.062500 +v -0.187500 0.000000 -0.187500 +v -0.062500 0.000000 -0.062500 +v -0.062500 0.000000 -0.187500 +v -0.125000 1.000000 -0.125000 +v -0.437500 0.000000 -0.312500 +v -0.437500 0.000000 -0.437500 +v -0.312500 0.000000 -0.312500 +v -0.312500 0.000000 -0.437500 +v -0.375000 1.000000 -0.375000 +v -0.187500 0.000000 -0.312500 +v -0.187500 0.000000 -0.437500 +v -0.062500 0.000000 -0.312500 +v -0.062500 0.000000 -0.437500 +v -0.125000 1.000000 -0.375000 +v 0.062500 0.000000 0.437500 +v 0.062500 0.000000 0.312500 +v 0.187500 0.000000 0.437500 +v 0.187500 0.000000 0.312500 +v 0.125000 1.000000 0.375000 +v 0.312500 0.000000 0.437500 +v 0.312500 0.000000 0.312500 +v 0.437500 0.000000 0.437500 +v 0.437500 0.000000 0.312500 +v 0.375000 1.000000 0.375000 +v 0.062500 0.000000 0.187500 +v 0.062500 0.000000 0.062500 +v 0.187500 0.000000 0.187500 +v 0.187500 0.000000 0.062500 +v 0.125000 1.000000 0.125000 +v 0.312500 0.000000 0.187500 +v 0.312500 0.000000 0.062500 +v 0.437500 0.000000 0.187500 +v 0.437500 0.000000 0.062500 +v 0.375000 1.000000 0.125000 +v -0.437500 0.000000 0.437500 +v -0.437500 0.000000 0.312500 +v -0.312500 0.000000 0.437500 +v -0.312500 0.000000 0.312500 +v -0.375000 1.000000 0.375000 +v -0.187500 0.000000 0.437500 +v -0.187500 0.000000 0.312500 +v -0.062500 0.000000 0.437500 +v -0.062500 0.000000 0.312500 +v -0.125000 1.000000 0.375000 +v -0.437500 0.000000 0.187500 +v -0.437500 0.000000 0.062500 +v -0.312500 0.000000 0.187500 +v -0.312500 0.000000 0.062500 +v -0.375000 1.000000 0.125000 +v -0.187500 0.000000 0.187500 +v -0.187500 0.000000 0.062500 +v -0.062500 0.000000 0.187500 +v -0.062500 0.000000 0.062500 +v -0.125000 1.000000 0.125000 +vt 0.562500 0.687500 +vt 0.687500 0.562500 +vt 0.687500 0.687500 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.562500 0.937500 +vt 0.687500 0.812500 +vt 0.687500 0.937500 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.812500 0.687500 +vt 0.937500 0.562500 +vt 0.937500 0.687500 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.812500 0.937500 +vt 0.937500 0.812500 +vt 0.937500 0.937500 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.562500 0.187500 +vt 0.687500 0.062500 +vt 0.687500 0.187500 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.562500 0.437500 +vt 0.687500 0.312500 +vt 0.687500 0.437500 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.812500 0.187500 +vt 0.937500 0.062500 +vt 0.937500 0.187500 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.812500 0.437500 +vt 0.937500 0.312500 +vt 0.937500 0.437500 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.062500 0.687500 +vt 0.187500 0.562500 +vt 0.187500 0.687500 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.062500 0.937500 +vt 0.187500 0.812500 +vt 0.187500 0.937500 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.312500 0.687500 +vt 0.437500 0.562500 +vt 0.437500 0.687500 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.312500 0.937500 +vt 0.437500 0.812500 +vt 0.437500 0.937500 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.062500 0.187500 +vt 0.187500 0.062500 +vt 0.187500 0.187500 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.062500 0.437500 +vt 0.187500 0.312500 +vt 0.187500 0.437500 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.312500 0.187500 +vt 0.437500 0.062500 +vt 0.437500 0.187500 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.812500 0.000000 +vt 0.937500 0.000000 +vt 0.875000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.062500 -0.000000 +vt 0.187500 -0.000000 +vt 0.125000 1.000000 +vt 0.312500 0.437500 +vt 0.437500 0.312500 +vt 0.437500 0.437500 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.625000 1.000000 +vt 0.562500 0.000000 +vt 0.687500 0.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.375000 1.000000 +vt 0.312500 0.000000 +vt 0.437500 0.000000 +vt 0.562500 0.562500 +vt 0.562500 0.812500 +vt 0.812500 0.562500 +vt 0.812500 0.812500 +vt 0.562500 0.062500 +vt 0.562500 0.312500 +vt 0.812500 0.062500 +vt 0.812500 0.312500 +vt 0.062500 0.562500 +vt 0.062500 0.812500 +vt 0.312500 0.562500 +vt 0.312500 0.812500 +vt 0.062500 0.062500 +vt 0.062500 0.312500 +vt 0.312500 0.062500 +vt 0.312500 0.312500 +vn 0.0000 -1.0000 0.0000 +vn -0.9981 0.0624 0.0000 +vn 0.0000 0.0624 -0.9981 +vn 0.9981 0.0624 0.0000 +vn 0.0000 0.0624 0.9981 +s off +f 3/1/1 2/2/1 4/3/1 +f 2/4/2 1/5/2 5/6/2 +f 4/7/3 2/8/3 5/6/3 +f 3/9/4 4/10/4 5/11/4 +f 1/12/5 3/13/5 5/11/5 +f 8/14/1 7/15/1 9/16/1 +f 7/17/2 6/18/2 10/19/2 +f 9/20/3 7/21/3 10/22/3 +f 8/23/4 9/24/4 10/25/4 +f 6/26/5 8/27/5 10/28/5 +f 13/29/1 12/30/1 14/31/1 +f 12/32/2 11/33/2 15/34/2 +f 14/35/3 12/36/3 15/37/3 +f 13/38/4 14/39/4 15/40/4 +f 11/41/5 13/42/5 15/43/5 +f 18/44/1 17/45/1 19/46/1 +f 17/47/2 16/48/2 20/49/2 +f 19/50/3 17/51/3 20/49/3 +f 18/52/4 19/53/4 20/54/4 +f 16/55/5 18/56/5 20/54/5 +f 23/57/1 22/58/1 24/59/1 +f 22/60/2 21/61/2 25/62/2 +f 24/63/3 22/64/3 25/65/3 +f 23/66/4 24/67/4 25/68/4 +f 21/69/5 23/70/5 25/71/5 +f 28/72/1 27/73/1 29/74/1 +f 27/75/2 26/76/2 30/77/2 +f 29/78/3 27/79/3 30/80/3 +f 28/81/4 29/82/4 30/80/4 +f 26/83/5 28/84/5 30/77/5 +f 33/85/1 32/86/1 34/87/1 +f 32/88/2 31/89/2 35/90/2 +f 34/91/3 32/92/3 35/93/3 +f 33/94/4 34/95/4 35/93/4 +f 31/96/5 33/97/5 35/90/5 +f 38/98/1 37/99/1 39/100/1 +f 37/101/2 36/102/2 40/103/2 +f 39/104/3 37/105/3 40/106/3 +f 38/107/4 39/108/4 40/109/4 +f 36/110/5 38/111/5 40/112/5 +f 43/113/1 42/114/1 44/115/1 +f 42/116/2 41/117/2 45/118/2 +f 44/119/3 42/120/3 45/121/3 +f 43/122/4 44/123/4 45/124/4 +f 41/125/5 43/126/5 45/127/5 +f 48/128/1 47/129/1 49/130/1 +f 47/131/2 46/132/2 50/133/2 +f 49/134/3 47/135/3 50/136/3 +f 48/137/4 49/138/4 50/136/4 +f 46/139/5 48/140/5 50/133/5 +f 53/141/1 52/142/1 54/143/1 +f 52/144/2 51/145/2 55/146/2 +f 54/147/3 52/148/3 55/149/3 +f 53/150/4 54/151/4 55/149/4 +f 51/152/5 53/153/5 55/146/5 +f 58/154/1 57/155/1 59/156/1 +f 57/157/2 56/158/2 60/159/2 +f 59/160/3 57/161/3 60/162/3 +f 58/163/4 59/164/4 60/165/4 +f 56/166/5 58/167/5 60/168/5 +f 63/169/1 62/170/1 64/171/1 +f 62/172/2 61/173/2 65/174/2 +f 64/175/3 62/176/3 65/174/3 +f 63/177/4 64/178/4 65/179/4 +f 61/180/5 63/181/5 65/179/5 +f 68/182/1 67/183/1 69/184/1 +f 67/185/2 66/186/2 70/187/2 +f 69/188/3 67/189/3 70/190/3 +f 68/191/4 69/192/4 70/193/4 +f 66/194/5 68/195/5 70/196/5 +f 73/197/1 72/198/1 74/199/1 +f 72/200/2 71/201/2 75/202/2 +f 74/203/3 72/204/3 75/205/3 +f 73/206/4 74/207/4 75/208/4 +f 71/209/5 73/210/5 75/211/5 +f 78/212/1 77/213/1 79/214/1 +f 77/215/2 76/216/2 80/217/2 +f 79/218/3 77/219/3 80/217/3 +f 78/220/4 79/221/4 80/222/4 +f 76/223/5 78/224/5 80/222/5 +f 3/1/1 1/225/1 2/2/1 +f 8/14/1 6/226/1 7/15/1 +f 13/29/1 11/227/1 12/30/1 +f 18/44/1 16/228/1 17/45/1 +f 23/57/1 21/229/1 22/58/1 +f 28/72/1 26/230/1 27/73/1 +f 33/85/1 31/231/1 32/86/1 +f 38/98/1 36/232/1 37/99/1 +f 43/113/1 41/233/1 42/114/1 +f 48/128/1 46/234/1 47/129/1 +f 53/141/1 51/235/1 52/142/1 +f 58/154/1 56/236/1 57/155/1 +f 63/169/1 61/237/1 62/170/1 +f 68/182/1 66/238/1 67/183/1 +f 73/197/1 71/239/1 72/198/1 +f 78/212/1 76/240/1 77/213/1 diff --git a/src/main/java/assets/hbm/sounds.json b/src/main/java/assets/hbm/sounds.json index eb0514a86..f3c4e7390 100644 --- a/src/main/java/assets/hbm/sounds.json +++ b/src/main/java/assets/hbm/sounds.json @@ -158,6 +158,7 @@ "entity.planeShotDown": {"category": "hostile", "sounds": [{"name": "entity/planeShotDown", "stream": false}]}, "entity.cybercrab": {"category": "hostile", "sounds": ["entity/radio_random1", "entity/radio_random2", "entity/radio_random3", "entity/radio_random4", "entity/radio_random5", "entity/radio_random6", "entity/radio_random7", "entity/radio_random8", "entity/radio_random9", "entity/radio_random10", "entity/radio_random11", "entity/radio_random12", "entity/radio_random13", "entity/radio_random14", "entity/radio_random15"]}, "entity.ducc": {"category": "neutral", "sounds": ["entity/ducc1", "entity/ducc2"]}, + "entity.slicer": {"category": "neutral", "sounds": ["entity/slicer1", "entity/slicer2", "entity/slicer3", "entity/slicer4"]}, "potatos.random": {"category": "player", "sounds": ["potatos/randResponse0", "potatos/randResponse1", "potatos/randResponse2", "potatos/randResponse3", "potatos/randResponse4", "potatos/randResponse5", "potatos/randResponse6", "potatos/randResponse7"]}, diff --git a/src/main/java/assets/hbm/sounds/entity/slicer1.ogg b/src/main/java/assets/hbm/sounds/entity/slicer1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3d18dd284ee095f4e848472f2884b83968ccbc2d GIT binary patch literal 11506 zcmaiZbzGFexA(J@lt@b~olAEpNQp}$3rm+QjfljO(%m85Esb;th;(tsG0N^zd=<%eqRfqz>0xAZ>EY5KZg}Jg}2JHS5ad6;PAXLVkG$=v_n<0orQa2%xO%g?giKE(V zZrccD|5M0|Tcfx#*fc>Kd}8>4TVhw>AbD|JLR8x>eb58h=Jdb{aa3n!VTI>`SmL|j zpe`=GdKs?#7^gu=7E23{V6;lR;^K zCEiRLG%Qm>6~rNqO&3HjWKIUe0YGj(dqh4vE+JJdE-(N9gwh(M{f^+lc<^8i7!Uit z9wy2d05+|QNqfjEq$Eg%w&)mq>BS=@O5vR#iXz)nLh-eYt$#fnY+|J}5 zLs9vedid$6emj{xxq7(&D7G4piFA(JHpj6&(@dg16vbNU5tkm_fTA!fZDP`uYfzLz ziw7)2`L@mZ7V56p@7)7ulH68H+FOz{CVEkndf(n!CgFc~x$AdlWYm162}7b^tU$1* zcC6{25t&g5?8#j2^5IYgX3FkQ?phZnKEh^6a)c?d{WCZkAdSrsObS!@Phl3u5JKTJ z1bLSmpu|yHk{=~7%vCpXS3Ekbs3Ulc&)-8R$646})3g_!)3rMm-$@Uw*VebIY=9|2 ziV|VCclM)4*`EY|C3L_<3ubP#Hh?Y zEg(FtDGx_l%qJuDn!F7bf{iY{S5f&2`9e3@Lht{||E7*Q;Pj}?{%<0XJ__d%@m=Ob z!v9PYwV=RjQs~`&Q>1x<{0_$LxkBSf?eIl%{hI6(6=%9sK_? z-rWXg1^^dks1q|3#w-s*5qH-0!@spIxSO9@-id2?O6cDlCrKnx2Gw!-cWM0B0ssL1 z;Cs^HNw6w0%Pfo=uE{+Mlb_Xu|NoNew2&$Z%CI=M2euO&G{#*Lr-;Ly8o}PfybF`L z2iYCt3&_1B77xtqCl!~C>q}M)O1(W-7=Q-qT=5U^_kf+oH1?V0$HX~kiu%N%r3Et@ zN;Sn4f=VonT6PcD;7jX`$e zU_<=dU|59syG+e7arUglA#v8Mx5SX5OazLXnK-7nmHBo`ksY-^IzgzPEW41oJV3|> ze0~iceJi9&%A!gluTE+-OCmp;Bs3}{tf2*0B~_i(g6om1&L**_3aYA-!Zk_c;bd^l zWL0>Q#ki3Dq85CW91d@?Ft|YN6Xd#}>LNLOc1{)EfJ9YSlk8Vh{u>HDuLU;{fzLJy zYq%I`z%BGp$gURijc}bgq$;V=yr$|R862JrU!1joCnHT<;6^$|^Yd_>3-84_Z=*Tn z3yNFh`B@~~6=^bOzn+3L(q+BV$_S3qN*INV(#jqMrSo4p!xw)bXOZ?sB=YmO$nx+c zBb4lVlEt0Qw_Hsm(x}lMk!o-7Pz|Lsiu)qTXf*}7O!3O-GI~_Ve%ZyyNYqGY-rh(w zL~q{PL#o|RM#quH7`ua^nrkJC%OneT`(+(VBes!Nd+>*9L7x{W zU(o4?4oLgqSmfSqk4yjvjB^fyV8@%GoF62Z5EelZ7$?rgf>2X}urxeZvL!+ga`YFP zk1665)srgOKoY0)AuNs0l_Dz}^fm2jLSXuMMfJK$HvA3R2)oL@Fn*jgXPCfFVIoYQ zv#35<99rZY2fN2mlmLrlDWc%qDKwwZ*rPAhf`ykBk|Nky`VwGKEJaiX5!_7_&IBkZ zSa=PJ5eexhM~o36o}-{pgF}kywUuluoz#?2P$M#mC@5t`h~=2#K7HYg4D=RC5rWd{ zB??Mek-w3``4yy*O34NVWv2+~LqTyjt~|o74AwHkFX~w^8)<3Kw!0g=f~9E5tfB!m z`2C_DU0CU@M0w3T1!5G^Xs8(}+(hA3#oc7=Oz@;Z+c^Ri;0xj3p%=nMd9g$+)aiViAbyV_C{bXC zJ}3^h0}e{iKgbMxu4Gq~n5Z9Flb8Ur<0nV?`p+m2Z5mkI^A!jVslWhWAOJrGp_gry zUS>NS!{U+6URGSb-^iqw%@$EsR@P|mkqtpTTdS%J?pj)_$`7(_?pnAGI#5z&WmTNR z9S&t>sGAlQR-9y%?YE*@YLD>B4~A;FmK$GDckj2NB92D;gCR#$r|XUyFtoAix|Q#D z-)q#pEAa^glyrv75~)S>q2b+Lh2|&~`{>OHVFUC*D1QnGN`#?Y5*8Q$&{Wvb@6^sm z-T90a4RiX4N>mYfOW9STT;`qM{C^f807gOpz#fQLD{&G0vm@E99U;ZwK>SDDiOv&> z>?}nnvt|Y+z?71lVM>an4Rg1<_11cpgfJWKJ}SFWdXz<@_%BfVhr3VTd0Y~;=OY{D zR-92)u-CW@_FGta!!|gGpsYdPZcO}&Ud66vj>?5lmICmbMw#E!w0j?$O&;O@p9R1U zN;Dfm4JxO^zkM63g#N2KtMT`tsxsJlx7=Hge9OHJL`P6-9*8=SS?k`oudpn~`|mk0&} zW(!;a(pzu&jB=|Pj>}LeWUj_dahCt$lhFF3N)fpFzOqW`L0~y?bC{;q&gv6@Y_sjHpBbTmgXCQ@^mVZ9V}Z5wS-S zPo!m0d*Wa6^YgnSq*0}x-@iAFPS{-&aQmil+wntsvo8xhGXot5gtfcAyYmAh9WTeH z-kzS;wz`J;y85nudImZMc6PR*@6VZ{ns3e|(DO!>RSKtUe|9*dUkb*X8Bz9l-O#e5 z^*sOf`bPBhH8b`=zn!9R>`mvZInlr=hV==nA1Sd?$J*VWftd*fQBxYfJf+X^$N8+H z!7B>X>!oP^`IAx8)tEirlAzxcn@4|(S7HE}nDtWvPbsu=1bLRW>x<6%^Iuf)#9TU+ zZS$bGNWZ_K^>Xc1+BKUyMJHbyp5sTQrbzm}4^+l`UUw;p2{~p`(Rf*SF-<~*V{z>( zXmj9{?_SU*WpYW;YV=cox1g1XIvOz%`oX6j>m}Sg!P_`F_|G!4>V8Z{S*4r$#cJ7X z;KxhfNw!zJLhGVjKA4Q@>7!0@egwD^KBvpg)seie=UybUB?yvAbfLPJ+Jmf@$om~H z(*`GNg~g3r)k_WJrXz?QJbqm>lN-El$!;0+P4T88T4b1GrBpAPt%7ys^UP)(MJ?y0 zVWlo=n)#>!kkRtm6h`4eF}OgyW>j@}zLlg1ATBywxODB(@p_n`;H75(gB`xm9t!#2dRNym$Pll@FdeJn-1Np zLjq4mECN8==ub<&bjUe;&J4V-KtNyqk{!WPwIQ{C`B(c(YClYCZSX_?b>B=vs8HBV z|4klQ4ft&E_4rm#7dBK|z7 ze28tA+>$2)ej4;r*`re;i?^6F7AZ`lbs-DTX23Bc^)by$^8U7VN9?|EaUIUysS*Ui z;iU;&m(({4V@%AGTXMqcXt*wM*#a|AV~LN^T#||P z&F&>82bH|CQ(C4Ix?`swC1o&~oo#cR==^t!4PvB;pJnoEDbkrSiq z5*d=2!3-@Q*ktM67Xto9z$v0A_0d1yG|?B*F57vjKVU}F5G=>AVHuOZe#_SGYsI(F zy!7pAh2nBu^3Ql@KwY75;L9pY3K5l$P1YaxGi`95Y{Zsi< zi@Z;23bg~MKqsdLsiA5XD#i-)EUHo$wuW08nAQwjEEm2aZ5H>KrMzTCRuV3F8A_o8 za}+co7PURnmZ`^H`z6gC-`h4;>z4jru9tdE|NKt9 z)2h~_AlY-$j9f8rMW=eH|E4lM7kB^evn!?;X9aywagcsxs?!IoTG< zuXFnKZrGGIDUh!@-TJgy=Dv;rY`@X1JZE8eYd3`k5K@GItv;4jhGKOoULBN$dU@xx z{dPWoSkY#zNtZD{L5e1!QKz_82Fn4y)bTf}2`{=Bg>AKHs95~z$pYICh%swGGizx+ zPZB9S1fBQ3>6w00>Erd*Q6X7vjCZ#5ba}&9?}(h&OLt(_TNy!w&ZW`7K7R9oyOT)e zIqk2*Py?pMpz*OOIul9Slxq%}Bf(MYYzOB<;|^*n%27>SXK_h5GduHN3?P-_ln1b# za@n0wNnQ7Td1IOaz8N`CNf9BCRKB(;tWLElyB{KFWpd@PesxmJroRB4WiHt#S*Ek( z;Zg5-+h6mg=MVSRtkl_$c=JDe;xc-9oF~{40TFKHBjeQW@al z@78%8f1knxA;algf3*C<3fMij#`MIQbZKUJC{Q)3jID3%-?5do@4h{v;9 zIAx5O0d*Zus?;sKMCg^sR$NMnH3D)sea(~T7wGm5iAk*cFe6H;Bm5}2m1ax==;<5G z;Gs_OT!3-Js2v@CASn}%ZS6-j{W?ln?wzrE>4SOjoDy;M`pSIt;LoB1;mUCS#=iwL zwHfx@cywBhbPl~7JNvnwt2`O#vlV5FLy;Z=w!bd8*88m#zq@`B5M^9uh2oxiwt%ZK z!-qQeONX$l6IMp2>-LW&MR+0$HjAh~?y(AxwMa$w1wJjD;`>c#Mbr4AlT97^3kN!E z!+V*-_*j_C8jaVMmFdiKPI5}ztV%7F&}J(6S<7qUc}Mn18(LV$^|{FCd?oNC1D=Hq zk!H*26`n+73m%BL?b8I43Hr^7)|t0q533ma97rPKW*4>=1S z84i`dU2Fxrk_rDgDm&8~)bCVbT7= ze7Rg$$rC2WA91DJ#cLZ^Ie0hz7PClhI^WgmP%QmUn zrrM?0bMHdzTXi6W`BJdmWPA5D9YRHVFAyLQ@)>}Ck#;^;2S641b!lesOvta4sva_`qN{4cX zDkQP-mRgRy3i^QO=6pGT-*7bX$30^<6&lHR0W%@>nAVz;Z`XiJwG-f5O=2)G501;f z4*k;4vjpScm0NldZ-1mWpPnCjSwOo8y2QVqYAO|GEVCI(-rg-dd>yDbu=CV@6nhLQ zq>TSsk0=dd@axK%Gj@l=>;Sv=kI>NfeX^j3iIMKgUOel^VZLuaSgIB*s+s_6>Gz|s z(>N8F4DhUeyRGBa3*`uEo(e@Xlk*}I^#w=wTE+#}8GM)Bs%|zne7+rPw7wWFcJM(8 zZyu#(D0JXsfQ*T>ckc5*GUU)VP2c!>2vzm*)5fCtegtzrjK=0(@vP$q=^p8fkVUXs z^i1@W3U~%ldPDYt%71glA636!jsge0q|-@}7%V``32HF8;b=XndNFOI~CNGQ^)C+HS5I+*j3qdK99CrS4oPyow1o`H^Xy??*{pc@2h<`bYJl0+(c%EmE^SFx?U@lF zKe#EXe(eZX-JRU);U5+1tc9XUQ)6~U+W`|YZEZgoWB46rce>t3DqcHoyYyuCxf^Zt zaL1^rF-n6cM1aq13R(075q3tP_$w!J zKWkK`VKgw?q3rVf^&Q<`vi{``eTp4lcuomkLzc%`$-5k;{uExKy+Uo9hd7-|5w1y+ zj8!(&`=%OA3SSq!Fn2zIjF*baqgsARi#}BEqLwp74u%v^s|9Z7TKVA{V_NU_f&i7z z?gs*N>-=ivt(iSR4e$6X-!5dYYjyDKmZD+u`4^+T#)Lk!QT?P$2yPzrd0H<>oI|GM zbSMwbYB^a3FjEy+Imb-4tiLTk1o6HvGB$9YKY)I`JVdL@#zp8Tr}p00<>{Jlqxxzn z(Z#P!_%ZhFsfsn0U#0u!re+iIDx5`$N;S}Ti8iCCRmY~)TxvMbQQB+t%=i!ff=bu# z?EbjXQXQ*j+%KqY@7;gjEQvl*GQq;beD1jUCG_&q=59I9^ng@%c34ifo19mqpXOAE zb6JV3Q0GCMmpFQ5I^`@h<5hKK0aI)Dk<7bEM@Xky#y?rSN&s)dfh;LYU(gsP`(Dl6Wf&@>s{>&S1 zqEPN4)rPV+E~guRA7>j$WjT>!^yuHK=Dp&(58sD4@!^8ze6T6;L$ z_p;+TbNK3XHqHQa{YU#;(74{we){3GZA6nCL!jW|U}=7}$&`0Z_Ba81QlYVkmBg8y ziO)2_;yHfT`m1B(aOed{`;9vYKz$UNJ1_hAb6R7t@ut#u8R2#1 z!Y|n2@V(gykFPYqK+OC1K>P+#fwl9M1paj@!?UNM_1KqvKDAXU8A8%9VlIgiN$`)a zU9SpY-4KN`+9BI-ye1wvnQg+^8$*wE3i>e2sszr+|LY%h)Sfqt7B&Q$QY-LZU0s0S8MKZeQsN30T| z29VIZTokk`&@Szthty+nDmU6|C{yD1sP+F6-FMFhHTwJcnwU`s6z|Usqbo|myC*`k zCF4ARo{2@S8;jZ}ABiz$0og>wM%+P-Zz*cIhhuF!!%`S+6N?2O@twWb3S}MwX5Xf( z3yZJ}B#XO5C z-7!`IMg|r~)2=-i!S@BdC+Tx`{us*rB(7TNiJUWBGzhMSzpZ%e!Rf(?Gc$qtV!edS z0VpAE6dt{~;tsVp`&#y9(Mw$>a`X_olysx{ae(t472B$GiW}8m|1kL;o$Isx!Rd{A z7JVB&5kbr(f`V?Y03hJskj);`AT)2kacDQ*PK-F851^bKg9lQIb9gp*@-mYf;|K2^ zQ)@^xBIY0ISeNWBN$?{XJ-ddF)=3^l;yAY(S0FuZlD4W|4+C!wmasM231}QR?a4=F zF%KP(Y7QU!5_*HrDt!0;HnYd_nhud3nN?Hay%Ew?N=)KnpxEZ}TfNx*o-J&WBUSqo z!D}OHE+u=kOUM>i+Khg)jXzSi1}7H|!?^ppfq~ZgKVLV{QDo96H#_I2`qsMErd9?H zNLLdbJw57U2R#P|HvCpi*{qraLoMthI*nXyrp-`%y)iqbw?aw4#^kSI?Vy@E_qTYkK;Jg)s;!Fj5(tGb# zseAV;ZdSs}7!&kE;cGiIM)GxR>r{16jQp&25sW_#OD2l1y)NCFx>#T*b5~*f19UH% z4KT7+KX4t5X|xz{YtNo4qjy|_i3Oa_1wo%VO_Q0XC(`Qu$gIB-b$<8902Dq+Y<{=6 zA1W>vEx1xR6k-2`)5%pUa7OQt!_<<%P}zEJ-<2pKM(&=0WR;0Ud>0uK0~twtzOE@`3VpNV;(KwQR?NQem^-PAMwnee8c)lbp4_ZwG6VW1E4e>& zBnz#J-PJL}rM@_7pAs>EuA`Bpn`mES&~gBUk-yYYaTeSuC+-;`Z`Gx*Etzj^t+)nEJo8;zy&*x#UCljnq$m^C|RfQ~-fo zBYHuJW1yMZU(zS?;bv`bQ=sd8hkR0=XDIxMak1ZKtm5Z27qzssPcC#=?=d%;6DOaf zR7qiuSxLDoK%Dj@KbFT;c&Nt41qCf_Rkuqf!XX~)6W>#U#mviHN6{X)+tT-Ee*9u>yMc{_@V^!ehALcF6< z$1nOM{Rv5WK`t2Q!WK$>$<(Ta9nGwBFO}*hz8N&0NQlOjBwBx&!G53plpXqU*|0>! zcXCcJX$-7a)LL6-Cu|B z+Nwc3zEJpj#Y!rpVnh1wSIwso)tA8g1;DXWcaQ9mUG8G>Q6B3=;g__~kH?WvWGjDu zTe+9#d7dQfyRX7Gv_8#~V%V?{MyYiC|s{aaZzBf5n6wd$BO}A|zS* zb2j%c;C$5&V@lViWtDjIkaYgSuvi3?&9?f~6X)zf`D58|gYbOOkcDg}D@_?LoZd?1 z@oy8~W^`HqIA}q?_zHiN1aEY^T8)7%%DXO7=QkFhPc^)mlwG)=Se1UI)7Z>*4jrX> zB3eGTaW(L?ol`9wj##n<5j}MhIbx1Y#@GMtT!DMwx=c!RDM$@pYiil~{^MFdy$Nq| za=(99*b7}?e!RfWVBJpsTCsHUOfT!pGTGBz@WmcT zgl(0yX4U!n9&V>P-VXiEpYY#P zrI+sxQx^LDsi|21WT)`f@7Fk96JeFzZ;^tgOKG4}BAD`H37FPvGwrrxKOpdg-88kr zcZQ74q*|v3yx_&pqIvhKeGM~JIC0zyGm1sf@p=hlc%RO)aDadO@yjqHB6zLn67Y>L zquAuxH4l)%8&15pEV(WH=}Egg-qZL>JnAc5BYbp>#qxN`Gb0JB<=}_oc1d(xzu1f2 zP7Asjm$0uNznk|4zH9YgFaFf|DWfF7^8Lq96Y0%4xl|dVtzHE`&#+ZwUz&8yV{{kRi45Vbj!j(!n{^R)7mlhr^ramvA3@7 z>>$m6eWs@ZgN3QUiaVgzyjZO$eVQ#jtN6i9vUsmb=~%CQDPxVXWW%&}H?}S7K;AHS za1mutYxWb7gO0wLgM=7u9w->^LG`Ea0+}5d`26D9pGKf<QW#;XM2OZQV+(w<4SebGKd1j)d;jd=$TnOo<%L z0If)oS=#7gk)0RO(H~0x3W7W6x9dB!jmo!ieBA=xV1Dteq){d@s|7{io`aKkqrTr` zH>}rxa-VtGruyqWLi?jcmGXnB=9XMoQP7x*r5VO>>LaBuX3De3Y_%6E>1+1sP1Ho? z?9yYo9220KvEz>;f7ynZq?g+3xXV^N`Yoe&{7=FHlRVTAw4k1`#iO>SGVu_<6Y8_X zaCtAJ7o**f`KL%YwRBf~I~a7PR=_oBB9y}(BTYb!(+J^@7Y)NhI@$Wri6x_(p~XaQrS9`DL&RKOBsaX zqEBjfH_U*QiO9Kof`7xDgg74=>90%HxAAJG_Oit${BrOaJ3HWLD)a((X)XWShrD4z zn;BDww3|HX%ftCCrGDPhVq_9I-{b(Rn_0Hk6(+fzOCg&l22DY$H;`F{s=PgB?I)^`VD zJW{`xk~3x=1%T4owhmnGFNV&Z5sN5xs^{!AORBc1JAM!-9$ulq$*tvhOHVxGuwDd9 zQ@s8=t@OZdX+(KoYhTpx>Gy?CntkV<0Yo86^!DfMGBPm_p*p*ts>}KESynH;Lg6$i zwdXsdHn}Np{yZozXE=gLNGDe7QcgFSa~DBfrs47Y=g%>G*2q+v>82>b3BijJ1okZrf?2sDu*e5YzE<51Z#noyEC_UhpZ)uG_XK! z(?KxRX@+Pmm3Mo14GwY$;_RA)5xhQX#b4yt(GV@Yz0J>(L|DzXbDL-Oa+t)=0b@4g z`L99M#e%O;%5V3?^5*vOapL*?%F>k>8HAD|f*WWL_M)kD7>bj2t-vR$p(&+&a5mD{ z1xhW;mzpx?(uq|Iu~V>tfM#8QAI&k|CB;pp*eNK`%elnP5Qk>ki+8>*J z+I`@ay5{iB6ax$U<|}UhPipfee5}@pfVZzQFJh?zSD)!j6h=_yMhY2v@08Kw=roN_ zT@FM((?Ka|-~M+YQ;q)D4$0>Lp?n5tWqn>4MIL%%%vA{Cu1UxF-j7T8o3Wko$I%DV zwks;R`SDxGx1W0Cp z9dab%?U=Ha+;6rVNn?~_Um#{cZExUm1^5C&e3+l7Sj${>Q ztr&Wywr^Yk7aunJ{_k~`lV9jgnwvylu5QeD7HFcEXxOlHVUz7g&s4eI)Mx!Q2|hot zvE5jlsE8#!LFTRJ+n>m}wH4P-uiK4SE|k35$xd>0u=EDmQKGbcG`B7 zyiSq15CfeLrIz45ne7+<-59K z_){5NtaAA4U)f|hqyZnctnp!W)&|L^)acE;($H`APvOtC6RgF6HlnfQ<8_ZdeVz2lTz^tqz*`1CXe2#?sql#&8T|F?ZkMDI zGaIH?C!3l5nZIAgu}@!*J*JhS5<~unN@T|Qr-;(Z3*Yk7V>?6?}>+#Nqh^GU@Z zbU#k1)9I7VoOu>O$3&V!68RHI@brVm?Xb*uv|R(8xar)LnHyzp6s)l2xw17T>|SH<!kAZYS~dHtStVKzce%{3vcu7NuH=Zf>=1EZSzXM=iQ(*uhG6y zL1-ez^T@F004Cs9`%>Re hM4cK~TO-sGjm*pJrs-nM1p!$E(&+d7a0qVG{{bAXKmY&$ literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/sounds/entity/slicer2.ogg b/src/main/java/assets/hbm/sounds/entity/slicer2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6e31daa0aea53df747490738410aaddbfa0ed105 GIT binary patch literal 8503 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 literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/sounds/entity/slicer4.ogg b/src/main/java/assets/hbm/sounds/entity/slicer4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a788423a78c8e82641fcf2ea53e9bea634208503 GIT binary patch literal 8507 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 literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/armor/bj_arm.png b/src/main/java/assets/hbm/textures/armor/bj_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..2d16b46588a983ef8c408fab3abf7ecbdf1388b8 GIT binary patch literal 1084 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 Ul24guH~;_u07*qoM6N<$g3z^p_y7O^ literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/spikes.png b/src/main/java/assets/hbm/textures/blocks/spikes.png new file mode 100644 index 0000000000000000000000000000000000000000..b621abcedc9c2407722f996d51363e643c0eee2b GIT binary patch literal 540 zcmV+%0^|LOP)1hDqDv&silbPYVF81C4 zl#L|vJMUXuRd{9q{;VO1?tUKTIFKHi>V5{<@Y|VdJsRx2k;HkP50*_;Jv)AJf5(46 ee*76^oBshPP%Qyx6Vd4a0000* literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/items/pancake.png b/src/main/java/assets/hbm/textures/items/pancake.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf1ae09f05bd1fed912132c4427655b6ff0208a GIT binary patch literal 453 zcmV;$0XqJPP)J<+8WBNNnTiUS86yAxUI0di`nl-n?!jiXy)5=h*zRSGk3e!HffRv^Ejfbdrv8#BrS99-W*KUf-8BSKPtK vV8%;pED^XnJ@Z+ targets = world.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(x, y + 1, z, x + 1, y + 2, z + 1)); + for(Entity e : targets) + e.attackEntityFrom(ModDamageSource.spikes, 10); + world.playSoundEffect(x + 0.5, y + 1.5, z + 0.5, "hbm:entity.slicer", 1.0F, 1.0F); break; case MINE: world.createExplosion(null, x + 0.5, y + 1.5, z + 0.5, 1F, false); diff --git a/src/main/java/com/hbm/config/CommonConfig.java b/src/main/java/com/hbm/config/CommonConfig.java index c759e5540..c79bb74d3 100644 --- a/src/main/java/com/hbm/config/CommonConfig.java +++ b/src/main/java/com/hbm/config/CommonConfig.java @@ -7,6 +7,17 @@ import net.minecraftforge.common.config.Property; public class CommonConfig { + public static int setDefZero(int value, int def) { + + if(value < 0) { + MainRegistry.logger.error("Fatal error config: Randomizer value has been below zero, despite bound having to be positive integer!"); + MainRegistry.logger.error(String.format("Errored value will default back to %d, PLEASE REVIEW CONFIGURATION DESCRIPTION BEFORE MEDDLING WITH VALUES!", def)); + return def; + } + + return value; + } + public static int setDef(int value, int def) { if(value <= 0) { diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index ee301bd89..2f87259b7 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -37,6 +37,7 @@ public class WorldConfig { public static int geyserVapor = 500; public static int meteorStructure = 15000; public static int capsuleStructure = 100; + public static int arcticStructure = 500; public static int broadcaster = 5000; public static int minefreq = 64; @@ -87,6 +88,7 @@ public class WorldConfig { geyserVapor = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.19_geyserVaporSpawn", "Spawn vapor geyser on every nTH chunk", 500); meteorStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.20_meteorSpawn", "Spawn meteor dungeon on every nTH chunk", 15000); capsuleStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.21_capsuleSpawn", "Spawn landing capsule on every nTH chunk", 100); + arcticStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.22_arcticVaultSpawn", "Spawn artic code vault on every nTH chunk", 500); final String CATEGORY_METEOR = "05_meteors"; Property propMeteorStrikeChance = config.get(CATEGORY_METEOR, "5.00_meteorStrikeChance", 20 * 60 * 60 * 5); @@ -99,28 +101,29 @@ public class WorldConfig { propMeteorShowerDuration.comment = "Max duration of meteor shower in ticks"; meteorShowerDuration = propMeteorShowerDuration.getInt(); - radioStructure = CommonConfig.setDef(radioStructure, 1000); - antennaStructure = CommonConfig.setDef(antennaStructure, 1000); - atomStructure = CommonConfig.setDef(atomStructure, 1000); - vertibirdStructure = CommonConfig.setDef(vertibirdStructure, 1000); - dungeonStructure = CommonConfig.setDef(dungeonStructure, 1000); - relayStructure = CommonConfig.setDef(relayStructure, 1000); - satelliteStructure = CommonConfig.setDef(satelliteStructure, 1000); - bunkerStructure = CommonConfig.setDef(bunkerStructure, 1000); - siloStructure = CommonConfig.setDef(siloStructure, 1000); - factoryStructure = CommonConfig.setDef(factoryStructure, 1000); - dudStructure = CommonConfig.setDef(dudStructure, 1000); - spaceshipStructure = CommonConfig.setDef(spaceshipStructure, 1000); - barrelStructure = CommonConfig.setDef(barrelStructure, 1000); - geyserWater = CommonConfig.setDef(geyserWater, 1000); - geyserChlorine = CommonConfig.setDef(geyserChlorine, 1000); - geyserVapor = CommonConfig.setDef(geyserVapor, 1000); - broadcaster = CommonConfig.setDef(broadcaster, 1000); - minefreq = CommonConfig.setDef(minefreq, 1000); - radfreq = CommonConfig.setDef(radfreq, 1000); - vaultfreq = CommonConfig.setDef(vaultfreq, 1000); - meteorStructure = CommonConfig.setDef(meteorStructure, 15000); - capsuleStructure = CommonConfig.setDef(capsuleStructure, 100); + radioStructure = CommonConfig.setDefZero(radioStructure, 1000); + antennaStructure = CommonConfig.setDefZero(antennaStructure, 1000); + atomStructure = CommonConfig.setDefZero(atomStructure, 1000); + vertibirdStructure = CommonConfig.setDefZero(vertibirdStructure, 1000); + dungeonStructure = CommonConfig.setDefZero(dungeonStructure, 1000); + relayStructure = CommonConfig.setDefZero(relayStructure, 1000); + satelliteStructure = CommonConfig.setDefZero(satelliteStructure, 1000); + bunkerStructure = CommonConfig.setDefZero(bunkerStructure, 1000); + siloStructure = CommonConfig.setDefZero(siloStructure, 1000); + factoryStructure = CommonConfig.setDefZero(factoryStructure, 1000); + dudStructure = CommonConfig.setDefZero(dudStructure, 1000); + spaceshipStructure = CommonConfig.setDefZero(spaceshipStructure, 1000); + barrelStructure = CommonConfig.setDefZero(barrelStructure, 1000); + geyserWater = CommonConfig.setDefZero(geyserWater, 1000); + geyserChlorine = CommonConfig.setDefZero(geyserChlorine, 1000); + geyserVapor = CommonConfig.setDefZero(geyserVapor, 1000); + broadcaster = CommonConfig.setDefZero(broadcaster, 1000); + minefreq = CommonConfig.setDefZero(minefreq, 1000); + radfreq = CommonConfig.setDefZero(radfreq, 1000); + vaultfreq = CommonConfig.setDefZero(vaultfreq, 1000); + meteorStructure = CommonConfig.setDefZero(meteorStructure, 15000); + capsuleStructure = CommonConfig.setDefZero(capsuleStructure, 100); + arcticStructure = CommonConfig.setDefZero(arcticStructure, 500); meteorStrikeChance = CommonConfig.setDef(meteorStrikeChance, 1000); meteorShowerChance = CommonConfig.setDef(meteorShowerChance, 1000); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 9a419aea3..1b1720730 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -314,6 +314,7 @@ public class ModItems { public static Item coil_tungsten; public static Item tank_steel; public static Item motor; + public static Item motor_desh; public static Item centrifuge_element; public static Item centrifuge_tower; public static Item reactor_core; @@ -2246,6 +2247,7 @@ public class ModItems { coil_tungsten = new Item().setUnlocalizedName("coil_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coil_tungsten"); tank_steel = new Item().setUnlocalizedName("tank_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":tank_steel"); motor = new Item().setUnlocalizedName("motor").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":motor"); + motor_desh = new Item().setUnlocalizedName("motor_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":motor_desh"); centrifuge_element = new Item().setUnlocalizedName("centrifuge_element").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":centrifuge_element"); centrifuge_tower = new Item().setUnlocalizedName("centrifuge_tower").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":centrifuge_tower"); reactor_core = new Item().setUnlocalizedName("reactor_core").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":reactor_core"); @@ -4353,6 +4355,7 @@ public class ModItems { GameRegistry.registerItem(coil_magnetized_tungsten, coil_magnetized_tungsten.getUnlocalizedName()); GameRegistry.registerItem(tank_steel, tank_steel.getUnlocalizedName()); GameRegistry.registerItem(motor, motor.getUnlocalizedName()); + GameRegistry.registerItem(motor_desh, motor_desh.getUnlocalizedName()); GameRegistry.registerItem(centrifuge_element, centrifuge_element.getUnlocalizedName()); GameRegistry.registerItem(centrifuge_tower, centrifuge_tower.getUnlocalizedName()); GameRegistry.registerItem(magnet_dee, magnet_dee.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ArmorFSB.java b/src/main/java/com/hbm/items/armor/ArmorFSB.java index 9299171b1..8ee22b949 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSB.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSB.java @@ -7,6 +7,8 @@ import java.util.Map.Entry; import org.lwjgl.opengl.GL11; +import com.hbm.interfaces.Untested; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; @@ -15,6 +17,7 @@ import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.resources.I18n; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; @@ -22,6 +25,8 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingHurtEvent; //Armor with full set bonus public class ArmorFSB extends ItemArmor { @@ -130,6 +135,85 @@ public class ArmorFSB extends ItemArmor { list.add(" Fireproof"); } } + + public static boolean hasFSBArmor(EntityPlayer player) { + + ItemStack helmet = player.inventory.armorInventory[3]; + ItemStack plate = player.inventory.armorInventory[2]; + ItemStack legs = player.inventory.armorInventory[1]; + ItemStack boots = player.inventory.armorInventory[0]; + + if(plate != null && plate.getItem() instanceof ArmorFSB) { + + ArmorFSB chestplate = (ArmorFSB)plate.getItem(); + + boolean noHelmet = chestplate.noHelmet; + + if((helmet != null || noHelmet) && plate != null && legs != null && boots != null) { + + if((noHelmet || chestplate.getArmorMaterial() == ((ItemArmor)helmet.getItem()).getArmorMaterial()) && + chestplate.getArmorMaterial() == ((ItemArmor)legs.getItem()).getArmorMaterial() && + chestplate.getArmorMaterial() == ((ItemArmor)boots.getItem()).getArmorMaterial()) { + return true; + } + } + } + + return false; + } + + @Untested + public static void handleAttack(LivingAttackEvent event) { + + EntityLivingBase e = event.entityLiving; + + if(e instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer)e; + + if(ArmorFSB.hasFSBArmor(player)) { + + ItemStack plate = player.inventory.armorInventory[2]; + + ArmorFSB chestplate = (ArmorFSB)plate.getItem(); + + if(chestplate.fireproof && event.source.isFireDamage()) { + player.extinguish(); + event.setCanceled(true); + } + } + } + } + + @Untested + public static void handleHurt(LivingHurtEvent event) { + + EntityLivingBase e = event.entityLiving; + + if(e instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer)e; + + if(ArmorFSB.hasFSBArmor(player)) { + + ArmorFSB chestplate = (ArmorFSB)player.inventory.armorInventory[2].getItem(); + + if(chestplate.damageMod != -1) { + event.ammount *= chestplate.damageMod; + } + + if(chestplate.resistance.get(event.source.getDamageType()) != null) { + event.ammount *= chestplate.resistance.get(event.source); + } + + if(chestplate.blastProtection != -1 && event.source.isExplosion()) { + event.ammount *= chestplate.blastProtection; + } + + if(chestplate.damageCap != -1) { + event.ammount = Math.min(event.ammount, chestplate.damageCap); + } + } + } + } @SideOnly(Side.CLIENT) public void renderHelmetOverlay(ItemStack stack, EntityPlayer player, ScaledResolution resolution, float partialTicks, boolean hasScreen, int mouseX, int mouseY){ diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index c5444665a..e785e82d9 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -2,7 +2,9 @@ package com.hbm.items.tool; import java.util.List; +import com.hbm.blocks.ModBlocks; import com.hbm.lib.Library; +import com.hbm.world.dungeon.ArcticVault; import com.hbm.world.generator.CellularDungeonFactory; import net.minecraft.entity.player.EntityPlayer; @@ -27,11 +29,34 @@ public class ItemWandD extends Item { int z = pos.blockZ; int y = world.getHeightValue(x, z); - //new Ruin001().generate_r0(world, world.rand, x, y - 8, z); + /*//new Ruin001().generate_r0(world, world.rand, x, y - 8, z); CellularDungeonFactory.jungle.generate(world, x, y, z, world.rand); CellularDungeonFactory.jungle.generate(world, x, y + 4, z, world.rand); - CellularDungeonFactory.jungle.generate(world, x, y + 8, z, world.rand); + CellularDungeonFactory.jungle.generate(world, x, y + 8, z, world.rand);*/ + + //new ArcticVault().trySpawn(world, x, y, z); + + for(int ix = x - 10; ix <= x + 10; ix++) { + for(int iz = z - 10; iz <= z + 10; iz++) { + + if(ix % 2 == 0 && iz % 2 == 0) { + for(int iy = y; iy < y + 4; iy++) + world.setBlock(ix, iy, iz, ModBlocks.brick_dungeon_flat); + world.setBlock(ix, y + 4, iz, ModBlocks.brick_dungeon_tile); + } else if(ix % 2 == 1 && iz % 2 == 1) { + world.setBlock(ix, y, iz, ModBlocks.reinforced_stone); + world.setBlock(ix, y + 1, iz, ModBlocks.spikes); + } else if(world.rand.nextInt(3) == 0) { + for(int iy = y; iy < y + 4; iy++) + world.setBlock(ix, iy, iz, ModBlocks.brick_dungeon_flat); + world.setBlock(ix, y + 4, iz, ModBlocks.brick_dungeon_tile); + } else { + world.setBlock(ix, y, iz, ModBlocks.reinforced_stone); + world.setBlock(ix, y + 1, iz, ModBlocks.spikes); + } + } + } } return stack; diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 8a3ae1077..898b245c0 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -10,6 +10,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntitySafe; import com.hbm.tileentity.machine.TileEntitySoyuzCapsule; import com.hbm.world.dungeon.Antenna; +import com.hbm.world.dungeon.ArcticVault; import com.hbm.world.dungeon.Barrel; import com.hbm.world.dungeon.Bunker; import com.hbm.world.dungeon.CrashedVertibird; @@ -565,6 +566,13 @@ public class HbmWorldGen implements IWorldGenerator { } } } + + if (WorldConfig.arcticStructure > 0 && rand.nextInt(WorldConfig.arcticStructure) == 0) { + int x = i + rand.nextInt(16); + int z = j + rand.nextInt(16); + int y = 16 + rand.nextInt(32); + new ArcticVault().trySpawn(world, x, y, z); + } } if (rand.nextInt(25) == 0) { diff --git a/src/main/java/com/hbm/lib/ModDamageSource.java b/src/main/java/com/hbm/lib/ModDamageSource.java index 76321f2f7..76d8048a2 100644 --- a/src/main/java/com/hbm/lib/ModDamageSource.java +++ b/src/main/java/com/hbm/lib/ModDamageSource.java @@ -46,6 +46,7 @@ public class ModDamageSource extends DamageSource { public static DamageSource enervation = (new DamageSource("enervation")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource electricity = (new DamageSource("electricity")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource exhaust = (new DamageSource("exhaust")).setDamageIsAbsolute().setDamageBypassesArmor(); + public static DamageSource spikes = (new DamageSource("spikes")).setDamageBypassesArmor(); public ModDamageSource(String p_i1566_1_) { super(p_i1566_1_); diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index c9df62caa..74d5979b5 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -485,6 +485,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderConserve()); RenderingRegistry.registerBlockHandler(new RenderConveyor()); RenderingRegistry.registerBlockHandler(new RenderRTGBlock()); + RenderingRegistry.registerBlockHandler(new RenderSpikeBlock()); } @Override diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 3b0ad7a9d..4e3bfadf9 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -393,80 +393,13 @@ public class ModEventHandler event.setCanceled(true); } - if(e instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer)e; - - ItemStack helmet = player.inventory.armorInventory[3]; - ItemStack plate = player.inventory.armorInventory[2]; - ItemStack legs = player.inventory.armorInventory[1]; - ItemStack boots = player.inventory.armorInventory[0]; - - if(plate != null && plate.getItem() instanceof ArmorFSB) { - - ArmorFSB chestplate = (ArmorFSB)plate.getItem(); - - boolean noHelmet = chestplate.noHelmet; - - if((helmet != null || noHelmet) && plate != null && legs != null && boots != null) { - - if((noHelmet || chestplate.getArmorMaterial() == ((ItemArmor)helmet.getItem()).getArmorMaterial()) && - chestplate.getArmorMaterial() == ((ItemArmor)legs.getItem()).getArmorMaterial() && - chestplate.getArmorMaterial() == ((ItemArmor)boots.getItem()).getArmorMaterial()) { - - if(chestplate.fireproof && event.source.isFireDamage()) { - player.extinguish(); - event.setCanceled(true); - } - } - } - } - } + ArmorFSB.handleAttack(event); } @SubscribeEvent public void onEntityDamaged(LivingHurtEvent event) { - EntityLivingBase e = event.entityLiving; - - if(e instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer)e; - - ItemStack helmet = player.inventory.armorInventory[3]; - ItemStack plate = player.inventory.armorInventory[2]; - ItemStack legs = player.inventory.armorInventory[1]; - ItemStack boots = player.inventory.armorInventory[0]; - - if(plate != null && plate.getItem() instanceof ArmorFSB) { - - ArmorFSB chestplate = (ArmorFSB)plate.getItem(); - - boolean noHelmet = chestplate.noHelmet; - - if((helmet != null || noHelmet) && plate != null && legs != null && boots != null) { - - if((noHelmet || chestplate.getArmorMaterial() == ((ItemArmor)helmet.getItem()).getArmorMaterial()) && - chestplate.getArmorMaterial() == ((ItemArmor)legs.getItem()).getArmorMaterial() && - chestplate.getArmorMaterial() == ((ItemArmor)boots.getItem()).getArmorMaterial()) { - - if(chestplate.damageMod != -1) { - event.ammount *= chestplate.damageMod; - } - - if(chestplate.resistance.get(event.source.getDamageType()) != null) { - event.ammount *= chestplate.resistance.get(event.source); - } - - if(chestplate.blastProtection != -1 && event.source.isExplosion()) { - event.ammount *= chestplate.blastProtection; - } - - if(chestplate.damageCap != -1) { - event.ammount = Math.min(event.ammount, chestplate.damageCap); - } - } - } - } - } + ArmorFSB.handleHurt(event); } @SubscribeEvent diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index e487febca..0360bc521 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -46,10 +46,18 @@ import net.minecraft.client.entity.AbstractClientPlayer; import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderPlayer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.boss.IBossDisplayData; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.item.EntityXPOrb; +import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; @@ -165,16 +173,6 @@ public class ModEventHandlerClient { renderer.modelArmorChestplate.aimedBow = true; } } - - /*@SubscribeEvent - public void renderThermalSight(RenderLivingEvent.Pre event) { - - AxisAlignedBB aabb = event.entity.boundingBox; - - GL11.glPushMatrix(); - Render.renderAABB(aabb); - GL11.glPopMatrix(); - }*/ @SubscribeEvent public void clickHandler(MouseEvent event) { @@ -310,10 +308,6 @@ public class ModEventHandlerClient { @SubscribeEvent public void onRenderWorldLastEvent(RenderWorldLastEvent event) { - /* - * my ass is heavy - */ - GL11.glPushMatrix(); EntityPlayer player = Minecraft.getMinecraft().thePlayer; @@ -385,5 +379,93 @@ public class ModEventHandlerClient { } GL11.glPopMatrix(); + + renderThermalSight(event.partialTicks); + } + + public void renderThermalSight(float partialTicks) { + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + double x = player.prevPosX + (player.posX - player.prevPosX) * partialTicks; + double y = player.prevPosY + (player.posY - player.prevPosY) * partialTicks; + double z = player.prevPosZ + (player.posZ - player.prevPosZ) * partialTicks; + + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_COLOR_MATERIAL); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_POINT_SMOOTH); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_DEPTH_TEST); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA,GL11.GL_ONE_MINUS_SRC_ALPHA); + + Tessellator tess = Tessellator.instance; + tess.startDrawing(GL11.GL_LINES); + + for(Object o : player.worldObj.loadedEntityList) { + + Entity ent = (Entity) o; + + if(ent == player) + continue; + + if(ent.getDistanceSqToEntity(player) > 4096) + continue; + + if(ent instanceof IBossDisplayData) + tess.setColorOpaque_F(1F, 0.5F, 0F); + else if(ent instanceof EntityMob) + tess.setColorOpaque_F(1F, 0F, 0F); + else if(ent instanceof EntityPlayer) + tess.setColorOpaque_F(1F, 0F, 1F); + else if(ent instanceof EntityLiving) + tess.setColorOpaque_F(0F, 1F, 0F); + else if(ent instanceof EntityItem) + tess.setColorOpaque_F(1F, 1F, 0.5F); + else if(ent instanceof EntityXPOrb) { + if(player.ticksExisted % 10 < 5) + tess.setColorOpaque_F(1F, 1F, 0.5F); + else + tess.setColorOpaque_F(0.5F, 1F, 0.5F); + } else + continue; + + AxisAlignedBB bb = ent.boundingBox; + tess.addVertex(bb.minX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.minX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.maxZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.minX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.maxZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.maxZ - z); + } + + tess.draw(); + + tess.setColorOpaque_F(1F, 1F, 1F); + + GL11.glEnable(GL11.GL_COLOR_MATERIAL); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_POINT_SMOOTH); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index cfc53fba7..030f7e1fc 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -526,6 +526,11 @@ public class ResourceManager { public static final ResourceLocation thompson_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/thompson.png"); public static final ResourceLocation grenade_mk2 = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/grenade_mk2.png"); + + public static final ResourceLocation bj_eyepatch = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_eyepatch.png"); + public static final ResourceLocation bj_leg = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_leg.png"); + public static final ResourceLocation bj_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_chest.png"); + public static final ResourceLocation bj_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_arm.png"); @@ -883,6 +888,7 @@ public class ResourceManager { public static final IModelCustom barrel = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/barrel.obj")); public static final IModelCustom pole = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pole.obj")); public static final IModelCustom barbed_wire = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/barbed_wire.obj")); + public static final IModelCustom spikes = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/spikes.obj")); public static final IModelCustom antenna_top = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/antenna_top.obj")); public static final IModelCustom conservecrate = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/conservecrate.obj")); diff --git a/src/main/java/com/hbm/render/block/RenderSpikeBlock.java b/src/main/java/com/hbm/render/block/RenderSpikeBlock.java new file mode 100644 index 000000000..f93efc6a1 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderSpikeBlock.java @@ -0,0 +1,69 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderSpikeBlock implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, 0); + tessellator.setColorOpaque_F(1, 1, 1); + + if (renderer.hasOverrideBlockTexture()) + { + iicon = renderer.overrideBlockTexture; + } + + GL11.glTranslated(0, -0.5, 0); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.spikes, iicon, tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, world.getBlockMetadata(x, y, z)); + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + if (renderer.hasOverrideBlockTexture()) + { + iicon = renderer.overrideBlockTexture; + } + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.spikes, iicon, tessellator, 0, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return 334088; + } +} diff --git a/src/main/java/com/hbm/render/loader/ModelRendererObj.java b/src/main/java/com/hbm/render/loader/ModelRendererObj.java index 303f3b23f..b13fa566a 100644 --- a/src/main/java/com/hbm/render/loader/ModelRendererObj.java +++ b/src/main/java/com/hbm/render/loader/ModelRendererObj.java @@ -25,12 +25,53 @@ public class ModelRendererObj { this.model = model; this.parts = parts; } + + public ModelRendererObj setPosition(float x, float y, float z) { + this.offsetX = x; + this.offsetY = y; + this.offsetZ = z; + return this; + } + + public ModelRendererObj setRotationPoint(float x, float y, float z) { + this.rotationPointX = x; + this.rotationPointY = y; + this.rotationPointZ = z; + return this; + } @SideOnly(Side.CLIENT) - public void render(float p_78785_1_) { - - GL11.glTranslatef(this.offsetX, this.offsetY, this.offsetZ); + public void render(float scale) { + GL11.glPushMatrix(); + + GL11.glTranslatef(this.offsetX * scale, this.offsetY * scale, this.offsetZ * scale); + + GL11.glTranslatef(this.rotationPointX * scale, this.rotationPointY * scale, this.rotationPointZ * scale); + + if (this.rotateAngleZ != 0.0F) + { + GL11.glRotatef(this.rotateAngleZ * (180F / (float)Math.PI), 0.0F, 0.0F, 1.0F); + } + + if (this.rotateAngleY != 0.0F) + { + GL11.glRotatef(this.rotateAngleY * (180F / (float)Math.PI), 0.0F, 1.0F, 0.0F); + } + + if (this.rotateAngleX != 0.0F) + { + GL11.glRotatef(this.rotateAngleX * (180F / (float)Math.PI), 1.0F, 0.0F, 0.0F); + } + + GL11.glTranslatef(-this.rotationPointX * scale, -this.rotationPointY * scale, -this.rotationPointZ * scale); + + GL11.glScalef(scale, scale, scale); + + for(String part : parts) + model.renderPart(part); + + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/model/ModelArmorBJ.java b/src/main/java/com/hbm/render/model/ModelArmorBJ.java index de4400951..dcf00a2de 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorBJ.java +++ b/src/main/java/com/hbm/render/model/ModelArmorBJ.java @@ -2,15 +2,27 @@ package com.hbm.render.model; import org.lwjgl.opengl.GL11; +import com.hbm.interfaces.IHoldableWeapon; import com.hbm.main.ResourceManager; +import com.hbm.render.loader.ModelRendererObj; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBiped; import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.util.MathHelper; public class ModelArmorBJ extends ModelBiped { int type; + + ModelRendererObj head; + ModelRendererObj body; + ModelRendererObj leftArm; + ModelRendererObj rightArm; + ModelRendererObj leftLeg; + ModelRendererObj rightLeg; public ModelArmorBJ(int type) { this.type = type; @@ -19,74 +31,169 @@ public class ModelArmorBJ extends ModelBiped { @Override public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { + head = new ModelRendererObj(ResourceManager.armor_bj, "Head"); + body = new ModelRendererObj(ResourceManager.armor_bj, "Body"); + leftArm = new ModelRendererObj(ResourceManager.armor_bj, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + rightArm = new ModelRendererObj(ResourceManager.armor_bj, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); + leftLeg = new ModelRendererObj(ResourceManager.armor_bj, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + rightLeg = new ModelRendererObj(ResourceManager.armor_bj, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.launch_table_base_tex); - GL11.glRotated(180, 0, 0, 1); - GL11.glRotated(90, 0, 1, 0); - GL11.glTranslated(0, -1.5, 0); - if(type == 0) { - GL11.glPushMatrix(); - GL11.glTranslated(0, 1.5, 0); - GL11.glRotated(-Math.toDegrees(this.bipedHead.rotateAngleY), 0, 1, 0); - GL11.glRotated(-Math.toDegrees(this.bipedHead.rotateAngleX), 0, 0, 1); - GL11.glTranslated(0, -1.5, 0); - ResourceManager.armor_bj.renderPart("Head"); - GL11.glPopMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_eyepatch); + head.render(par7); } - if(type == 1) { - GL11.glPushMatrix(); - GL11.glTranslated(0, 1.5, 0); - GL11.glRotated(-Math.toDegrees(this.bipedBody.rotateAngleY), 0, 1, 0); - GL11.glRotated(-Math.toDegrees(this.bipedBody.rotateAngleX), 0, 0, 1); - GL11.glTranslated(0, -1.5, 0); - ResourceManager.armor_bj.renderPart("Body"); - GL11.glPopMatrix(); - - double height = 22; - - GL11.glPushMatrix(); - GL11.glTranslated(0, 0.0625 * height, -0.25); - GL11.glRotated(-Math.toDegrees(this.bipedLeftArm.rotateAngleZ), 1, 0, 0); - GL11.glRotated(-Math.toDegrees(this.bipedLeftArm.rotateAngleY), 0, 1, 0); - GL11.glRotated(-Math.toDegrees(this.bipedLeftArm.rotateAngleX), 0, 0, 1); - GL11.glTranslated(0, -0.0625 * height, 0.25); - ResourceManager.armor_bj.renderPart("LeftArm"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslated(0, 0.0625 * height, 0.25); - GL11.glRotated(-Math.toDegrees(this.bipedRightArm.rotateAngleZ), 1, 0, 0); - GL11.glRotated(-Math.toDegrees(this.bipedRightArm.rotateAngleY), 0, 1, 0); - GL11.glRotated(-Math.toDegrees(this.bipedRightArm.rotateAngleX), 0, 0, 1); - GL11.glTranslated(0, -0.0625 * height, -0.25); - ResourceManager.armor_bj.renderPart("RightArm"); - GL11.glPopMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_chest); + body.render(par7); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_arm); + leftArm.render(par7); + rightArm.render(par7); } - if(type == 2) { - GL11.glPushMatrix(); - GL11.glTranslated(0, 0.75, 0); - GL11.glRotated(-Math.toDegrees(this.bipedLeftLeg.rotateAngleX), 0, 0, 1); - GL11.glTranslated(0, -0.75, 0); - ResourceManager.armor_bj.renderPart("LeftLeg"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslated(0, 0.75, 0); - GL11.glRotated(-Math.toDegrees(this.bipedRightLeg.rotateAngleX), 0, 0, 1); - GL11.glTranslated(0, -0.75, 0); - ResourceManager.armor_bj.renderPart("RightLeg"); - GL11.glPopMatrix(); - } - - if(type == 3) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bj_leg); + leftLeg.render(par7); + rightLeg.render(par7); } GL11.glPopMatrix(); } + + public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity entity) { + + head.rotateAngleY = p_78087_4_ / (180F / (float)Math.PI); + head.rotateAngleX = p_78087_5_ / (180F / (float)Math.PI); + rightArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float)Math.PI) * 2.0F * p_78087_2_ * 0.5F; + leftArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 2.0F * p_78087_2_ * 0.5F; + rightArm.rotateAngleZ = 0.0F; + leftArm.rotateAngleZ = 0.0F; + rightLeg.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 1.4F * p_78087_2_; + leftLeg.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float)Math.PI) * 1.4F * p_78087_2_; + rightLeg.rotateAngleY = 0.0F; + leftLeg.rotateAngleY = 0.0F; + + if(entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer)entity; + + this.aimedBow = false; + + if(player.getHeldItem() != null) { + + int hold = 1; + + if(player.getItemInUseCount() > 0) { + + EnumAction action = player.getHeldItem().getItemUseAction(); + + if(action == EnumAction.block) + hold = 3; + + if(action == EnumAction.bow) + this.aimedBow = true; + } + + if(player.getHeldItem().getItem() instanceof IHoldableWeapon) + this.aimedBow = true; + + rightArm.rotateAngleX = rightArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * hold; + } + + this.isSneak = player.isSneaking(); + this.isRiding = player.isRiding(); + } + + if (this.isRiding) + { + rightArm.rotateAngleX += -((float)Math.PI / 5F); + leftArm.rotateAngleX += -((float)Math.PI / 5F); + rightLeg.rotateAngleX = -((float)Math.PI * 2F / 5F); + leftLeg.rotateAngleX = -((float)Math.PI * 2F / 5F); + rightLeg.rotateAngleY = ((float)Math.PI / 10F); + leftLeg.rotateAngleY = -((float)Math.PI / 10F); + } + + if (this.heldItemLeft != 0) + { + leftArm.rotateAngleX = leftArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * (float)this.heldItemLeft; + } + + if (this.heldItemRight != 0) + { + rightArm.rotateAngleX = rightArm.rotateAngleX * 0.5F - ((float)Math.PI / 10F) * (float)this.heldItemRight; + } + + rightArm.rotateAngleY = 0.0F; + leftArm.rotateAngleY = 0.0F; + float f6; + float f7; + + if (this.onGround > -9990.0F) + { + f6 = this.onGround; + body.rotateAngleY = MathHelper.sin(MathHelper.sqrt_float(f6) * (float)Math.PI * 2.0F) * 0.2F; + rightArm.rotationPointZ = MathHelper.sin(body.rotateAngleY) * 5.0F; + rightArm.rotationPointX = -MathHelper.cos(body.rotateAngleY) * 5.0F; + leftArm.rotationPointZ = -MathHelper.sin(body.rotateAngleY) * 5.0F; + leftArm.rotationPointX = MathHelper.cos(body.rotateAngleY) * 5.0F; + rightArm.rotateAngleY += body.rotateAngleY; + leftArm.rotateAngleY += body.rotateAngleY; + leftArm.rotateAngleX += body.rotateAngleY; + f6 = 1.0F - this.onGround; + f6 *= f6; + f6 *= f6; + f6 = 1.0F - f6; + f7 = MathHelper.sin(f6 * (float)Math.PI); + float f8 = MathHelper.sin(this.onGround * (float)Math.PI) * -(head.rotateAngleX - 0.7F) * 0.75F; + rightArm.rotateAngleX = (float)((double)rightArm.rotateAngleX - ((double)f7 * 1.2D + (double)f8)); + rightArm.rotateAngleY += body.rotateAngleY * 2.0F; + rightArm.rotateAngleZ = MathHelper.sin(this.onGround * (float)Math.PI) * -0.4F; + } + + if (this.isSneak) + { + body.rotateAngleX = 0.5F; + rightArm.rotateAngleX += 0.4F; + leftArm.rotateAngleX += 0.4F; + rightLeg.offsetZ = 4.0F; + leftLeg.offsetZ = 4.0F; + rightLeg.offsetY = -3.0F; + leftLeg.offsetY = -3.0F; + head.offsetY = 1.0F; + } + else + { + body.rotateAngleX = 0.0F; + rightLeg.rotationPointZ = 0.1F; + leftLeg.rotationPointZ = 0.1F; + rightLeg.rotationPointY = 12.0F; + leftLeg.rotationPointY = 12.0F; + head.rotationPointY = 0.0F; + } + + rightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; + leftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; + rightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; + leftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; + + if (this.aimedBow) + { + f6 = 0.0F; + f7 = 0.0F; + rightArm.rotateAngleZ = 0.0F; + leftArm.rotateAngleZ = 0.0F; + rightArm.rotateAngleY = -(0.1F - f6 * 0.6F) + head.rotateAngleY; + leftArm.rotateAngleY = 0.1F - f6 * 0.6F + head.rotateAngleY + 0.4F; + rightArm.rotateAngleX = -((float)Math.PI / 2F) + head.rotateAngleX; + leftArm.rotateAngleX = -((float)Math.PI / 2F) + head.rotateAngleX; + rightArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F; + leftArm.rotateAngleX -= f6 * 1.2F - f7 * 0.4F; + rightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; + leftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; + rightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; + leftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; + } + } } diff --git a/src/main/java/com/hbm/render/model/ModelCloak.java b/src/main/java/com/hbm/render/model/ModelCloak.java index 849688e2f..2a86abbc4 100644 --- a/src/main/java/com/hbm/render/model/ModelCloak.java +++ b/src/main/java/com/hbm/render/model/ModelCloak.java @@ -4,87 +4,70 @@ import org.lwjgl.opengl.GL11; import net.minecraft.client.entity.AbstractClientPlayer; import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.MathHelper; -public class ModelCloak extends ModelBiped -{ - public ModelCloak() - { - textureWidth = 64; - textureHeight = 32; - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - EntityPlayer player = (EntityPlayer)entity; - if(player.isSneaking()) - { - this.isSneak = true; - } else { - this.isSneak = false; - } - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) - { - if(par1Entity instanceof AbstractClientPlayer) - { - AbstractClientPlayer player = (AbstractClientPlayer) par1Entity; +public class ModelCloak extends ModelBiped { + public ModelCloak() { + textureWidth = 64; + textureHeight = 32; + } - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, 0.0F, 0.125F); - double d3 = player.field_71091_bM + (player.field_71094_bP - player.field_71091_bM) * par7 - (player.prevPosX + (player.posX - player.prevPosX) * par7); - double d4 = player.field_71096_bN + (player.field_71095_bQ - player.field_71096_bN) * par7 - (player.prevPosY + (player.posY - player.prevPosY) * par7); - double d0 = player.field_71097_bO + (player.field_71085_bR - player.field_71097_bO) * par7 - (player.prevPosZ + (player.posZ - player.prevPosZ) * par7); - float f4 = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * par7; - double d1 = MathHelper.sin(f4 * (float)Math.PI / 180.0F); - double d2 = (-MathHelper.cos(f4 * (float)Math.PI / 180.0F)); - float f5 = (float)d4 * 10.0F; + @Override + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + EntityPlayer player = (EntityPlayer) entity; + if(player.isSneaking()) { + this.isSneak = true; + } else { + this.isSneak = false; + } + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } - if (f5 < -6.0F) - { - f5 = -6.0F; - } + @Override + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { + if(par1Entity instanceof AbstractClientPlayer) { + AbstractClientPlayer player = (AbstractClientPlayer) par1Entity; - if (f5 > 32.0F) - { - f5 = 32.0F; - } + GL11.glPushMatrix(); + GL11.glTranslatef(0.0F, 0.0F, 0.125F); + double d3 = player.field_71091_bM + (player.field_71094_bP - player.field_71091_bM) * par7 - (player.prevPosX + (player.posX - player.prevPosX) * par7); + double d4 = player.field_71096_bN + (player.field_71095_bQ - player.field_71096_bN) * par7 - (player.prevPosY + (player.posY - player.prevPosY) * par7); + double d0 = player.field_71097_bO + (player.field_71085_bR - player.field_71097_bO) * par7 - (player.prevPosZ + (player.posZ - player.prevPosZ) * par7); + float f4 = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * par7; + double d1 = MathHelper.sin(f4 * (float) Math.PI / 180.0F); + double d2 = (-MathHelper.cos(f4 * (float) Math.PI / 180.0F)); + float f5 = (float) d4 * 10.0F; - float f6 = (float)(d3 * d1 + d0 * d2) * 100.0F; - float f7 = (float)(d3 * d2 - d0 * d1) * 100.0F; + if(f5 < -6.0F) { + f5 = -6.0F; + } - if (f6 < 0.0F) - { - f6 = 0.0F; - } + if(f5 > 32.0F) { + f5 = 32.0F; + } - float f8 = player.prevCameraYaw + (player.cameraYaw - player.prevCameraYaw) * par7; - f5 += MathHelper.sin((player.prevDistanceWalkedModified + (player.distanceWalkedModified - player.prevDistanceWalkedModified) * par7) * 6.0F) * 32.0F * f8; + float f6 = (float) (d3 * d1 + d0 * d2) * 100.0F; + float f7 = (float) (d3 * d2 - d0 * d1) * 100.0F; - if (player.isSneaking()) - { - f5 += 25.0F; - } + if(f6 < 0.0F) { + f6 = 0.0F; + } - GL11.glRotatef(6.0F + f6 / 2.0F + f5, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(f7 / 2.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-f7 / 2.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); - this.bipedCloak.render(par7); - GL11.glPopMatrix(); - } - } + float f8 = player.prevCameraYaw + (player.cameraYaw - player.prevCameraYaw) * par7; + f5 += MathHelper.sin((player.prevDistanceWalkedModified + (player.distanceWalkedModified - player.prevDistanceWalkedModified) * par7) * 6.0F) * 32.0F * f8; + + if(player.isSneaking()) { + f5 += 25.0F; + } + + GL11.glRotatef(6.0F + f6 / 2.0F + f5, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(f7 / 2.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(-f7 / 2.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); + this.bipedCloak.render(par7); + GL11.glPopMatrix(); + } + } } diff --git a/src/main/java/com/hbm/world/dungeon/ArcticVault.java b/src/main/java/com/hbm/world/dungeon/ArcticVault.java new file mode 100644 index 000000000..14a0b9f25 --- /dev/null +++ b/src/main/java/com/hbm/world/dungeon/ArcticVault.java @@ -0,0 +1,71 @@ +package com.hbm.world.dungeon; + +import java.util.Arrays; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.config.GeneralConfig; +import com.hbm.inventory.RecipesCommon.MetaBlock; +import com.hbm.main.MainRegistry; +import com.hbm.world.generator.DungeonToolbox; + +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; + +public class ArcticVault { + + public void trySpawn(World world, int x, int y, int z) { + + y--; + + BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(x, z); + + if(biome.getFloatTemperature(x, y, z) < 0.2 && world.getBlock(x, y, z).getMaterial() == Material.rock) { + build(world, x, y, z); + } + + } + + private void build(World world, int x, int y, int z) { + + List brick = Arrays.asList(new MetaBlock[] {new MetaBlock(Blocks.stonebrick), new MetaBlock(Blocks.stonebrick, 2)}); + List web = Arrays.asList(new MetaBlock[] {new MetaBlock(Blocks.air), new MetaBlock(Blocks.air), new MetaBlock(Blocks.web)}); + List crates = Arrays.asList(new MetaBlock[] {new MetaBlock(ModBlocks.crate), new MetaBlock(ModBlocks.crate_metal), new MetaBlock(ModBlocks.crate_ammo), new MetaBlock(ModBlocks.crate_can), new MetaBlock(ModBlocks.crate_jungle)}); + + DungeonToolbox.generateBox(world, x - 5, y, z - 5, 11, 1, 11, brick); + DungeonToolbox.generateBox(world, x - 5, y + 6, z - 5, 11, 1, 11, brick); + DungeonToolbox.generateBox(world, x - 5, y + 1, z - 5, 11, 5, 1, brick); + DungeonToolbox.generateBox(world, x - 5, y + 1, z + 5, 11, 5, 1, brick); + DungeonToolbox.generateBox(world, x - 5, y + 1, z - 5, 1, 5, 11, brick); + DungeonToolbox.generateBox(world, x + 5, y + 1, z - 5, 1, 5, 11, brick); + DungeonToolbox.generateBox(world, x - 4, y + 1, z - 4, 9, 3, 9, Blocks.air); + DungeonToolbox.generateBox(world, x - 4, y + 1, z - 4, 9, 1, 9, new MetaBlock(Blocks.snow_layer)); + DungeonToolbox.generateBox(world, x - 2, y + 1, z - 2, 5, 2, 1, new MetaBlock(ModBlocks.tape_recorder, 3)); + DungeonToolbox.generateBox(world, x - 2, y + 3, z - 2, 5, 1, 1, new MetaBlock(Blocks.snow_layer)); + DungeonToolbox.generateBox(world, x - 2, y + 1, z + 2, 5, 2, 1, new MetaBlock(ModBlocks.tape_recorder, 2)); + DungeonToolbox.generateBox(world, x - 2, y + 3, z + 2, 5, 1, 1, new MetaBlock(Blocks.snow_layer)); + DungeonToolbox.generateBox(world, x - 4, y + 4, z - 4, 9, 2, 9, web); + + for(int i = 0; i < 15; i++) { + int ix = x - 4 + world.rand.nextInt(10); + int iz = z - 4 + world.rand.nextInt(10); + + if(world.getBlock(ix, y + 1, iz) == Blocks.snow_layer) { + MetaBlock b = DungeonToolbox.getRandom(crates, world.rand); + world.setBlock(ix, y + 1, iz, b.block, b.meta, 2); + world.setBlock(ix, y + 2, iz, Blocks.snow_layer); + } + } + + int iy = world.getHeightValue(x, z); + + if(world.getBlock(x, iy - 1, z).canPlaceTorchOnTop(world, x, iy - 1, z)) { + world.setBlock(x, iy, z, ModBlocks.tape_recorder); + } + + if(GeneralConfig.enableDebugMode) + MainRegistry.logger.info("[Debug] Successfully spawned arctic code vault at " + x + " " + y + " " + z); + } +} diff --git a/src/main/java/com/hbm/world/dungeon/Spaceship.java b/src/main/java/com/hbm/world/dungeon/Spaceship.java index 97472aa0f..03f1b8e2e 100644 --- a/src/main/java/com/hbm/world/dungeon/Spaceship.java +++ b/src/main/java/com/hbm/world/dungeon/Spaceship.java @@ -18,12 +18,12 @@ import net.minecraft.world.gen.feature.WorldGenerator; public class Spaceship extends WorldGenerator { Block Block1 = ModBlocks.deco_tungsten; - Block Block2 = ModBlocks.fusion_conductor; + Block Block2 = ModBlocks.deco_red_copper; Block Block3 = ModBlocks.deco_steel; Block Block4 = ModBlocks.fusion_heater; Block Block5 = ModBlocks.block_meteor; Block Block6 = ModBlocks.reactor_element; - Block Block7 = ModBlocks.fusion_core; + Block Block7 = ModBlocks.cable_switch; Block Block8 = ModBlocks.fusion_hatch; Block Block9 = ModBlocks.reinforced_light; Block Block10 = ModBlocks.reinforced_glass;